From 0bdf2da5b1407d7d0dbb90ba11a6ba0f18856ac0 Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期五, 09 五月 2025 16:55:17 +0800 Subject: [PATCH] 单机调试完成 --- src/main/java/com/zy/asrs/task/TaskLogScheduler.java | 4 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 130 +++++--- src/main/resources/wcs和wms接口(2).docx | 0 src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java | 43 ++ src/main/resources/application-prod.yml | 270 +++++++++-------- src/main/java/com/zy/core/thread/SiemensCrnThread.java | 171 ++++------ src/main/java/com/zy/asrs/task/TaskReportScheduler.java | 33 + src/main/java/com/zy/asrs/controller/TaskWrkController.java | 4 src/main/java/com/zy/core/MainProcess.java | 12 src/main/java/com/zy/asrs/service/ToWmsService.java | 5 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 24 src/main/java/com/zy/core/thread/SiemensDevpThread.java | 134 +++----- src/main/resources/application.yml | 17 13 files changed, 445 insertions(+), 402 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/TaskWrkController.java b/src/main/java/com/zy/asrs/controller/TaskWrkController.java index caf7270..0b1a796 100644 --- a/src/main/java/com/zy/asrs/controller/TaskWrkController.java +++ b/src/main/java/com/zy/asrs/controller/TaskWrkController.java @@ -214,7 +214,7 @@ locMast.setBarcode(taskWrk.getBarcode()); } - toWmsService.addReportLog(taskWrk); +// toWmsService.addReportLog(taskWrk); locMastService.updateById(locMast); taskWrk.setStatus(7);//鎵嬪姩瀹屾垚浠诲姟 taskWrk.setModiTime(new Date()); @@ -263,7 +263,7 @@ } catch (Exception e) { taskWrk.setModiUser(9999L);//鎿嶄綔鍛� } - toWmsService.addReportLog(taskWrk); +// toWmsService.addReportLog(taskWrk); taskWrk.setCompleteTime(now);//瀹岀粨鏃堕棿 taskWrkService.updateById(taskWrk); diff --git a/src/main/java/com/zy/asrs/service/ToWmsService.java b/src/main/java/com/zy/asrs/service/ToWmsService.java index e9bce06..42cbca4 100644 --- a/src/main/java/com/zy/asrs/service/ToWmsService.java +++ b/src/main/java/com/zy/asrs/service/ToWmsService.java @@ -15,4 +15,9 @@ TaskWrk getLocNoFromWms(StorageEscalationParam wmsParam); + /** + * 涓婃姤鎵ц鐘舵�� + */ + void executionStatusReport(String taskNo,Integer wrkSts); + } diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index 4f9173a..e69cd54 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -112,12 +112,15 @@ private boolean crn3; - public void generateStoreWrkFile() throws IOException, InterruptedException { + public synchronized void generateStoreWrkFile() { try { // 鏍规嵁杈撻�佺嚎plc閬嶅巻 for (DevpSlave devp : slaveProperties.getDevp()) { // 閬嶅巻鍏ュ簱鍙� for (DevpSlave.Sta inSta : devp.getInSta()) { + if (inSta.getStaNo() != 114) { + continue; + } StorageEscalationParam storageEscalationParam = new StorageEscalationParam(); storageEscalationParam.setStationCode(inSta.getStaNo()); // 鑾峰彇鍏ュ簱绔欎俊鎭� @@ -161,28 +164,32 @@ back = true; } // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 - if (staProtocol.isAutoing() && staProtocol.isLoading() - && staProtocol.isInEnable() - && !staProtocol.isEmptyMk() && workNo >= 9790 - && staProtocol.isPakMk()) { + if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() + && !staProtocol.isEmptyMk() && workNo >= 9000 && staProtocol.isPakMk()) { +// if(true){ // 鑾峰彇鏉$爜鎵弿浠俊鎭� BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode()); if (barcodeThread == null) { continue; } String BoxNo = barcodeThread.getBarcode(); + if (Cools.isEmpty(BoxNo)) { + log.error("{}鍙锋潯鐮佹壂鎻忓け璐ワ紝鍊硷細{}",inSta.getBarcode(),BoxNo); + continue; + } TaskWrk taskWrk1 = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", BoxNo)); if (!Cools.isEmpty(taskWrk1)) { log.info("鎵樼洏鐮侊細" + BoxNo + "浠诲姟妗e瓨鍦�"); - if (taskWrk1.getIoType() == 1 && taskWrk1.getStartPoint().equals(staProtocol.getSiteId().toString())) { - StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() - .eq("crn_no", taskWrk1.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId())); - if (Cools.isEmpty(staDesc)) { - return; - } else { - continue; - } - } + continue; +// if (taskWrk1.getIoType() == 1 && taskWrk1.getStartPoint().equals(staProtocol.getSiteId().toString())) { +// StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() +// .eq("crn_no", taskWrk1.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId())); +// if (Cools.isEmpty(staDesc)) { +// return; +// } else { +// continue; +// } +// } } if (back) { storageEscalationParam.setWCSStatus(1); @@ -191,26 +198,37 @@ storageEscalationParam.setBarcode(BoxNo); log.info("缁勬墭鍏ュ簱={}", storageEscalationParam); TaskWrk taskWrk = toWmsService.getLocNoFromWms(storageEscalationParam); + if (taskWrk == null) { + log.error("鍏ュ簱璇锋眰wms鍒涘缓浠诲姟宸ヤ綔妗d负绌猴細{}",storageEscalationParam); + continue; + } if (back) { log.info("鎵樼洏閫�鍥�==>{}锛寋}", BoxNo, errMsg); staProtocol.setStaNo(inSta.getBackSta().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); } else { - if (!Cools.isEmpty(taskWrk)) { - StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() - .eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId())); - staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue()); - staProtocol.setStaNo(staDesc.getCrnStn().shortValue()); - MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); - //娣诲姞涓婃姤鏃ュ織 - toWmsService.addReportLog(taskWrk); - } else { - log.info("鍒涘缓宸ヤ綔妗eけ璐�==>{}", taskWrk.getTaskNo()); - staProtocol.setStaNo(inSta.getBackSta().shortValue()); - devpThread.setPakMk(staProtocol.getSiteId(), false); - MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); - } + StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() + .eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId())); + staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue()); + staProtocol.setStaNo(staDesc.getCrnStn().shortValue()); + MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + //娣诲姞涓婃姤鏃ュ織 +// toWmsService.addReportLog(taskWrk); +// if (!Cools.isEmpty(taskWrk)) { +// StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() +// .eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId())); +// staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue()); +// staProtocol.setStaNo(staDesc.getCrnStn().shortValue()); +// MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); +// //娣诲姞涓婃姤鏃ュ織 +// toWmsService.addReportLog(taskWrk); +// } else { +// log.info("鍒涘缓宸ヤ綔妗eけ璐�==>{}", taskWrk.getTaskNo()); +// staProtocol.setStaNo(inSta.getBackSta().shortValue()); +// devpThread.setPakMk(staProtocol.getSiteId(), false); +// MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); +// } } @@ -231,8 +249,8 @@ for (CrnSlave crnSlave : slaveProperties.getCrn()) { // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯 for (CrnSlave.CrnStn crnStn : crnSlave.getCrnOutStn()) { - List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("crn_no", crnSlave.getId()).eq("crn_stn", crnStn.getStaNo())); - for (StaDesc staDesc : staDescs) { +// List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("crn_no", crnSlave.getId()).eq("crn_stn", crnStn.getStaNo())); +// for (StaDesc staDesc : staDescs) { try { // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅 DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId()); @@ -244,34 +262,42 @@ } if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) { // 鏌ヨ宸ヤ綔妗� - TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorking(crnSlave.getId(), staDesc.getStnNo().toString()); + TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorking(crnSlave.getId(), String.valueOf(crnStn.getStaNo()-1)); if (taskWrk == null) { continue; } - log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:" + JSON.toJSONString(taskWrk)); - staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue()); - staProtocol.setStaNo(staDesc.getStnNo().shortValue()); - boolean offer = false; - try { - offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol)); - } catch (Exception e) { - log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:" + e); - log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:offer:" + offer); - } - if (offer) { - log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(taskWrk)); - taskWrk.setStatus(5); - taskWrk.setWrkSts(14); - taskWrkService.updateById(taskWrk); + // 鍒ゆ柇鍚婅溅鏄惁瀹為檯宸插畬鎴愶紝涓旂數鑴戠姸鎬佸湪move涓紝浠ュ鐢佃剳杩涜鏇存柊宸ヤ綔妗� +// CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, taskWrk.getCrnNo()); +// CrnProtocol crnProtocol = crnThread.getCrnProtocol(); +// log.info(crnProtocol.statusType+""+crnProtocol.getForkPosType()); +// if (crnProtocol.modeType == CrnModeType.AUTO && crnProtocol.getTaskNo().equals(taskWrk.getWrkNo().shortValue()) +// && crnProtocol.statusType == CrnStatusType.HANDLING_COMPLETED +// && crnProtocol.forkPosType == CrnForkPosType.HOME) { + log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:" + JSON.toJSONString(taskWrk)); + staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue()); + staProtocol.setStaNo(Short.valueOf(taskWrk.getTargetPoint())); + boolean offer = false; + try { + offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol)); + } catch (Exception e) { + log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:" + e); + log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:offer:" + offer); + } + if (offer) { + log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(taskWrk)); + taskWrk.setStatus(5); + taskWrk.setWrkSts(14); + taskWrkService.updateById(taskWrk); - } else { - log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk)); - } + } else { + log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk)); + } +// } } } catch (Exception e) { log.error("鍑哄簱鍒板嚭搴撶珯寮傚父:寮傚父淇℃伅锛�" + e); } - } +// } } } @@ -398,6 +424,8 @@ throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�"); } else { try { + // 涓婃姤鎵ц鐘舵�� + toWmsService.executionStatusReport(taskWrk.getTaskNo(), taskWrk.getWrkSts()); taskWrkService.updateById(taskWrk); } catch (Exception e) { log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo()); @@ -522,6 +550,8 @@ if (taskWrkMapper.updateById(taskWrk) == 0) { log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo()); } + // 涓婃姤鎵ц鐘舵�� + toWmsService.executionStatusReport(taskWrk.getTaskNo(), taskWrk.getWrkSts()); } catch (Exception e) { log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo()); log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽紓甯革細" + e); diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java index a304dd6..b0824a3 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -78,14 +78,14 @@ taskWrk.setWrkNo(workNo1); taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹 taskWrk.setCreateTime(now); - try { - if (param.getIoType() > 1) { - if (Utils.locNoRowBoolean(locMast.getRow1())) { - param.setTaskPriority(11); - } - } - } catch (Exception e) { - } +// try { +// if (param.getIoType() > 1) { +// if (Utils.locNoRowBoolean(locMast.getRow1())) { +// param.setTaskPriority(11); +// } +// } +// } catch (Exception e) { +// } taskWrk.setIoType(param.getIoType());//浠诲姟绫诲瀷 taskWrk.setIoPri(param.getTaskPriority());//浼樺厛绾� taskWrk.setBarcode(param.getBarcode());//鏉$爜 @@ -99,11 +99,11 @@ } else if (param.getIoType() == 2) { taskWrk.setWrkSts(11); - if (!Cools.isEmpty(param.getStartPoint())) { +// if (!Cools.isEmpty(param.getStartPoint())) { taskWrk.setStartPoint(param.getStartPoint());//璧风偣 - taskWrk.setTargetPoint(param.getTargetPoint()); - } - taskWrk.setTargetPoint(param.getTargetPoint()); + taskWrk.setTargetPoint(String.valueOf(Integer.parseInt(param.getTargetPoint())-1)); +// } +// taskWrk.setTargetPoint(param.getTargetPoint()); } else if (param.getIoType() == 3) { taskWrk.setWrkSts(11); if (!Cools.isEmpty(param.getStartPoint())) { diff --git a/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java index 1ea9d75..78d5074 100644 --- a/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java @@ -60,6 +60,9 @@ @Value("${wms.taskStatusFeedbackPath}") private String taskStatusFeedbackPath; + @Value("${wms.executionStatusReport}") + private String executionStatusReport; + @Value("${wms.code}") private String code; @@ -110,7 +113,7 @@ .doPost(); if (!Cools.isEmpty(response)) { JSONObject jsonObject = JSON.parseObject(response); - if (!Cools.isEmpty(jsonObject.get(code)) && jsonObject.get(code).equals(successCode)) { + if (successCode.equals(jsonObject.get(code).toString())) { WmsResult result = JSON.parseObject(jsonObject.get(data).toString(), WmsResult.class); return createInTask(result, wmsParam.getBarcode(), wmsParam.getStationCode()); } @@ -124,9 +127,42 @@ return null; } + @Override + public void executionStatusReport(String taskNo, Integer wrkSts) { + String response = ""; + boolean bool = false; + JSONObject param = new JSONObject(); + try { + log.info("浠诲姟鎵ц鐘舵�佷笂鎶ワ紝浠诲姟鍙凤細{}锛屾墽琛岀姸鎬侊細{}", taskNo,wrkSts); + param.put("taskNo",taskNo); + param.put("wrkSts",wrkSts); + response = new HttpHandler.Builder() + // .setHeaders(headParam) + .setUri(wmsUrl) + .setPath(executionStatusReport) + .setJson(param.toJSONString()) + .build() + .doPost(); + if (!Cools.isEmpty(response)) { + bool = true; + } + + } catch (Exception e) { + log.error("浠诲姟鎵ц鐘舵�佷笂鎶ュ紓甯�" + e); + } finally { + apiLogService.save("浠诲姟鐘舵�佷笂鎶�" + , wmsUrl + executionStatusReport + , null + , "127.0.0.1" + , param.toJSONString() + , response + , bool + ); + } + } + private TaskWrk createInTask(WmsResult result, String barcode, Integer startPoint) { - //String locNo = Utils.Fusion(result.getRow(), result.getFloor(), result.getColumn()); String locNo = result.getLocNo(); Date now = new Date(); TaskWrk taskWrk = new TaskWrk(); @@ -142,13 +178,14 @@ taskWrk.setCrnNo(locMast.getCrnNo()); taskWrk.setTargetPoint(locNo); taskWrk.setStartPoint(startPoint + ""); - taskWrk.setCrnNo(result.getCrnNo()); + taskWrk.setCrnNo(locMast.getCrnNo()); if (taskWrk.getIoType() == 1) { taskWrk.setWrkSts(2); if (!Cools.isEmpty(taskWrk.getTargetPoint())) { taskWrk.setOriginTargetPoint(taskWrk.getTargetPoint()); } } + taskWrkService.insert(taskWrk); return taskWrk; } diff --git a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java index 7e7df3d..cf1083a 100644 --- a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java +++ b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java @@ -33,8 +33,8 @@ private TaskWrkReportService taskWrkReportService; - @Scheduled(cron = "0/3 * * * * ? ") - public void execute() throws IOException { + @Scheduled(cron = "0/5 * * * * ? ") + public synchronized void execute() throws IOException { for (TaskWrk taskWrk : taskWrkService.selectToBeHistoryData()) { switch (taskWrk.getStatus()) { case 4: diff --git a/src/main/java/com/zy/asrs/task/TaskReportScheduler.java b/src/main/java/com/zy/asrs/task/TaskReportScheduler.java index 4e81506..4be7aab 100644 --- a/src/main/java/com/zy/asrs/task/TaskReportScheduler.java +++ b/src/main/java/com/zy/asrs/task/TaskReportScheduler.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.plugins.Page; +import com.core.common.Cools; import com.core.common.DateUtils; import com.core.exception.CoolException; import com.zy.asrs.entity.TaskWrkReport; @@ -17,6 +18,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.io.IOException; @@ -46,15 +48,15 @@ private String TaskExecCallback; - //@Scheduled(cron = "0/3 * * * * ? ") - public void execute() throws IOException { + @Scheduled(cron = "0/5 * * * * ? ") + public synchronized void execute() throws IOException { Page<TaskWrkReport> taskWrkReportPage = taskWrkReportService.selectPage(new Page<>(0, 100), new EntityWrapper<TaskWrkReport>().orderBy("create_time", true)); if (taskWrkReportPage.getRecords() != null) { //鏂板涓�涓繃婊ゆ満鍒� for (TaskWrkReport taskWrk : taskWrkReportPage.getRecords()) { WmsFeedback wmsFeedback = getWmsFeedback(taskWrk); String response = ""; - Boolean bool = false; + boolean bool = false; try { log.info("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms={}", taskWrk); response = new HttpHandler.Builder() @@ -64,17 +66,22 @@ .setJson(JSON.toJSONString(wmsFeedback)) .build() .doPost(); - JSONObject jsonObject = JSON.parseObject(response); - TaskWrkReportLog taskWrkLog = new TaskWrkReportLog(); - Synchro.Copy(taskWrk, taskWrkLog); - taskWrkLog.setId(null); - if (!taskWrkReportLogService.insert(taskWrkLog)) { - throw new CoolException("杞巻鍙叉。澶辫触" + taskWrkLog); + if (!Cools.isEmpty(response)) { + JSONObject jsonObject = JSON.parseObject(response); + if (Integer.parseInt(String.valueOf(jsonObject.get("code"))) == 200) { + TaskWrkReportLog taskWrkLog = new TaskWrkReportLog(); + Synchro.Copy(taskWrk, taskWrkLog); + taskWrkLog.setId(null); + if (!taskWrkReportLogService.insert(taskWrkLog)) { + throw new CoolException("杞巻鍙叉。澶辫触" + taskWrkLog); + } + if (!taskWrkReportService.deleteById(taskWrk)) { + throw new CoolException("浠诲姟妗e垹闄ゅけ璐�" + taskWrkLog); + } + bool = true; + } } - if (!taskWrkReportService.deleteById(taskWrk)) { - throw new CoolException("浠诲姟妗e垹闄ゅけ璐�" + taskWrkLog); - } - bool = true; + } catch (Exception e) { log.error("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms澶辫触{},杩斿洖鍊�={}", taskWrk, response); } finally { diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java index 8be9805..532654f 100644 --- a/src/main/java/com/zy/core/MainProcess.java +++ b/src/main/java/com/zy/core/MainProcess.java @@ -52,18 +52,18 @@ mainService.crnStnToOutStn(); // 鍏ュ嚭搴� ===>> 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 mainService.crnIoExecute(); - // 鍏ュ簱 ===>> 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣� + // 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣� mainService.storeFinished(); // 鍫嗗灈鏈哄紓甯镐俊鎭褰� mainService.recCrnErr(); // 鍏朵粬 ===>> // 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁� - i++; - if (i > 1) { - mainService.ioConvert(); - i = 0; - } +// i++; +// if (i > 1) { +// mainService.ioConvert(); +// i = 0; +// } } catch (Exception e) { diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java index f4456ea..c2c7653 100644 --- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java +++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java @@ -5,15 +5,12 @@ import HslCommunication.Profinet.Siemens.SiemensPLCS; import HslCommunication.Profinet.Siemens.SiemensS7Net; import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.SpringUtils; import com.zy.asrs.entity.*; -import com.zy.asrs.entity.param.TaskOverToWms; import com.zy.asrs.service.*; -import com.zy.common.utils.HttpHandler; import com.zy.core.CrnThread; import com.zy.core.cache.MessageQueue; import com.zy.core.cache.OutputQueue; @@ -26,10 +23,9 @@ import com.zy.core.model.protocol.CrnProtocol; import lombok.Data; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Value; import java.text.MessageFormat; -import java.util.*; +import java.util.Date; /** * 鍫嗗灈鏈虹嚎绋� @@ -39,35 +35,6 @@ @Slf4j public class SiemensCrnThread implements Runnable, CrnThread { - public static final List<Short> rowOne = new ArrayList<Short>() {{ - add((short) 1); - add((short) 5); - add((short) 7); - add((short) 11); - add((short) 15); - add((short) 19); - }}; - public static final List<Short> rowTwo = new ArrayList<Short>() {{ - add((short) 2); - add((short) 6); - add((short) 8); - add((short) 12); - add((short) 16); - add((short) 20); - }}; - public static final List<Short> rowThree = new ArrayList<Short>() {{ - add((short) 3); - add((short) 9); - add((short) 13); - add((short) 17); - add((short) 21); - }}; - public static final List<Short> rowFour = new ArrayList<Short>() {{ - add((short) 4); - add((short) 10); - add((short) 14); - add((short) 18); - }}; private SiemensS7Net siemensNet; private CrnSlave slave; private CrnProtocol crnProtocol; @@ -267,7 +234,7 @@ @Override public boolean connect() { boolean result = false; - siemensNet = new SiemensS7Net(SiemensPLCS.S1200, slave.getIp()); + siemensNet = new SiemensS7Net(SiemensPLCS.S1500, slave.getIp()); siemensNet.setRack(slave.getRack().byteValue()); siemensNet.setSlot(slave.getSlot().byteValue()); OperateResult connect = siemensNet.ConnectServer(); @@ -332,72 +299,72 @@ //鍫嗗灈鏈轰换鍔″畬鎴愬悗璁块棶wms璇锋眰浠诲姟瀹屾垚 locationDone 璐т綅澶勭悊瀹屾垚 TaskWrkService taskWrkService = SpringUtils.getBean(TaskWrkService.class); TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("wrk_no", crnProtocol.getTaskNo())); - String tasktype = null; - switch (taskWrk.getIoType()) { - case 1: - tasktype = "RK"; - break; - case 2: - tasktype = "CK"; - break; - case 3: - tasktype = "YK"; - break; - default: - tasktype = "鏈煡"; - } - Map<String, Object> map = new HashMap<>(); - map.put("x-api-key", "7a15b5db-29b6-552c-8cff-0cfec3756da2"); - TaskOverToWms taskOverToWms = new TaskOverToWms(); - taskOverToWms.setFeedbackFrom("WCS"); //鏉ユ簮 - taskOverToWms.setWarehouseId("1688469798893297665"); //浠撳簱鏍囪瘑 - taskOverToWms.setTaskNo(taskWrk.getTaskNo()); //浠诲姟鍙� - taskOverToWms.setTaskType(tasktype); // 浠诲姟绫诲瀷 - taskOverToWms.setContainerCode(taskWrk.getBarcode()); // 瀹瑰櫒缂栫爜 - if (taskWrk.getIoType() == 1) { - taskOverToWms.setEquipmentCode(String.valueOf(taskWrk.getCrnNo())); //璁惧缂栫爜 - taskOverToWms.setTargetLocationCode(taskWrk.getOriginTargetPoint()); //鐩爣搴撲綅 - } else if (taskWrk.getIoType() == 2) { - Map<Integer, String> map1 = new HashMap<>(); - map1.put(102, "J-1101"); - map1.put(106, "J-1103"); - map1.put(110, "J-1105"); - map1.put(114, "J-1107"); - map1.put(118, "J-1109"); - map1.put(122, "J-1111"); - map1.put(305, "H-1101"); - map1.put(405, "G-1101"); - taskOverToWms.setEquipmentCode(map1.get(taskWrk.getTargetPoint())); //璁惧缂栫爜 - taskOverToWms.setSourceLocationCode(taskWrk.getOriginStartPoint()); //婧愬簱浣� - } else if (taskWrk.getIoType() == 3) { - taskOverToWms.setEquipmentCode(String.valueOf(taskWrk.getCrnNo())); //璁惧缂栫爜 - taskOverToWms.setSourceLocationCode(taskWrk.getOriginStartPoint()); - taskOverToWms.setTargetLocationCode(taskWrk.getOriginTargetPoint()); //鐩爣搴撲綅 - } - taskOverToWms.setTaskStatus("location_done"); //浠诲姟鐘舵�� - String response = null; - try { - response = new HttpHandler.Builder() - .setHeaders(map) - .setUri("10.32.53.195:8080") - .setPath("wcsManager/wcsInterface/taskStatusFeedback") - .setJson(JSON.toJSONString(taskOverToWms)) - .build() - .doPost(); - } catch (Exception e) { - log.error("鍫嗗灈鏈轰换鍔″畬鎴愶紝璇锋眰wms浠诲姟瀹屾垚鎺ュ彛澶辫触"); - } - ApiLogService apiLogService = SpringUtils.getBean(ApiLogService.class); - apiLogService.save("Wms浠诲姟瀹屾垚鎺ュ彛" - , "10.32.53.195:8080" + "/wcsManager/wcsInterface/taskStatusFeedback" - , null - , "127.0.0.1" - , JSON.toJSONString(taskOverToWms) - , response - , true - ); - JSONObject jsonObject = JSON.parseObject(response); - if (jsonObject.getInteger("code").equals(200)) { +// String tasktype = null; +// switch (taskWrk.getIoType()) { +// case 1: +// tasktype = "RK"; +// break; +// case 2: +// tasktype = "CK"; +// break; +// case 3: +// tasktype = "YK"; +// break; +// default: +// tasktype = "鏈煡"; +// } +// Map<String, Object> map = new HashMap<>(); +// map.put("x-api-key", "7a15b5db-29b6-552c-8cff-0cfec3756da2"); +// TaskOverToWms taskOverToWms = new TaskOverToWms(); +// taskOverToWms.setFeedbackFrom("WCS"); //鏉ユ簮 +// taskOverToWms.setWarehouseId("1688469798893297665"); //浠撳簱鏍囪瘑 +// taskOverToWms.setTaskNo(taskWrk.getTaskNo()); //浠诲姟鍙� +// taskOverToWms.setTaskType(tasktype); // 浠诲姟绫诲瀷 +// taskOverToWms.setContainerCode(taskWrk.getBarcode()); // 瀹瑰櫒缂栫爜 +// if (taskWrk.getIoType() == 1) { +// taskOverToWms.setEquipmentCode(String.valueOf(taskWrk.getCrnNo())); //璁惧缂栫爜 +// taskOverToWms.setTargetLocationCode(taskWrk.getOriginTargetPoint()); //鐩爣搴撲綅 +// } else if (taskWrk.getIoType() == 2) { +// Map<Integer, String> map1 = new HashMap<>(); +// map1.put(102, "J-1101"); +// map1.put(106, "J-1103"); +// map1.put(110, "J-1105"); +// map1.put(114, "J-1107"); +// map1.put(118, "J-1109"); +// map1.put(122, "J-1111"); +// map1.put(305, "H-1101"); +// map1.put(405, "G-1101"); +// taskOverToWms.setEquipmentCode(map1.get(taskWrk.getTargetPoint())); //璁惧缂栫爜 +// taskOverToWms.setSourceLocationCode(taskWrk.getOriginStartPoint()); //婧愬簱浣� +// } else if (taskWrk.getIoType() == 3) { +// taskOverToWms.setEquipmentCode(String.valueOf(taskWrk.getCrnNo())); //璁惧缂栫爜 +// taskOverToWms.setSourceLocationCode(taskWrk.getOriginStartPoint()); +// taskOverToWms.setTargetLocationCode(taskWrk.getOriginTargetPoint()); //鐩爣搴撲綅 +// } +// taskOverToWms.setTaskStatus("location_done"); //浠诲姟鐘舵�� +// String response = null; +// try { +// response = new HttpHandler.Builder() +// .setHeaders(map) +// .setUri("10.32.53.195:8080") +// .setPath("wcsManager/wcsInterface/taskStatusFeedback") +// .setJson(JSON.toJSONString(taskOverToWms)) +// .build() +// .doPost(); +// } catch (Exception e) { +// log.error("鍫嗗灈鏈轰换鍔″畬鎴愶紝璇锋眰wms浠诲姟瀹屾垚鎺ュ彛澶辫触"); +// } +// ApiLogService apiLogService = SpringUtils.getBean(ApiLogService.class); +// apiLogService.save("Wms浠诲姟瀹屾垚鎺ュ彛" +// , "10.32.53.195:8080" + "/wcsManager/wcsInterface/taskStatusFeedback" +// , null +// , "127.0.0.1" +// , JSON.toJSONString(taskOverToWms) +// , response +// , true +// ); +// JSONObject jsonObject = JSON.parseObject(response); +// if (jsonObject.getInteger("code").equals(200)) { if (taskWrk.getIoType() == 3) { taskWrk.setWrkSts(4); } @@ -411,7 +378,7 @@ log.error("鍫嗗灈鏈轰换鍔″畬鎴愶紝璇锋眰wms浠诲姟瀹屾垚鎺ュ彛瀹屾垚锛屼絾杩斿洖澶辫触"); } - } +// } } diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index 77c318a..25b99fe 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -40,55 +40,13 @@ public class SiemensDevpThread implements Runnable, DevpThread { public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{ - add(101); - add(102); - add(103); - add(104); - add(105); - add(106); - add(107); - add(108); - add(109); - add(110); - add(111); - add(112); - add(113); - add(114); - add(115); - add(116); - add(117); - add(118); - add(119); - add(120); - - add(201); - add(202); - add(203); - add(204); - add(205); - add(206); - add(207); - add(208); - add(209); - add(210); - add(211); - add(212); - add(213); - add(214); - add(215); - add(216); - add(217); + add(101);add(102);add(103);add(104);add(105);add(106);add(107);add(108);add(109);add(110); + add(111);add(112);add(113);add(114);add(115);add(116); + add(201);add(202);add(203);add(205);add(206);add(207);add(210);add(211);add(212); }}; public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{ - add(301); - add(302); - add(303); - add(304); - add(305); - add(306); - add(307); - add(308); + add(301);add(302);add(303);add(304);add(305);add(306);add(307);add(308); }}; /** * 鍏ュ嚭搴撴ā寮� @@ -218,10 +176,11 @@ * 璇诲彇鐘舵�� ====> 鏁村潡plc */ private void read() throws InterruptedException { - // 鏇存柊鍏ュ嚭搴撴ā寮� -// updateIoMode(); + ArrayList<Integer> staNos = getStaNo(); int staNoSize = staNos.size(); + + // 璇昏揣浣嶄俊鎭弽棣� OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (staNoSize * 8)); if (result.IsSuccess) { for (int i = 0; i < staNoSize; i++) { @@ -252,32 +211,47 @@ } } - if (slave.getId() == 1) { - //鏉$爜 //Thread.sleep(200); - OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.848.0", (short) 8); + // 璇诲彇鏉$爜 + OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.1404", (short) (staNoSize*8)); if (result2.IsSuccess) { - for (int i = 0; i < 1; i++) { - String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 8, 8, "UTF-8"); - BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1); - if (!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) { - barcodeThread.setBarcode(barcode); + for (int i =0; i <staNoSize; i++) { + int barcodeId = 0; + switch (i){ + case 1:barcodeId=1;break; + case 4:barcodeId=2;break; + case 7:barcodeId=3;break; + case 10:barcodeId=4;break; + case 13:barcodeId=5;break; + default: + } + if (barcodeId != 0) { + String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 8, 6, "UTF-8"); + BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId); + if (!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) { + barcodeThread.setBarcode(barcode); + } } } } - //澶栧舰妫�娴� - OperateResultExOne<byte[]> resultErr1 = siemensS7Net.Read("DB101.810.0", (short) (barcodeSize * 1)); - StaProtocol staProtocol1 = station.get(116); - boolean[] status1 = siemensS7Net.getByteTransform().TransBool(resultErr1.Content, 0, 1); - staProtocol1.setFrontErr(status1[0]); - staProtocol1.setBackErr(status1[1]); - staProtocol1.setHighErr(status1[2]); - staProtocol1.setLeftErr(status1[3]); - staProtocol1.setRightErr(status1[4]); - staProtocol1.setWeightErr(status1[5]); - staProtocol1.setBarcodeErr(status1[6]); + // 璇诲彇澶栧舰妫�娴� + OperateResultExOne<byte[]> resultErr1 = siemensS7Net.Read("DB101.936", (short) (staNoSize * 8)); + if (resultErr1.IsSuccess) { + for (int i = 0; i < staNoSize; i++) { + Integer siteId = staNos.get(i); // 绔欑偣缂栧彿 + StaProtocol staProtocol = station.get(siteId); + boolean[] status1 = siemensS7Net.getByteTransform().TransBool(resultErr1.Content, i * 2, 1); + staProtocol.setFrontErr(status1[0]); + staProtocol.setBackErr(status1[1]); + staProtocol.setHighErr(status1[2]); + staProtocol.setLeftErr(status1[3]); + staProtocol.setRightErr(status1[4]); + staProtocol.setWeightErr(status1[5]); + staProtocol.setBarcodeErr(status1[6]); + } + } OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB101.922.0", (short) (staNoSize * 4)); if (resultErr.IsSuccess) { @@ -347,25 +321,25 @@ //浠诲姟涓嬪彂鎴愬姛鏍囪瘑 boolean writeFlag = false; while (writeCount < 5) { - OperateResult writeResult1 = siemensS7Net.Write("DB100." + index * 6, staProtocol.getWorkNo().intValue()); // 宸ヤ綔鍙� - OperateResult writeResult2 = siemensS7Net.Write("DB100." + (index * 6 + 4), staProtocol.getStaNo()); // 鐩爣绔� + OperateResult writeResult1 = siemensS7Net.Write("DB100." + index * 4, staProtocol.getWorkNo()); // 宸ヤ綔鍙� + OperateResult writeResult2 = siemensS7Net.Write("DB100." + (index * 4 + 2), staProtocol.getStaNo()); // 鐩爣绔� if (writeResult1.IsSuccess && writeResult2.IsSuccess) { Thread.sleep(200); - OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100." + index * 6, (short) 6); + OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100." + index * 4, (short) 2); if (readResult.IsSuccess) { - Integer workNo = siemensS7Net.getByteTransform().TransInt32(readResult.Content, 0); - short staNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 4); - if (workNo.equals(staProtocol.getWorkNo().intValue()) && staProtocol.getStaNo().equals(staNo)) { - //浠诲姟鍛戒护鍐欏叆鎴愬姛 +// short workNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 0); +// short staNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 2); +// if (staProtocol.getWorkNo().equals(workNo) && staProtocol.getStaNo().equals(staNo)) { +// //浠诲姟鍛戒护鍐欏叆鎴愬姛 writeFlag = true; log.info("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝骞朵笖鍥炶鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); break; - } else {//杩斿洖缁撴灉鏄垚鍔熶簡锛屼絾鏄湡瀹炲�间笉鐩稿悓 - writeCount++; - OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}", - slave.getId(), JSON.toJSON(staProtocol), writeCount)); - log.error("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); - } +// } else {//杩斿洖缁撴灉鏄垚鍔熶簡锛屼絾鏄湡瀹炲�间笉鐩稿悓 +// writeCount++; +// OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}", +// slave.getId(), JSON.toJSON(staProtocol), writeCount)); +// log.error("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); +// } } else { writeCount++; OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护鍚庤鍙栧け璐ャ�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}", diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 057f2f9..6b25e67 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -4,235 +4,247 @@ groupCount: 4 #涓�涓爢鍨涙満璐熻矗鐨勮揣鏋舵帓鏁� crn[0]: #鍫嗗灈鏈�1 id: 1 - ip: 10.10.10.110 + ip: 10.49.210.11 slot: 0 demo: false rack: 0 offset: 2 #鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2 port: 102 - crnOutStn[0]: #鍫嗗灈鏈哄嚭搴撶珯鐐� - staNo: 103 - row: 3 - bay: 1 - lev: 2 - devpPlcId: ${wcs-slave.devp[0].id} - crnOutStn[1]: #鍫嗗灈鏈哄嚭搴撶珯鐐� - staNo: 106 - row: 3 - bay: 1 - lev: 2 - devpPlcId: ${wcs-slave.devp[0].id} - crnInStn[0]: #鍫嗗灈鏈哄叆搴撶珯鐐�1 - staNo: 102 + #鍫嗗灈鏈哄嚭搴撶珯鐐�1 + crnOutStn[0]: + staNo: 114 row: 2 bay: 1 - lev: 2 - backSta: 101 + lev: 1 devpPlcId: ${wcs-slave.devp[0].id} - crnInStn[1]: #鍫嗗灈鏈哄叆搴撶珯鐐�1 - staNo: 105 + #鍫嗗灈鏈哄嚭搴撶珯鐐�2 + crnOutStn[1]: + staNo: 210 + row: 2 + bay: 2 + lev: 1 + devpPlcId: ${wcs-slave.devp[0].id} + #鍫嗗灈鏈哄嚭搴撶珯鐐�3 + crnOutStn[2]: + staNo: 205 + row: 2 + bay: 5 + lev: 1 + devpPlcId: ${wcs-slave.devp[0].id} + #鍫嗗灈鏈哄嚭搴撶珯鐐�4 + crnOutStn[3]: + staNo: 201 + row: 2 + bay: 7 + lev: 1 + devpPlcId: ${wcs-slave.devp[0].id} + #鍫嗗灈鏈哄叆搴撶珯鐐�1 + crnInStn[0]: + staNo: 114 row: 2 bay: 1 - lev: 2 - backSta: 104 + lev: 1 + backSta: 113 + devpPlcId: ${wcs-slave.devp[0].id} + #鍫嗗灈鏈哄叆搴撶珯鐐�2 + crnInStn[1]: + staNo: 210 + row: 2 + bay: 2 + lev: 1 + backSta: 212 + devpPlcId: ${wcs-slave.devp[0].id} + #鍫嗗灈鏈哄叆搴撶珯鐐�3 + crnInStn[2]: + staNo: 205 + row: 5 + bay: 1 + lev: 1 + backSta: 207 + devpPlcId: ${wcs-slave.devp[0].id} + #鍫嗗灈鏈哄叆搴撶珯鐐�4 + crnInStn[3]: + staNo: 201 + row: 2 + bay: 7 + lev: 1 + backSta: 203 devpPlcId: ${wcs-slave.devp[0].id} crn[1]: #鍫嗗灈鏈�2 id: 2 - ip: 10.10.10.120 + ip: 10.49.210.21 slot: 0 demo: false rack: 0 offset: 2 #鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2 port: 102 - crnOutStn[0]: #鍫嗗灈鏈哄嚭搴撶珯鐐� - staNo: 109 - row: 7 - bay: 1 - lev: 2 - devpPlcId: ${wcs-slave.devp[0].id} - crnOutStn[1]: #鍫嗗灈鏈哄嚭搴撶珯鐐� - staNo: 112 - row: 7 - bay: 1 - lev: 2 - devpPlcId: ${wcs-slave.devp[0].id} - crnInStn[0]: #鍫嗗灈鏈哄叆搴撶珯鐐�1 - staNo: 108 - row: 6 - bay: 1 - lev: 2 - backSta: 107 - devpPlcId: ${wcs-slave.devp[0].id} - crnInStn[1]: #鍫嗗灈鏈哄叆搴撶珯鐐�1 + #鍫嗗灈鏈哄嚭搴撶珯鐐�1 + crnOutStn[0]: staNo: 111 row: 6 bay: 1 - lev: 2 + lev: 1 + devpPlcId: ${wcs-slave.devp[0].id} + #鍫嗗灈鏈哄嚭搴撶珯2 + crnOutStn[1]: + staNo: 108 + row: 7 + bay: 1 + lev: 1 + devpPlcId: ${wcs-slave.devp[0].id} + #鍫嗗灈鏈哄叆搴撶珯鐐�1 + crnInStn[0]: + staNo: 111 + row: 6 + bay: 1 + lev: 1 backSta: 110 devpPlcId: ${wcs-slave.devp[0].id} - crn[2]: #鍫嗗灈鏈�2 + #鍫嗗灈鏈哄叆搴撶珯鐐�2 + crnInStn[1]: #鍫嗗灈鏈哄叆搴撶珯鐐�1 + staNo: 108 + row: 7 + bay: 1 + lev: 1 + backSta: 107 + devpPlcId: ${wcs-slave.devp[0].id} + crn[2]: #鍫嗗灈鏈�3 id: 3 - ip: 10.10.10.120 + ip: 10.49.210.31 slot: 0 demo: false rack: 0 offset: 2 #鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2 port: 102 crnOutStn[0]: #鍫嗗灈鏈哄嚭搴撶珯鐐� - staNo: 115 - row: 7 + staNo: 105 + row: 10 bay: 1 - lev: 2 + lev: 1 devpPlcId: ${wcs-slave.devp[0].id} crnOutStn[1]: #鍫嗗灈鏈哄嚭搴撶珯鐐� - staNo: 201 - row: 7 + staNo: 102 + row: 11 bay: 1 - lev: 2 - devpPlcId: ${wcs-slave.devp[0].id} - crnOutStn[2]: #鍫嗗灈鏈哄嚭搴撶珯鐐� - staNo: 205 - row: 7 - bay: 1 - lev: 2 - devpPlcId: ${wcs-slave.devp[0].id} - crnOutStn[3]: #鍫嗗灈鏈哄嚭搴撶珯鐐� - staNo: 210 - row: 7 - bay: 1 - lev: 2 + lev: 1 devpPlcId: ${wcs-slave.devp[0].id} crnInStn[0]: #鍫嗗灈鏈哄叆搴撶珯鐐�1 - staNo: 114 - row: 6 + staNo: 105 + row: 10 bay: 1 - lev: 2 - backSta: 113 + lev: 1 + backSta: 104 devpPlcId: ${wcs-slave.devp[0].id} - crnInStn[1]: #鍫嗗灈鏈哄叆搴撶珯鐐�1 - staNo: 202 - row: 6 + crnInStn[1]: #鍫嗗灈鏈哄叆搴撶珯鐐�2 + staNo: 102 + row: 11 bay: 1 - lev: 2 - backSta: 203 - devpPlcId: ${wcs-slave.devp[0].id} - crnInStn[2]: #鍫嗗灈鏈哄叆搴撶珯鐐�1 - staNo: 206 - row: 6 - bay: 1 - lev: 2 - backSta: 207 - devpPlcId: ${wcs-slave.devp[0].id} - crnInStn[3]: #鍫嗗灈鏈哄叆搴撶珯鐐�1 - staNo: 211 - row: 6 - bay: 1 - lev: 2 - backSta: 212 + lev: 1 + backSta: 101 devpPlcId: ${wcs-slave.devp[0].id} devp[0]: #杈撻�佺嚎 id: 1 - ip: 10.10.10.140 + ip: 10.49.210.41 rack: 0 port: 102 slot: 0 emptyInSta[0]: #绌烘澘鍏ュ簱鍙�0 - staNo: 116 + staNo: 210 inSta[0]: #鍏ュ簱鍙�1 - staNo: 101 - backSta: 116 + staNo: 102 + backSta: 101 barcode: ${wcs-slave.barcode[0].id} inSta[1]: #鍏ュ簱鍙�2 - staNo: 117 + staNo: 105 backSta: 104 barcode: ${wcs-slave.barcode[1].id} inSta[2]: #鍏ュ簱鍙�3 - staNo: 118 + staNo: 108 backSta: 107 barcode: ${wcs-slave.barcode[2].id} inSta[3]: #鍏ュ簱鍙�4 - staNo: 110 - backSta: 119 + staNo: 111 + backSta: 110 barcode: ${wcs-slave.barcode[3].id} inSta[4]: #鍏ュ簱鍙�5 - staNo: 113 - backSta: 120 + staNo: 114 + backSta: 113 barcode: ${wcs-slave.barcode[4].id} inSta[5]: #鍏ュ簱鍙�6 - staNo: 202 - backSta: 203 + staNo: 211 + backSta: 212 barcode: ${wcs-slave.barcode[5].id} inSta[6]: #鍏ュ簱鍙�7 staNo: 206 backSta: 207 barcode: ${wcs-slave.barcode[6].id} inSta[7]: #鍏ュ簱鍙�8 - staNo: 211 - backSta: 212 + staNo: 202 + backSta: 203 barcode: ${wcs-slave.barcode[7].id} outSta[0]: #鍑哄簱鍙�1 - staNo: 116 + staNo: 101 outSta[1]: #鍑哄簱鍙�2 - staNo: 117 + staNo: 104 outSta[2]: #鍑哄簱鍙�3 - staNo: 118 + staNo: 107 outSta[3]: #鍑哄簱鍙�4 - staNo: 119 + staNo: 110 outSta[4]: #鍑哄簱鍙�5 - staNo: 120 + staNo: 113 outSta[5]: #鍑哄簱鍙�6 - staNo: 203 + staNo: 212 outSta[6]: #鍑哄簱鍙�7 staNo: 207 outSta[7]: #鍑哄簱鍙�8 - staNo: 212 + staNo: 203 - devp[1]: #杈撻�佺嚎 - id: 2 - ip: 10.10.10.140 - rack: 0 - port: 102 - slot: 0 - inSta[0]: - staNo: 301 - inSta[1]: - staNo: 303 - inSta[2]: - staNo: 305 - inSta[3]: - staNo: 307 +# devp[1]: #杈撻�佺嚎 +# id: 2 +# ip: 10.10.10.140 +# rack: 0 +# port: 102 +# slot: 0 +# inSta[0]: +# staNo: 301 +# inSta[1]: +# staNo: 303 +# inSta[2]: +# staNo: 305 +# inSta[3]: +# staNo: 307 barcode[0]: #鏉$爜鎵弿浠� port: 51236 - ip: 172.17.91.39 + ip: 10.49.210.44 id: 1 barcode[1]: #鏉$爜鎵弿浠� port: 51236 - ip: 172.17.91.39 + ip: 10.49.210.45 id: 2 barcode[2]: #鏉$爜鎵弿浠� port: 51236 - ip: 172.17.91.39 + ip: 10.49.210.46 id: 3 barcode[3]: #鏉$爜鎵弿浠� port: 51236 - ip: 172.17.91.39 + ip: 10.49.210.47 id: 4 barcode[4]: #鏉$爜鎵弿浠� port: 51236 - ip: 172.17.91.39 + ip: 10.49.210.48 id: 5 barcode[5]: #鏉$爜鎵弿浠� port: 51236 - ip: 172.17.91.39 + ip: 10.49.210.67 id: 6 barcode[6]: #鏉$爜鎵弿浠� port: 51236 - ip: 172.17.91.39 + ip: 10.49.210.66 id: 7 barcode[7]: #鏉$爜鎵弿浠� port: 51236 - ip: 172.17.91.39 + ip: 10.49.210.65 id: 8 diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index a592115..caea414 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -47,15 +47,26 @@ # 鏄惁寮�鍚笂鎶� start: true # WMS绯荤粺ip - url: 10.10.10.222:2410 + url: http://10.227.21.31:8060/fromwcs # 鍏ュ簱浠诲姟鐢宠鎺ュ彛 - inboundTaskApplyPath: api/StereoscopicCallBack/AcceptTaskStatus + inboundTaskApplyPath: /inboundTaskApply # 浠诲姟寮�濮嬫椂锛學CS鍥炶皟WMS taskStatusFeedbackPath: api/StereoscopicCallBack/TaskExecCallback # 浠诲姟瀹屾垚缁撴潫鏃讹紝WCS鍥炶皟WMS - taskExecCallback: api/StereoscopicCallBack/TaskExecFinishedCallback + taskExecCallback: /taskStateReport # 绉诲簱鐢宠鎺ュ彛 movePath: api/InterFace/get_InterFace_TestStorage + # 浠诲姟鎵ц鐘舵�佷笂鎶� + executionStatusReport: /executionStatusReport + # 娴嬭瘯鐜 +# url: http://127.0.0.1:8080/ghlnwms +# taskStatusFeedbackPath: api/StereoscopicCallBack/TaskExecCallback +# executionStatusReport: /open/asrs/executionStatusReport +# taskExecCallback: /open/asrs/taskExecCallback +# inboundTaskApplyPath: /open/asrs/testInLoc +# movePath: api/InterFace/get_InterFace_TestStorage + + code: code successCode: 200 msg: msg diff --git "a/src/main/resources/wcs\345\222\214wms\346\216\245\345\217\243\0502\051.docx" "b/src/main/resources/wcs\345\222\214wms\346\216\245\345\217\243\0502\051.docx" index 24263ed..d218bae 100644 --- "a/src/main/resources/wcs\345\222\214wms\346\216\245\345\217\243\0502\051.docx" +++ "b/src/main/resources/wcs\345\222\214wms\346\216\245\345\217\243\0502\051.docx" Binary files differ -- Gitblit v1.9.1