Browse Source

根据胡总需求完成材料费详情对比(返回结果新增字段)

lw 1 year ago
parent
commit
8172362750

+ 15 - 15
module_kzks/src/main/java/org/jeecg/modules/Index/service/impl/IndexServiceImpl.java

@@ -2539,7 +2539,7 @@ public class IndexServiceImpl implements IndexService {
         //初始化
         IndexTotalVo lrIndexTotalVo = indexTotalVoInit();
 
-        //获取一层合同额
+        //获取一层已收款
         CompletableFuture<IndexTotalVo> getYskFuture = CompletableFuture.supplyAsync(() -> {
             return getTotalReceived(request);
         });
@@ -2551,33 +2551,33 @@ public class IndexServiceImpl implements IndexService {
 //        IndexTotalVo zceindexTotalVo = indexZcbService.getZhiChuTotalList(request).get(0);
         CompletableFuture<Void> future1 = CompletableFuture.allOf(getYskFuture,getZcbFuture);
         future1.join();
-        IndexTotalVo hteindexTotalVo = getYskFuture.join();
+        IndexTotalVo yskindexTotalVo = getYskFuture.join();
         IndexTotalVo zceindexTotalVo = getZcbFuture.join();
-        System.out.println("一层合同额、总成本:");
-        System.out.println(hteindexTotalVo);
+        System.out.println("一层已收款、总成本:");
+        System.out.println(yskindexTotalVo);
         System.out.println(zceindexTotalVo);
 
 
-        //当年利润额 合同额-成本额
-        if(hteindexTotalVo.getYearTotal() == null) hteindexTotalVo.setYearTotal(BigDecimal.valueOf(0));
+        //当年利润额 已收款-成本额
+        if(yskindexTotalVo.getYearTotal() == null) yskindexTotalVo.setYearTotal(BigDecimal.valueOf(0));
         if(zceindexTotalVo.getYearTotal() == null) zceindexTotalVo.setYearTotal(BigDecimal.valueOf(0));
-        BigDecimal lreYearTotal = hteindexTotalVo.getYearTotal().subtract(zceindexTotalVo.getYearTotal());
+        BigDecimal lreYearTotal = yskindexTotalVo.getYearTotal().subtract(zceindexTotalVo.getYearTotal());
         //去年同期利润额 去年同期合同额-去年同期成本额
-        if(hteindexTotalVo.getYearTq() == null) hteindexTotalVo.setYearTq(BigDecimal.valueOf(0));
+        if(yskindexTotalVo.getYearTq() == null) yskindexTotalVo.setYearTq(BigDecimal.valueOf(0));
         if(zceindexTotalVo.getYearTq() == null) zceindexTotalVo.setYearTq(BigDecimal.valueOf(0));
-        BigDecimal lreLastYearTotal = hteindexTotalVo.getYearTq().subtract(zceindexTotalVo.getYearTq());
+        BigDecimal lreLastYearTotal = yskindexTotalVo.getYearTq().subtract(zceindexTotalVo.getYearTq());
         //当月利润额 当月合同额-当月成本额
-        if(hteindexTotalVo.getMonthTotal() == null) hteindexTotalVo.setMonthTotal(BigDecimal.valueOf(0));
+        if(yskindexTotalVo.getMonthTotal() == null) yskindexTotalVo.setMonthTotal(BigDecimal.valueOf(0));
         if(zceindexTotalVo.getMonthTotal() == null) zceindexTotalVo.setMonthTotal(BigDecimal.valueOf(0));
-        BigDecimal lreMonthTotal = hteindexTotalVo.getMonthTotal().subtract(zceindexTotalVo.getMonthTotal());
+        BigDecimal lreMonthTotal = yskindexTotalVo.getMonthTotal().subtract(zceindexTotalVo.getMonthTotal());
         //去年同期月份利润额 去年同期月份合同额-去年同期月份成本额
-        if(hteindexTotalVo.getMonthTq() == null) hteindexTotalVo.setMonthTq(BigDecimal.valueOf(0));
+        if(yskindexTotalVo.getMonthTq() == null) yskindexTotalVo.setMonthTq(BigDecimal.valueOf(0));
         if(zceindexTotalVo.getMonthTq() == null) zceindexTotalVo.setMonthTq(BigDecimal.valueOf(0));
-        BigDecimal lreTqMonthTotal = hteindexTotalVo.getMonthTq().subtract(zceindexTotalVo.getMonthTq());
+        BigDecimal lreTqMonthTotal = yskindexTotalVo.getMonthTq().subtract(zceindexTotalVo.getMonthTq());
         //上个月利润额 上个月合同额-上个月成本额
-        if(hteindexTotalVo.getMonthLast() == null) hteindexTotalVo.setMonthLast(BigDecimal.valueOf(0));
+        if(yskindexTotalVo.getMonthLast() == null) yskindexTotalVo.setMonthLast(BigDecimal.valueOf(0));
         if(zceindexTotalVo.getMonthLast() == null) zceindexTotalVo.setMonthLast(BigDecimal.valueOf(0));
-        BigDecimal lreLastMonthTotal = hteindexTotalVo.getMonthLast().subtract(zceindexTotalVo.getMonthLast());
+        BigDecimal lreLastMonthTotal = yskindexTotalVo.getMonthLast().subtract(zceindexTotalVo.getMonthLast());
 
         //年同比   (当年利润-去年利润)/去年利润
         BigDecimal lrYearTb = BigDecimal.valueOf(0);

+ 21 - 2
module_kzks/src/main/java/org/jeecg/modules/wzOutboundOrder/controller/WzOutboundOrderHController.java

@@ -64,9 +64,9 @@ public class WzOutboundOrderHController extends JeecgController<WzOutboundOrderH
     public Result<CLfCompareResultListVo> compareCLFDetailList(String tasknos) {
         CLfCompareResultListVo result = new CLfCompareResultListVo();
         ArrayList<CLFCompareResultVO> clfCompareResultVOS = new ArrayList<>();
-        String[] tasknoList = tasknos.split(",");
+        String[] tasknoArray = tasknos.split(",");
         HashMap<String, List<CLfCompareDO>> compareMap = new HashMap<>();
-        for (String taskno : tasknoList) {
+        for (String taskno : tasknoArray) {
             List<CLfCompareDO> Dos = wzOutboundOrderHService.getCLFCompareDoListByTaskNoList(taskno);
             if (!Dos.isEmpty()) {
                 Dos.forEach(dos-> {
@@ -89,25 +89,44 @@ public class WzOutboundOrderHController extends JeecgController<WzOutboundOrderH
             clfCompareResultVO.setWlmc(cLfCompareDO.getWlmc());
             clfCompareResultVO.setGgxh(cLfCompareDO.getGgxh());
             ArrayList<CLFCompareTaskResultVo> taskVoList = new ArrayList<>();
+            List<String> taskNoList = new ArrayList<>(Arrays.asList(tasknoArray));
             for (CLfCompareDO CDo : cLfCompareDOS) {
                 CLFCompareTaskResultVo clfCompareTaskResultVo = new CLFCompareTaskResultVo();
                 clfCompareTaskResultVo.setTaskno(CDo.getRwh());
+                taskNoList.remove(CDo.getRwh());
                 ArrayList<Map<String, Object>> filedList = new ArrayList<>();
+                HashMap<String, Object> flag = new HashMap<>();
                 HashMap<String, Object> totalAmount = new HashMap<>();
                 HashMap<String, Object> totalCount = new HashMap<>();
                 HashMap<String, Object> unitPrice = new HashMap<>();
+                flag.put("name", "flag");
+                flag.put("value", "yes");
                 totalAmount.put("name", "totalAmount");
                 totalAmount.put("value", CDo.getTotalAmount());
                 totalCount.put("name", "totalCount");
                 totalCount.put("value", CDo.getTotalCount());
                 unitPrice.put("name", "unitPrice");
                 unitPrice.put("value", CDo.getUnitPrice());
+                filedList.add(flag);
                 filedList.add(totalAmount);
                 filedList.add(totalCount);
                 filedList.add(unitPrice);
                 clfCompareTaskResultVo.setTaskFiled(filedList);
                 taskVoList.add(clfCompareTaskResultVo);
             }
+            if (!taskNoList.isEmpty()){
+                for (String no : taskNoList) {
+                    CLFCompareTaskResultVo clfCompareTaskResultVo = new CLFCompareTaskResultVo();
+                    clfCompareTaskResultVo.setTaskno(no);
+                    HashMap<String, Object> flag = new HashMap<>();
+                    flag.put("name", "flag");
+                    flag.put("value", "no");
+                    ArrayList<Map<String, Object>> filedList = new ArrayList<>();
+                    filedList.add(flag);
+                    clfCompareTaskResultVo.setTaskFiled(filedList);
+                    taskVoList.add(clfCompareTaskResultVo);
+                }
+            }
             clfCompareResultVO.setTaskVoList(taskVoList);
             clfCompareResultVOS.add(clfCompareResultVO);
         }