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