From f68d3c71819feb59e7a227a5d992b059b900916c Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期五, 28 三月 2025 08:28:26 +0800
Subject: [PATCH] 修改报表,界面添加查询流程卡个数,调整推送数据到前端的间隔

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java |  263 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 257 insertions(+), 6 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
index 6e45b69..207054d 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
@@ -1,13 +1,36 @@
 package com.mes;
 
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.github.yulichang.toolkit.JoinWrappers;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.mes.bigstorage.entity.BigStorageCage;
+import com.mes.bigstorage.entity.BigStorageCageDetails;
+import com.mes.bigstorage.entity.dto.TemperingLayoutDTO;
 import com.mes.bigstorage.service.BigStorageCageDetailsService;
 import com.mes.bigstorage.service.BigStorageCageService;
+import com.mes.bigstoragetask.entity.BigStorageCageFeedTask;
+import com.mes.bigstoragetask.entity.BigStorageCageOutTask;
 import com.mes.bigstoragetask.mapper.BigStorageCageFeedTaskMapper;
+import com.mes.bigstoragetask.service.BigStorageCageFeedTaskService;
 import com.mes.common.config.Const;
 import com.mes.damage.entity.Damage;
 import com.mes.damage.service.DamageService;
+import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
+import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.service.GlassInfoService;
+import com.mes.job.PlcSlicecage;
 import com.mes.job.PlcStorageCageTask;
+import com.mes.pp.entity.ReportingWork;
+import com.mes.pp.entity.ReportingWorkDetail;
+import com.mes.temperingglass.entity.TemperingGlassInfo;
+import com.mes.temperingglass.service.TemperingGlassInfoService;
 import lombok.extern.slf4j.Slf4j;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -15,9 +38,16 @@
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringRunner;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
+import javax.annotation.Resource;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @Author : zhoush
@@ -37,9 +67,16 @@
     BigStorageCageDetailsService bigStorageCageDetailsService;
     @Autowired
     DamageService damageService;
-
     @Autowired
-    BigStorageCageFeedTaskMapper bigStorageCageFeedTaskMapper;
+    EdgGlassTaskInfoService edgGlassTaskInfoService;
+    @Autowired
+    BigStorageCageFeedTaskService bigStorageCageFeedTaskService;
+    @Autowired
+    GlassInfoService glassInfoService;
+
+
+//    @Autowired
+//    BigStorageCageFeedTaskMapper bigStorageCageFeedTaskMapper;
 
     @Test
     public void testInsertSlot() {
@@ -153,7 +190,7 @@
 
     @Test
     public void insertDamage() {
-        Damage damage=new Damage();
+        Damage damage = new Damage();
         damage.setGlassId("P24060403|3|6");
         damage.setLine(2001);
         damage.setWorkingProcedure("鍐峰姞宸�");
@@ -161,4 +198,218 @@
         damage.setStatus(2);
         damageService.insertDamage(damage);
     }
+
+    @Test
+    public void updateOutGlassStateTask() {
+        plcStorageCageTask.updateOutGlassStateTask();
+    }
+
+    @Test
+    public void chaxun() {
+        List<EdgGlassTaskInfo> edgGlassTaskInfoList = edgGlassTaskInfoService.list(new QueryWrapper<EdgGlassTaskInfo>()
+                .select("Top 1 *")
+                .eq("glass_id", "P24072402|1|13")
+        );
+        log.info("鍦ㄥ昂瀵歌〃涓幏鍙栫幓鐠冧俊鎭瘂}", edgGlassTaskInfoList);
+    }
+
+    @Test
+    public void deleteByGlassId() {
+        damageService.deleteByGlassId("P24081203|2|5");
+    }
+
+    @Test
+    public void testttt() {
+        List<Integer> deviceUsedList = bigStorageCageService.queryFreeDeviceByUsed(6, 1);
+        List<Integer> deviceUseds = deviceUsedList;
+        List<BigStorageCageDetails> engineerCount1 = bigStorageCageDetailsService.list(
+                new LambdaQueryWrapper<BigStorageCageDetails>()
+                        .notIn(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT, Const.GLASS_STATE_DAMAGE, Const.GLASS_STATE_TAKE)
+                        .select(BigStorageCageDetails::getEngineerId)
+                        .groupBy(BigStorageCageDetails::getEngineerId)
+                        .between(BigStorageCageDetails::getDeviceId, 1, 5)
+        );
+        List<BigStorageCageDetails> engineerCount2 = bigStorageCageDetailsService.list(
+                new LambdaQueryWrapper<BigStorageCageDetails>()
+                        .notIn(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT, Const.GLASS_STATE_DAMAGE, Const.GLASS_STATE_TAKE)
+                        .select(BigStorageCageDetails::getEngineerId)
+                        .groupBy(BigStorageCageDetails::getEngineerId)
+                        .between(BigStorageCageDetails::getDeviceId, 6, 8)
+        );
+        if (engineerCount1.size() > engineerCount2.size()) {
+            deviceUsedList.removeIf(device -> device < 6);
+        } else {
+            deviceUsedList.removeIf(device -> device > 5);
+        }
+        if (CollectionUtils.isEmpty(deviceUsedList)) {
+            deviceUsedList = deviceUseds;
+        }
+        log.info("zhi:{}", deviceUsedList);
+    }
+
+    @Test
+    public void ca1() {
+        List<BigStorageCageFeedTask> bigStorageCageFeedTasks = bigStorageCageFeedTaskService.list(
+                new LambdaQueryWrapper<BigStorageCageFeedTask>()
+                        .gt(BigStorageCageFeedTask::getTargetSlot, 0)
+                        .eq(BigStorageCageFeedTask::getLine, Const.A09_OUT_TARGET_POSITION)
+                        .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP)
+        );
+        if (CollectionUtils.isEmpty(bigStorageCageFeedTasks)) {
+            log.info("zhi:" + bigStorageCageFeedTasks);
+        }
+
+    }
+
+    @Test
+    public void ca11() {
+        bigStorageCageDetailsService.selectFeedTask();
+//        plcStorageCageTask.queryAndChangeGlass("P24110503|17|4");
+    }
+
+    @Resource
+    TemperingGlassInfoService temperingGlassInfoService;
+
+    @Test
+    public void computeOutMoreGlassInfo() {
+//        List<TemperingGlassInfo> temperingGlassInfoList = temperingGlassInfoService.selectJoinList(TemperingGlassInfo.class, new MPJLambdaWrapper<TemperingGlassInfo>()
+//                .selectAll(TemperingGlassInfo.class)
+//                .leftJoin(BigStorageCageOutTask.class, BigStorageCageOutTask::getGlassId, TemperingGlassInfo::getGlassId)
+//                .eq(TemperingGlassInfo::getState, Const.TEMPERING_NEW)
+//                .isNull(BigStorageCageOutTask::getGlassId)
+//                .orderByAsc(TemperingGlassInfo::getTemperingFeedSequence));
+//        plcStorageCageTask.computeOutMoreGlassInfo(temperingGlassInfoList, true, 1);
+        List<BigStorageCageDetails> artificialList = bigStorageCageDetailsService.list(new LambdaQueryWrapper<BigStorageCageDetails>()
+                .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_ARTIFICIAL)
+                .orderByAsc(BigStorageCageDetails::getSlot)
+                .orderByDesc(BigStorageCageDetails::getId));
+        plcStorageCageTask.computeOutMoreGlassInfo(artificialList, Boolean.FALSE, 1);
+    }
+
+    @Test
+    public void ca111() {
+//        GlassInfo glassInfo=glassInfoService.getOne(
+//                new LambdaQueryWrapper<GlassInfo>()
+//                .eq(GlassInfo::getGlassId,"P24122901|38|9")
+//        );
+//        bigStorageCageDetailsService.queryTargetSlotByTempering(glassInfo);
+//        List<BigStorageCageDetails> bigStorageCageDetailsList = bigStorageCageDetailsService.list(
+//                new LambdaQueryWrapper<BigStorageCageDetails>()
+//                        .eq(BigStorageCageDetails::getState, 100)
+//                        .in(BigStorageCageDetails::getGlassId, "P24122201|1|1", "P24122201|2|3")
+//        );
+//        List<BigStorageCageDetails> overSizeGlass = bigStorageCageDetailsList.stream().filter(
+//                t -> Math.min(t.getWidth(), t.getHeight()) > 2500
+//        ).collect(Collectors.toList());
+//        log.info("sadfd" + overSizeGlass);
+//        List<String> glasss=new ArrayList<>();
+//        glasss.add("P24122901|38|5");
+//        glasss.add("P24122901|38|7");
+//        glasss.add("P24122901|26|5");
+//        plcStorageCageTask.computeTargetByLineCar(2001,glasss);
+//        bigStorageCageDetailsService.cancelOutTask();
+//        bigStorageCageDetailsService.queryTargetSlotByTempering(glassInfo);
+//        List<String> glassIdsCar=new ArrayList<>();
+//        glassIdsCar.add("P24120801|4|3");
+//        List<BigStorageCageFeedTask> bigStorageCageFeedTasks = bigStorageCageFeedTaskService.list(
+//                new LambdaQueryWrapper<BigStorageCageFeedTask>()
+//                        .in(BigStorageCageFeedTask::getGlassId, glassIdsCar)
+//                        .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP)
+//                        .eq(BigStorageCageFeedTask::getTargetSlot, 0)
+//        );
+//        if(CollectionUtils.isNotEmpty(bigStorageCageFeedTasks)){
+//            log.info("鑾峰彇鍒扮殑杩涚墖浠诲姟淇℃伅{}", bigStorageCageFeedTasks);
+//            plcStorageCageTask.computeTargetByLineCar(bigStorageCageFeedTasks.get(0).getLine(), glassIdsCar);
+//        }
+//        plcStorageCageTask.queryAndChangeGlass("P24111102|1|6");
+//        bigStorageCageDetailsService.selectFeedTask();
+        plcStorageCageTask.computeSlot("P24122901|21|2");
+//        plcStorageCageTask.computeSlot("P24121401|1|4");
+
+//        List<TemperingLayoutDTO> temperingOccupySlotList = bigStorageCageDetailsService.queryTemperingOccupySlot();
+//        log.info("sd"+temperingOccupySlotList);
+    }
+
+    @Test
+    public void ca() {
+        try {
+            // 鐩爣绯荤粺鐨凙PI URL
+            String url = "http://192.168.3.119:8086/reportingWork/mesSaveReportingWorkWorn";
+            URL obj = new URL(url);
+            HttpURLConnection con = (HttpURLConnection) obj.openConnection();
+
+            // 璁剧疆璇锋眰鏂规硶鍜岃姹傚ご
+            con.setRequestMethod("POST");
+            con.setRequestProperty("Content-Type", "application/json; utf-8");
+            con.setRequestProperty("Accept", "application/json");
+            con.setDoOutput(true);
+
+            // 鍒涘缓 JSON 瀵硅薄
+            JSONObject result = new JSONObject();
+
+            ReportingWork reportingWork = new ReportingWork();
+            reportingWork.setOrderId("NG24042301");
+            reportingWork.setProductionId("NG24042301A");
+            reportingWork.setProcessId("NG24042301A001");
+            reportingWork.setDeviceName("纾ㄨ竟鏈�");
+            reportingWork.setThisProcess("鍒囧壊");
+            reportingWork.setNextProcess("纾ㄨ竟");
+            reportingWork.setThisCompletedQuantity(1);
+            reportingWork.setThisWornQuantity(0);
+            reportingWork.setClasses("鏃╃彮");
+            reportingWork.setReportingWorkTime(LocalDateTime.now());
+            reportingWork.setTeamsGroupsName("灏忓粬涓�鍙�");
+            reportingWork.setCreator("灏忓粬");
+
+            List<ReportingWorkDetail> reportingWorkDetails = new ArrayList<>();
+            ReportingWorkDetail reportingWorkDetail = new ReportingWorkDetail();
+            reportingWorkDetail.setTechnologyNumber(1);
+            reportingWorkDetail.setOrderNumber(1);
+            reportingWorkDetail.setCompletedQuantity(1);
+            reportingWorkDetail.setBreakageQuantity(0);
+            reportingWorkDetails.add(reportingWorkDetail);
+
+            ObjectMapper objectMapper = new ObjectMapper();
+
+            // 灏� ReportingWork 杞崲涓� JSONObject
+            JSONObject reportingWorkJson = new JSONObject(objectMapper.writeValueAsString(reportingWork));
+            reportingWorkJson.put("reportingWorkTime", reportingWork.getReportingWorkTime().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
+            // 灏� ReportingWorkDetail 鍒楄〃杞崲涓� JSONArray
+            JSONArray detailsJsonArray = new JSONArray(objectMapper.writeValueAsString(reportingWorkDetails));
+
+            // 灏� JSON 瀵硅薄鍜屾暟缁勬坊鍔犲埌缁撴灉瀵硅薄涓�
+            result.put("title", reportingWorkJson);
+            result.put("detail", detailsJsonArray);
+            result.put("type", 0);
+            result.put("userId", "admin");
+            result.put("userName", "admin");
+            result.put("qualityInsStatus", 0);
+
+            // 灏� result 瀵硅薄杞崲涓哄瓧绗︿覆
+            String jsonInputString = result.toString();
+            System.out.println("jsonInputString : " + result);
+            // 鍙戦�佽姹�
+            try (OutputStream os = con.getOutputStream()) {
+                byte[] input = jsonInputString.getBytes("utf-8");
+                os.write(input, 0, input.length);
+            }
+
+            // 鑾峰彇鍝嶅簲鐮�
+            int responseCode = con.getResponseCode();
+            System.out.println("Response Code : " + responseCode);
+
+            // 鑾峰彇鍝嶅簲鍐呭
+            try (BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream(), "utf-8"))) {
+                StringBuilder response = new StringBuilder();
+                String inputLine;
+                while ((inputLine = in.readLine()) != null) {
+                    response.append(inputLine);
+                }
+                System.out.println("Response Body: " + response.toString());
+            }
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 }

--
Gitblit v1.8.0