From 75d0daa4f8dc2010ec92f35cac08a19d240ca45d Mon Sep 17 00:00:00 2001 From: ynhfasrs <ynhfasrs@qq.com> Date: 星期五, 27 六月 2025 14:23:37 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 695 +++++++++++++++------------------------------------------ 1 files changed, 181 insertions(+), 514 deletions(-) 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 4ce4fbf..196d4f0 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -5,18 +5,22 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.core.exception.CoolException; +import com.zy.asrs.domain.dto.NotifyCustomDataDto; +import com.zy.asrs.domain.enums.NotifyMsgType; +import com.zy.asrs.domain.enums.RedisKeyType; import com.zy.asrs.domain.enums.TaskStatusType; import com.zy.asrs.domain.enums.WorkNoType; import com.zy.asrs.entity.*; -import com.zy.asrs.entity.param.Result; -import com.zy.asrs.entity.param.StorageEscalationParam; import com.zy.asrs.mapper.*; import com.zy.asrs.service.*; import com.zy.asrs.utils.CommandUtils; import com.zy.asrs.utils.CrnOperaUtils; +import com.zy.asrs.utils.NotifyUtils; import com.zy.asrs.utils.Utils; import com.zy.common.service.CommonService; import com.zy.common.utils.HttpHandler; +import com.zy.common.utils.News; +import com.zy.common.utils.RedisUtil; import com.zy.core.CrnThread; import com.zy.core.DevpThread; import com.zy.core.cache.MessageQueue; @@ -40,6 +44,7 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport; import java.io.IOException; +import java.text.SimpleDateFormat; import java.util.*; /** @@ -56,8 +61,6 @@ @Autowired private SlaveProperties slaveProperties; @Autowired - private WrkMastMapper wrkMastMapper; - @Autowired private LocMastService locMastService; @Autowired private BasCrnpService basCrnpService; @@ -72,13 +75,9 @@ @Autowired private TaskWrkService taskWrkService; @Autowired - private ConfigService configService; - @Autowired private StaDescMapper staDescMapper; @Autowired private CommandInfoService commandInfoService; - @Autowired - private OpenServiceImpl openServiceImpl; @Autowired private StaDescService staDescService; @Autowired @@ -87,18 +86,18 @@ private CommonService commonService; @Autowired private CrnOperaUtils crnOperaUtils; + @Autowired + private NotifyUtils notifyUtils; + @Autowired + private RedisUtil redisUtil; @Value("${wms.count}") private Integer maxCount; - @Autowired - private WrkMastService wrkMastService; @Value("${wms.url}") private String wmsUrl; @Value("${wms.inboundTaskApplyPath}") private String inboundTaskApplyPath; @Value("${wms.TaskExecCallback}") - private String TaskExecCallback; - @Value("${wms.taskStatusFeedbackPath}") - private String taskStatusFeedbackPath; + private String taskExecCallback; public synchronized void generateStoreWrkFile1() { try { @@ -114,8 +113,6 @@ } else { staProtocol = staProtocol.clone(); } - Short workNo = staProtocol.getWorkNo(); - Short stano = staProtocol.getStaNo(); // 灏哄妫�娴嬪紓甯� boolean back = false; @@ -148,11 +145,15 @@ errMsg = "鎵爜澶辫触"; back = true; } + // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 - if (staProtocol.isAutoing() && staProtocol.isLoading() + if (staProtocol.isAutoing() + && staProtocol.isLoading() && staProtocol.isInEnable() - && !staProtocol.isEmptyMk() && workNo >= 9790 - && staProtocol.isPakMk()) { +// && !staProtocol.isEmptyMk() + && staProtocol.isPakMk() + && (staProtocol.getWorkNo() == 9999 || staProtocol.getWorkNo() == 9998) + ) { // 鑾峰彇鏉$爜鎵弿浠俊鎭� BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode()); if (barcodeThread == null) { @@ -160,25 +161,36 @@ } String barcode = barcodeThread.getBarcode(); + if (Cools.isEmpty(barcode)) { + News.watchInfo(String.valueOf(staProtocol.getSiteId()), "鍏ュ簱淇″彿婊¤冻锛屾墭鐩樼爜涓虹┖"); + continue; + } + TaskWrk taskWrk1 = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", barcode)); if (taskWrk1 != null) { - log.info("鎵樼洏鐮侊細" + barcode + "浠诲姟妗e瓨鍦�"); + News.watchInfo(String.valueOf(staProtocol.getSiteId()), "鎵樼洏鐮侊細" + barcode + "浠诲姟妗e瓨鍦�"); continue; } HashMap<String, Object> requestParam = new HashMap<>(); - requestParam.put("BoxNo", barcode);//鎵樼洏鐮� - requestParam.put("TerminalNo", inSta.getStaNo());//鍏ュ簱鍙� + requestParam.put("barcode", barcode);//鎵樼洏鐮� + requestParam.put("stationCode", inSta.getStaNo());//鍏ュ簱鍙� if (back) { - requestParam.put("WCSStatus", 1);//澶辫触 - requestParam.put("WCSErrorMessage", errMsg);//澶辫触鍘熷洜 + requestParam.put("wcsStatus", 1);//澶辫触 + requestParam.put("wcsErrorMessage", errMsg);//澶辫触鍘熷洜 + News.watchInfo(String.valueOf(staProtocol.getSiteId()), errMsg); }else { - requestParam.put("WCSStatus", 0);//鎴愬姛 + requestParam.put("wcsStatus", 0);//鎴愬姛 } - String response = ""; + String response = "None"; Boolean success = false; try { + Object object = redisUtil.get(RedisKeyType.IN_TASK_LOCK.key + inSta.getStaNo()); + if(object != null) { + continue; + } + response = new HttpHandler.Builder() .setUri(wmsUrl) .setPath(inboundTaskApplyPath) @@ -186,63 +198,94 @@ .build() .doPost(); JSONObject jsonObject = JSON.parseObject(response); + log.info(response); + redisUtil.set(RedisKeyType.IN_TASK_LOCK.key + inSta.getStaNo(), "lock", 5); + if (jsonObject.getInteger("code") == 200) { - if (back) { - devpThread.setPakMk(staProtocol.getSiteId(), false); - MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + } else if (jsonObject.getInteger("code") == 500) { + News.watchInfo(String.valueOf(staProtocol.getSiteId()), "鏉$爜锛�" + barcode + "鐢宠WMS澶辫触,绯荤粺鍥為��,response=" + JSON.toJSONString(jsonObject)); + +// staProtocol.setWorkNo(9997); +// staProtocol.setStaNo(inSta.getBackSta().shortValue()); +// MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + continue; + }else { + News.watchInfo(String.valueOf(staProtocol.getSiteId()), "鏉$爜锛�" + barcode + "鐢宠WMS澶辫触,response=" + JSON.toJSONString(jsonObject)); continue; } - int returnStatus = Integer.parseInt(jsonObject.get("ReturnStatus").toString()); - if (returnStatus == 0) { - Result result = JSON.parseObject(jsonObject.get("Result").toString(), Result.class); - // 鍒涙柊涓�涓叆搴撳伐浣滄。 - TaskWrk taskWrk = taskWrkService.selectByTaskNo(result.getTaskNo()); - if(taskWrk != null) { - log.info("浠诲姟锛�" + result.getTaskNo() + "宸茬粡瀛樺湪"); - continue; - } + JSONObject result = jsonObject.getJSONObject("data"); + Integer resultWrkNo = result.getInteger("wrkNo"); + Integer resultStaNo = result.getInteger("stnNo"); + String resultLocNo = result.getString("locNo"); - taskWrk = createTask1(result, barcode); - if (!taskWrkService.insert(taskWrk)) { - log.info("浠诲姟锛�" + result.getTaskNo() + "浠诲姟鍒涘缓澶辫触"); - continue; - } + // 鍒涙柊涓�涓叆搴撳伐浣滄。 + TaskWrk taskWrk = taskWrkService.selectByTaskNo(String.valueOf(resultWrkNo)); + if(taskWrk != null) { + News.watchInfo(String.valueOf(staProtocol.getSiteId()), "浠诲姟锛�" + resultWrkNo + "宸茬粡瀛樺湪"); + continue; + } - 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)); + LocMast locMast = locMastService.selectByLocNo(resultLocNo); + if (locMast == null) { + News.watchInfo(String.valueOf(staProtocol.getSiteId()), resultLocNo + "搴撲綅涓嶅瓨鍦�"); + continue; + } - HashMap<String, Object> hashMap = new HashMap<>(); - hashMap.put("TaskNo", taskWrk.getTaskNo()); - try { - //寮�濮嬩笂鎶�,浠诲姟寮�濮嬫椂锛學CS鍥炶皟WMS - response = new HttpHandler.Builder() - .setUri(wmsUrl) - .setPath(taskStatusFeedbackPath) - .setJson(JSON.toJSONString(hashMap)) - .build() - .doPost(); - JSONObject jsonObject1 = JSON.parseObject(response); - boolean bool = false; - if(jsonObject1.get("ReturnStatus").equals(0)){ - taskWrk.setStatus(2);//娲惧彂浠诲姟 - bool = true; - taskWrkService.updateById(taskWrk); - } - apiLogService.save("wcs寮�濮嬪叆搴撲换鍔′笂鎶ms" - , wmsUrl + TaskExecCallback - , null - , "127.0.0.1" - , JSON.toJSONString(hashMap) - , response - , bool - ); - } catch (Exception e) { + if (!locMast.getLocSts().equals("O")) { + News.watchInfo(String.valueOf(staProtocol.getSiteId()), resultLocNo + "搴撲綅涓嶅浜庣┖搴撲綅"); + continue; + } - } + Date now = new Date(); + taskWrk = new TaskWrk(); + taskWrk.setTaskNo(String.valueOf(resultWrkNo));//浠诲姟鍙� + taskWrk.setWrkNo(commonService.getWorkNo(WorkNoType.PAKIN.type));//鑾峰彇鍏ュ簱宸ヤ綔鍙� + taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹 + taskWrk.setWrkSts(2);//2.璁惧涓婅蛋 + taskWrk.setCreateTime(now); + taskWrk.setIoType(1);//浠诲姟绫诲瀷 + taskWrk.setIoPri(13);//浼樺厛绾� + taskWrk.setBarcode(barcode);//鏉$爜 + taskWrk.setCrnNo(locMast.getCrnNo()); + taskWrk.setTargetPoint(resultLocNo); + taskWrk.setStartPoint(String.valueOf(inSta.getStaNo())); + if (!Cools.isEmpty(taskWrk.getTargetPoint())) { + taskWrk.setOriginTargetPoint(taskWrk.getTargetPoint()); + } + + if (!taskWrkService.insert(taskWrk)) { + News.watchInfo(String.valueOf(staProtocol.getSiteId()), "浠诲姟锛�" + resultWrkNo + "浠诲姟鍒涘缓澶辫触"); + continue; + } + + locMast.setLocSts("S"); + locMast.setModiTime(new Date()); + locMastService.updateById(locMast); + + 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()); + staProtocol.setStaNo(staDesc.getCrnStn().shortValue()); + MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + + //涓婃姤 + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:ss:mm"); + HashMap<String, Object> hashMap = new HashMap<>(); + hashMap.put("taskNo", taskWrk.getTaskNo()); + hashMap.put("status", TaskStatusType.DISTRIBUTE.id); + hashMap.put("ioType", 1); + hashMap.put("barcode", taskWrk.getBarcode()); + hashMap.put("reportTime", format.format(new Date())); + + NotifyCustomDataDto customDataDto = new NotifyCustomDataDto(); + customDataDto.setUri(wmsUrl); + customDataDto.setPath(taskExecCallback); + customDataDto.setData(JSON.toJSONString(hashMap)); + boolean notifyResult = notifyUtils.notify("task", 1, String.valueOf(taskWrk.getWrkNo()), taskWrk.getTaskNo(), NotifyMsgType.TASK_START, JSON.toJSONString(taskWrk), true, customDataDto); + if(notifyResult) { + taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//浠诲姟娲惧彂 + taskWrkService.updateById(taskWrk); } } catch (Exception e) { log.error("璇锋眰鍏ュ簱璋冪敤鎺ュ彛澶辫触"); @@ -280,280 +323,6 @@ } } - public synchronized void generateStoreWrkFile() throws IOException, InterruptedException { - try { - // 鏍规嵁杈撻�佺嚎plc閬嶅巻 - for (DevpSlave devp : slaveProperties.getDevp()) { - // 閬嶅巻鍏ュ簱鍙� - for (DevpSlave.Sta inSta : devp.getInSta()) { - // 鑾峰彇鍏ュ簱绔欎俊鎭� - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); - StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo()); - if (staProtocol == null) { - continue; - } else { - staProtocol = staProtocol.clone(); - } - Short workNo = staProtocol.getWorkNo(); - Short stano = staProtocol.getStaNo(); - - // 灏哄妫�娴嬪紓甯� - boolean back = false; - String errMsg = ""; - if (staProtocol.isFrontErr()) { - errMsg = "鍓嶈秴闄�"; - back = true; - } - if (!back && staProtocol.isBackErr()) { - errMsg = "鍚庤秴闄�"; - back = true; - } - if (!back && staProtocol.isHighErr()) { - errMsg = "楂樿秴闄�"; - back = true; - } - if (!back && staProtocol.isLeftErr()) { - errMsg = "宸﹁秴闄�"; - back = true; - } - if (!back && staProtocol.isRightErr()) { - errMsg = "鍙宠秴闄�"; - back = true; - } - if (!back && staProtocol.isWeightErr()) { - errMsg = "瓒呴噸"; - back = true; - } - if (!back && staProtocol.isBarcodeErr()) { - errMsg = "鎵爜澶辫触"; - back = true; - } - // 閫�鍥� - if (back) { - if (stano == inSta.getBackSta().shortValue()) { - continue; - } - if (workNo == 0 && stano == 0) { - continue; - } - if (!staProtocol.isPakMk()) { - continue; - } -// News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg); - staProtocol.setWorkNo(workNo); - 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; - } - // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 - if (staProtocol.isAutoing() && staProtocol.isLoading() - && staProtocol.isInEnable() - && !staProtocol.isEmptyMk() && (workNo >= 9899) - && staProtocol.isPakMk()) { - // 鑾峰彇鏉$爜鎵弿浠俊鎭� - BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode()); - if (barcodeThread == null) { - continue; - } - String barcode = barcodeThread.getBarcode(); - if (!Cools.isEmpty(barcode) && !barcode.equals("99999999")) { - // 璇锋眰wms鎺ュ彛锛岃幏鍙栧伐浣滃彿鍜岀洰鏍囧簱浣� - ToWmsDTO toWmsDTO = new ToWmsDTO(barcode, staProtocol.getSiteId(), staProtocol.isHigh() ? 2 : 1); - TaskWrk taskWrk1 = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", barcode)); - if (!Cools.isEmpty(taskWrk1)) { - log.info("鎵樼洏鐮侊細" + barcode + "浠诲姟妗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)) { - log.info("鎵樼洏鐮侊細" + barcode + "浠诲姟妗e瓨鍦�"); - return; - } else { - staProtocol.setWorkNo(taskWrk1.getWrkNo().shortValue()); - staProtocol.setStaNo(staDesc.getCrnStn().shortValue()); - MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); - } - } - return; - } - HashMap<String, Object> headParam = new HashMap<>(); - headParam.put("Content-Type", "application/json"); - System.out.println(JSON.toJSONString(toWmsDTO)); - String response; - try { - response = new HttpHandler.Builder() - // .setHeaders(headParam) - .setUri(wmsUrl) - .setPath(inboundTaskApplyPath) - .setJson(JSON.toJSONString(toWmsDTO)) - .build() - .doPost(); - } catch (Exception e) { - log.error("璇锋眰鍏ュ簱璋冪敤鎺ュ彛澶辫触"); - log.error("寮傚父淇℃伅鎵撳嵃锛�" + e); - try { - BasDevp basDevp = basDevpService.selectById(inSta.getStaNo()); - if (Cools.isEmpty(basDevp)) { - log.error("绔欑偣鍙峰紓甯�" + inSta.getStaNo()); - } else if (basDevp.getStaErr() != 0) { - basDevp.setStaErr(2); - basDevpService.updateById(basDevp); - } - } catch (Exception e1) { - // 閫�鍥� - log.error("鎵爜妫�娴嬬▼搴忓紓甯�" + inSta.getStaNo() + "寮傚父淇℃伅" + e1); - } - 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; - } - - JSONObject jsonObject = JSON.parseObject(response); - log.info("鍏ュ簱璇锋眰鍙傛暟{}" + JSON.toJSONString(toWmsDTO)); - log.info("鍏ュ簱璇锋眰杩斿洖鍙傛暟{}" + JSON.toJSONString(response)); - if (jsonObject.getInteger("code").equals(200) && !Cools.isEmpty(jsonObject.get("data").toString())) { - GetWmsDto getWmsDto = JSON.parseObject(jsonObject.get("data").toString(), GetWmsDto.class); - 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", getWmsDto.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", getWmsDto.getLocNo())); - if (Cools.isEmpty(locMast)) { - try { - HashMap<String, Object> headParam1 = new HashMap<>(); - headParam1.put("taskNo", getWmsDto.getTaskNo()); - headParam1.put("status", 6); - headParam1.put("ioType", 1); - headParam1.put("barcode", barcode); - 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", getWmsDto.getWrkNo()); - throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触,娲惧彂搴撲綅==銆嬩笉涓虹┖銆�==锛屽紓甯镐俊鎭細" + e); - } - } - - // 鍒涙柊涓�涓叆搴撳伐浣滄。 - TaskWrk taskWrk = taskWrkService.selectByTaskNo(getWmsDto.getWrkNo()); - if (Cools.isEmpty(taskWrk)) { - taskWrk = createTask(getWmsDto, barcode); - if (Cools.isEmpty(taskWrk)) { - log.error("搴撲綅寮傚父锛屽簱浣嶅彿锛歿}", getWmsDto.getTargetLocationCode()); - } else { - taskWrkService.insert(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)); - } - } - - } else { - continue; - } - apiLogService.save("wms璇锋眰鍏ュ簱璐т綅鎺ュ彛" - , wmsUrl + inboundTaskApplyPath - , null - , "127.0.0.1" - , JSON.toJSONString(toWmsDTO) - , response - , true - ); - - } else { - // 閫�鍥� - log.error("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg); - - 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); - } - } - } - - - } - } - } catch (Exception e) { - log.error("generateStoreWrkFile e", e); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - } - } - - /** * 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯 */ @@ -561,7 +330,7 @@ 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())); + List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("type_no", 2).eq("crn_no", crnSlave.getId()).eq("crn_stn", crnStn.getStaNo())); for (StaDesc staDesc : staDescs) { try { // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅 @@ -572,7 +341,8 @@ } else { staProtocol = staProtocol.clone(); } - if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) { + + if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == null)) { // 鏌ヨ宸ヤ綔妗� TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorking(crnSlave.getId(), staDesc.getStnNo().toString()); if (taskWrk == null) { @@ -580,7 +350,7 @@ } log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:" + JSON.toJSONString(taskWrk)); // R r = siteController.siteDetlUpdate(Integer.valueOf(taskWrk.getTargetPoint()), taskWrk.getWrkNo().shortValue(), (short) 0, "Y", false, false); - staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue()); + staProtocol.setWorkNo(taskWrk.getWrkNo()); staProtocol.setStaNo(staDesc.getStnNo().shortValue()); boolean offer = false; try { @@ -623,7 +393,7 @@ } BasCrnp basCrnp = basCrnpService.selectById(crn.getId()); if (basCrnp == null) { - log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId()); + News.watchInfo(crn.getId() + "鍙峰爢鍨涙満", "{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId()); continue; } @@ -678,26 +448,30 @@ // 鏌ヨ绔欑偣璇︾粏淇℃伅 BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo()); if (staDetl == null) { - log.error("鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo()); + News.watchError(crnStn.getStaNo() + "绔欑偣", "鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo()); continue; } + if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0 && staProtocol.isInEnable() && staDetl.getCanining() != null && staDetl.getCanining().equals("Y")) { flag = true; } if (!flag) { +// News.watchError(crnStn.getStaNo() + "绔欑偣", "鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐圭姸鎬佹娴嬪け璐ワ紝绔欑偣闇�瑕佹弧瓒筹細鑷姩銆佹湁鐗┿�佹湁宸ヤ綔鍙枫�佺珯鐐瑰彲鍏�"); continue; } // 鑾峰彇宸ヤ綔鐘舵�佷负2锛堣澶囦笂璧帮級鐨勫叆搴撳伐浣滄。 - TaskWrk taskWrk = taskWrkMapper.selectPakIn(slave.getId(), staProtocol.getWorkNo().intValue(), staDesc.getStnNo().toString()); + TaskWrk taskWrk = taskWrkMapper.selectPakIn(slave.getId(), staProtocol.getWorkNo(), staDesc.getStnNo().toString()); if (null == taskWrk) { + News.watchError(crnStn.getStaNo() + "绔欑偣", "鍏ュ簱 ===>> 宸ヤ綔妗d笉瀛樺湪锛屾鏌ヤ换鍔℃槸鍚︾敓鎴�"); continue; } // 鍫嗗灈鏈烘帶鍒惰繃婊� if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) { + News.watchError(slave.getId() + "鍙峰爢鍨涙満", "鍫嗗灈鏈哄繖纰屼腑"); continue; } @@ -706,9 +480,6 @@ continue; } -// int workNo = commonService.getWorkNo(WorkNoType.PAKIN.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙� -// taskWrk.setWrkNo(workNo);//宸ヤ綔鍙� -// taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//娲惧彂鐘舵�� taskWrk.setAssignTime(new Date());//娲惧彂鏃堕棿 taskWrk.setWrkSts(3);//宸ヤ綔鐘舵�� 3.鍚婅溅鍏ュ簱 taskWrk.setCrnNo(staDesc.getCrnNo());//鍫嗗灈鏈哄彿 @@ -750,7 +521,7 @@ */ public synchronized void locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol) { List<TaskWrk> taskWrksInitial = taskWrkMapper.selectPakOut(slave.getId(), null); - if (taskWrksInitial.size() == 0) { + if (taskWrksInitial.isEmpty()) { return; } for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) { @@ -764,30 +535,8 @@ } // 宸ヤ綔妗g姸鎬佸垽鏂� if (taskWrk.getIoType() != 2 || taskWrk.getTargetPoint() == null || taskWrk.getStartPoint() == null) { - log.error("鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/绔欑偣, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", taskWrk.getWrkNo(), taskWrk.getStartPoint(), taskWrk.getIoType()); + News.watchError(taskWrk.getWrkNo() + "浠诲姟", "鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/绔欑偣, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", taskWrk.getWrkNo(), taskWrk.getStartPoint(), taskWrk.getIoType()); continue; - } - - LocMast locMast=locMastService.selectByLocNo(taskWrk.getStartPoint()); - //鍒ゆ柇鍏跺簱浣嶆槸鍚︿负娣卞簱浣嶏紝濡傛灉涓烘繁搴撲綅鎵惧叾娴呭簱浣嶆槸閮芥湁璐� - if(locMast.getRow1()==1||locMast.getRow1()==5){ - LocMast locMast1=locMastService.selectOne(new EntityWrapper<LocMast>() - .eq("row1", (locMast.getRow1()+1)) - .eq("bay1",locMast.getBay1()) - .eq("lev1",locMast.getLev1()).eq("loc_sts","F")); - if (!Cools.isEmpty(locMast1)){ - log.info(locMast.getLocNo()+"鍑烘繁搴撲綅锛屾祬搴撲綅鏈夎揣"); - continue; - } - }else if(locMast.getRow1()==4||locMast.getRow1()==8){ - LocMast locMast1=locMastService.selectOne(new EntityWrapper<LocMast>() - .eq("row1", (locMast.getRow1()-1)) - .eq("bay1",locMast.getBay1()) - .eq("lev1",locMast.getLev1()).eq("loc_sts","F")); - if (!Cools.isEmpty(locMast1)){ - log.info(locMast.getLocNo()+"鍑烘繁搴撲綅锛屾祬搴撲綅鏈夎揣"); - continue; - } } // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅 @@ -802,13 +551,13 @@ // 鏌ヨ绔欑偣璇︾粏淇℃伅 BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo()); if (staDetl == null) { - log.error("鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo()); + News.watchError(taskWrk.getWrkNo() + "浠诲姟", "鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo()); break; } // 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵�� - if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y") - && staProtocol.getWorkNo() == 0 && staProtocol.isOutEnable()) { + if (staProtocol.isAutoing() && staProtocol.isOutEnable() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y") + ) { // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- // 鍫嗗灈鏈烘帶鍒惰繃婊� @@ -817,7 +566,7 @@ } int storeCount = basDevpService.getStoreCount(); if(storeCount >= maxCount){ - log.error("杈撻�佺嚎鏆傚瓨鏁拌揪鍒颁笂闄恵}",storeCount); + News.watchError(taskWrk.getWrkNo() + "浠诲姟", "杈撻�佺嚎鏆傚瓨鏁拌揪鍒颁笂闄恵}", storeCount); break; } @@ -855,33 +604,25 @@ log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo()); log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽紓甯革細" + e); } -// 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()); -// 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澶辫触", JSON.toJSONString(taskWrk)); -//// throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触"); -// } + + //涓婃姤-鍑哄簱浠诲姟寮�濮嬫椂锛學CS鍥炶皟WMS + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:ss:mm"); + HashMap<String, Object> hashMap = new HashMap<>(); + hashMap.put("taskNo", taskWrk.getTaskNo()); + hashMap.put("status", TaskStatusType.DISTRIBUTE.id); + hashMap.put("ioType", 2); + hashMap.put("barcode", taskWrk.getBarcode()); + hashMap.put("reportTime", format.format(new Date())); + + NotifyCustomDataDto customDataDto = new NotifyCustomDataDto(); + customDataDto.setUri(wmsUrl); + customDataDto.setPath(taskExecCallback); + customDataDto.setData(JSON.toJSONString(hashMap)); + boolean notifyResult = notifyUtils.notify("task", 1, String.valueOf(taskWrk.getWrkNo()), taskWrk.getTaskNo(), NotifyMsgType.TASK_START, JSON.toJSONString(taskWrk), true, customDataDto); + if(notifyResult) { + taskWrk.setStatus(2); + taskWrkService.updateById(taskWrk); + } } } } @@ -955,37 +696,24 @@ if (taskWrkMapper.updateById(taskWrk) == 0) { log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo()); } - String response = ""; - Boolean bool=false; - HashMap<String, Object> headParam = new HashMap<>(); - headParam.put("TaskNo", taskWrk.getTaskNo()); - try { - response = new HttpHandler.Builder() - // .setHeaders(headParam) - .setUri(wmsUrl) - .setPath(taskStatusFeedbackPath) - .setJson(JSON.toJSONString(headParam)) - .build() - .doPost(); - JSONObject jsonObject = JSON.parseObject(response); - if(jsonObject.get("ReturnStatus").equals(0)){ - bool = true; - taskWrk.setStatus(2); - taskWrkMapper.updateById(taskWrk); - } - } catch (Exception e) { - log.error("wcs娲惧彂绉诲簱搴撲换鍔′笂鎶ms澶辫触", taskWrk); -// throw new CoolException("wcs娲惧彂绉诲簱搴撲换鍔′笂鎶ms澶辫触"); - }finally { - apiLogService.save("wcs娲惧彂绉诲簱浠诲姟涓婃姤wms" - , wmsUrl + taskStatusFeedbackPath - , null - , "127.0.0.1" - , JSON.toJSONString(headParam) - , response - , bool - ); + //涓婃姤-绉诲簱浠诲姟寮�濮嬫椂锛學CS鍥炶皟WMS + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:ss:mm"); + HashMap<String, Object> hashMap = new HashMap<>(); + hashMap.put("taskNo", taskWrk.getTaskNo()); + hashMap.put("status", TaskStatusType.DISTRIBUTE.id); + hashMap.put("ioType", 3); + hashMap.put("barcode", taskWrk.getBarcode()); + hashMap.put("reportTime", format.format(new Date())); + + NotifyCustomDataDto customDataDto = new NotifyCustomDataDto(); + customDataDto.setUri(wmsUrl); + customDataDto.setPath(taskExecCallback); + customDataDto.setData(JSON.toJSONString(hashMap)); + boolean notifyResult = notifyUtils.notify("task", 1, String.valueOf(taskWrk.getWrkNo()), taskWrk.getTaskNo(), NotifyMsgType.TASK_START, JSON.toJSONString(taskWrk), true, customDataDto); + if(notifyResult) { + taskWrk.setStatus(2); + taskWrkService.updateById(taskWrk); } } @@ -1073,40 +801,13 @@ if (taskWrk.getIoType() == 1 && taskWrk.getWrkSts() == 3) { taskWrk.setWrkSts(4);//鍏ュ簱瀹屾垚 taskWrk.setStatus(5);//瀹岀粨 - //鏇存柊搴撲綅鐘舵�� - LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint()); - locMast.setLocSts("F");//F.鍦ㄥ簱 - locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮� - locMast.setModiTime(new Date()); - locMast.setModiUser(9999L); - locMastService.updateById(locMast); } else if (taskWrk.getIoType() == 2 && taskWrk.getWrkSts() == 12) { taskWrk.setWrkSts(13);//鍑哄簱瀹屾垚 taskWrk.setStatus(5);//瀹岀粨 - //鏇存柊搴撲綅鐘舵�� - LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint()); - locMast.setLocSts("O");//O.绌哄簱浣� - locMast.setBarcode("");//鎵樼洏鐮� - locMast.setModiTime(new Date()); - locMast.setModiUser(9999L); - locMastService.updateById(locMast); + } else if (taskWrk.getIoType() == 3 && taskWrk.getWrkSts() == 12) { taskWrk.setWrkSts(4);//鍏ュ簱瀹屾垚 taskWrk.setStatus(5);//瀹岀粨 - //鏇存柊搴撲綅鐘舵�� - LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint()); - locMast.setLocSts("F");//F.鍦ㄥ簱 - locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮� - locMast.setModiTime(new Date()); - locMast.setModiUser(9999L); - locMastService.updateById(locMast); - - LocMast locMast1 = locMastService.selectByLocNo(taskWrk.getStartPoint()); - locMast1.setLocSts("O");//O.绌哄簱浣� - locMast1.setBarcode("");//鎵樼洏鐮� - locMast1.setModiTime(new Date()); - locMast1.setModiUser(9999L); - locMastService.updateById(locMast1); } taskWrkService.updateById(taskWrk); } @@ -1135,26 +836,26 @@ // 鏈夊紓甯� if (latest == null) { if (crnProtocol.getAlarm() != null && crnProtocol.getAlarm() > 0) { - WrkMast wrkMast = wrkMastMapper.selectById(crnProtocol.getTaskNo()); - if (wrkMast == null) { + TaskWrk taskWrk = taskWrkService.selectByWrkNo(crnProtocol.getTaskNo().intValue()); + if (taskWrk == null) { continue; } BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm()); String errName = crnError == null ? String.valueOf(crnProtocol.getAlarm()) : crnError.getErrName(); BasErrLog basErrLog = new BasErrLog( null, // 缂栧彿 - wrkMast.getWrkNo(), // 宸ヤ綔鍙� + taskWrk.getWrkNo(), // 宸ヤ綔鍙� now, // 鍙戠敓鏃堕棿 null, // 缁撴潫鏃堕棿 - wrkMast.getWrkSts(), // 宸ヤ綔鐘舵�� - wrkMast.getIoType(), // 鍏ュ嚭搴撶被鍨� + taskWrk.getWrkSts().longValue(), // 宸ヤ綔鐘舵�� + taskWrk.getIoType(), // 鍏ュ嚭搴撶被鍨� crn.getId(), // 鍫嗗灈鏈� null, // plc - wrkMast.getLocNo(), // 鐩爣搴撲綅 - wrkMast.getStaNo(), // 鐩爣绔� - wrkMast.getSourceStaNo(), // 婧愮珯 - wrkMast.getSourceLocNo(), // 婧愬簱浣� - wrkMast.getBarcode(), // 鏉$爜 + taskWrk.getTargetPoint(), // 鐩爣搴撲綅 + null, // 鐩爣绔� + null, // 婧愮珯 + taskWrk.getStartPoint(), // 婧愬簱浣� + taskWrk.getBarcode(), // 鏉$爜 (int) crnProtocol.getAlarm1(), // 寮傚父鐮� errName, // 寮傚父 1, // 寮傚父鎯呭喌 @@ -1301,40 +1002,6 @@ locMastService.updateById(locMast); } } - } - - private TaskWrk createTask1(Result result, String barcode) { - String locNo = Utils.getLocNo(result.getRow(), result.getFloor(), result.getColumn()); - LocMast locMast = locMastService.selectByLocNo(locNo); - if (locMast == null) { - throw new CoolException("搴撲綅涓嶅瓨鍦�"); - } - - 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.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹 - taskWrk.setCreateTime(now); - taskWrk.setIoType(1);//浠诲姟绫诲瀷 - taskWrk.setIoPri(13);//浼樺厛绾� - taskWrk.setBarcode(barcode);//鏉$爜 - taskWrk.setCrnNo(locMast.getCrnNo()); - taskWrk.setTargetPoint(locNo); - taskWrk.setStartPoint("116"); - if (result.getAlley().equals("1")) { - taskWrk.setCrnNo(1); - } else { - taskWrk.setCrnNo(2); - } - if (taskWrk.getIoType() == 1) { - taskWrk.setWrkSts(2); - if (!Cools.isEmpty(taskWrk.getTargetPoint())) { - taskWrk.setOriginTargetPoint(taskWrk.getTargetPoint()); - } - } - return taskWrk; } private TaskWrk createTask(GetWmsDto dto, String barcode) { -- Gitblit v1.9.1