| | |
| | | package com.zy.asrs.domain.enums; |
| | | |
| | | public enum NotifyMsgType { |
| | | SHUTTLE_START_TAKE("shuttle_start_take", "å°è½¦å¼å§åè´§"), |
| | | SHUTTLE_TRANSPORT("shuttle_transport", "å°è½¦éè´§ä¸"), |
| | | SHUTTLE_DELIVERY("shuttle_delivery", "å°è½¦æ¾è´§å®æ"), |
| | | SHUTTLE_MOVING("shuttle_moving", "å°è½¦ç§»å¨ä¸"), |
| | | SHUTTLE_MOVE_COMPLETE("shuttle_move_complete", "å°è½¦ç§»å¨å®æ"), |
| | | SHUTTLE_POWER_LOW("shuttle_power_low", "å°è½¦ä½çµé"), |
| | | SHUTTLE_POWER_START("shuttle_power_start", "å°è½¦å¼å§å
çµ"), |
| | | SHUTTLE_POWER_COMPLETE("shuttle_power_complete", "å°è½¦å
çµå®æ"), |
| | | SHUTTLE_ERROR("shuttle_error", "å°è½¦å¼å¸¸"), |
| | | FORK_LIFT_ERROR("fork_lift_error", "è´§åæåæºå¼å¸¸"), |
| | | |
| | | //ä»»å¡ |
| | | TASK_COMPLETE("task_complete", "ä»»å¡å®æ"), |
| | | TASK_CHARGE_COMPLETE("task_charge_complete", "å
çµä»»å¡å®æ"), |
| | | TASK_CANCEL("task_cancel", "ä»»å¡åæ¶"), |
| | | |
| | | CRN_IN_TASK_RUN("crn_in_task_run", "å åæºå
¥åºä»»å¡æ§è¡ä¸"), |
| | | CRN_IN_TASK_COMPLETE("crn_in_task_complete", "å åæºå
¥åºä»»å¡æ§è¡å®æ"), |
| | | CRN_OUT_TASK_RUN("crn_out_task_run", "å åæºåºåºä»»å¡æ§è¡ä¸"), |
| | | CRN_OUT_TASK_COMPLETE("crn_out_task_complete", "å åæºåºåºä»»å¡æ§è¡å®æ"), |
| | | CRN_TRANSFER_TASK_RUN("crn_transfer_task_run", "å åæºç§»åºä»»å¡æ§è¡ä¸"), |
| | | CRN_TRANSFER_TASK_COMPLETE("crn_transfer_task_complete", "å åæºç§»åºä»»å¡æ§è¡å®æ"), |
| | | |
| | | DUAL_CRN_IN_TASK_RUN("dual_crn_in_task_run", "åå·¥ä½å åæºå
¥åºä»»å¡æ§è¡ä¸"), |
| | | DUAL_CRN_IN_TASK_COMPLETE("dual_crn_in_task_complete", "åå·¥ä½å åæºå
¥åºä»»å¡æ§è¡å®æ"), |
| | | DUAL_CRN_OUT_TASK_RUN("dual_crn_out_task_run", "åå·¥ä½å åæºåºåºä»»å¡æ§è¡ä¸"), |
| | | DUAL_CRN_OUT_TASK_COMPLETE("dual_crn_out_task_complete", "åå·¥ä½å åæºåºåºä»»å¡æ§è¡å®æ"), |
| | | DUAL_CRN_TRANSFER_TASK_RUN("dual_crn_transfer_task_run", "åå·¥ä½å åæºç§»åºä»»å¡æ§è¡ä¸"), |
| | | DUAL_CRN_TRANSFER_TASK_COMPLETE("dual_crn_transfer_task_complete", "åå·¥ä½å åæºç§»åºä»»å¡æ§è¡å®æ"), |
| | | ; |
| | | |
| | | public String flag; |
| | |
| | | notifyMsg("task", 1); |
| | | } |
| | | |
| | | @Scheduled(cron = "0/3 * * * * ? ") |
| | | public synchronized void notifyCrn(){ |
| | | notifyMsg("crn", 1); |
| | | } |
| | | |
| | | @Scheduled(cron = "0/3 * * * * ? ") |
| | | public synchronized void notifyDualCrn(){ |
| | | notifyMsg("dualCrn", 1); |
| | | } |
| | | |
| | | private synchronized void notifyMsg(String notifyType, Integer device) { |
| | | Config notifyEnableConfig = configService.selectOne(new EntityWrapper<Config>().eq("code", "notifyEnable")); |
| | | if(notifyEnableConfig == null){ |
| | |
| | | key = RedisKeyType.QUEUE_CRN.key + device; |
| | | } else if (notifyType.equals(String.valueOf(SlaveType.Devp))) { |
| | | key = RedisKeyType.QUEUE_DEVP.key + device; |
| | | } else if (notifyType.equals(String.valueOf(SlaveType.DualCrn))) { |
| | | key = RedisKeyType.QUEUE_DUAL_CRN.key + device; |
| | | } else if (notifyType.equals(String.valueOf(SlaveType.Rgv))) { |
| | | key = RedisKeyType.QUEUE_RGV.key + device; |
| | | } else if (notifyType.equals("task")) { |
| | |
| | | DUAL_CRN_COMMAND_("dual_crn_command_"), |
| | | |
| | | QUEUE_CRN("queue_crn_"), |
| | | QUEUE_DUAL_CRN("queue_dual_crn_"), |
| | | QUEUE_DEVP("queue_devp_"), |
| | | QUEUE_RGV("queue_rgv_"), |
| | | QUEUE_TASK("queue_task_"), |
| | |
| | | import com.zy.core.News; |
| | | import com.zy.core.cache.OutputQueue; |
| | | import com.zy.core.model.CommandResponse; |
| | | import com.zy.core.model.StationObjModel; |
| | | import com.zy.core.model.command.StationCommand; |
| | | import com.zy.core.network.api.ZyStationConnectApi; |
| | | import com.zy.core.network.entity.ZyStationStatusEntity; |
| | |
| | | public class ZyStationRealConnect implements ZyStationConnectApi { |
| | | |
| | | private List<ZyStationStatusEntity> statusList; |
| | | private List<ZyStationStatusEntity> barcodeStatusList; |
| | | private List<StationObjModel> barcodeOriginList; |
| | | private SiemensS7Net siemensNet; |
| | | private DeviceConfig deviceConfig; |
| | | private RedisUtil redisUtil; |
| | |
| | | if (statusList != null) { |
| | | statusList.sort(Comparator.comparing(ZyStationStatusEntity::getStationId)); |
| | | } |
| | | barcodeStatusList = JSONObject.parseArray(basDevp.getBarcodeStationList(), ZyStationStatusEntity.class); |
| | | barcodeOriginList = basDevp.getBarcodeStationList$(); |
| | | } |
| | | |
| | | OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) (statusList.size() * 2)); |
| | | OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) (statusList.size() * 8)); |
| | | if (result.IsSuccess) { |
| | | for (int i = 0; i < statusList.size(); i++) { |
| | | ZyStationStatusEntity statusEntity = statusList.get(i); // ç«ç¹ç¼å· |
| | | boolean[] status = siemensNet.getByteTransform().TransBool(result.Content, i * 2, 2); |
| | | statusEntity.setTaskNo((int) siemensNet.getByteTransform().TransInt16(result.Content, i * 8)); // å·¥ä½å· |
| | | statusEntity.setTargetStaNo((int) siemensNet.getByteTransform().TransInt16(result.Content, i * 8 + 4)); // ç®æ ç« |
| | | |
| | | boolean[] status = siemensNet.getByteTransform().TransBool(result.Content, i * 8 + 6, 2); |
| | | statusEntity.setAutoing(status[0]); // èªå¨ |
| | | statusEntity.setLoading(status[1]); // æç© |
| | | statusEntity.setInEnable(status[2]); // å¯å
¥ |
| | |
| | | } |
| | | } |
| | | |
| | | OperateResultExOne<byte[]> result1 = siemensNet.Read("DB100.0", (short) (statusList.size() * 4)); |
| | | if (result1.IsSuccess) { |
| | | for (int i = 0; i < statusList.size(); i++) { |
| | | ZyStationStatusEntity statusEntity = statusList.get(i); |
| | | statusEntity.setTaskNo((int) siemensNet.getByteTransform().TransInt16(result1.Content, i * 4)); // å·¥ä½å· |
| | | statusEntity.setTargetStaNo((int) siemensNet.getByteTransform().TransInt16(result1.Content, i * 4 + 2)); // ç®æ ç« |
| | | // æ¡ç æ«æå¨ |
| | | OperateResultExOne<byte[]> result2 = siemensNet.Read("DB101.840", (short) (barcodeOriginList.size() * 8)); |
| | | if (result2.IsSuccess) { |
| | | for (int i = 0; i < barcodeOriginList.size(); i++) { |
| | | ZyStationStatusEntity barcodeEntity = findStatusEntityByBarcodeIdx(i + 1); |
| | | if (barcodeEntity == null) { |
| | | continue; |
| | | } |
| | | String barcode = siemensNet.getByteTransform().TransString(result2.Content, i * 8, 8, "UTF-8"); |
| | | barcode = barcode.trim(); |
| | | barcodeEntity.setBarcode(barcode); |
| | | } |
| | | } |
| | | |
| | | // æ¡ç æ«æå¨ |
| | | OperateResultExOne<byte[]> result2 = siemensNet.Read("DB101.100", (short) (statusList.size() * 10)); |
| | | if (result2.IsSuccess) { |
| | | for (int i = 0; i < barcodeStatusList.size(); i++) { |
| | | ZyStationStatusEntity barcodeEntity = barcodeStatusList.get(i); |
| | | ZyStationStatusEntity statusEntity = findStatusEntity(barcodeEntity.getStationId()); |
| | | if (statusEntity == null) { |
| | | // æ¥è¦ä¿¡æ¯ |
| | | OperateResultExOne<byte[]> result3 = siemensNet.Read("DB101.800", (short) (barcodeOriginList.size() * 3)); |
| | | if (result3.IsSuccess) { |
| | | for (int i = 0; i < barcodeOriginList.size(); i++) { |
| | | ZyStationStatusEntity barcodeEntity = findStatusEntityByBarcodeIdx(i + 1); |
| | | if (barcodeEntity == null) { |
| | | continue; |
| | | } |
| | | String barcode = siemensNet.getByteTransform().TransString(result2.Content, i * 10 + 2, 8, "UTF-8"); |
| | | barcode = barcode.trim(); |
| | | barcodeEntity.setBarcode(barcode); |
| | | |
| | | barcodeEntity.setPalletHeight((int) siemensNet.getByteTransform().TransInt16(result3.Content, i * 3)); // é«ä½ä¿¡å· |
| | | |
| | | StringBuilder sb = new StringBuilder(); |
| | | boolean[] status1 = siemensNet.getByteTransform().TransBool(result3.Content, i * 3 + 2, 1); |
| | | |
| | | if(status1[0]){ |
| | | sb.append("åè¶
鿥è¦;"); |
| | | } |
| | | if(status1[1]) { |
| | | sb.append("åè¶
鿥è¦;"); |
| | | } |
| | | if(status1[2]) { |
| | | sb.append("è¶
髿¥è¦;"); |
| | | } |
| | | if(status1[3]) { |
| | | sb.append("å·¦è¶
æ¥è¦;"); |
| | | } |
| | | if(status1[4]) { |
| | | sb.append("å³è¶
æ¥è¦;"); |
| | | } |
| | | if(status1[5]) { |
| | | sb.append("è¶
鿥è¦;"); |
| | | } |
| | | if(status1[6]) { |
| | | sb.append("æ«ç 失败;"); |
| | | } |
| | | |
| | | if(sb.length() > 0) { |
| | | barcodeEntity.setError(1); |
| | | }else { |
| | | barcodeEntity.setError(0); |
| | | } |
| | | barcodeEntity.setErrorMsg(sb.toString()); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | return -1; |
| | | } |
| | | |
| | | private ZyStationStatusEntity findStatusEntityByBarcodeIdx(Integer barcodeIdx) { |
| | | Integer stationId = null; |
| | | for (StationObjModel stationObjModel : barcodeOriginList) { |
| | | if (stationObjModel.getBarcodeIdx().equals(barcodeIdx)) { |
| | | stationId = stationObjModel.getStationId(); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | for (ZyStationStatusEntity zyStationStatusEntity : statusList) { |
| | | if(zyStationStatusEntity.getStationId().equals(stationId)) { |
| | | return zyStationStatusEntity; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | } |
| | |
| | | if (lock != null) { |
| | | continue; |
| | | } |
| | | redisUtil.set(RedisKeyType.GENERATE_IN_TASK_LIMIT.key + stationId, "lock", 10); |
| | | |
| | | String barcode = stationProtocol.getBarcode(); |
| | | Integer stationIdVal = stationProtocol.getStationId(); |
| | |
| | | stationProtocol.getPalletHeight()); |
| | | redisUtil.set(RedisKeyType.GENERATE_IN_TASK_LIMIT.key + stationId, "lock", 2); |
| | | } |
| | | // 妿æè¯·æ±è¿è¡ä¸ï¼çå¾
䏿¬¡å¾ªç¯åæ£æ¥ |
| | | } |
| | | } |
| | | } |
| | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.domain.enums.NotifyMsgType; |
| | | import com.zy.asrs.domain.param.CreateLocMoveTaskParam; |
| | | import com.zy.asrs.entity.BasCrnp; |
| | | import com.zy.asrs.entity.LocMast; |
| | |
| | | import com.zy.asrs.service.BasCrnpService; |
| | | import com.zy.asrs.service.LocMastService; |
| | | import com.zy.asrs.service.WrkMastService; |
| | | import com.zy.asrs.utils.NotifyUtils; |
| | | import com.zy.asrs.utils.Utils; |
| | | import com.zy.common.model.StartupDto; |
| | | import com.zy.common.service.CommonService; |
| | |
| | | private WmsOperateUtils wmsOperateUtils; |
| | | @Autowired |
| | | private CommonService commonService; |
| | | @Autowired |
| | | private NotifyUtils notifyUtils; |
| | | |
| | | public synchronized void crnIoExecute() { |
| | | Object systemConfigMapObj = redisUtil.get(RedisKeyType.SYSTEM_CONFIG_MAP.key); |
| | |
| | | wrkMast.setIoTime(new Date()); |
| | | if (wrkMastService.updateById(wrkMast)) { |
| | | MessageQueue.offer(SlaveType.Crn, crnNo, new Task(2, command)); |
| | | notifyUtils.notify(String.valueOf(SlaveType.Crn), crnNo, String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.CRN_IN_TASK_RUN, null); |
| | | News.info("å åæºå½ä»¤ä¸åæåï¼å åæºå·={}ï¼ä»»å¡æ°æ®={}", crnNo, JSON.toJSON(command)); |
| | | } |
| | | } |
| | |
| | | wrkMast.setIoTime(new Date()); |
| | | if (wrkMastService.updateById(wrkMast)) { |
| | | MessageQueue.offer(SlaveType.Crn, crnNo, new Task(2, command)); |
| | | notifyUtils.notify(String.valueOf(SlaveType.Crn), crnNo, String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.CRN_OUT_TASK_RUN, null); |
| | | News.info("å åæºå½ä»¤ä¸åæåï¼å åæºå·={}ï¼ä»»å¡æ°æ®={}", crnNo, JSON.toJSON(command)); |
| | | return; |
| | | } |
| | |
| | | wrkMast.setIoTime(new Date()); |
| | | if (wrkMastService.updateById(wrkMast)) { |
| | | MessageQueue.offer(SlaveType.Crn, crnNo, new Task(2, command)); |
| | | notifyUtils.notify(String.valueOf(SlaveType.Crn), crnNo, String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.CRN_IN_TASK_RUN, null); |
| | | News.info("å åæºå½ä»¤ä¸åæåï¼å åæºå·={}ï¼ä»»å¡æ°æ®={}", crnNo, JSON.toJSON(command)); |
| | | return true; |
| | | } |
| | |
| | | wrkMast.setIoTime(new Date()); |
| | | if (wrkMastService.updateById(wrkMast)) { |
| | | MessageQueue.offer(SlaveType.Crn, crnNo, new Task(2, command)); |
| | | notifyUtils.notify(String.valueOf(SlaveType.Crn), crnNo, String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.CRN_OUT_TASK_RUN, null); |
| | | News.info("å åæºå½ä»¤ä¸åæåï¼å åæºå·={}ï¼ä»»å¡æ°æ®={}", crnNo, JSON.toJSON(command)); |
| | | return true; |
| | | } |
| | |
| | | wrkMast.setIoTime(new Date()); |
| | | if (wrkMastService.updateById(wrkMast)) { |
| | | MessageQueue.offer(SlaveType.Crn, crnNo, new Task(2, command)); |
| | | notifyUtils.notify(String.valueOf(SlaveType.Crn), crnNo, String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.CRN_TRANSFER_TASK_RUN, null); |
| | | News.info("å åæºå½ä»¤ä¸åæåï¼å åæºå·={}ï¼ä»»å¡æ°æ®={}", crnNo, JSON.toJSON(command)); |
| | | return; |
| | | } |
| | |
| | | Long updateWrkSts = null; |
| | | if(wrkMast.getWrkSts() == WrkStsType.INBOUND_RUN.sts){ |
| | | updateWrkSts = WrkStsType.COMPLETE_INBOUND.sts; |
| | | notifyUtils.notify(String.valueOf(SlaveType.Crn), crnProtocol.getCrnNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.CRN_IN_TASK_COMPLETE, null); |
| | | }else if(wrkMast.getWrkSts() == WrkStsType.OUTBOUND_RUN.sts){ |
| | | updateWrkSts = WrkStsType.OUTBOUND_RUN_COMPLETE.sts; |
| | | notifyUtils.notify(String.valueOf(SlaveType.Crn), crnProtocol.getCrnNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.CRN_OUT_TASK_COMPLETE, null); |
| | | }else if(wrkMast.getWrkSts() == WrkStsType.LOC_MOVE_RUN.sts){ |
| | | updateWrkSts = WrkStsType.COMPLETE_LOC_MOVE.sts; |
| | | notifyUtils.notify(String.valueOf(SlaveType.Crn), crnProtocol.getCrnNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.CRN_TRANSFER_TASK_COMPLETE, null); |
| | | }else{ |
| | | News.error("å åæºå¤äºçå¾
确认ä¸ä»»å¡å®æç¶æï¼ä½å·¥ä½ç¶æå¼å¸¸ãå åæºå·={}ï¼å·¥ä½å·={}", basCrnp.getCrnNo(), crnProtocol.getTaskNo()); |
| | | continue; |
| | |
| | | wrkMast.setIoTime(new Date()); |
| | | if (wrkMastService.updateById(wrkMast)) { |
| | | MessageQueue.offer(SlaveType.Crn, crnNo, new Task(2, command)); |
| | | notifyUtils.notify(String.valueOf(SlaveType.Crn), crnNo, String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.CRN_TRANSFER_TASK_RUN, null); |
| | | News.info("å åæºå½ä»¤ä¸åæåï¼å åæºå·={}ï¼ä»»å¡æ°æ®={}", crnNo, JSON.toJSON(command)); |
| | | return true; |
| | | } |
| | |
| | | import com.alibaba.fastjson.serializer.SerializerFeature; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.domain.enums.NotifyMsgType; |
| | | import com.zy.asrs.domain.param.CreateLocMoveTaskParam; |
| | | import com.zy.asrs.entity.BasDualCrnp; |
| | | import com.zy.asrs.entity.LocMast; |
| | |
| | | import com.zy.asrs.service.BasDualCrnpService; |
| | | import com.zy.asrs.service.LocMastService; |
| | | import com.zy.asrs.service.WrkMastService; |
| | | import com.zy.asrs.utils.NotifyUtils; |
| | | import com.zy.asrs.utils.Utils; |
| | | import com.zy.common.model.StartupDto; |
| | | import com.zy.common.service.CommonService; |
| | |
| | | private WmsOperateUtils wmsOperateUtils; |
| | | @Autowired |
| | | private CommonService commonService; |
| | | @Autowired |
| | | private NotifyUtils notifyUtils; |
| | | |
| | | //å
¥åºåº ===>> åå·¥ä½å åæºå
¥åºåºä½ä¸ä¸å |
| | | public synchronized void dualCrnIoExecute() { |
| | |
| | | wrkMast.setIoTime(new Date()); |
| | | if (wrkMastService.updateById(wrkMast)) { |
| | | MessageQueue.offer(SlaveType.DualCrn, crnNo, new Task(2, commandList)); |
| | | notifyUtils.notify(String.valueOf(SlaveType.DualCrn), crnNo, String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.DUAL_CRN_IN_TASK_RUN, null); |
| | | News.info("åå·¥ä½å åæºå½ä»¤ä¸åæåï¼å åæºå·={}ï¼ä»»å¡æ°æ®={}", crnNo, JSON.toJSON(commandList)); |
| | | dualCrnProtocol.setLastIo("I"); |
| | | return true; |
| | |
| | | wrkMast.setIoTime(new Date()); |
| | | if (wrkMastService.updateById(wrkMast)) { |
| | | MessageQueue.offer(SlaveType.DualCrn, crnNo, new Task(2, commandList)); |
| | | notifyUtils.notify(String.valueOf(SlaveType.DualCrn), crnNo, String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.DUAL_CRN_OUT_TASK_RUN, null); |
| | | News.info("åå·¥ä½å åæºå½ä»¤ä¸åæåï¼å åæºå·={}ï¼ä»»å¡æ°æ®={}", crnNo, JSON.toJSON(commandList)); |
| | | dualCrnProtocol.setLastIo("O"); |
| | | |
| | |
| | | wrkMast.setIoTime(new Date()); |
| | | if (wrkMastService.updateById(wrkMast)) { |
| | | MessageQueue.offer(SlaveType.DualCrn, crnNo, new Task(2, commandList)); |
| | | notifyUtils.notify(String.valueOf(SlaveType.DualCrn), crnNo, String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.DUAL_CRN_TRANSFER_TASK_RUN, null); |
| | | News.info("åå·¥ä½å åæºå½ä»¤ä¸åæåï¼å åæºå·={}ï¼ä»»å¡æ°æ®={}", crnNo, JSON.toJSON(commandList)); |
| | | dualCrnProtocol.setLastIo("I"); |
| | | return true; |
| | |
| | | Long updateWrkSts = null; |
| | | if (wrkMast.getWrkSts() == WrkStsType.INBOUND_RUN.sts) { |
| | | updateWrkSts = WrkStsType.COMPLETE_INBOUND.sts; |
| | | notifyUtils.notify(String.valueOf(SlaveType.DualCrn), basDualCrnp.getCrnNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.DUAL_CRN_IN_TASK_COMPLETE, null); |
| | | } else if (wrkMast.getWrkSts() == WrkStsType.OUTBOUND_RUN.sts) { |
| | | updateWrkSts = WrkStsType.OUTBOUND_RUN_COMPLETE.sts; |
| | | |
| | | notifyUtils.notify(String.valueOf(SlaveType.DualCrn), basDualCrnp.getCrnNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.DUAL_CRN_OUT_TASK_COMPLETE, null); |
| | | |
| | | if(mainProcessPlugin.contains("Fake")) { |
| | | //çæä»¿çç«ç¹æ°æ® |
| | | List<StationObjModel> outStationList = basDualCrnp.getOutStationList$(); |
| | |
| | | |
| | | } else if (wrkMast.getWrkSts() == WrkStsType.LOC_MOVE_RUN.sts) { |
| | | updateWrkSts = WrkStsType.COMPLETE_LOC_MOVE.sts; |
| | | notifyUtils.notify(String.valueOf(SlaveType.DualCrn), basDualCrnp.getCrnNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.DUAL_CRN_TRANSFER_TASK_COMPLETE, null); |
| | | } else { |
| | | News.error("åå·¥ä½å åæºå¤äºçå¾
确认ä¸ä»»å¡å®æç¶æï¼ä½å·¥ä½ç¶æå¼å¸¸ãå åæºå·={}ï¼å·¥ä½å·={}", basDualCrnp.getCrnNo(), taskNo); |
| | | return; |