|
@@ -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
|