From 093579c99049bf09ecf8e5d0f80179fde1ddc776 Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期三, 10 七月 2024 09:49:31 +0800 Subject: [PATCH] 下片:下片任务状态字段名称修改 大理片:1、扫码任务新增确认字校验:确认字为0,请求有id的情况不处理 2、新增定时任务处理进出片任务执行过程中出现破损玻璃的情况 待完成:破损表新增功能未实现 --- hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java | 62 +++++++++++++++++------------- 1 files changed, 35 insertions(+), 27 deletions(-) diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java index 9eaf129..6e63d8e 100644 --- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java +++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java @@ -4,6 +4,7 @@ import cn.smallbun.screw.core.util.CollectionUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.mes.common.S7object; import com.mes.common.config.Const; import com.mes.device.PlcParameterObject; @@ -72,8 +73,14 @@ @Value("${mes.maxHeight}") private Integer maxHeight; + @Value("${mes.minWidth}") + private Integer minWidth; - @Scheduled(fixedDelay = 1000) + @Value("${mes.minHeight}") + private Integer minHeight; + + + @Scheduled(fixedDelay = 3000) public void plcHomeEdgTask() { PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject; String requestWord = plcParameterObject.getPlcParameter("requestWord").getValue(); @@ -87,6 +94,7 @@ String confirmationWrodAddress = plcParameterObject.getPlcParameter("confirmationWord").getAddress(); String currentSlot = plcParameterObject.getPlcParameter("currentCell").getValue(); + log.info("1銆佽幏鍙栧埌鐨勮姹傚瓧涓猴細{}锛岃幏鍙栧埌鐨勬壂鎻廔D涓猴細{}锛岃幏鍙栧埌鐨勭‘璁ゅ瓧涓猴細{}锛岃幏鍙栧埌鐨勫嚭鐗囩姸鎬佸垎鍒负锛歡06:{}銆乬08:{}銆乬11:{}銆乬13:{},褰撳墠鏍煎瓙鍙蜂负锛歿}", requestWord, glassIdeValue, confirmationWrodValue, out06Glassstate, out08Glassstate, out11Glassstate, out13Glassstate, currentSlot); @@ -96,7 +104,7 @@ return; } log.info("2銆佽幏鍙栧埌鐨勮姹傚瓧涓�0锛屽皢纭瀛楁敼涓�0"); - S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, (short) 0); + S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, 0); return; } if (!"0".equals(confirmationWrodValue)) { @@ -108,7 +116,7 @@ inTo(glassIdeValue, requestWord, currentSlot); } else if ("2".equals(requestWord)) { //09绌洪棽 锛�1 10绌洪棽 锛�2 閮界┖闂诧細3 鍏朵粬0 - log.info("2銆佸嚭鐗囪姹傦紝涓旂‘璁ゅ瓧涓�0锛屾墽琛岃繘鐗囦换鍔�"); + log.info("2銆佸嚭鐗囪姹傦紝涓旂‘璁ゅ瓧涓�0锛屾墽琛屽嚭鐗囦换鍔�"); outTo(out06Glassstate, out08Glassstate, out11Glassstate, out13Glassstate, glassIdeValue, currentSlot); } else if ("3".equals(requestWord)) { log.info("2銆佽繘鐗囧拰鍑虹墖閮界┖闂诧紝鎵ц鍑虹墖浠诲姟"); @@ -135,8 +143,8 @@ } Boolean checkFlag = Boolean.FALSE; //鐜荤拑灏哄鏄惁璧颁汉宸ヤ笅鐗� - if (glassInfo.getWidth() > maxWidth || glassInfo.getHeight() > maxHeight) { - log.info("璇ョ幓鐠冨昂瀵歌蛋浜哄伐涓嬬墖,鐩存帴杩涚墖"); + if (glassInfo.getWidth() > maxWidth || glassInfo.getHeight() > maxHeight || glassInfo.getWidth() < minWidth || glassInfo.getHeight() < minHeight) { + log.info("璇ョ幓鐠冨昂瀵镐笉绗﹀悎瑕佹眰锛岄渶瑕佽蛋浜哄伐涓嬬墖鐩存帴杩涚墖"); } else { log.info("璇ョ幓鐠冨昂瀵搁潪浜哄伐涓嬬墖"); //鑾峰彇璇ョ幓鐠冪殑娴佺▼鍗℃槸鍚﹀凡缁戝畾鏋跺瓙 @@ -152,7 +160,7 @@ if (!checkFlag && !isBind) { log.info("璇ョ幓鐠冪殑娴佺▼鍗℃湭缁戝畾鏋跺瓙锛岃幏鍙栨槸鍚︽湁绌烘灦瀛�"); List<DownWorkstation> list = downWorkstationService.list(new LambdaQueryWrapper<DownWorkstation>() - .isNull(DownWorkstation::getFlowCardId)); + .isNull(DownWorkstation::getFlowCardId).orderByDesc(DownWorkstation::getWorkstationId)); if (CollectionUtils.isNotEmpty(list)) { log.info("鏈夌┖鏋跺瓙,灏嗘祦绋嬪崱涓庢灦瀛愬ソ缁戝畾锛屾墽琛岃繘鐗囦换鍔� 缁撴潫"); //缁戝畾娴佺▼鍗� @@ -236,8 +244,8 @@ return Boolean.FALSE; } Boolean flag08 = "1".equals(out08Glassstate) ? Boolean.TRUE : Boolean.FALSE; - if (!generateTaskByShelf(glassStatus11, flag08, glassStatus13, tempList, cageDetails)) { - return generateTaskByShelf(glassStatus11, !flag08, glassStatus13, tempList, cageDetails); + if (!generateTaskByShelf(glassStatus06, glassStatus11, flag08, glassStatus13, tempList, cageDetails, glassId)) { + return generateTaskByShelf(glassStatus06, glassStatus11, !flag08, glassStatus13, tempList, cageDetails, glassId); } return Boolean.TRUE; } @@ -279,16 +287,16 @@ } } - private Boolean generateTaskByShelf(String glassStatus, Boolean flag08, String glassStatus13, List<DownStorageCageDetails> tempList, DownStorageCageDetails cageDetails) { + private Boolean generateTaskByShelf(String glassStatus06, String glassStatus11, Boolean flag08, String glassStatus13, List<DownStorageCageDetails> tempList, DownStorageCageDetails cageDetails, String glassId) { //鑾峰彇2涓満姊拌噦鑼冨洿鍐呯殑鏋跺瓙缁戝畾鐨勬祦绋嬪崱淇℃伅 List<Integer> workList = new ArrayList(); if (flag08) { - if (!"2".equals(glassStatus)) { + if (!"2".equals(glassStatus11)) { workList.addAll(Const.G11_WORK_STATION); } } else { - if (!"2".equals(glassStatus)) { + if (!"2".equals(glassStatus06)) { workList.addAll(Const.G06_WORK_STATION); } } @@ -297,7 +305,7 @@ //瀵圭鍐呯幓鐠冭繘琛岃繃婊わ紝浠呭嚭绗﹀悎閫昏緫鐨勭幓鐠� if (CollectionUtils.isNotEmpty(workList)) { List<DownWorkstation> downWorkstationList = downWorkstationService.list(new LambdaQueryWrapper<DownWorkstation>() - .eq(DownWorkstation::getEnableState, 0).in(DownWorkstation::getWorkstationId, workList)); + .eq(DownWorkstation::getEnableState, Const.SLOT_ON).in(DownWorkstation::getWorkstationId, workList)); log.info("鏋跺瓙琚鐢紝鏃犳硶鍑虹墖钀芥灦"); if (CollectionUtils.isEmpty(downWorkstationList)) { log.info("绗煎瓙琚鐢紝鏃犳硶璧版満姊拌噦涓嬬墖"); @@ -348,10 +356,8 @@ List<DownGlassInfoDTO> downGlassInfoDTOList = downGlassInfoService.queryWorkStationIsIn(Boolean.TRUE); List<String> downGlassFlowList = downGlassInfoDTOList.stream().map(item -> item.getFlowCardId() + ":" + item.getLayer()).collect(Collectors.toList()); if (CollectionUtils.isEmpty(downGlassFlowList)) { - //鏋跺瓙閮芥湭缁戝畾娴佺▼鍗★紝鍑虹鍐呭瓙鏁伴噺鏈�澶氬昂瀵告渶澶х殑鐜荤拑 - DownStorageCageDetails downStorageCageDetails = downStorageCageDetailsService.getGlassInfoMaxCount(); - //缁戝畾娴佺▼鍗★紝鏇存柊鐜荤拑鐘舵�侊紝鐢熸垚鍑虹墖浠诲姟锛� - tempGlassId = downStorageCageDetails.getGlassId(); + //鏋跺瓙閮芥湭缁戝畾娴佺▼鍗★紝鍑虹鍐呭瓙鏁伴噺鏈�澶氬昂瀵告渶澶х殑鐜荤拑id,鏃� 鍒欒繑鍥炴壂鎻忔壂鍒扮殑鐜荤拑id杩涜鍑虹墖 + tempGlassId = downStorageCageDetailsService.getGlassInfoMaxCount(glassId); isBind = Boolean.TRUE; break loop; } @@ -362,9 +368,8 @@ // List<DownWorkstation> emptyShelfList = downWorkstationService.list(new LambdaQueryWrapper<DownWorkstation>() // .isNull(DownWorkstation::getFlowCardId)); if (isEmptyShelf) { - DownStorageCageDetails downStorageCageDetails = downStorageCageDetailsService.getGlassInfoMaxCount(); - //缁戝畾娴佺▼鍗★紝鏇存柊鐜荤拑鐘舵�侊紝鐢熸垚鍑虹墖浠诲姟 - tempGlassId = downStorageCageDetails.getGlassId(); + //鏋跺瓙閮芥湭缁戝畾娴佺▼鍗★紝鍑虹鍐呭瓙鏁伴噺鏈�澶氬昂瀵告渶澶х殑鐜荤拑id,鏃� 鍒欒繑鍥炴壂鎻忔壂鍒扮殑鐜荤拑id杩涜鍑虹墖 + tempGlassId = downStorageCageDetailsService.getGlassInfoMaxCount(glassId); isBind = Boolean.TRUE; break loop; } @@ -474,6 +479,9 @@ log.info("鏇存柊璇︽儏琛ㄥ唴鐨勭姸鎬佸け璐�"); return Boolean.FALSE; } + //鏇存柊钀芥灦鐜荤拑鏁伴噺 + downWorkstationService.update(new UpdateWrapper<DownWorkstation>().eq("flow_card_id", downStorageCageDetails.getFlowCardId()) + .eq("layer", downStorageCageDetails.getLayer()).setSql("racks_number = racks_number +1")); //鐢熸垚浠诲姟淇℃伅 DownGlassInfo downGlassInfo = new DownGlassInfo(); BeanUtils.copyProperties(downStorageCageDetails, downGlassInfo); @@ -490,7 +498,7 @@ downGlassTask.setStartCell(startCell); downGlassTask.setGlassId(glassInfo.getGlassId()); downGlassTask.setEndCell(endCell); - downGlassTask.setTaskType(taskType + ""); + downGlassTask.setTaskType(taskType); downGlassTask.setWidth((int) glassInfo.getWidth()); downGlassTask.setHeight((int) glassInfo.getHeight()); downGlassTask.setFlowCardId(glassInfo.getFlowCardId()); @@ -506,13 +514,13 @@ private Boolean sendMessageToPlc(int width, int height, int thickness, int startCell, int endCell, int taskType) { S7control s7control = S7object.getinstance().plccontrol; PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject; - s7control.writeWord(plcMesObject.getPlcParameter("Glass_width").getAddress(), (short) width); - s7control.writeWord(plcMesObject.getPlcParameter("Glass_height").getAddress(), (short) height); - s7control.writeWord(plcMesObject.getPlcParameter("Glass_thickness").getAddress(), (short) thickness); - s7control.writeWord(plcMesObject.getPlcParameter("Start_cell").getAddress(), (short) startCell); - s7control.writeWord(plcMesObject.getPlcParameter("End_cell").getAddress(), (short) endCell); - s7control.writeWord(plcMesObject.getPlcParameter("task_type").getAddress(), (short) taskType); - s7control.writeWord(plcMesObject.getPlcParameter("confirmationWord").getAddress(), (short) 1); + s7control.writeWord(plcMesObject.getPlcParameter("Glass_width").getAddress(), width); + s7control.writeWord(plcMesObject.getPlcParameter("Glass_height").getAddress(), height); + s7control.writeWord(plcMesObject.getPlcParameter("Glass_thickness").getAddress(), thickness); + s7control.writeWord(plcMesObject.getPlcParameter("Start_cell").getAddress(), startCell); + s7control.writeWord(plcMesObject.getPlcParameter("End_cell").getAddress(), endCell); + s7control.writeWord(plcMesObject.getPlcParameter("task_type").getAddress(), taskType); + s7control.writeWord(plcMesObject.getPlcParameter("confirmationWord").getAddress(), 1); return Boolean.TRUE; } } -- Gitblit v1.8.0