From 2c2413760b6467bf62402dba7338bd3bbcbd7341 Mon Sep 17 00:00:00 2001
From: huang <1532065656@qq.com>
Date: 星期二, 20 五月 2025 14:20:38 +0800
Subject: [PATCH] 添加产量报表功能页面

---
 JiuMuMesParent/moduleService/DeviceInteractionModule/src/test/java/com/mes/DeviceInteractionModuleApplicationTest.java |  204 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 198 insertions(+), 6 deletions(-)

diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/test/java/com/mes/DeviceInteractionModuleApplicationTest.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/test/java/com/mes/DeviceInteractionModuleApplicationTest.java
index b3e5ebe..86e2ad6 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/test/java/com/mes/DeviceInteractionModuleApplicationTest.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/test/java/com/mes/DeviceInteractionModuleApplicationTest.java
@@ -1,14 +1,14 @@
 package com.mes;
 
+import cn.hutool.core.bean.BeanUtil;
+import cn.smallbun.screw.core.util.CollectionUtils;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.mes.md.entity.*;
 import com.mes.md.mapper.*;
-import com.mes.md.service.AccountService;
-import com.mes.md.service.PrimitiveTaskService;
-import com.mes.md.service.ProjectService;
-import com.mes.md.service.TaskingService;
+import com.mes.md.service.*;
 import com.mes.tools.HexConversion;
 import com.mes.utils.HexUtil;
 import lombok.extern.slf4j.Slf4j;
@@ -25,8 +25,11 @@
 import java.io.OutputStream;
 import java.net.Socket;
 import java.nio.charset.StandardCharsets;
+import java.text.DateFormat;
 import java.text.SimpleDateFormat;
+import java.time.LocalDate;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @Author : yanzhixin
@@ -69,12 +72,78 @@
     @Autowired
     KBBTLensSortingMapper kBBTLensSortingMapper;
 
+    @Autowired
+    KBBTProgramsOperationLogBPMapper kBBTProgramsOperationLogBPMapper;
+
+    @Autowired
+    KBBTProgramsOperationLogBPService kBBTProgramsOperationLogBPService;
+
+    @Autowired
+    TaskingLogMapper taskingLogMapper;
+
+    @Autowired
+    TaskingLogService taskingLogService;
+    /**
+     * 娴嬭瘯 鎻愪氦鎶ュ伐  浠ュ強鐜荤拑鏁版嵁
+     */
+    @Test
+    public void reportTaskingLog() {
+        taskingLogService.reportTaskingLog();
+    }
+    /**
+     * 娴嬭瘯 鎵爜鍚庡簱浣�
+     */
+    @Test
+    public void testInset() {
+
+        // 浠庢暟鎹簱涓煡璇㈠嚭鐨勫璞¢泦鍚�
+        List<Tasking> listTasking = taskingMapper.selectList(new QueryWrapper<Tasking>());
+        List<KBBTProgramsOperationLogBP> abc =kBBTProgramsOperationLogBPMapper.selectList(new QueryWrapper<KBBTProgramsOperationLogBP>());
+        // 鍒ょ鏄惁涓虹┖
+        if (CollectionUtils.isNotEmpty(listTasking)) {
+            // 杩涜鎷嗚В灏佽
+            List<KBBTProgramsOperationLogBP> stationDictVOS = listTasking.stream().map(item -> {
+                KBBTProgramsOperationLogBP newData = new KBBTProgramsOperationLogBP();
+                newData.setGlassId(item.getGlassId());
+                newData.setState(item.getState());
+                newData.setWorkState(item.getWorkState());
+                newData.setGlassState(item.getGlassState());
+                newData.setState(item.getState());
+                newData.setScanId(item.getScanId());
+                newData.setProgramId(item.getProgramId());
+                newData.setBatchNumber(item.getBatchNumber()==null?"":item.getBatchNumber());
+                newData.setTaskType(item.getTaskType());
+                newData.setLength(item.getLength());
+                newData.setWidth(item.getWidth());
+                newData.setThickness(item.getThickness());
+                newData.setDrawingMarking(item.getDrawingMarking());
+                //newData.setIsMarking(item.getIsMarking());//鏄惁鎵撴爣锛�0涓嶆墦鏍�   1鎵撴爣
+                newData.setIsSilkScreen(item.getIsSilkScreen());
+                newData.setIsWorking(1);
+                newData.setSilkScreenX(item.getSilkScreenX());
+                newData.setSilkScreenY(item.getSilkScreenY());
+                newData.setR_1_1(item.getR_1_1());
+                newData.setR_1_2(item.getR_1_2());
+                newData.setR_2_1(item.getR_2_1());
+                newData.setR_2_2(item.getR_2_2());
+                newData.setR_3_1(item.getR_3_1());
+                newData.setR_3_2(item.getR_3_2());
+                newData.setR_4_1(item.getR_4_1());
+                newData.setR_4_2(item.getR_4_2());
+                newData.setCreateDate(new Date());
+                kBBTProgramsOperationLogBPMapper.insert(newData);
+                return newData;
+            }).collect(Collectors.toList());
+            log.info("淇濆瓨鏁版嵁鏄惁鎴愬姛锛歿},{}",stationDictVOS);
+        }
+
+    }
+
     /**
      * 娴嬭瘯 鎵爜鍚庡簱浣�
      */
     @Test
     public void testStr() {
-
         //鍒涘缓Calendar瀹炰緥
         Calendar cal = Calendar.getInstance();
         //璁剧疆褰撳墠鏃堕棿
@@ -104,7 +173,7 @@
     public void testSaoMa() {
         try {
 // 鍒涘缓TCP瀹㈡埛绔苟杩炴帴鍒版湇鍔″櫒
-            String serverAddress = "192.168.1.8";
+            String serverAddress = "10.36.164.19";
             int serverPort = 2001;
             Socket clientSocket = new Socket(serverAddress, serverPort);
             // 鍒涘缓杈撳叆娴佸拰杈撳嚭娴�
@@ -276,6 +345,129 @@
 
 //        log.info("鍐呭{}",KBBTJPDrawingBP);
     }
+    //鍛ㄤ骇閲忔祴璇�
+    @Test
+    public void testDailyOutput() {
+        Map map=new HashMap();
+        map.put("dayCount",1);
+        int dayCount=0-Integer.valueOf(map.get("dayCount").toString());
+        Calendar cal = Calendar.getInstance();
+        //璁剧疆褰撳墠鏃堕棿
+        cal.setTime(new Date());
+        cal.add(Calendar.DATE, dayCount);
+
+        QueryWrapper<KBBTProgramsOperationLogBP> queryWrapper = new QueryWrapper<>();
+        queryWrapper.select("CreateDate,isNull(sum(task_quantity),0) as task_quantity_sum,isNull(sum(report_count),0) as report_count_sum")
+                .gt("CreateDate",cal.getTime()).groupBy("CreateDate");
+        List<KBBTProgramsOperationLogBP> list=kBBTJPDrawingBPMapper.selectMaps((QueryWrapper)queryWrapper);
+        log.info("鍐呭{}{}",list,cal.getTime());
+    }
+
+    //鏃ヤ骇閲忔祴璇�
+    @Test
+    public void testWeekOutput() {
+        Map map=new HashMap();
+        map.put("dayCount",1);
+        int dayCount=0-Integer.valueOf(map.get("dayCount").toString());
+        Calendar cal = Calendar.getInstance();
+        //璁剧疆褰撳墠鏃堕棿
+        cal.setTime(new Date());
+        cal.add(Calendar.DATE, dayCount);
+        QueryWrapper<KBBTProgramsOperationLogBP> queryWrapper = new QueryWrapper<>();
+        queryWrapper.select("CAST(CreateDate 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("CreateDate",cal.getTime()).groupBy("CAST(CreateDate AS DATE)");
+        List<KBBTProgramsOperationLogBP> list=kBBTJPDrawingBPMapper.selectMaps((QueryWrapper)queryWrapper);
+        log.info("鍐呭{}{}",list,cal.getTime());
+        log.info("鍐呭{}",list);
+    }
+
+    //鏃ヤ骇閲忔湭瀹屾垚
+    @Test
+    public void testDayNotFinshOutput() {
+        Map map=new HashMap();
+        map.put("dayCount",1);
+        int dayCount=0-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);
+        log.info("鍐呭{}",list);
+    }
+    //鏃ヤ骇閲� 鍒嗙嚎 宸插畬鎴�
+    @Test
+    public void testDayss() {
+        List<Map> map=taskingLogService.selectTaskingLog(20);
+        log.info("鍐呭{}",map);
+    }
+    //鏃ヤ骇閲� 鍒嗙嚎 宸插畬鎴�
+    @Test
+    public void testDays() {
+        Map map=new HashMap();
+        map.put("dayCount",5);
+        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, 0-dayCount);
+        //杩慸ayCount澶╃殑璁″垝鏁伴噺
+        QueryWrapper<KBBTJPDrawingBP> queryWrapper = new QueryWrapper<>();
+        queryWrapper.select("CAST(CreateDate AS DATE) AS CreateDate,isNull(sum(task_quantity),0) as task_quantity_sum")
+                .gt("CreateDate",cal.getTime()).groupBy("CAST(CreateDate AS DATE)").orderByAsc("CAST(CreateDate AS DATE)");
+        List<Map> list=kBBTJPDrawingBPMapper.selectMaps((QueryWrapper)queryWrapper);
+        //杩慸ayCount澶╃殑璁″垝鏁伴噺
+
+        List<String> dateList=new ArrayList<>();
+        Map<String,Object> mapList=new HashMap<>();
+        for (int i=0;i<dayCount;i++){
+            cal.add(Calendar.DATE, 1);
+            log.info("鍐呭{}",cal.getTime().toString());
+            dateList.add(cal.getTime().toString());//鏃ユ湡椤哄簭
+            Map<String,Object> item=new HashMap<>();
+            item.put("report_count_sum",0);
+            item.put("task_quantity_sum",0);
+            try {
+                DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
+                Date d=df.parse(cal.getTime().toString());
+                item.put("CreateDate",d.toString());
+            }catch (Exception e){
+                log.info("寮傚父");
+            }
+
+            mapList.put(cal.getTime().toString(), item);//姣忎釜鏃ユ湡鐨勬暟鎹� -鍖归厤鐢�
+        }
+        //閬嶅巻鍖归厤
+        for (int i=0;i<list.size();i++){
+            cal.setTime((Date)list.get(i).get("CreateDate"));
+            cal.set(Calendar.HOUR_OF_DAY, 0);
+            cal.set(Calendar.MINUTE, 0);
+            cal.set(Calendar.SECOND, 0);
+            cal.set(Calendar.MILLISECOND, 0);
+            mapList.put(cal.getTime().toString(), list.get(i));
+        }
+        //閬嶅巻椤哄簭
+        List result=new ArrayList();
+        for (int i=0;i<dateList.size();i++){
+
+            result.add(mapList.get(dateList.get(i)));
+            //log.info("缁撴灉{}",mapList.get(dateList.get(i)));
+        }
+        log.info("杩斿洖鍐呭{}",result);
+
+
+    }
 
 
 

--
Gitblit v1.8.0