|
@@ -128,29 +128,33 @@ public class BiSnapshotApplication : IBiSnapshotApplication, IScopeDependency
|
|
|
ShouldAmount = industryCase.CitizenReadPackAmount == null ? industry.CitizenReadPackAmount : industryCase.CitizenReadPackAmount,
|
|
|
}).ToList();
|
|
|
|
|
|
- var redPackOutDto = _redPackAuditRepository.Queryable(includeDeleted: true)
|
|
|
- .LeftJoin<OrderSnapshot>((audit, snapshot) => audit.OrderId == snapshot.Id)
|
|
|
- .LeftJoin<RedPackRecord>((audit, snapshot, record) => record.RedPackAuditId == audit.Id)
|
|
|
- .LeftJoin<SupplementRecord>((audit, snapshot, record, supplement) => supplement.RedPackAuditId == audit.Id)
|
|
|
- .Where((audit, snapshot) => audit.CreationTime >= dto.StartTime && audit.CreationTime <= dto.EndTime)
|
|
|
- .GroupBy((audit, snapshot) => new { snapshot.IndustryCase, snapshot.IndustryId, snapshot.IndustryName })
|
|
|
- .Select((audit, snapshot, record, supplement) => new RedPackStatisticsOutDto
|
|
|
- {
|
|
|
- Id = snapshot.IndustryId,
|
|
|
- Name = snapshot.IndustryName,
|
|
|
- CaseId = snapshot.IndustryCase,
|
|
|
- ApprovalAmount = SqlFunc.AggregateSum(SqlFunc.IIF(audit.Status == ERedPackAuditStatus.Agree, audit.ApprovedAmount, 0)), //审批同意总金额
|
|
|
- ApprovalCount = SqlFunc.AggregateSum(SqlFunc.IIF(audit.Status == ERedPackAuditStatus.Agree, 1, 0)), // 审批同意总个数
|
|
|
- SentAmount = SqlFunc.AggregateSum(SqlFunc.IIF(audit.IsSend == true, audit.AcutalAmount, 0)), // 发送成功金额
|
|
|
- SentCount = SqlFunc.AggregateSum(SqlFunc.IIF(audit.IsSend == true, 1, 0)), // 发送成功个数
|
|
|
- SendFailAmount = SqlFunc.AggregateSum(SqlFunc.IIF(record.DistributionState == EReadPackSendStatus.Fail, record.Amount, 0)), //发送失败金额
|
|
|
- SendFailCount = SqlFunc.AggregateSum(SqlFunc.IIF(record.DistributionState == EReadPackSendStatus.Fail, 1, 0)), // 发送失败个数
|
|
|
- PendingAmount = SqlFunc.AggregateSum(SqlFunc.IIF(record.DistributionState == EReadPackSendStatus.Unsend, audit.ApprovedAmount, 0)), // 待发金额
|
|
|
- PendingCount = SqlFunc.AggregateSum(SqlFunc.IIF(record.DistributionState == EReadPackSendStatus.Unsend, 1, 0)), // 待发个数
|
|
|
- SupplementAmount = SqlFunc.AggregateSum(supplement.ReplenishAmount), // 补充红包金额
|
|
|
- SupplementCount = SqlFunc.AggregateCount(supplement.Id), // 补充红包数
|
|
|
- }).ToList();
|
|
|
+ var query = _redPackAuditRepository.Queryable(includeDeleted: true)
|
|
|
+ .LeftJoin<OrderSnapshot>((audit, snapshot) => audit.OrderId == snapshot.Id)
|
|
|
+ .LeftJoin<RedPackRecord>((audit, snapshot, record) => record.RedPackAuditId == audit.Id)
|
|
|
+ .LeftJoin<SupplementRecord>((audit, snapshot, record, supplement) => supplement.OrderId == snapshot.Id)
|
|
|
+ .Where((audit, snapshot) => audit.CreationTime >= dto.StartTime && audit.CreationTime <= dto.EndTime)
|
|
|
+ .GroupBy((audit, snapshot) => new { snapshot.IndustryCase, snapshot.IndustryId, snapshot.IndustryName })
|
|
|
+ .Select((audit, snapshot, record, supplement) => new RedPackStatisticsOutDto
|
|
|
+ {
|
|
|
+ Id = snapshot.IndustryId,
|
|
|
+ Name = snapshot.IndustryName,
|
|
|
+ CaseId = snapshot.IndustryCase,
|
|
|
+ ApprovalAmount = SqlFunc.AggregateSum(SqlFunc.IIF(audit.Status == ERedPackAuditStatus.Agree, audit.ApprovedAmount, 0)), //审批同意总金额
|
|
|
+ ApprovalCount = SqlFunc.AggregateSum(SqlFunc.IIF(audit.Status == ERedPackAuditStatus.Agree, 1, 0)), // 审批同意总个数
|
|
|
+ SentAmount = SqlFunc.AggregateSum(SqlFunc.IIF(audit.IsSend == true, audit.AcutalAmount, 0)), // 发送成功金额
|
|
|
+ SentCount = SqlFunc.AggregateSum(SqlFunc.IIF(audit.IsSend == true, 1, 0)), // 发送成功个数
|
|
|
+ SendFailAmount = SqlFunc.AggregateSum(SqlFunc.IIF(record.DistributionState == EReadPackSendStatus.Fail, record.Amount, 0)), //发送失败金额
|
|
|
+ SendFailCount = SqlFunc.AggregateSum(SqlFunc.IIF(record.DistributionState == EReadPackSendStatus.Fail, 1, 0)), // 发送失败个数
|
|
|
+ PendingAmount = SqlFunc.AggregateSum(SqlFunc.IIF(record.DistributionState == EReadPackSendStatus.Unsend, audit.ApprovedAmount, 0)), // 待发金额
|
|
|
+ PendingCount = SqlFunc.AggregateSum(SqlFunc.IIF(record.DistributionState == EReadPackSendStatus.Unsend, 1, 0)), // 待发个数
|
|
|
+ SupplementAmount = SqlFunc.AggregateSum(supplement.ReplenishAmount), // 补充红包金额
|
|
|
+ SupplementCount = SqlFunc.AggregateCount(supplement.Id), // 补充红包数
|
|
|
+ });
|
|
|
+#if DEBUG
|
|
|
+ var sql = query.ToSqlString();
|
|
|
+#endif
|
|
|
|
|
|
+ var redPackOutDto = query.ToList();
|
|
|
foreach (var industry in industries)
|
|
|
{
|
|
|
var item = redPackOutDto
|
|
@@ -765,7 +769,9 @@ public class BiSnapshotApplication : IBiSnapshotApplication, IScopeDependency
|
|
|
dto.FieldName = dto.FieldName.ToLower();
|
|
|
var query = _orderSnapshotRepository.Queryable(includeDeleted: true)
|
|
|
.LeftJoin<Order>((snapshot, order) => order.Id == snapshot.Id)
|
|
|
- .Where((snapshot, order) => snapshot.CreationTime >= dto.StartTime && snapshot.CreationTime <= dto.EndTime && order.ActualHandleOrgCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6")) == dto.OrgCode);
|
|
|
+ .Where((snapshot, order) => snapshot.CreationTime >= dto.StartTime && snapshot.CreationTime <= dto.EndTime)
|
|
|
+ .WhereIF(dto.OrgCode.NotNullOrEmpty(), (snapshot, order) =>
|
|
|
+ order.ActualHandleOrgCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6")) == dto.OrgCode);
|
|
|
|
|
|
query = dto.FieldName switch
|
|
|
{
|
|
@@ -776,9 +782,13 @@ public class BiSnapshotApplication : IBiSnapshotApplication, IScopeDependency
|
|
|
"not" => query.Where(snapshot => snapshot.CompliantType == ECompliantType.Not),
|
|
|
_ => throw new UserFriendlyException($"入参: {dto.FieldName} 异常")
|
|
|
};
|
|
|
- return query.Select((snapshot, order) => new CompliantStatisticsDetailsOutDto
|
|
|
+ var b = query.Select((snapshot, order) => new CompliantStatisticsDetailsOutDto
|
|
|
{
|
|
|
}, true);
|
|
|
+#if DEBUG
|
|
|
+ var sql = b.ToSqlString();
|
|
|
+#endif
|
|
|
+ return b;
|
|
|
}
|
|
|
|
|
|
[ExportExcel("随手拍重办统计")]
|