From 4282d15a5e69a6b4c822c87d27a1ed6e7e618f00 Mon Sep 17 00:00:00 2001 From: zwl <1051256694@qq.com> Date: 星期三, 02 七月 2025 13:29:12 +0800 Subject: [PATCH] 初始化1.0 --- src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java | 208 +++++++++++++++++++++------------------------------ 1 files changed, 85 insertions(+), 123 deletions(-) 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 5cbbc86..ee48c9c 100644 --- a/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java @@ -2,50 +2,42 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; -import com.core.exception.CoolException; -import com.zy.asrs.entity.BasDevp; +import com.zy.asrs.domain.enums.TaskStatusType; +import com.zy.asrs.domain.enums.WorkNoType; import com.zy.asrs.entity.LocMast; import com.zy.asrs.entity.TaskWrk; import com.zy.asrs.entity.TaskWrkReport; -import com.zy.asrs.entity.wms.StorageEscalationParam; +import com.zy.asrs.entity.param.StorageEscalationParam; import com.zy.asrs.entity.wms.WmsResult; import com.zy.asrs.service.*; -import com.zy.asrs.utils.Utils; import com.zy.common.service.CommonService; import com.zy.common.utils.HttpHandler; import com.zy.common.utils.Synchro; -import com.zy.core.cache.MessageQueue; -import com.zy.core.enums.SlaveType; -import com.zy.core.model.Task; -import com.zy.core.properties.SlaveProperties; +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 java.io.IOException; import java.util.Date; -import java.util.HashMap; -@Service +@Slf4j +@Service("toWmsService") public class ToWmsServiceImpl implements ToWmsService { - @Autowired private TaskWrkService taskWrkService; - @Autowired - private SlaveProperties slaveProperties; + + @Autowired private TaskWrkReportService taskWrkReportService; - @Autowired - private StaDescService staDescService; + @Autowired private CommonService commonService; + @Autowired private LocMastService locMastService; - @Autowired - private BasDevpService basDevpService; @Autowired @@ -62,7 +54,7 @@ /** * 浠诲姟寮�濮嬫椂锛學CS鍥炶皟WMS */ - @Value("${wms.taskExecCallback}") + @Value("${wms.TaskExecCallback}") private String taskExecCallback; /** * 浠诲姟瀹屾垚缁撴潫鏃讹紝WCS鍥炶皟WMS @@ -70,19 +62,20 @@ @Value("${wms.taskStatusFeedbackPath}") private String taskStatusFeedbackPath; - @Value("${wms.code}") - private String code; +// @Value("${wms.code}") +// private String code; - @Value("${wms.successCode}") - private String successCode; +// @Value("${wms.successCode}") +// private String successCode; +// +// @Value("${wms.msg}") +// private String msg; +// +// @Value("${wms.data}") +// private String data; - @Value("${wms.msg}") - private String msg; - - @Value("${wms.data}") - private String data; -@Override -public void addReportLog(TaskWrk taskWrk) { + @Override + public void addReportLog(TaskWrk taskWrk) { TaskWrkReport taskWrkReport = new TaskWrkReport(); Synchro.Copy(taskWrk, taskWrkReport); taskWrkReport.setCreateTime(new Date()); @@ -90,105 +83,74 @@ } @Override - public WmsResult getLocNoFromWms(StorageEscalationParam wmsParam) { - String response = ""; - Boolean success = false; - try { - response = new HttpHandler.Builder() - .setUri(wmsUrl) - .setPath(inboundTaskApplyPath) - .setJson(JSON.toJSONString(wmsParam)) - .build() - .doPost(); - JSONObject jsonObject = JSON.parseObject(response); - if (!Cools.isEmpty(response) && !Cools.isEmpty(jsonObject.get(code)) && jsonObject.get(code).equals(successCode)) { - WmsResult result = JSON.parseObject(jsonObject.get(data).toString(), WmsResult.class); - return result; - } - } catch (IOException e) { - - } finally { - addApiLog("鍏ュ簱浠诲姟璇锋眰鑾峰彇搴撲綅", wmsUrl + inboundTaskApplyPath, JSON.toJSONString(wmsParam), response, success); - } - return null; + public TaskWrk getLocNoFromWms(StorageEscalationParam wmsParam) { +// String response = ""; +// Boolean success = false; +// try { +// response = new HttpHandler.Builder() +// .setUri(wmsUrl) +// .setPath(inboundTaskApplyPath) +// .setJson(JSON.toJSONString(wmsParam)) +// .build() +// .doPost(); +// if (!Cools.isEmpty(response)) { +// JSONObject jsonObject = JSON.parseObject(response); +// if (!Cools.isEmpty(jsonObject.get(code)) && jsonObject.get(code).equals(successCode)) { +// //鏈変簺涓夋柟wms绯荤粺涓嶈兘鍙婃椂杩斿洖搴撲綅鍙凤紝杩欐椂鍊欏氨闇�瑕� +// //ZWmsResult result = JSON.parseObject(jsonObject.get(data).toString(), WmsResult.class); +// TaskWrk taskWrk = null; +// int i = 1; +// while (i < 10) { +// taskWrk = taskWrkService.selectByBarcode(wmsParam.getBarcode()); +// if (taskWrk != null) { +// break; +// } +// try { +// i++; +// Thread.sleep(500L); +// } catch (InterruptedException e) { +// throw new RuntimeException(e); +// } +// } +// return taskWrk; +// } +// } +// } catch (IOException e) { +// e.printStackTrace(); +// log.info("璇锋眰wms鎶ラ敊锛寋}", e.getMessage()); +// } finally { +// addApiLog("鍏ュ簱浠诲姟璇锋眰鑾峰彇搴撲綅", wmsUrl + inboundTaskApplyPath, JSON.toJSONString(wmsParam), response, success); +// } + return null; } - public boolean checkLocNo(String locNo) { - try { - BasDevp basDevp = basDevpService.selectById(inSta.getStaNo()); - if (Cools.isEmpty(basDevp)) { - log.error("绔欑偣鍙峰紓甯�1" + inSta.getStaNo()); - throw new CoolException("绔欑偣鍙峰紓甯�1,鏈煡璇㈠埌绔欑偣淇℃伅" + inSta.getStaNo()); - } - Integer staNoCrnNo = Utils.StaNoCrnNo(inSta.getStaNo()); - if (staNoCrnNo == 0) { - basDevp.setStaErr(1); - basDevpService.updateById(basDevp); - log.error("绔欑偣鍙峰紓甯�2" + inSta.getStaNo()); - throw new CoolException("绔欑偣鍙峰紓甯�2,绔欑偣鍙蜂笉瀛樺湪" + inSta.getStaNo()); - } else { - LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>() - .eq("crn_no", staNoCrnNo.longValue()) - .eq("loc_no", result.getLocNo())); - if (Cools.isEmpty(locMast)) { - basDevp.setStaErr(1); - basDevpService.updateById(basDevp); - log.error("绔欑偣鍙峰紓甯�3" + inSta.getStaNo()); - throw new CoolException("绔欑偣鍙峰紓甯�3锛氭宸烽亾涓嶅瓨鍦ㄧ洰鏍囧簱浣�" + inSta.getStaNo()); - } - } - } catch (Exception e) { - // log.error("鎵爜妫�娴嬬▼搴忓紓甯�"+inSta.getStaNo()+"寮傚父淇℃伅"+e); - // 閫�鍥� - log.error("鎵爜妫�娴嬬▼搴忓紓甯�" + inSta.getStaNo() + errMsg); - log.error("鎵爜妫�娴嬬▼搴忓紓甯�,寮傚父淇℃伅" + e); - staProtocol.setWorkNo((short) 9999); - staProtocol.setStaNo(inSta.getStaNo().shortValue()); - devpThread.setPakMk(staProtocol.getSiteId(), false); - MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); - TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(workNo)); - if (taskWrk != null) { - taskWrk.setMemo(errMsg);//灏嗛敊璇爜瀛樺叆澶囨敞瀛楁杩涜灞曠ず - taskWrkMapper.updateById(taskWrk); - } - continue; - } - //鏌ョ湅璇ュ簱浣嶆槸鍚︿负绌哄簱浣� - LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>() - .eq("loc_sts", "O") - .eq("loc_no", result.getLocNo())); - if (Cools.isEmpty(locMast)) { - try { - HashMap<String, Object> headParam1 = new HashMap<>(); - headParam1.put("taskNo", result.getTaskNo()); - headParam1.put("status", 6); - headParam1.put("ioType", 1); - headParam1.put("barcode", BoxNo); - String response2; - response2 = new HttpHandler.Builder() - // .setHeaders(headParam) - .setUri(wmsUrl) - .setPath(taskStatusFeedbackPath) - .setJson(JSON.toJSONString(headParam1)) - .build() - .doPost(); - JSONObject jsonObject1 = JSON.parseObject(response2); - apiLogService.save("wcs娲惧彂搴撲綅==銆嬩笉涓虹┖銆�==涓婃姤wms" - , wmsUrl + taskStatusFeedbackPath - , null - , "127.0.0.1" - , JSON.toJSONString(headParam1) - , response - , true - ); - } catch (Exception e) { - log.error("wcs娲惧彂搴撲綅==銆嬩笉涓虹┖銆�==涓婃姤wms", result.getTaskNo()); - throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触,娲惧彂搴撲綅==銆嬩笉涓虹┖銆�==锛屽紓甯镐俊鎭細" + e); + 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(); + int workNo1 = commonService.getWorkNo(WorkNoType.PAKIN.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙� + taskWrk.setTaskNo(result.getTaskNo());//浠诲姟鍙� + taskWrk.setWrkNo(workNo1); + taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//浠诲姟鐘舵�侊細娲惧彂 + taskWrk.setCreateTime(now); + taskWrk.setIoType(1);//浠诲姟绫诲瀷 + taskWrk.setIoPri(13);//浼樺厛绾� + taskWrk.setBarcode(barcode);//鏉$爜 + LocMast locMast = locMastService.selectByLocNo(locNo); + taskWrk.setCrnNo(locMast.getCrnNo()); + taskWrk.setTargetPoint(locNo); + taskWrk.setStartPoint(startPoint + ""); + taskWrk.setCrnNo(result.getCrnNo()); + if (taskWrk.getIoType() == 1) { + taskWrk.setWrkSts(2); + if (!Cools.isEmpty(taskWrk.getTargetPoint())) { + taskWrk.setOriginTargetPoint(taskWrk.getTargetPoint()); } } + return taskWrk; } - private void addApiLog(String nameSpace, String url, String param, String response, Boolean success) { apiLogService.save(nameSpace, url, null, "127.0.0.1", param, response, success); -- Gitblit v1.9.1