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 |  265 +++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 228 insertions(+), 37 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 bbffdb6..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,17 +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.AccountMapper;
-import com.mes.md.mapper.KBBTJPDrawingBPMapper;
-import com.mes.md.mapper.MachineMapper;
-import com.mes.md.mapper.PrimitiveTaskMapper;
-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.mapper.*;
+import com.mes.md.service.*;
 import com.mes.tools.HexConversion;
 import com.mes.utils.HexUtil;
 import lombok.extern.slf4j.Slf4j;
@@ -28,11 +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.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
+import java.time.LocalDate;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @Author : yanzhixin
@@ -69,43 +66,114 @@
     @Autowired
     MachineMapper machineMapper;
 
+    @Autowired
+    TaskingMapper taskingMapper;
+
+    @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() {
-        String str=new String("4銆佸彂閫佷换鍔�  浠诲姟鏁版嵁锛歿}, ".getBytes(),StandardCharsets.UTF_8);
-        int a=1;
-        log.info(str,1);
+        //鍒涘缓Calendar瀹炰緥
+        Calendar cal = Calendar.getInstance();
+        //璁剧疆褰撳墠鏃堕棿
+        cal.setTime(new Date());
+        cal.add(Calendar.DATE, -3);
+        int deleteCount=taskingMapper.deleteJoin(new MPJLambdaWrapper<Tasking>()
+                .selectAll(Tasking.class)
+                .le(Tasking::getOperationRecordTime,cal.getTime()));
+
+        log.info("{},鍒犻櫎鏁版嵁:{}",cal.getTime(),deleteCount);
     }
 
     @Test
     public void testSaoMa3() {
-        try {
-// 鍒涘缓TCP瀹㈡埛绔苟杩炴帴鍒版湇鍔″櫒
-            String serverAddress = "192.168.1.8";
-            int serverPort = 2001;
-            Socket clientSocket = new Socket(serverAddress, serverPort);
-            // 鍒涘缓杈撳叆娴佸拰杈撳嚭娴�
-            InputStream inputStream = clientSocket.getInputStream();
-            OutputStream outputStream = clientSocket.getOutputStream();
-            // 鍙戦�佹暟鎹粰鏈嶅姟鍣�
-            String message = "start";
-            outputStream.write(message.getBytes());
-            // 璇诲彇鏈嶅姟鍣ㄥ搷搴旂殑鏁版嵁
-            byte[] buffer = new byte[1024];
-            int bytesRead = inputStream.read(buffer);
-            String receivedMessage = new String(buffer, 0, bytesRead);
-            System.out.println("鏀跺埌鏈嶅姟鍣ㄥ搷搴旓細" + receivedMessage);
-            // 鍏抽棴杩炴帴
-            clientSocket.close();
-        }catch (Exception e){
-            log.info("鎵爜寮傚父");
-        }
+        int deleteCount=taskingMapper.deleteJoin(new MPJLambdaWrapper<Tasking>()
+                .selectAll(Tasking.class)
+                .innerJoin(LineConfiguration.class,LineConfiguration::getId,Tasking::getLineConfigurationId)
+                .innerJoin(Machine.class,Machine::getId,LineConfiguration::getMachineId)
+                .eq(LineConfiguration::getMachineId,24L)
+                .eq(Tasking::getGlassState,"姝e父")
+                .eq(Tasking::getState,"绾夸笂")
+                .ne(Tasking::getWorkState,"瀹屽伐"));
+        log.info("{}",deleteCount);
     }
 
     @Test
     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);
             // 鍒涘缓杈撳叆娴佸拰杈撳嚭娴�
@@ -277,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