|
@@ -40,7 +40,7 @@ public class OperatingReportServiceImpl extends BaseServiceImpl<Integer, Operati
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public Boolean statistics() {
|
|
public Boolean statistics() {
|
|
Date nowDate = new Date();
|
|
Date nowDate = new Date();
|
|
- Date startTime = DateUtil.getFirstDayOfMonth( DateUtil.addDays1(nowDate, -1));
|
|
|
|
|
|
+ Date startTime = DateUtil.getFirstDayOfMonth(DateUtil.addDays1(nowDate, -1));
|
|
Date endTime = DateUtil.getLastDayOfMonth(startTime);
|
|
Date endTime = DateUtil.getLastDayOfMonth(startTime);
|
|
|
|
|
|
Map<Integer, OperatingReport> cooperationOperating = new HashMap<>();
|
|
Map<Integer, OperatingReport> cooperationOperating = new HashMap<>();
|
|
@@ -52,7 +52,7 @@ public class OperatingReportServiceImpl extends BaseServiceImpl<Integer, Operati
|
|
for (OrganFullJobResourceNumDto organFullJobResource : organFullJobResources) {
|
|
for (OrganFullJobResourceNumDto organFullJobResource : organFullJobResources) {
|
|
OperatingReport operatingReport = new OperatingReport();
|
|
OperatingReport operatingReport = new OperatingReport();
|
|
operatingReport.setOrganId(organFullJobResource.getOrganId());
|
|
operatingReport.setOrganId(organFullJobResource.getOrganId());
|
|
- operatingReport.setDistributionAmount(new BigDecimal(organFullJobResource.getNum()).multiply(fullJobFee).divide(new BigDecimal(12),2,BigDecimal.ROUND_HALF_UP));
|
|
|
|
|
|
+ operatingReport.setDistributionAmount(new BigDecimal(organFullJobResource.getNum()).multiply(fullJobFee).divide(new BigDecimal(12), 2, BigDecimal.ROUND_HALF_UP));
|
|
organOperating.put(organFullJobResource.getOrganId(), operatingReport);
|
|
organOperating.put(organFullJobResource.getOrganId(), operatingReport);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -117,8 +117,8 @@ public class OperatingReportServiceImpl extends BaseServiceImpl<Integer, Operati
|
|
cooperationOperatingReport.setServiceAmount(cooperationOperatingReport.getServiceAmount().add(serviceAmount));
|
|
cooperationOperatingReport.setServiceAmount(cooperationOperatingReport.getServiceAmount().add(serviceAmount));
|
|
cooperationOperatingReport.setSellAmount(cooperationOperatingReport.getSellAmount().add(musicReport.getSellAmount()));
|
|
cooperationOperatingReport.setSellAmount(cooperationOperatingReport.getSellAmount().add(musicReport.getSellAmount()));
|
|
cooperationOperatingReport.setSellCost(cooperationOperatingReport.getSellCost().add(musicReport.getSellCost()));
|
|
cooperationOperatingReport.setSellCost(cooperationOperatingReport.getSellCost().add(musicReport.getSellCost()));
|
|
- organOperating.put(cooperationOperatingReport.getOrganId(), organOperatingReport);
|
|
|
|
- cooperationOperating.put(cooperationOperatingReport.getCooperationOrganId(), cooperationOperatingReport);
|
|
|
|
|
|
+ organOperating.put(musicReport.getOrganId(), organOperatingReport);
|
|
|
|
+ cooperationOperating.put(musicReport.getCooperationOrganId(), cooperationOperatingReport);
|
|
}
|
|
}
|
|
|
|
|
|
//3.2、VIP、网管课订单的统计(关联学生注册取一条记录)
|
|
//3.2、VIP、网管课订单的统计(关联学生注册取一条记录)
|
|
@@ -183,7 +183,28 @@ public class OperatingReportServiceImpl extends BaseServiceImpl<Integer, Operati
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- //3.4、乐器维修
|
|
|
|
|
|
+ //3.4、乐器维修、商品销售
|
|
|
|
+ List<OperatingReport> repairGoodsSellReports = sellOrderDao.getRepairGoodsSellGroupMonthReport(startTime, endTime);
|
|
|
|
+ for (OperatingReport repairGoodsSellReport : repairGoodsSellReports) {
|
|
|
|
+ OperatingReport organOperatingReport = new OperatingReport();
|
|
|
|
+ if (organOperating.containsKey(repairGoodsSellReport.getOrganId())) {
|
|
|
|
+ organOperatingReport = organOperating.get(repairGoodsSellReport.getOrganId());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ organOperatingReport.setOrganId(repairGoodsSellReport.getOrganId());
|
|
|
|
+
|
|
|
|
+ if (repairGoodsSellReport.getSellAmount() == null) {
|
|
|
|
+ repairGoodsSellReport.setSellAmount(BigDecimal.ZERO);
|
|
|
|
+ repairGoodsSellReport.setSellCost(BigDecimal.ZERO);
|
|
|
|
+ }
|
|
|
|
+ BigDecimal serviceAmount = repairGoodsSellReport.getIncomeTotal().subtract(repairGoodsSellReport.getSellAmount());
|
|
|
|
+
|
|
|
|
+ organOperatingReport.setServiceAmount(organOperatingReport.getServiceAmount().add(serviceAmount));
|
|
|
|
+ organOperatingReport.setSellAmount(organOperatingReport.getSellAmount().add(repairGoodsSellReport.getSellAmount()));
|
|
|
|
+ organOperatingReport.setSellCost(organOperatingReport.getSellCost().add(repairGoodsSellReport.getSellCost()));
|
|
|
|
+
|
|
|
|
+ organOperating.put(repairGoodsSellReport.getOrganId(), organOperatingReport);
|
|
|
|
+ }
|
|
|
|
|
|
//3.5、零星支付充值
|
|
//3.5、零星支付充值
|
|
List<OperatingReport> rechargeReports = sellOrderDao.getRechargeMonthReport(startTime, endTime);
|
|
List<OperatingReport> rechargeReports = sellOrderDao.getRechargeMonthReport(startTime, endTime);
|
|
@@ -247,7 +268,7 @@ public class OperatingReportServiceImpl extends BaseServiceImpl<Integer, Operati
|
|
updateReport(operatingReport, params);
|
|
updateReport(operatingReport, params);
|
|
});
|
|
});
|
|
cooperationOperating.forEach((organId, operatingReport) -> {
|
|
cooperationOperating.forEach((organId, operatingReport) -> {
|
|
- operatingReport.setDistributionAmount(fullJobFee.divide(new BigDecimal(12),2,BigDecimal.ROUND_HALF_UP));
|
|
|
|
|
|
+ operatingReport.setDistributionAmount(fullJobFee.divide(new BigDecimal(12), 2, BigDecimal.ROUND_HALF_UP));
|
|
operatingReport.setMonth(startTime);
|
|
operatingReport.setMonth(startTime);
|
|
operatingReport.setCreateTime(nowDate);
|
|
operatingReport.setCreateTime(nowDate);
|
|
updateReport(operatingReport, params);
|
|
updateReport(operatingReport, params);
|