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 | 185 +++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 174 insertions(+), 11 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 fe4b12c..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,20 +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; @@ -22,15 +38,16 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; +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.util.ArrayList; -import java.util.Arrays; -import java.util.List; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.stream.Collectors; /** * @Author : zhoush @@ -52,6 +69,11 @@ DamageService damageService; @Autowired EdgGlassTaskInfoService edgGlassTaskInfoService; + @Autowired + BigStorageCageFeedTaskService bigStorageCageFeedTaskService; + @Autowired + GlassInfoService glassInfoService; + // @Autowired // BigStorageCageFeedTaskMapper bigStorageCageFeedTaskMapper; @@ -168,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("鍐峰姞宸�"); @@ -183,7 +205,7 @@ } @Test - public void chaxun(){ + public void chaxun() { List<EdgGlassTaskInfo> edgGlassTaskInfoList = edgGlassTaskInfoService.list(new QueryWrapper<EdgGlassTaskInfo>() .select("Top 1 *") .eq("glass_id", "P24072402|1|13") @@ -192,10 +214,127 @@ } @Test - public void ca(){ + 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/mesSave"; + String url = "http://192.168.3.119:8086/reportingWork/mesSaveReportingWorkWorn"; URL obj = new URL(url); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); @@ -205,9 +344,10 @@ con.setRequestProperty("Accept", "application/json"); con.setDoOutput(true); - // 鍒涘缓娑堟伅浣� - String jsonInputString = "灏忓粬"; - ReportingWork reportingWork=new ReportingWork(); + // 鍒涘缓 JSON 瀵硅薄 + JSONObject result = new JSONObject(); + + ReportingWork reportingWork = new ReportingWork(); reportingWork.setOrderId("NG24042301"); reportingWork.setProductionId("NG24042301A"); reportingWork.setProcessId("NG24042301A001"); @@ -221,11 +361,33 @@ reportingWork.setTeamsGroupsName("灏忓粬涓�鍙�"); reportingWork.setCreator("灏忓粬"); - ReportingWorkDetail reportingWorkDetail=new ReportingWorkDetail(); + 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"); @@ -235,6 +397,7 @@ // 鑾峰彇鍝嶅簲鐮� 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(); -- Gitblit v1.8.0