From aede5c5c19740a9903dfe2873caaacc10eebda66 Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期一, 28 四月 2025 12:37:07 +0800 Subject: [PATCH] * --- src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java | 69 ++++++++++++++++++++++++++++------ 1 files changed, 56 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java index 7e41622..e1ee44a 100644 --- a/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java @@ -1,6 +1,7 @@ package com.zy.asrs.service.impl; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.core.common.Cools; import com.core.exception.CoolException; import com.zy.asrs.domain.enums.TaskStatusType; @@ -8,12 +9,14 @@ import com.zy.asrs.entity.StaDesc; import com.zy.asrs.mapper.TaskWrkMapper; import com.zy.asrs.entity.TaskWrk; +import com.zy.asrs.service.ApiLogService; import com.zy.asrs.service.StaDescService; import com.zy.asrs.service.TaskWrkService; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.zy.asrs.utils.CommandUtils; import com.zy.asrs.utils.Utils; import com.zy.common.service.CommonService; +import com.zy.common.utils.HttpHandler; import com.zy.core.DevpThread; import com.zy.core.cache.SlaveConnection; import com.zy.core.enums.CrnTaskModeType; @@ -24,11 +27,13 @@ import com.zy.core.model.protocol.StaProtocol; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import java.util.Date; +import java.util.HashMap; import java.util.List; @Slf4j @@ -39,6 +44,12 @@ private CommonService commonService; @Autowired private StaDescService staDescService; + @Value("${wms.url}") + private String wmsUrl; + @Value("${wms.taskStatusFeedbackPath}") + private String taskStatusFeedbackPath; + @Autowired + private ApiLogService apiLogService; @Override public TaskWrk selectByTaskNo(String taskNo) { @@ -90,6 +101,7 @@ @Override public void startup(TaskWrk taskWrk, Long userId) { + //鍏ュ簱浠诲姟娲惧彂 StaDesc staDesc = staDescService.queryCrn(taskWrk.getIoType(), Integer.parseInt(taskWrk.getStartPoint()), taskWrk.getCrnNo()); if (staDesc == null) { @@ -99,7 +111,7 @@ taskWrk.setWrkNo(workNo);//宸ヤ綔鍙� taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//娲惧彂鐘舵�� taskWrk.setAssignTime(new Date());//娲惧彂鏃堕棿 - taskWrk.setWrkSts(2);//宸ヤ綔鐘舵�� 2.璁惧涓婅蛋 + taskWrk.setWrkSts(3);//宸ヤ綔鐘舵�� 2.鍚婅溅鍏ュ簱 taskWrk.setCrnNo(staDesc.getCrnNo());//鍫嗗灈鏈哄彿 taskWrk.setModiTime(new Date()); taskWrk.setModiUser(userId); @@ -115,16 +127,47 @@ crnCommand.setTaskNo(taskWrk.getWrkNo().shortValue()); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 - crnCommand.setSourcePosX(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪 - crnCommand.setSourcePosY(crnStn.getLev().shortValue()); // 婧愬簱浣嶅眰 - crnCommand.setSourcePosZ(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓 - crnCommand.setDestinationPosX(Utils.getBayShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鍒� - crnCommand.setDestinationPosY(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅灞� - crnCommand.setDestinationPosZ(Utils.getRowShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鎺� + crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶅垪 + crnCommand.setSourcePosY(crnStn.getBay().shortValue()); // 婧愬簱浣嶅眰 + crnCommand.setSourcePosZ(crnStn.getLev().shortValue()); // 婧愬簱浣嶆帓 + crnCommand.setDestinationPosX(Utils.getRowShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鍒� + crnCommand.setDestinationPosY(Utils.getBayShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅灞� + crnCommand.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鎺� crnCommand.setCommand((short)1); - if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand))) { + if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(5, crnCommand),false)) { log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand)); throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�"); + }else{ + try{ + HashMap<String, Object> headParam = new HashMap<>(); + headParam.put("taskNo",taskWrk.getTaskNo()); + headParam.put("status",taskWrk.getStatus()); + headParam.put("ioType",taskWrk.getIoType()); + headParam.put("barcode",taskWrk.getBarcode()); +// headParam.put("reportTime",new Date()); + String response; + response = new HttpHandler.Builder() + // .setHeaders(headParam) + .setUri(wmsUrl) + .setPath(taskStatusFeedbackPath) + .setJson(JSON.toJSONString(headParam)) + .build() + .doPost(); + + JSONObject jsonObject = JSON.parseObject(response); + apiLogService.save("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms" + ,wmsUrl+taskStatusFeedbackPath + ,null + ,"127.0.0.1" + ,JSON.toJSONString(headParam) + ,response + ,true + ); + }catch (Exception e){ + log.error("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触", taskWrk); +// throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触"); + } + } } @@ -139,7 +182,7 @@ taskWrk.setWrkNo(workNo);//宸ヤ綔鍙� taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//娲惧彂鐘舵�� taskWrk.setAssignTime(new Date());//娲惧彂鏃堕棿 - taskWrk.setWrkSts(11);//宸ヤ綔鐘舵�� 11.鐢熸垚鍑哄簱ID + taskWrk.setWrkSts(12);//宸ヤ綔鐘舵�� 12.鍚婅溅鍏ュ簱涓� taskWrk.setCrnNo(staDesc.getCrnNo());//鍫嗗灈鏈哄彿 taskWrk.setModiTime(new Date()); taskWrk.setModiUser(userId); @@ -162,7 +205,7 @@ crnCommand.setDestinationPosY(crnStn.getLev().shortValue()); // 鐩爣搴撲綅鍒� crnCommand.setDestinationPosZ(crnStn.getRow().shortValue()); // 鐩爣搴撲綅灞� crnCommand.setCommand((short)1); - if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand))) { + if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(5, crnCommand))) { log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand)); throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�"); } @@ -170,9 +213,9 @@ //鐢熸垚杈撻�佺嚎鍛戒护 DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId()); StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()).clone(); - staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue()); - staProtocol.setStaNo((short) Integer.parseInt(taskWrk.getTargetPoint())); - if (!CommandUtils.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(2, staProtocol))) { + staProtocol.setWorkNo(taskWrk.getWrkNo()); + staProtocol.setStaNo(Integer.parseInt(taskWrk.getTargetPoint())); + if (!CommandUtils.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(3, staProtocol))) { log.error("杈撻�佺嚎鍛戒护鐢熸垚澶辫触锛屽爢鍨涙満鍙�={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand)); throw new CoolException("杈撻�佺嚎鍛戒护鐢熸垚澶辫触"); } -- Gitblit v1.9.1