From 3ee9005c437133466125f6a71ebe008b0bc701b9 Mon Sep 17 00:00:00 2001
From: huang <1532065656@qq.com>
Date: 星期四, 03 七月 2025 17:04:40 +0800
Subject: [PATCH] 修改看板完成数量筛选条件

---
 JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/PrimitiveTaskController.java |   98 ++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 92 insertions(+), 6 deletions(-)

diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/PrimitiveTaskController.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/PrimitiveTaskController.java
index e2c2fc4..917fd58 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/PrimitiveTaskController.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/PrimitiveTaskController.java
@@ -2,12 +2,14 @@
 
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.mes.md.entity.*;
+import com.mes.md.entity.KBBTJPDrawingBP;
+import com.mes.md.entity.PrimitiveTask;
+import com.mes.md.entity.TaskingLog;
 import com.mes.md.mapper.KBBTJPDrawingBPMapper;
+import com.mes.md.mapper.TaskingLogMapper;
 import com.mes.md.service.KBBTJPDrawingBPService;
 import com.mes.md.service.PrimitiveTaskService;
 import com.mes.md.service.TaskingLogService;
-import com.mes.md.service.TaskingService;
 import com.mes.utils.Result;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -38,6 +40,8 @@
     KBBTJPDrawingBPMapper kBBTJPDrawingBPMapper;
     @Autowired
     TaskingLogService taskingLogService;
+    @Autowired
+    TaskingLogMapper taskingLogMapper;
 
     @ApiOperation("鏌ヨ褰撳墠璁惧锛屾湭瀹屽伐鐘舵�佺殑绾夸笂浠诲姟")
     @PostMapping("/selectPrimitiveTask")
@@ -104,8 +108,8 @@
     @ApiOperation("鏌ヨ 璁″垝閲� m虏 鐗囨暟锛堝鎴疯〃锛�")
     @PostMapping("/findPlannedQuantity")
     @ResponseBody
-    public Result findPlannedQuantity(@RequestBody Map<String, String> map) {
-        int dayCount=Integer.valueOf(map.get("dayCount").toString());
+    public Result findPlannedQuantity() {
+        //int dayCount=Integer.valueOf(map.get("dayCount").toString());
         Calendar cal = Calendar.getInstance();
         //璁剧疆褰撳墠鏃堕棿
         cal.setTime(new Date());
@@ -113,15 +117,30 @@
         cal.set(Calendar.MINUTE, 0);
         cal.set(Calendar.SECOND, 0);
         cal.set(Calendar.MILLISECOND, 0);
-        cal.add(Calendar.DATE, 1-dayCount);
+
+        //cal.add(Calendar.DATE, 1-dayCount);
+        cal.set(Calendar.DAY_OF_MONTH, 1);
         Date startDate = cal.getTime();
+
+        // 鑾峰彇褰撴湀鏈�鍚庝竴澶�
+        Calendar lastDayCal = (Calendar) cal.clone();
+        lastDayCal.add(Calendar.MONTH, 1);
+        lastDayCal.add(Calendar.DATE, -1);
+        Date endDate = lastDayCal.getTime();
+
+        // 鑾峰彇褰撴湀澶╂暟
+        int dayCount = lastDayCal.get(Calendar.DAY_OF_MONTH);
 
         QueryWrapper<KBBTJPDrawingBP> queryWrapper = new QueryWrapper<>();
         queryWrapper.select("CAST(PlanDate AS DATE) AS CreateDate,isNull(sum(task_quantity),0) as task_quantity_sum,isNull(sum(length*width*task_quantity)/1000000,0) as area_sum")
-                .gt("PlanDate",startDate).groupBy("CAST(PlanDate AS DATE)")
+                .ge("PlanDate",startDate).le("PlanDate",endDate).groupBy("CAST(PlanDate AS DATE)")
                 .orderByAsc("CAST(PlanDate AS DATE)");;
         List<Map> list=kBBTJPDrawingBPMapper.selectMaps((QueryWrapper)queryWrapper);
         List<Map> resultDate=new ArrayList<>();
+
+        // 閲嶇疆鏃ュ巻鍒板綋鏈堢涓�澶�
+        cal.setTime(startDate);
+
         for (int i=0;i<dayCount;i++){
             Date thisdate=cal.getTime();
             cal.add(Calendar.DATE, 1);
@@ -146,5 +165,72 @@
         }
         return Result.build(200,"鎴愬姛",resultDate);
     }
+
+    @ApiOperation("鏌ヨ 瀹屾垚閲� m虏 鐗囨暟")
+    @PostMapping("/findFinishQuantity")
+    @ResponseBody
+    public Result findFinishQuantity(@RequestBody Map<String, String> map) {
+
+        Calendar cal = Calendar.getInstance();
+        //璁剧疆褰撳墠鏃堕棿
+        cal.setTime(new Date());
+        cal.set(Calendar.HOUR_OF_DAY, 0);
+        cal.set(Calendar.MINUTE, 0);
+        cal.set(Calendar.SECOND, 0);
+        cal.set(Calendar.MILLISECOND, 0);
+
+        //cal.add(Calendar.DATE, 1-dayCount);
+        cal.set(Calendar.DAY_OF_MONTH, 1);
+        Date startDate = cal.getTime();
+
+        // 鑾峰彇褰撴湀鏈�鍚庝竴澶�
+        Calendar lastDayCal = (Calendar) cal.clone();
+        lastDayCal.add(Calendar.MONTH, 1);
+        lastDayCal.add(Calendar.DATE, -1);
+        Date endDate = lastDayCal.getTime();
+
+        // 鑾峰彇褰撴湀澶╂暟
+        int dayCount = lastDayCal.get(Calendar.DAY_OF_MONTH);
+
+        QueryWrapper<TaskingLog> queryWrapper = new QueryWrapper<>();
+        queryWrapper.select("CAST(operation_record_time AS DATE) AS CreateDate,ifNull(sum(task_quantity),0) as task_quantity_sum,ifNull(sum(length*width)/1000000,0) as area_sum")
+                .ge("operation_record_time",startDate).le("operation_record_time",endDate)
+                .in("operation_record","鏃嬭浆1","鏃嬭浆2")
+                .eq("operation_mode","缁撴潫")
+                .eq("work_state","瀹屽伐")
+                .groupBy("CAST(operation_record_time AS DATE)")
+                .orderByAsc("CAST(operation_record_time AS DATE)");
+        List<Map> list=taskingLogMapper.selectMaps((QueryWrapper)queryWrapper);
+        List<Map> resultDate=new ArrayList<>();
+
+        // 閲嶇疆鏃ュ巻鍒板綋鏈堢涓�澶�
+        cal.setTime(startDate);
+
+         for (int i=0;i<dayCount;i++){
+            Date thisdate=cal.getTime();
+            cal.add(Calendar.DATE, 1);
+            Map thisMap=new HashMap<>();
+
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+            String dateString = sdf.format(thisdate);
+            thisMap.put("CreateDate",dateString);
+//            if(list.size()>0){
+//                log.info("瀵规瘮:{},{},{}",list.get(0).get("CreateDate"),dateString,list.get(0).get("CreateDate").toString().equals(dateString));
+//            }
+
+            if (list.size()>0&&list.get(0).get("CreateDate").toString().equals(dateString)){
+                thisMap.put("task_quantity_sum",list.get(0).get("task_quantity_sum"));
+                thisMap.put("area_sum",list.get(0).get("area_sum"));
+                list.remove(0);
+            }else{
+                thisMap.put("task_quantity_sum",0);
+                thisMap.put("area_sum",0);
+            }
+            resultDate.add(thisMap);
+        }
+
+        return Result.build(200,"鎴愬姛",resultDate);
+
+    }
 }
 

--
Gitblit v1.8.0