|
@@ -426,23 +426,24 @@ public class IndexKpiServiceImpl implements IndexKpiService {
|
|
|
//责任部门 获取选择年月的数据 合同额、已收款
|
|
|
CompletableFuture<Map<String, IndexKpiCompletByDate>> getHtereceivedZrbmMapFuture = CompletableFuture.supplyAsync(() -> {
|
|
|
Map<String, IndexKpiCompletByDate> htereceivedZrbmMap = new TreeMap<>();//用来保存部门该月合计的合同额、已收款以及责任部门
|
|
|
- List<IndexKpiCompletByDate> htereceivedZrbmList = indexKpiMapper.getHteReceivedZrbmYm(finalDateYm, zrbmList);
|
|
|
+// List<IndexKpiCompletByDate> htereceivedZrbmList = indexKpiMapper.getHteReceivedZrbmYm(finalDateYm, zrbmList);
|
|
|
+ List<IndexKpiCompletByDate> htereceivedZrbmList = indexKpiMapper.getHteReceivedZrbmSelectYm(finalDateYm,finalDateLastYm, zrbmList);
|
|
|
for(IndexKpiCompletByDate htereceivedZrbm:htereceivedZrbmList){
|
|
|
htereceivedZrbmMap.put(htereceivedZrbm.getDepart(), htereceivedZrbm);
|
|
|
}
|
|
|
return htereceivedZrbmMap;
|
|
|
});
|
|
|
//责任部门 获取选择年月上月的数据 合同额、已收款
|
|
|
- CompletableFuture<Map<String, IndexKpiCompletByDate>> getHtereceivedZrbmLastMapFuture = CompletableFuture.supplyAsync(() -> {
|
|
|
- Map<String, IndexKpiCompletByDate> htereceivedZrbmLastMap = new TreeMap<>();//用来保存部门上月合计的合同额、已收款以及责任部门
|
|
|
- if (zrbmList.isEmpty()) return htereceivedZrbmLastMap;
|
|
|
- //List<IndexKpiCompletByDate> htereceivedZrbmLastList = indexKpiMapper.getHteReceivedZrbmYm(finalDateLastYm, departList);
|
|
|
- List<IndexKpiCompletByDate> htereceivedZrbmLastList = indexKpiMapper.getHteReceivedZrbmYm(finalDateLastYm, zrbmList);
|
|
|
- for(IndexKpiCompletByDate htereceivedZrbmLast:htereceivedZrbmLastList){
|
|
|
- htereceivedZrbmLastMap.put(htereceivedZrbmLast.getDepart(), htereceivedZrbmLast);
|
|
|
- }
|
|
|
- return htereceivedZrbmLastMap;
|
|
|
- });
|
|
|
+// CompletableFuture<Map<String, IndexKpiCompletByDate>> getHtereceivedZrbmLastMapFuture = CompletableFuture.supplyAsync(() -> {
|
|
|
+// Map<String, IndexKpiCompletByDate> htereceivedZrbmLastMap = new TreeMap<>();//用来保存部门上月合计的合同额、已收款以及责任部门
|
|
|
+// if (zrbmList.isEmpty()) return htereceivedZrbmLastMap;
|
|
|
+// //List<IndexKpiCompletByDate> htereceivedZrbmLastList = indexKpiMapper.getHteReceivedZrbmYm(finalDateLastYm, departList);
|
|
|
+// List<IndexKpiCompletByDate> htereceivedZrbmLastList = indexKpiMapper.getHteReceivedZrbmYm(finalDateLastYm, zrbmList);
|
|
|
+// for(IndexKpiCompletByDate htereceivedZrbmLast:htereceivedZrbmLastList){
|
|
|
+// htereceivedZrbmLastMap.put(htereceivedZrbmLast.getDepart(), htereceivedZrbmLast);
|
|
|
+// }
|
|
|
+// return htereceivedZrbmLastMap;
|
|
|
+// });
|
|
|
// 求下达部门的合同额
|
|
|
CompletableFuture<Map<String,IndexKpiCompletByDate>> getHtereceivedXdbmHteMapFuture = CompletableFuture.supplyAsync(() -> {
|
|
|
Map<String, IndexKpiCompletByDate> htereceivedXdbmHteMap = new TreeMap<>();//用来保存部门上月合计的合同额、已收款以及责任部门
|
|
@@ -500,10 +501,10 @@ public class IndexKpiServiceImpl implements IndexKpiService {
|
|
|
return htereceivedZrbmNewMap;
|
|
|
});
|
|
|
|
|
|
- CompletableFuture<Void> future1 = CompletableFuture.allOf(getHtereceivedZrbmMapFuture, getHtereceivedZrbmLastMapFuture,getHtereceivedXdbmHteMapFuture,getHtereceivedXdbmYskMapFuture,getHtereceivedZrbmFinalFuture,getHtereceivedZrbmNewFuture);
|
|
|
+ CompletableFuture<Void> future1 = CompletableFuture.allOf(getHtereceivedZrbmMapFuture,getHtereceivedXdbmHteMapFuture,getHtereceivedXdbmYskMapFuture,getHtereceivedZrbmFinalFuture,getHtereceivedZrbmNewFuture);
|
|
|
future1.join();
|
|
|
Map<String, IndexKpiCompletByDate> htereceivedZrbmMap = getHtereceivedZrbmMapFuture.join();
|
|
|
- Map<String, IndexKpiCompletByDate> htereceivedZrbmLastMap = getHtereceivedZrbmLastMapFuture.join();
|
|
|
+// Map<String, IndexKpiCompletByDate> htereceivedZrbmLastMap = getHtereceivedZrbmLastMapFuture.join();
|
|
|
Map<String, IndexKpiCompletByDate> htereceivedXdbmHteMap = getHtereceivedXdbmHteMapFuture.join();
|
|
|
Map<String, IndexKpiCompletByDate> htereceivedXdbmYskMap = getHtereceivedXdbmYskMapFuture.join();
|
|
|
Map<String, IndexKpiCompletByDate> htereceivedZrbmFinalMap = getHtereceivedZrbmFinalFuture.join();
|
|
@@ -527,13 +528,19 @@ public class IndexKpiServiceImpl implements IndexKpiService {
|
|
|
|
|
|
}else {
|
|
|
IndexKpiCompletByDate htereceivedZrbm = htereceivedZrbmMap.getOrDefault(kpiDataZrbm.getDepart(), kpiDataZrbm);
|
|
|
- IndexKpiCompletByDate htereceivedZrbmLast = htereceivedZrbmLastMap.getOrDefault(kpiDataZrbm.getDepart(), kpiDataZrbm);
|
|
|
- if(htereceivedZrbm.getContractAmount() == null || htereceivedZrbmLast.getContractAmount() == null){
|
|
|
+ if (htereceivedZrbm.getContractAmount() == null){
|
|
|
kpiDataZrbm.setContractAmount(BigDecimal.valueOf(0).setScale(2, RoundingMode.HALF_UP));
|
|
|
- }else {
|
|
|
- kpiDataZrbm.setContractAmount(htereceivedZrbm.getContractAmount().subtract(htereceivedZrbmLast.getContractAmount()).setScale(2, RoundingMode.HALF_UP));//合同额
|
|
|
+ }else{
|
|
|
+ kpiDataZrbm.setContractAmount(htereceivedZrbm.getContractAmount().setScale(2, RoundingMode.HALF_UP));
|
|
|
}
|
|
|
- kpiDataZrbm.setReceived(htereceivedZrbm.getReceived().subtract(htereceivedZrbmLast.getReceived()).setScale(2, RoundingMode.HALF_UP));//已收款
|
|
|
+ kpiDataZrbm.setReceived(htereceivedZrbm.getReceived().setScale(2, RoundingMode.HALF_UP));
|
|
|
+// IndexKpiCompletByDate htereceivedZrbmLast = htereceivedZrbmLastMap.getOrDefault(kpiDataZrbm.getDepart(), kpiDataZrbm);
|
|
|
+// if(htereceivedZrbm.getContractAmount() == null || htereceivedZrbmLast.getContractAmount() == null){
|
|
|
+// kpiDataZrbm.setContractAmount(BigDecimal.valueOf(0).setScale(2, RoundingMode.HALF_UP));
|
|
|
+// }else {
|
|
|
+// kpiDataZrbm.setContractAmount(htereceivedZrbm.getContractAmount().subtract(htereceivedZrbmLast.getContractAmount()).setScale(2, RoundingMode.HALF_UP));//合同额
|
|
|
+// }
|
|
|
+// kpiDataZrbm.setReceived(htereceivedZrbm.getReceived().subtract(htereceivedZrbmLast.getReceived()).setScale(2, RoundingMode.HALF_UP));//已收款
|
|
|
}
|
|
|
//计算完成度 合同额(是计算的某个月或某个年的合同额 增量)/ 指标
|
|
|
if(kpiDataZrbm.getDepartKpi() != null){
|