From 7956f09935a708f17b0f1b29a6625475f53c7509 Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期三, 16 十月 2024 09:52:15 +0800 Subject: [PATCH] 版本整合03 --- hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java | 110 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 93 insertions(+), 17 deletions(-) diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java index f7dc084..9937f03 100644 --- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java +++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java @@ -317,7 +317,7 @@ //鐜荤拑鍒伴綈鍖呮嫭宸插嚭鐗囩殑 //鍒伴綈锛屽皢鐜荤拑灏忕墖鏁版嵁瀛樺叆閽㈠寲灏忕墖琛紝閫昏緫鐢熸垚鍑虹墖浠诲姟 缁撴潫 for (TemperingLayoutDTO item : temperingLayoutDTOList) { - if(redisUtil.getCacheObject("temperingengineerId").equals(item.getEngineerId())){ + if (redisUtil.getCacheObject("temperingengineerId").equals(item.getEngineerId())) { List<TemperingGlassInfo> temperingGlassInfos = glassInfoService.selectJoinList(TemperingGlassInfo.class, JoinWrappers.lambda(GlassInfo.class) .selectAll(GlassInfo.class) .select("-1 as state") @@ -358,7 +358,7 @@ int serialNumber = 1; for (BigStorageCageDetails item : list) { outTasks.add(new BigStorageCageOutTask(item.getGlassId(), first.getSlot(), second.getSlot(), - item.getWidth() * 10, item.getHeight() * 10, 1, serialNumber++, Const.BIG_STORAGE_OUT_NEW)); + item.getWidth() * 10, item.getHeight() * 10, 1, serialNumber++, Const.BIG_STORAGE_OUT_NEW, new Date())); } //鏂板璋冨害浠诲姟 bigStorageCageOutTaskService.saveBatch(outTasks); @@ -437,6 +437,16 @@ List<BigStorageCageOutTask> outSuccessGlass = bigStorageCageOutTaskService.list(new LambdaQueryWrapper<BigStorageCageOutTask>() .in(BigStorageCageOutTask::getGlassId, glassIds).in(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_ALL)); if (CollectionUtils.isNotEmpty(outSuccessGlass)) { + for (BigStorageCageOutTask bigStorageCageOutTask : outSuccessGlass + ) { + if (bigStorageCageOutTask.getEndSlot().equals(Const.ARTIFICIAL_OUT_TARGET_POSITION)) { + temperingGlassInfoService.update( + new LambdaUpdateWrapper<TemperingGlassInfo>() + .set(TemperingGlassInfo::getState, Const.TEMPERING_END) + .eq(TemperingGlassInfo::getGlassId, bigStorageCageOutTask.getGlassId()) + ); + } + } log.info("3銆佽幏鍙栧嚭鐗囧凡瀹屾垚鐨勭幓鐠冧俊鎭痠d:{}", outSuccessGlass); List<UpdateBigStorageCageDTO> storageCageDTOList = outSuccessGlass.stream().map(e -> { UpdateBigStorageCageDTO storageCageDTO = new UpdateBigStorageCageDTO(); @@ -517,9 +527,9 @@ Damage damage = new Damage(); damage.setGlassId(bigStorageCageFeedTask.getGlassId()); damage.setLine(bigStorageCageFeedTask.getLine()); - damage.setWorkingProcedure("鍐峰姞宸�"); + damage.setWorkingProcedure("纾ㄨ竟"); damage.setRemark("杩涚鍓嶅崸杞珛"); - damage.setStatus(0); + damage.setStatus(1); damage.setType(bigStorageCageFeedTask.getTaskState()); damageService.insertDamage(damage); slotList.add(bigStorageCageFeedTask.getTargetSlot()); @@ -545,9 +555,9 @@ Damage damage = new Damage(); damage.setGlassId(bigStorageCageOutTask.getGlassId()); damage.setLine(bigStorageCageOutTask.getEndSlot()); - damage.setWorkingProcedure("鍐峰姞宸�"); + damage.setWorkingProcedure("閽㈠寲"); damage.setRemark("鍑虹墖鍚庡崸杞珛"); - damage.setStatus(0); + damage.setStatus(1); damage.setType(bigStorageCageOutTask.getTaskState()); damageService.insertDamage(damage); slotList.add(bigStorageCageOutTask.getStartSlot()); @@ -562,6 +572,58 @@ } /** + * 纭瀛楁竻绌� + */ +// @Scheduled(fixedDelay = 300) +// public void confirmClear() { +// PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject; +// String d01ToMES = plcParameterObject.getPlcParameter("D01ToMES").getValue(); +// String d04ToMES = plcParameterObject.getPlcParameter("D04ToMES").getValue(); +// String mesD01Address = plcParameterObject.getPlcParameter("MESToD01").getAddress(); +// String mesD04Address = plcParameterObject.getPlcParameter("MESToD04").getAddress(); +// String d03ToMES = plcParameterObject.getPlcParameter("D03ToMES").getValue(); +// String d05ToMES = plcParameterObject.getPlcParameter("D05ToMES").getValue(); +// String mesD03Address = plcParameterObject.getPlcParameter("MESToD03").getAddress(); +// String mesD05Address = plcParameterObject.getPlcParameter("MESToD05").getAddress(); +// if(!REQUEST_WORD.equals(d01ToMES)){ +// S7object.getinstance().plccontrol.writeWord(mesD01Address, 0); +// } +// if(!REQUEST_WORD.equals(d04ToMES)){ +// S7object.getinstance().plccontrol.writeWord(mesD04Address, 0); +// } +// if (!REQUEST_WORD.equals(d03ToMES)) { +// S7object.getinstance().plccontrol.writeWord(mesD03Address, 0); +// } +// if (!REQUEST_WORD.equals(d05ToMES)) { +// S7object.getinstance().plccontrol.writeWord(mesD05Address, 0); +// } +// } + /** + * 杩涚墖鐘舵�佷慨鏀� + */ +// @Scheduled(fixedDelay = 300) +// public void feedStatusUpdate() { +// List<String> glassIds1=null; +// List<String> glassIds2=null; +// List<BigStorageCageFeedTask> bigStorageCageFeedTasks1=bigStorageCageFeedTaskService.list( +// new LambdaQueryWrapper<BigStorageCageFeedTask>() +// .eq(BigStorageCageFeedTask::getTaskState,1) +// .eq(BigStorageCageFeedTask::getLine,Const.ARTIFICIAL_OUT_TARGET_POSITION) +// ); +// List<BigStorageCageFeedTask> bigStorageCageFeedTasks2=bigStorageCageFeedTaskService.list( +// new LambdaQueryWrapper<BigStorageCageFeedTask>() +// .eq(BigStorageCageFeedTask::getTaskState,1) +// .eq(BigStorageCageFeedTask::getLine,Const.TEMPERING_OUT_TARGET_POSITION) +// ); +//// if(CollectionUtils.isNotEmpty(bigStorageCageFeedTasks1)){ +//// +//// } +//// if(CollectionUtils.isNotEmpty(bigStorageCageFeedTasks1)){ +//// +//// } +// } + + /** * 鎸夌収鐜荤拑id鍒ゆ柇鐜荤拑鐘舵�佸強鍗ц浆绔嬫槸鍚﹀彲鐩存帴鍚姩 */ public Boolean judgeGlassTypeStatus(String glassId, Integer line, String mesAddress) { @@ -571,14 +633,24 @@ .eq(EdgGlassTaskInfo::getLine, line) .apply("time >= (select time from edg_glass_task_info where line='" + line + "' and glass_id = '" + glassId + "' and deleted = 0)") .orderByAsc(EdgGlassTaskInfo::getTime)); - if (edgGlassTaskInfoList == null) { - log.info("绾胯矾锛歿}璇嗗埆鐜荤拑淇℃伅鏈嚭鐜板湪灏哄琛ㄤ腑,鑾峰彇鐩搁偦涓ゅ潡鐜荤拑澶辫触", line); - } else { + if (edgGlassTaskInfoList.size() == 0) { edgGlassTaskInfoList = edgGlassTaskInfoService.list(new QueryWrapper<EdgGlassTaskInfo>() .select("Top 1 *") .eq("glass_id", glassId) ); log.info("鍦ㄥ昂瀵歌〃涓幏鍙栫幓鐠冧俊鎭瘂}", edgGlassTaskInfoList); + if (edgGlassTaskInfoList.size() == 0) { + GlassInfo glassInfo = glassInfoService.getOne( + new LambdaQueryWrapper<GlassInfo>() + .eq(GlassInfo::getGlassId, glassId) + ); + EdgGlassTaskInfo edgGlassTaskInfo = new EdgGlassTaskInfo(); + BeanUtils.copyProperties(glassInfo, edgGlassTaskInfo); + edgGlassTaskInfo.setWidth((int) glassInfo.getWidth()); + edgGlassTaskInfo.setHeight((int) glassInfo.getHeight()); + edgGlassTaskInfoList.add(edgGlassTaskInfo); + log.info("鍦ㄧ幓鐠冧俊鎭〃涓幏鍙栫幓鐠冧俊鎭瘂}", edgGlassTaskInfoList); + } } Assert.isFalse(CollectionUtils.isEmpty(edgGlassTaskInfoList), "璇嗗埆鐜荤拑淇℃伅鏈嚭鐜板湪灏哄琛ㄤ腑,鑾峰彇鐩搁偦涓ゅ潡鐜荤拑澶辫触"); //2銆佽幏鍙栧崸杞珛鍓╀綑瀹藉害 @@ -666,7 +738,7 @@ bigStorageCageFeedTask.setCreateTime(new Date()); //鍒犻櫎鐞嗙墖绗艰〃鎷胯蛋/鐮存崯鏁版嵁鏁版嵁 damageService.deleteByGlassId(glassId); - Damage damage=new Damage(); + Damage damage = new Damage(); damage.setGlassId(glassId); damage.setWorkingProcedure("纾ㄨ竟"); damage.setLine(line); @@ -796,7 +868,7 @@ int minLength = Math.min((int) e.getWidth(), (int) e.getHeight()); if (maxX + minLength <= xMaxSize) { bigStorageCageOutTaskList.add(new BigStorageCageOutTask(e.getGlassId(), e.getSlot(), Const.TEMPERING_OUT_TARGET_POSITION, - e.getWidth() * 10, e.getHeight() * 10, 0, 0, 1)); + e.getWidth() * 10, e.getHeight() * 10, 0, 0, 1, new Date())); maxX = Math.max(maxX, e.getXCoordinate()); } else { break; @@ -804,7 +876,7 @@ } else { bigStorageCageOutTaskList.add(new BigStorageCageOutTask(e.getGlassId(), e.getSlot(), Const.ARTIFICIAL_OUT_TARGET_POSITION, - e.getWidth() * 10, e.getHeight(), 0, 0, 1)); + e.getWidth() * 10, e.getHeight(), 0, 0, 1, new Date())); } } Assert.isFalse(CollectionUtils.isEmpty(bigStorageCageOutTaskList), "鏈幏鍙栧嚭鐗囨暟鎹紝缁撴潫鍑虹墖浠诲姟"); @@ -834,7 +906,7 @@ * @param <T> * @return */ - private <T extends BigStorageCageBaseInfo> Boolean computeOutMoreGlassInfo(List<T> list, Boolean isTempering, String mesToPLCAddress) { + public <T extends BigStorageCageBaseInfo> Boolean computeOutMoreGlassInfo(List<T> list, Boolean isTempering, String mesToPLCAddress) { //浠诲姟鏁版嵁 鑾峰彇杞﹀瓙瀛樻斁鐜荤拑鏈�澶ф暟閲� 鐜荤拑闂撮殧 List<BigStorageCageOutTask> bigStorageCageOutTaskList = new ArrayList<>(); //鎵撹溅鍓╀綑灏哄 @@ -855,7 +927,7 @@ int minLength = Math.min((int) e.getWidth(), (int) e.getHeight()); if (maxX + minLength <= xMaxSize) { bigStorageCageOutTaskList.add(new BigStorageCageOutTask(e.getGlassId(), e.getSlot(), Const.TEMPERING_OUT_TARGET_POSITION, - e.getWidth() * 10, e.getHeight() * 10, trainNumber, serialNumber++, 1)); + e.getWidth() * 10, e.getHeight() * 10, trainNumber, serialNumber++, 1, new Date())); maxX = Math.max(maxX, e.getXCoordinate()); } else { remainWidth = carWidth - maxLength - glassGap; @@ -863,16 +935,20 @@ serialNumber = 1; maxX = e.getXCoordinate(); bigStorageCageOutTaskList.add(new BigStorageCageOutTask(e.getGlassId(), e.getSlot(), Const.TEMPERING_OUT_TARGET_POSITION, - e.getWidth() * 10, e.getHeight(), trainNumber, serialNumber++, 1)); + e.getWidth() * 10, e.getHeight(), trainNumber, serialNumber++, 1, new Date())); } } else { bigStorageCageOutTaskList.add(new BigStorageCageOutTask(e.getGlassId(), e.getSlot(), Const.ARTIFICIAL_OUT_TARGET_POSITION, - e.getWidth() * 10, e.getHeight(), trainNumber, serialNumber++, 1)); + e.getWidth() * 10, e.getHeight(), trainNumber, serialNumber++, 1, new Date())); } } Assert.isFalse(CollectionUtils.isEmpty(bigStorageCageOutTaskList), "鏈幏鍙栧嚭鐗囨暟鎹紝缁撴潫鍑虹墖浠诲姟"); log.info("鑾峰彇鍑虹墖浠诲姟鏁版嵁{}鏉★紝鎵ц淇濆瓨", bigStorageCageOutTaskList.size()); - bigStorageCageOutTaskService.saveBatch(bigStorageCageOutTaskList); + for (BigStorageCageOutTask bigStorageCageOutTask : bigStorageCageOutTaskList + ) { + bigStorageCageOutTaskService.save(bigStorageCageOutTask); + } +// bigStorageCageOutTaskService.saveBatch(bigStorageCageOutTaskList); List<String> glassIds = bigStorageCageOutTaskList.stream().map(BigStorageCageOutTask::getGlassId).collect(Collectors.toList()); log.info("灏嗗嚭鐗囩幓鐠儃}鐜荤拑鐘舵�佹敼涓哄凡鍑虹墖", glassIds); bigStorageCageDetailsService.update(new LambdaUpdateWrapper<BigStorageCageDetails>() -- Gitblit v1.8.0