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 |  199 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 195 insertions(+), 4 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 ca0f4f2..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
@@ -1,17 +1,23 @@
 package com.mes.md.controller;
 
 
-import com.mes.md.entity.Machine;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.mes.md.entity.KBBTJPDrawingBP;
 import com.mes.md.entity.PrimitiveTask;
-import com.mes.md.entity.Tasking;
+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.TaskingService;
+import com.mes.md.service.TaskingLogService;
 import com.mes.utils.Result;
 import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.List;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 /**
  * <p>
@@ -21,11 +27,22 @@
  * @author wu
  * @since 2024-08-28
  */
+@Slf4j
 @RestController
 @RequestMapping("/primitiveTask")
 public class PrimitiveTaskController {
+
     @Autowired
     private PrimitiveTaskService primitiveTaskService;
+    @Autowired
+    private KBBTJPDrawingBPService kBBTJPDrawingBPService;
+    @Autowired
+    KBBTJPDrawingBPMapper kBBTJPDrawingBPMapper;
+    @Autowired
+    TaskingLogService taskingLogService;
+    @Autowired
+    TaskingLogMapper taskingLogMapper;
+
     @ApiOperation("鏌ヨ褰撳墠璁惧锛屾湭瀹屽伐鐘舵�佺殑绾夸笂浠诲姟")
     @PostMapping("/selectPrimitiveTask")
     @ResponseBody
@@ -34,6 +51,21 @@
         return Result.build(200,"鎴愬姛",list);
     }
 
+    @ApiOperation("鏌ヨ褰撳墠 鏍囧噯锛屽彲棰嗗彇鐨勪换鍔★紙瀹㈡埛琛級")
+    @PostMapping("/findKBBTJPDrawingBP")
+    @ResponseBody
+    public Result findKBBTJPDrawingBP() {
+        List<KBBTJPDrawingBP> list =kBBTJPDrawingBPService.notReceiveKBBTJPDrawingBP();
+        return Result.build(200,"鎴愬姛",list);
+    }
+
+    @ApiOperation("棰嗗彇鎴栫粨鏉�  ")
+    @PostMapping("/startOrStopPrimitiveTasking")
+    @ResponseBody
+    public Result startOrStopPrimitiveTasking(@RequestBody PrimitiveTask primitiveTask) {
+        int list =primitiveTaskService.startOrStopPrimitiveTasking(primitiveTask);
+        return Result.build(200,"鎴愬姛",list);
+    }
     @ApiOperation("鏍规嵁鎵规鍙疯繘琛屾墜鍔ㄦ姤宸�")
     @PostMapping("/updatePrimitiveTask")
     @ResponseBody
@@ -41,5 +73,164 @@
         boolean list =primitiveTaskService.updatePrimitiveTask(primitiveTask);
         return Result.build(200,"鎴愬姛",list);
     }
+
+    @ApiOperation("鏌ヨ 鏃ヤ骇閲忔湭瀹屾垚锛堝鎴疯〃锛�")
+    @PostMapping("/findDayNotCompleteOutput")
+    @ResponseBody
+    public Result findDayNotCompleteOutput(@RequestBody Map<String, String> map) {
+        int dayCount=1-Integer.valueOf(map.get("dayCount").toString());
+        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, dayCount);
+        QueryWrapper<KBBTJPDrawingBP> queryWrapper = new QueryWrapper<>();
+        queryWrapper.select("OrderNo,(sum(task_quantity-isNull(report_count,0))) as notComplete,sum(isNull((length*width*(task_quantity-isNull(report_count,0)))/1000000,0)) as area_sum").
+                gt("PlanDate",cal.getTime()).having("sum(task_quantity-isNull(report_count,0))>0")
+                .groupBy("OrderNo");
+        List<Map> list=kBBTJPDrawingBPMapper.selectMaps((QueryWrapper)queryWrapper);
+        return Result.build(200,"鎴愬姛",list);
+    }
+
+    @ApiOperation("鏌ヨ 鏃ヤ骇閲忥紙瀹㈡埛琛級")
+    @PostMapping("/findDailyOutput")
+    @ResponseBody
+    public Result findDailyOutput(@RequestBody Map<String, String> map) {
+
+        int dayCount=Integer.valueOf(map.get("dayCount").toString());
+        List<Map> result=taskingLogService.selectTaskingLog(dayCount);
+        return Result.build(200,"鎴愬姛",result);
+    }
+
+    @ApiOperation("鏌ヨ 璁″垝閲� m虏 鐗囨暟锛堝鎴疯〃锛�")
+    @PostMapping("/findPlannedQuantity")
+    @ResponseBody
+    public Result findPlannedQuantity() {
+        //int dayCount=Integer.valueOf(map.get("dayCount").toString());
+        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<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")
+                .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);
+            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);
+    }
+
+    @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