From d65679fefe52fc2bf2435825c65aec3a329e3b9e Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期二, 22 四月 2025 14:40:21 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/WorkService.java | 10 version/立库 WMS接口文档 2024 0807.docx | 0 src/main/java/com/zy/asrs/task/TaskLogScheduler.java | 76 +--- src/main/java/com/zy/asrs/controller/OpenController.java | 85 +++- src/main/java/com/zy/asrs/entity/param/TaskCreateInParam.java | 32 + src/main/java/com/zy/asrs/utils/NotifyUtils.java | 100 +++++ src/main/java/com/zy/asrs/task/NotifyScheduler.java | 149 ++++++++ src/main/java/com/zy/asrs/domain/enums/RedisKeyType.java | 13 src/main/java/com/zy/asrs/controller/WorkController.java | 18 - src/main/java/com/zy/asrs/service/OpenService.java | 3 src/main/java/com/zy/asrs/domain/dto/NotifyDto.java | 49 ++ src/main/java/com/zy/common/config/RedisConfig.java | 3 src/main/java/com/zy/asrs/domain/enums/NotifyMsgType.java | 40 ++ src/main/java/com/zy/common/utils/RedisUtil.java | 1 src/main/java/com/zy/asrs/utils/Utils.java | 89 ----- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 207 ----------- src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java | 1 src/main/java/com/zy/asrs/controller/TaskWrkController.java | 75 --- src/main/java/com/zy/core/MainProcess.java | 3 src/main/java/com/zy/asrs/domain/dto/NotifyCustomDataDto.java | 14 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 41 ++ src/main/resources/application.yml | 8 22 files changed, 534 insertions(+), 483 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java index 2a3e840..13cef9e 100644 --- a/src/main/java/com/zy/asrs/controller/OpenController.java +++ b/src/main/java/com/zy/asrs/controller/OpenController.java @@ -57,6 +57,17 @@ add("ea1f0459efc02a79f046f982767939ae"); }}; + private void auth(String appkey, Object obj, HttpServletRequest request) { + log.info("{}鎺ュ彛琚闂紱appkey:{}锛涜姹傛暟鎹細{}", request.getServletPath(), appkey, JSON.toJSONString(obj)); + request.setAttribute("cache", obj); + if (Cools.isEmpty(appkey)) { + throw new CoolException("璁よ瘉澶辫触锛岃纭appkey鏃犺锛�"); + } + if (!APP_KEY_LIST.contains(appkey)) { + throw new CoolException("璁よ瘉澶辫触锛岃纭appkey鏃犺锛�"); + } + } + //鍒涘缓浠诲姟 @PostMapping("/taskCreate") @Transactional @@ -81,26 +92,26 @@ return R.error("鏉$爜[barcode]涓嶈兘涓虹┖"); } String locNo=null; - if(param.getIoType()==1){ - locNo=param.getTargetPoint(); - }else{ - locNo=param.getStartPoint(); + if (param.getIoType() == 1) { + locNo = param.getTargetPoint(); + } else { + locNo = param.getStartPoint(); } - try{ + try { LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>() - .eq("loc_no", locNo).ne("loc_sts","X")); - if (Cools.isEmpty(locMast)){ - log.error("搴撲綅鍙蜂笉瀛樺湪"+locNo); - return R.error("搴撲綅鍙蜂笉瀛樺湪"+locNo).add("搴撲綅鍙蜂笉瀛樺湪"+locNo); + .eq("loc_no", locNo).ne("loc_sts", "X")); + if (Cools.isEmpty(locMast)) { + log.error("搴撲綅鍙蜂笉瀛樺湪" + locNo); + return R.error("搴撲綅鍙蜂笉瀛樺湪" + locNo).add("搴撲綅鍙蜂笉瀛樺湪" + locNo); } - }catch (Exception e){ - log.error("搴撲綅鍙锋娴嬬▼搴忓紓甯�==銆嬪紓甯镐俊鎭�"+e); - return R.error("搴撲綅鍙锋娴嬬▼搴忓紓甯�").add("搴撲綅鍙锋娴嬬▼搴忓紓甯�==銆嬪紓甯镐俊鎭�"+e); + } catch (Exception e) { + log.error("搴撲綅鍙锋娴嬬▼搴忓紓甯�==銆嬪紓甯镐俊鎭�" + e); + return R.error("搴撲綅鍙锋娴嬬▼搴忓紓甯�").add("搴撲綅鍙锋娴嬬▼搴忓紓甯�==銆嬪紓甯镐俊鎭�" + e); } - LocMast locMast=locMastService.selectOne(new EntityWrapper<LocMast>() - .eq("loc_sts","F") - .eq("loc_no",locNo) - .eq("barcode",param.getBarcode())); + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>() + .eq("loc_sts", "F") + .eq("loc_no", locNo) + .eq("barcode", param.getBarcode())); if(Cools.isEmpty(locMast)){ return R.error("璇ュ簱浣嶄笉婊¤冻鍑哄簱鏉′欢"+param.getTargetPoint()); } @@ -108,12 +119,41 @@ locNoList.add(locMast.getLocNo()); paramList.add(param); }else { - return R.error("璇ュ簱浣嶄笉鑳藉悓鏃朵笅鍙戜袱绗斾换鍔�"+locMast.getLocNo()); + return R.error("璇ュ簱浣嶄笉鑳藉悓鏃朵笅鍙戜袱绗斾换鍔�" + locMast.getLocNo()); } } for (TaskCreateParam param : paramList){ openService.taskCreate(param); } + }catch (Exception e){ + log.error("浠诲姟涓嬪彂寮傚父"+e); + return R.error(); + } + return R.ok(); + } + + //鍒涘缓鍏ュ簱浠诲姟 + @PostMapping("/taskCreateIn") + @Transactional + public R taskCreateIn(@RequestHeader String appkey, + @RequestBody TaskCreateInParam param, + HttpServletRequest request) { + auth(appkey, param, request); + try{ + if (Cools.isEmpty(param)) { + return R.parse(BaseRes.PARAM); + } + if (Cools.isEmpty(param.getTaskNo())) { + return R.error("浠诲姟鍙穂taskNo]涓嶈兘涓虹┖"); + } + if (Cools.isEmpty(param.getIoType())) { + return R.error("浠诲姟绫诲瀷[ioType]涓嶈兘涓虹┖"); + } + if (Cools.isEmpty(param.getBarcode())) { + return R.error("鏉$爜[barcode]涓嶈兘涓虹┖"); + } + + openService.taskCreateIn(param); }catch (Exception e){ log.error("浠诲姟涓嬪彂寮傚父"+e); return R.error(); @@ -147,17 +187,6 @@ List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskNo); return R.ok().add(commandInfos); - } - - private void auth(String appkey, Object obj, HttpServletRequest request) { - log.info("{}鎺ュ彛琚闂紱appkey:{}锛涜姹傛暟鎹細{}", request.getServletPath(), appkey, JSON.toJSONString(obj)); - request.setAttribute("cache", obj); - if (Cools.isEmpty(appkey)) { - throw new CoolException("璁よ瘉澶辫触锛岃纭appkey鏃犺锛�"); - } - if (!APP_KEY_LIST.contains(appkey)) { - throw new CoolException("璁よ瘉澶辫触锛岃纭appkey鏃犺锛�"); - } } //浠诲姟涓嬪彂鎺ュ彛 diff --git a/src/main/java/com/zy/asrs/controller/TaskWrkController.java b/src/main/java/com/zy/asrs/controller/TaskWrkController.java index b9b6763..7a21695 100644 --- a/src/main/java/com/zy/asrs/controller/TaskWrkController.java +++ b/src/main/java/com/zy/asrs/controller/TaskWrkController.java @@ -6,12 +6,11 @@ import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.plugins.Page; import com.core.common.DateUtils; -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.TaskStatusType; -import com.zy.asrs.entity.CommandInfo; import com.zy.asrs.entity.LocMast; import com.zy.asrs.entity.TaskWrk; -import com.zy.asrs.entity.param.TaskOverToWms; import com.zy.asrs.service.ApiLogService; import com.zy.asrs.service.CommandInfoService; import com.zy.asrs.service.LocMastService; @@ -20,6 +19,7 @@ import com.core.common.BaseRes; import com.core.common.Cools; import com.core.common.R; +import com.zy.asrs.utils.NotifyUtils; import com.zy.common.utils.HttpHandler; import com.zy.common.web.BaseController; import lombok.extern.slf4j.Slf4j; @@ -35,21 +35,18 @@ @Value("${wms.url}") private String wmsUrl; - @Autowired private TaskWrkService taskWrkService; - @Autowired private CommandInfoService commandInfoService; - @Autowired private LocMastService locMastService; - @Value("${wms.TaskExecCallback}") private String TaskExecCallback; - @Autowired private ApiLogService apiLogService; + @Autowired + private NotifyUtils notifyUtils; @RequestMapping(value = "/taskWrk/{wrkNo}/auth") @ManagerAuth @@ -179,9 +176,9 @@ if (Cools.isEmpty(taskWrk) || taskWrk.getStatus()>=3){ return R.error("宸插畬缁撴垨宸插彇娑�") ; } - LocMast locMast=new LocMast(); + LocMast locMast = new LocMast(); if(taskWrk.getIoType()==1){//鍏ュ簱浠诲姟瀹屾垚搴撲綅涓篎 - locMast=locMastService.selectByLocNo(taskWrk.getTargetPoint()); + locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint()); if(Cools.isEmpty(locMast)){ R.error("娌℃湁鎵惧埌璇ュ簱浣�") ; } @@ -189,14 +186,14 @@ locMast.setModiTime(new Date()); locMast.setBarcode(taskWrk.getBarcode()); }else if(taskWrk.getIoType()==2){//鍑哄簱浠诲姟瀹屾垚搴撲綅涓篛 - locMast=locMastService.selectByLocNo(taskWrk.getStartPoint()); + locMast = locMastService.selectByLocNo(taskWrk.getStartPoint()); if(Cools.isEmpty(locMast)){ R.error("娌℃湁鎵惧埌璇ュ簱浣�") ; } locMast.setLocSts("O"); locMast.setModiTime(new Date()); }else if(taskWrk.getIoType()==3){ - locMast=locMastService.selectByLocNo(taskWrk.getStartPoint()); + locMast = locMastService.selectByLocNo(taskWrk.getStartPoint()); if(Cools.isEmpty(locMast)){ R.error("娌℃湁鎵惧埌璇ュ簱浣�") ; } @@ -212,34 +209,7 @@ locMast.setBarcode(taskWrk.getBarcode()); } - String response=""; - try{ - HashMap<String, Object> headParam = new HashMap<>(); - headParam.put("TaskNo",taskWrk.getTaskNo()); - headParam.put("Result",1); -// headParam.put("reportTime",new Date()); - log.info("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms={}", taskWrk); - response = new HttpHandler.Builder() - // .setHeaders(headParam) - .setUri(wmsUrl) - .setPath(TaskExecCallback) - .setJson(JSON.toJSONString(headParam)) - .build() - .doPost(); - JSONObject jsonObject = JSON.parseObject(response); - apiLogService.save("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms" - ,wmsUrl+TaskExecCallback - ,null - ,"127.0.0.1" - ,JSON.toJSONString(headParam) - ,response - ,true - ); - }catch (Exception e){ - log.error("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms澶眥},杩斿洖鍊�={}", taskWrk,response); -// throw new CoolException(e); - } locMastService.updateById(locMast); taskWrk.setStatus(7);//鎵嬪姩瀹屾垚浠诲姟 taskWrk.setModiTime(new Date()); @@ -288,34 +258,7 @@ }catch (Exception e){ taskWrk.setModiUser(9999L);//鎿嶄綔鍛� } - String response=""; - try{ - HashMap<String, Object> headParam = new HashMap<>(); - headParam.put("TaskNo",taskWrk.getTaskNo()); - headParam.put("Result",0); -// headParam.put("reportTime",new Date()); - log.info("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wm={}", taskWrk); - response = new HttpHandler.Builder() - // .setHeaders(headParam) - .setUri(wmsUrl) - .setPath(TaskExecCallback) - .setJson(JSON.toJSONString(headParam)) - .build() - .doPost(); - JSONObject jsonObject = JSON.parseObject(response); - apiLogService.save("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms" - ,wmsUrl+TaskExecCallback - ,null - ,"127.0.0.1" - ,JSON.toJSONString(headParam) - ,response - ,true - ); - }catch (Exception e){ - log.error("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms澶辫触={},杩斿洖鍊�={}", taskWrk,response); -// throw new CoolException(e); - } taskWrk.setCompleteTime(now);//瀹岀粨鏃堕棿 taskWrkService.updateById(taskWrk); return R.ok(); diff --git a/src/main/java/com/zy/asrs/controller/WorkController.java b/src/main/java/com/zy/asrs/controller/WorkController.java index 7bb57fc..4dbb68e 100644 --- a/src/main/java/com/zy/asrs/controller/WorkController.java +++ b/src/main/java/com/zy/asrs/controller/WorkController.java @@ -1,12 +1,8 @@ package com.zy.asrs.controller; -import com.core.annotations.ManagerAuth; -import com.core.common.R; import com.zy.asrs.service.WorkService; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @@ -19,19 +15,5 @@ @Autowired private WorkService workService; - - @RequestMapping("/hand/control/wrkMast") - @ManagerAuth(memo = "鎵嬪姩澶勭悊宸ヤ綔妗�") - public R handControlWrkMast(@RequestParam String workNo, - @RequestParam Integer type){ - if (type == 1) { - workService.completeWrkMast(workNo, getUserId()); - return R.ok("浠诲姟宸插畬鎴�"); - } else if (type == 2) { - workService.cancelWrkMast(workNo, getUserId()); - return R.ok("浠诲姟宸插彇娑�"); - } - return R.ok(); - } } diff --git a/src/main/java/com/zy/asrs/domain/dto/NotifyCustomDataDto.java b/src/main/java/com/zy/asrs/domain/dto/NotifyCustomDataDto.java new file mode 100644 index 0000000..92a2c58 --- /dev/null +++ b/src/main/java/com/zy/asrs/domain/dto/NotifyCustomDataDto.java @@ -0,0 +1,14 @@ +package com.zy.asrs.domain.dto; + +import lombok.Data; + +@Data +public class NotifyCustomDataDto { + + private String uri; + + private String path; + + private String data; + +} diff --git a/src/main/java/com/zy/asrs/domain/dto/NotifyDto.java b/src/main/java/com/zy/asrs/domain/dto/NotifyDto.java new file mode 100644 index 0000000..1c69e23 --- /dev/null +++ b/src/main/java/com/zy/asrs/domain/dto/NotifyDto.java @@ -0,0 +1,49 @@ +package com.zy.asrs.domain.dto; + +import lombok.Data; + +@Data +public class NotifyDto { + + private Long id; + + //閫氱煡绫诲瀷 + private String notifyType; + + //璁惧鍙� + private Integer device; + + //宸ヤ綔鍙� + private String taskNo; + + //涓婄骇绯荤粺宸ヤ綔鍙� + private String superTaskNo; + + //娑堟伅绫诲瀷 + private String msgType; + + //娑堟伅鎻忚堪 + private String msgDesc; + + //娑堟伅鏁版嵁 + private String data; + + //鍙戦�佽嚜瀹氫箟娑堟伅鏁版嵁锛岄粯璁ゆ爣鍑嗘牸寮� + private Boolean sendCustomData = false; + + //鑷畾涔夋秷鎭暟鎹牸寮� + private NotifyCustomDataDto customData; + + //澶辫触閲嶈瘯娆℃暟 + private Integer failTimes = 3; + + //閲嶈瘯娆℃暟 + private Integer retryTimes = 0; + + //閲嶈瘯闂撮殧榛樿30s + private Integer retryTime = 30; + + //涓婃閲嶈瘯鏃堕棿 + private Long lastRetryTime = 0L; + +} diff --git a/src/main/java/com/zy/asrs/domain/enums/NotifyMsgType.java b/src/main/java/com/zy/asrs/domain/enums/NotifyMsgType.java new file mode 100644 index 0000000..94e316e --- /dev/null +++ b/src/main/java/com/zy/asrs/domain/enums/NotifyMsgType.java @@ -0,0 +1,40 @@ +package com.zy.asrs.domain.enums; + +public enum NotifyMsgType { + //浠诲姟 + TASK_COMPLETE("task_complete", "浠诲姟瀹屾垚"), + TASK_CANCEL("task_cancel", "浠诲姟鍙栨秷"), + ; + + public String flag; + public String desc; + + NotifyMsgType(String flag, String desc) { + this.flag = flag; + this.desc = desc; + } + + public static NotifyMsgType get(String flag) { + if (null == flag) { + return null; + } + for (NotifyMsgType type : NotifyMsgType.values()) { + if (type.flag.equals(flag)) { + return type; + } + } + return null; + } + + public static NotifyMsgType get(NotifyMsgType type) { + if (null == type) { + return null; + } + for (NotifyMsgType type2 : NotifyMsgType.values()) { + if (type2 == type) { + return type2; + } + } + return null; + } +} diff --git a/src/main/java/com/zy/asrs/domain/enums/RedisKeyType.java b/src/main/java/com/zy/asrs/domain/enums/RedisKeyType.java new file mode 100644 index 0000000..d096fd3 --- /dev/null +++ b/src/main/java/com/zy/asrs/domain/enums/RedisKeyType.java @@ -0,0 +1,13 @@ +package com.zy.asrs.domain.enums; + +public enum RedisKeyType { + + QUEUE_TASK("queue_task_"), + ; + + public String key; + + RedisKeyType(String key) { + this.key = key; + } +} diff --git a/src/main/java/com/zy/asrs/entity/param/TaskCreateInParam.java b/src/main/java/com/zy/asrs/entity/param/TaskCreateInParam.java new file mode 100644 index 0000000..15e3f76 --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/param/TaskCreateInParam.java @@ -0,0 +1,32 @@ +package com.zy.asrs.entity.param; + +import lombok.Data; + +@Data +public class TaskCreateInParam { + + //浠诲姟鍙� + private String taskNo; + + //浠诲姟绫诲瀷 + private Integer ioType; + + //浼樺厛绾� + private Integer taskPriority; + + //缁堢偣 + private String targetPoint; + + //鏄惁绌烘墭鐩� Y:鏄� N锛氬惁 + private String emptyContainer; + + //鏉$爜 + private String barcode; + + //澶囨敞 + private String memo; + + //鍫嗗灈鏈� + private Integer crn; + +} diff --git a/src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java b/src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java index 0d5534d..4e6930e 100644 --- a/src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java +++ b/src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java @@ -1,6 +1,5 @@ package com.zy.asrs.entity.param; -import io.swagger.models.auth.In; import lombok.Data; @Data diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java index 19d5500..a997979 100644 --- a/src/main/java/com/zy/asrs/service/OpenService.java +++ b/src/main/java/com/zy/asrs/service/OpenService.java @@ -1,5 +1,6 @@ package com.zy.asrs.service; +import com.zy.asrs.entity.param.TaskCreateInParam; import com.zy.asrs.entity.param.TaskCreateParam; import java.util.HashMap; @@ -8,4 +9,6 @@ //鍒涘缓浠诲姟 HashMap<String,Object> taskCreate(TaskCreateParam param); + HashMap<String,Object> taskCreateIn(TaskCreateInParam param); + } diff --git a/src/main/java/com/zy/asrs/service/WorkService.java b/src/main/java/com/zy/asrs/service/WorkService.java index 197a32a..e52ff2a 100644 --- a/src/main/java/com/zy/asrs/service/WorkService.java +++ b/src/main/java/com/zy/asrs/service/WorkService.java @@ -2,14 +2,4 @@ public interface WorkService { - /** - * 鎵嬪姩瀹屾垚宸ヤ綔妗� - */ - void completeWrkMast(String workNo, Long userId); - - /** - * 鎵嬪姩鍙栨秷宸ヤ綔妗� - */ - void cancelWrkMast(String workNo, Long userId); - } 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 60bf3cd..cd5f403 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -5,6 +5,7 @@ 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.TaskCreateInParam; import com.zy.asrs.entity.param.TaskCreateParam; import com.zy.asrs.service.*; import com.zy.asrs.utils.Utils; @@ -56,7 +57,7 @@ if (param.getIoType() == 1) { taskWrk.setWrkSts(1); if (!Cools.isEmpty(param.getTargetPoint())) { - taskWrk.setTargetPoint(Utils.getWcsLocNo(param.getTargetPoint()));//缁堢偣 + taskWrk.setTargetPoint(param.getTargetPoint());//缁堢偣 taskWrk.setOriginTargetPoint(param.getTargetPoint()); } @@ -90,4 +91,42 @@ return map; } + @Override + public HashMap<String, Object> taskCreateIn(TaskCreateInParam param) { + HashMap<String, Object> map = new HashMap<>(); + TaskWrk taskWrk = taskWrkService.selectByTaskNo(param.getTaskNo()); + if (taskWrk != null) { + map.put("Code","0"); + map.put("Msg", param.getTaskNo() + "浠诲姟宸茬粡鐢熸垚锛�"); + return map; + } + + Date now = new Date(); + taskWrk = new TaskWrk(); + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", param.getTargetPoint())); + int workNo1 = commonService.getWorkNo(WorkNoType.PAKIN.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙� + taskWrk.setTaskNo(param.getTaskNo());//浠诲姟鍙� + taskWrk.setWrkNo(workNo1); + taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹 + taskWrk.setCreateTime(now); + taskWrk.setIoType(param.getIoType());//浠诲姟绫诲瀷 + taskWrk.setIoPri(param.getTaskPriority());//浼樺厛绾� + taskWrk.setBarcode(param.getBarcode());//鏉$爜 + taskWrk.setCrnNo(locMast.getCrnNo()); + taskWrk.setWrkSts(1); + taskWrk.setTargetPoint(param.getTargetPoint());//缁堢偣 + taskWrk.setOriginTargetPoint(param.getTargetPoint()); + if (!Cools.isEmpty(param.getMemo())) { + taskWrk.setMemo(param.getMemo());//澶囨敞 + } + + if (!taskWrkService.insert(taskWrk)) { + map.put("Code", "0"); + map.put("Msg", param.getTaskNo() + "鍒涘缓浠诲姟澶辫触锛�"); + return map; + } + map.put("Code","1"); + map.put("Msg","ok"); + return map; + } } diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index 4df73f7..99a0306 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -1,211 +1,12 @@ package com.zy.asrs.service.impl; -import com.alibaba.fastjson.JSON; -import com.core.common.Cools; -import com.core.common.DateUtils; -import com.core.exception.CoolException; -import com.zy.asrs.entity.LocMast; -import com.zy.asrs.entity.WrkMast; -import com.zy.asrs.service.*; -import com.zy.common.utils.HttpHandler; -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.Transactional; -import java.util.Date; -import java.util.HashMap; -import java.util.concurrent.TimeUnit; +import com.zy.asrs.service.WorkService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + @Slf4j @Service public class WorkServiceImpl implements WorkService { - @Autowired - private WrkMastService wrkMastService; - @Autowired - private LocMastService locMastService; - @Autowired - private WaitPakinService waitPakinService; - @Autowired - private WrkMastLogService wrkMastLogService; - @Autowired - private WrkDetlLogService wrkDetlLogService; - @Autowired - private WrkDetlService wrkDetlService; - @Autowired - private ApiLogService apiLogService; - @Value("${wms.url}") - private String wmsUrl; - @Value("${wms.inboundTaskApplyPath}") - private String inboundTaskApplyPath; - @Value("${wms.movePath}") - private String movePath; - @Value("${wms.taskStatusFeedbackPath}") - private String taskStatusFeedbackPath; - - @Override - @Transactional - public void completeWrkMast(String workNo, Long userId) { - WrkMast wrkMast = wrkMastService.selectById(workNo); - if (Cools.isEmpty(wrkMast)) { - throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪"); - } - if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 14) { - throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚"); - } - // 鍏ュ簱 + 搴撲綅杞Щ - if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType() == 11)) { - wrkMast.setWrkSts(4L); - // 鍑哄簱 - } else if (wrkMast.getWrkSts() > 10) { - wrkMast.setWrkSts(14L); - } - Date now = new Date(); - wrkMast.setCrnStrTime(DateUtils.calculate(now, 1L, TimeUnit.SECONDS, true)); - wrkMast.setCrnEndTime(now); - wrkMast.setModiTime(now); - wrkMast.setModiUser(userId); - // 瀹屾垚鎿嶄綔浜哄憳璁板綍 - wrkMast.setManuType("鎵嬪姩瀹屾垚"); - if (!wrkMastService.updateById(wrkMast)) { - throw new CoolException("淇敼宸ヤ綔妗eけ璐�"); - } - - HashMap<String,Object> headParam = new HashMap<>(); - headParam.put("TaskNo",wrkMast.getTaskNo()); - headParam.put("Result",0);//瀹屾垚 - - try { - String response; - log.error("wcs鎵嬪姩瀹岀粨浠诲姟涓婃姤wms={}", wrkMast); - - response = new HttpHandler.Builder() - // .setHeaders(headParam) - .setUri(wmsUrl) - .setPath(taskStatusFeedbackPath) - .setJson(JSON.toJSONString(headParam)) - .build() - .doPost(); - apiLogService.save("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms" - , wmsUrl + taskStatusFeedbackPath - , null - , "127.0.0.1" - , JSON.toJSONString(headParam) - , response - , true - ); - } catch (Exception e) { - log.error("wcs鎵嬪姩瀹岀粨浠诲姟涓婃姤wms澶辫触={}", wrkMast); - log.error("wcs鎵嬪姩瀹岀粨浠诲姟涓婃姤wms澶辫触,鎶ラ敊淇℃伅锛�", e); -// throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触"); - } - } - - @Override - @Transactional - public void cancelWrkMast(String workNo, Long userId) { - Date now = new Date(); - WrkMast wrkMast = wrkMastService.selectById(workNo); - - String locNo = ""; // 寰呬慨鏀圭洰鏍囧簱浣� - String locSts = ""; // 寰呬慨鏀圭洰鏍囧簱浣嶇姸鎬� - // 鍏ュ簱鍙栨秷锛堜慨鏀圭洰鏍囧簱浣嶏級 - if (wrkMast.getWrkSts() < 4) { - locNo = wrkMast.getLocNo(); - locSts = "O"; - - // 搴撲綅杞Щ - if (wrkMast.getIoType() == 11) { - // 搴撲綅杞Щ锛氭簮搴撲綅 - LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); - if (Cools.isEmpty(locMast)) { - throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛屾簮搴撲綅涓嶅瓨鍦�:" + wrkMast.getSourceLocNo()); - } - locMast.setLocSts(wrkMast.getFullPlt().equalsIgnoreCase("N") ? "D" : "F"); - locMast.setModiTime(now); - locMast.setModiUser(userId); - locMastService.updateById(locMast); - } - // 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛� - } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14) { - locNo = wrkMast.getSourceLocNo(); - // 鍑哄簱 ===>> F.鍦ㄥ簱 - if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) { - locSts = "F"; - // 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉� - } else if (wrkMast.getIoType() == 110) { - locSts = "D"; - // 搴撲綅杞Щ ===>> D.绌烘《/绌烘爤鏉� - } else if (wrkMast.getIoType() == 11) { - locSts = wrkMast.getFullPlt().equalsIgnoreCase("N") ? "D" : "F"; - // 搴撲綅杞Щ锛氱洰鏍囧簱浣� - LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); - if (Cools.isEmpty(locMast)) { - throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛岀洰鏍囧簱浣嶄笉瀛樺湪:" + wrkMast.getSourceLocNo()); - } - locMast.setLocSts("O"); - locMast.setModiTime(now); - locMast.setModiUser(userId); - locMastService.updateById(locMast); - } - } else { - throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�"); - } - // 鍙栨秷鎿嶄綔浜哄憳璁板綍 - wrkMast.setManuType("鎵嬪姩鍙栨秷"); - wrkMast.setModiUser(userId); - wrkMast.setModiTime(now); - if (!wrkMastService.updateById(wrkMast)) { - throw new CoolException("鍙栨秷浠诲姟澶辫触"); - } - // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� - if (!wrkMastLogService.save(wrkMast.getWrkNo())) { - throw new CoolException("淇濆瓨浠诲姟鍘嗗彶妗eけ璐�, workNo = " + wrkMast.getWrkNo()); - } - - // 鍒犻櫎宸ヤ綔涓绘。 - boolean wrkMastRes = wrkMastService.deleteById(wrkMast); - - // 淇敼搴撲綅鐘舵�� - LocMast locMast = locMastService.selectById(locNo); - if (Cools.isEmpty(locMast)) { - throw new CoolException("鍙栨秷浠诲姟澶辫触锛屽簱浣嶄笉瀛樺湪:" + locNo); - } - locMast.setLocSts(locSts); - locMast.setModiTime(now); - locMast.setModiUser(userId); - boolean locMastRes = locMastService.updateById(locMast); - if (!wrkMastRes || !locMastRes) { - throw new CoolException("淇濆瓨鏁版嵁澶辫触"); - } - HashMap<String,Object> headParam = new HashMap<>(); - headParam.put("TaskNo",wrkMast.getTaskNo()); - headParam.put("Result",1);//鍙栨秷 - - try { - String response; - log.error("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms={}", wrkMast); - - response = new HttpHandler.Builder() - // .setHeaders(headParam) - .setUri(wmsUrl) - .setPath(taskStatusFeedbackPath) - .setJson(JSON.toJSONString(headParam)) - .build() - .doPost(); - apiLogService.save("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms" - , wmsUrl + taskStatusFeedbackPath - , null - , "127.0.0.1" - , JSON.toJSONString(headParam) - , response - , true - ); - } catch (Exception e) { - log.error("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms澶辫触={}", wrkMast); - log.error("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms澶辫触,鎶ラ敊淇℃伅锛�", e); -// throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触"); - } - } } diff --git a/src/main/java/com/zy/asrs/task/NotifyScheduler.java b/src/main/java/com/zy/asrs/task/NotifyScheduler.java new file mode 100644 index 0000000..3dfc3a2 --- /dev/null +++ b/src/main/java/com/zy/asrs/task/NotifyScheduler.java @@ -0,0 +1,149 @@ +package com.zy.asrs.task; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.zy.asrs.domain.dto.NotifyCustomDataDto; +import com.zy.asrs.domain.dto.NotifyDto; +import com.zy.asrs.entity.ApiLog; +import com.zy.asrs.service.ApiLogService; +import com.zy.asrs.utils.NotifyUtils; +import com.zy.common.utils.HttpHandler; +import com.zy.common.utils.RedisUtil; +import com.zy.core.properties.SlaveProperties; +import com.zy.system.entity.Config; +import com.zy.system.service.ConfigService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Component +@Slf4j +public class NotifyScheduler { + + @Autowired + private RedisUtil redisUtil; + @Autowired + private NotifyUtils notifyUtils; + @Autowired + private SlaveProperties slaveProperties; + @Autowired + private ConfigService configService; + @Autowired + private ApiLogService apiLogService; + + @Scheduled(cron = "0/3 * * * * ? ") + public synchronized void notifyTask(){ + notifyMsg("task", 1); + } + + private synchronized void notifyMsg(String notifyType, Integer device) { + Config notifyEnableConfig = configService.selectOne(new EntityWrapper<Config>().eq("code", "notifyEnable")); + if(notifyEnableConfig == null){ + return; + } + String notifyEnable = notifyEnableConfig.getValue(); + if (!notifyEnable.equals("Y")) { + return; + } + + Config notifyUriConfig = configService.selectOne(new EntityWrapper<Config>().eq("code", "notifyUri")); + if(notifyUriConfig == null){ + return; + } + String notifyUri = notifyUriConfig.getValue(); + + Config notifyUriPathConfig = configService.selectOne(new EntityWrapper<Config>().eq("code", "notifyUriPath")); + if(notifyUriPathConfig == null){ + return; + } + String notifyUriPath = notifyUriPathConfig.getValue(); + + List<String> keys = notifyUtils.takeKeys(notifyType, device); + if(keys == null){ + return; + } + + if (keys.isEmpty()) { + return; + } + + for (String key : keys) { + Object object = redisUtil.get(key); + if (object == null) { + continue; + } + NotifyDto notifyDto = (NotifyDto) object; + + if (System.currentTimeMillis() - notifyDto.getLastRetryTime() < 1000 * notifyDto.getRetryTime()) { + continue; + } + + ApiLog apiLog = new ApiLog(); + + try { + //瑙﹀彂閫氱煡 + String response = null; + if (notifyDto.getSendCustomData()) { + //鑷畾涔夋秷鎭牸寮� + NotifyCustomDataDto customData = notifyDto.getCustomData(); + response = new HttpHandler.Builder() + .setUri(customData.getUri()) + .setPath(customData.getPath()) + .setJson(customData.getData()) + .build() + .doPost(); + + apiLog.setUrl(customData.getUri() + customData.getPath()); + apiLog.setRequest(customData.getData()); + apiLog.setCreateTime(new Date()); + }else { + response = new HttpHandler.Builder() + .setUri(notifyUri) + .setPath(notifyUriPath) + .setJson(JSON.toJSONString(notifyDto)) + .build() + .doPost(); + + apiLog.setUrl(notifyUri + notifyUriPath); + apiLog.setRequest(JSON.toJSONString(notifyDto)); + apiLog.setCreateTime(new Date()); + } + + apiLog.setResponse(response); + + JSONObject jsonObject = JSON.parseObject(response); + Integer code = jsonObject.getInteger("code"); + if(code == 200){ + //閫氱煡鎴愬姛 + redisUtil.del(key); + + continue; + } + }catch (Exception e){ + e.printStackTrace(); + }finally { + //淇濆瓨璁板綍 + apiLogService.insert(apiLog); + } + + //閫氱煡澶辫触 + int times = notifyDto.getRetryTimes() + 1; + if (times >= notifyDto.getFailTimes()) { + //瓒呰繃娆℃暟 + redisUtil.del(key); + continue; + } + + notifyDto.setLastRetryTime(System.currentTimeMillis()); + notifyDto.setRetryTimes(times); + redisUtil.set(key, notifyDto); + continue; + } + } + +} diff --git a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java index 1e53034..c299dc2 100644 --- a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java +++ b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java @@ -1,17 +1,14 @@ package com.zy.asrs.task; import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.mapper.EntityWrapper; 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.TaskStatusType; import com.zy.asrs.entity.*; -import com.zy.asrs.entity.param.TaskOverToWms; -import com.zy.asrs.entity.param.TaskStatusFeedbackParam; import com.zy.asrs.service.*; import com.zy.asrs.service.impl.TaskWrkLogServiceImpl; -import com.zy.asrs.utils.PostMesDataUtils; -import com.zy.common.utils.HttpHandler; +import com.zy.asrs.utils.NotifyUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -19,10 +16,7 @@ import org.springframework.stereotype.Component; import java.io.IOException; -import java.util.Date; import java.util.HashMap; -import java.util.List; -import java.util.Map; /** * 瀹氭椂灏嗕换鍔�(瀹屾垚銆佸彇娑�)杞垚鏃ュ織 @@ -33,17 +27,6 @@ @Autowired private TaskWrkService taskWrkService; - @Autowired - private CommandInfoService commandInfoService; - @Autowired - private ApiLogService apiLogService; - @Autowired - private BasDevpService basDevpService; - - @Autowired - private StaDescService staDescService; - @Autowired - private LocMastService locMastService; @Autowired private TaskWrkLogServiceImpl wrkLogService; @@ -57,49 +40,32 @@ private String TaskExecCallback; @Value("${wms.taskStatusFeedbackPath}") private String taskStatusFeedbackPath; + @Autowired + private NotifyUtils notifyUtils; @Scheduled(cron = "0/3 * * * * ? ") public void execute() throws IOException { - for (TaskWrk taskWrk : taskWrkService.selectToBeHistoryData()) { HashMap<String, Object> headParam = new HashMap<>(); + headParam.put("TaskNo", taskWrk.getTaskNo()); if (taskWrk.getStatus().equals(TaskStatusType.OVER.id) || taskWrk.getStatus() == 7) {//瀹屾垚 - headParam.put("Result", 1); + headParam.put("Result", 1);//瀹屾垚 } else if (taskWrk.getStatus().equals(TaskStatusType.CANCEL.id)) { - headParam.put("Result", 2); + headParam.put("Result", 2);//鍙栨秷 } - String response = ""; - Boolean bool = false; - try { - headParam.put("TaskNo", taskWrk.getTaskNo()); - log.info("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms={}", taskWrk); - response = new HttpHandler.Builder() - // .setHeaders(headParam) - .setUri(wmsUrl) - .setPath(TaskExecCallback) - .setJson(JSON.toJSONString(headParam)) - .build() - .doPost(); - JSONObject jsonObject = JSON.parseObject(response); - TaskWrkLog taskWrkLog = new TaskWrkLog(taskWrk); - if (!wrkLogService.insert(taskWrkLog)) { - throw new CoolException("杞巻鍙叉。澶辫触" + taskWrkLog); - } - if (!taskWrkService.deleteById(taskWrk)) { - throw new CoolException("浠诲姟妗e垹闄ゅけ璐�" + taskWrkLog); - } - bool = true; - } catch (Exception e) { - log.error("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms澶辫触{},杩斿洖鍊�={}", taskWrk, response); - } finally { - apiLogService.save("wcs瀹屾垚鎴栬�呭彇娑堜换鍔′笂鎶ms" - , wmsUrl + TaskExecCallback - , null - , "127.0.0.1" - , JSON.toJSONString(headParam) - , response - , bool - ); + + NotifyCustomDataDto customDataDto = new NotifyCustomDataDto(); + customDataDto.setUri(wmsUrl); + customDataDto.setPath(TaskExecCallback); + customDataDto.setData(JSON.toJSONString(headParam)); + notifyUtils.notify("task", 1, String.valueOf(taskWrk.getWrkNo()), taskWrk.getTaskNo(), NotifyMsgType.TASK_COMPLETE, JSON.toJSONString(taskWrk), true, customDataDto); + + TaskWrkLog taskWrkLog = new TaskWrkLog(taskWrk); + if (!wrkLogService.insert(taskWrkLog)) { + throw new CoolException("杞巻鍙叉。澶辫触" + taskWrkLog); + } + if (!taskWrkService.deleteById(taskWrk)) { + throw new CoolException("浠诲姟妗e垹闄ゅけ璐�" + taskWrkLog); } } } diff --git a/src/main/java/com/zy/asrs/utils/NotifyUtils.java b/src/main/java/com/zy/asrs/utils/NotifyUtils.java new file mode 100644 index 0000000..d764ffb --- /dev/null +++ b/src/main/java/com/zy/asrs/utils/NotifyUtils.java @@ -0,0 +1,100 @@ +package com.zy.asrs.utils; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.common.SnowflakeIdWorker; +import com.zy.asrs.domain.dto.NotifyCustomDataDto; +import com.zy.asrs.domain.dto.NotifyDto; +import com.zy.asrs.domain.enums.NotifyMsgType; +import com.zy.asrs.domain.enums.RedisKeyType; +import com.zy.common.utils.RedisUtil; +import com.zy.system.entity.Config; +import com.zy.system.service.ConfigService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +@Component +public class NotifyUtils { + + @Autowired + private RedisUtil redisUtil; + @Autowired + private SnowflakeIdWorker snowflakeIdWorker; + @Autowired + private ConfigService configService; + + public synchronized boolean notify(String notifyType, Integer device, String taskNo, String superTaskNo, NotifyMsgType msgType) { + return append(notifyType, device, taskNo, superTaskNo, msgType, null, false, null); + } + + public synchronized boolean notify(String notifyType, Integer device, String taskNo, String superTaskNo, NotifyMsgType msgType, String data, Boolean sendCustomData, NotifyCustomDataDto customData) { + return append(notifyType, device, taskNo, superTaskNo, msgType, data, sendCustomData, customData); + } + + public synchronized List<String> takeKeys(String notifyType, Integer device) { + String key = getKey(notifyType, device); + if(key == null){ + return null; + } + + Set keys = redisUtil.keys(key + "*"); + if (keys == null) { + return null; + } + + List<String> list = new ArrayList<>(); + for (Object object : keys) { + list.add(object.toString()); + } + return list; + } + + public String getKey(String notifyType, Integer device) { + String key = null; + if (notifyType.equals("task")) { + key = RedisKeyType.QUEUE_TASK.key + device; + } else { + return null; + } + + return key; + } + + private boolean append(String notifyType, Integer device, String taskNo, String superTaskNo, NotifyMsgType msgType, String data, Boolean sendCustomData, NotifyCustomDataDto customData) { + String key = getKey(notifyType, device); + if (key == null) { + return false; + } + + NotifyDto dto = new NotifyDto(); + dto.setId(snowflakeIdWorker.nextId()); + dto.setNotifyType(notifyType); + dto.setDevice(device); + dto.setMsgType(msgType.flag); + dto.setMsgDesc(msgType.desc); + dto.setData(data); + dto.setTaskNo(taskNo); + dto.setSuperTaskNo(superTaskNo); + dto.setSendCustomData(sendCustomData); + dto.setCustomData(customData); + + //閲嶈瘯娆℃暟 + Config notifyFailTimesConfig = configService.selectOne(new EntityWrapper<Config>().eq("code", "notifyFailTimes")); + if (notifyFailTimesConfig != null) { + dto.setFailTimes(Integer.parseInt(notifyFailTimesConfig.getValue())); + } + + //閲嶈瘯闂撮殧 + Config notifyRetryTimeConfig = configService.selectOne(new EntityWrapper<Config>().eq("code", "notifyRetryTime")); + if (notifyRetryTimeConfig != null) { + dto.setRetryTime(Integer.parseInt(notifyRetryTimeConfig.getValue())); + } + + redisUtil.set(key + "_" + dto.getId(), dto); + return true; + } + +} diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index 91ae550..c16eb10 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -59,93 +59,6 @@ return crnNo == 1 ? s : 3 - s; } - - - - //杞崲wms浼犺緭鐨勫簱浣嶅彿 - public static String getWcsLocNo(String locNo){ - String[] split = locNo.split("-"); - int[] wcsRow = getWcsRow(split[0]); - int[] ints = null; - if (split[3].equals("01")){ - ints = Arrays.copyOfRange(wcsRow, 0, (wcsRow.length+2-1) / 2); - if (split[4].equals("01")){ - if (ints.length<2){ - - }else { - ints = Arrays.copyOfRange(ints, ints.length / 2, ints.length); - } - }else { - if (ints.length<2){ - - }else { - ints = Arrays.copyOfRange(ints, ints.length / 2-1,ints.length-1); - } - } - }else { - ints = Arrays.copyOfRange(wcsRow, (wcsRow.length+2-1) / 2,wcsRow.length ); - if (split[4].equals("01")){ - if (ints.length<2){ - - }else { - ints = Arrays.copyOfRange(ints, ints.length / 2-1,ints.length-1); - } - }else { - if (ints.length<2){ - - }else { - ints = Arrays.copyOfRange(ints, ints.length / 2, ints.length); - } - - - } - } - int i = ints[0]; - String wcsLocNo = ""; - Integer bay = Integer.parseInt(split[1])+1; - String bay2 = ""; - if (bay>9){ - bay2 = bay.toString(); - }else { - bay2 = "0"+bay; - } - if (i>9){ - wcsLocNo = i+"0"+bay2+split[2]; - }else { - wcsLocNo = "0"+i+"0"+bay2+split[2]; - } - - - - return wcsLocNo; - } - public static int[] getWcsRow(String row){ - int[] array = null; - switch (row){ - case "01": - array= new int[]{1, 2, 3, 4}; - break; - case "02": - array= new int[]{5,6}; - break; - case "03": - array= new int[]{7,8,9,10}; - break; - case "04": - array= new int[]{11,12,13,14}; - break; - case "05": - array= new int[]{15,16,17,18}; - break; - case "06": - array= new int[]{19,20,21}; - break; - default: - - } - return array; - } - public static float scale(Float f){ if (f == null || f == 0f || Float.isNaN(f)) { return 0f; @@ -382,8 +295,6 @@ // slaveProperties.setGroupCount(4); // Integer deepRow = getDeepRow(slaveProperties, 6); // System.out.println(deepRow); - String wcsLocNo = getWcsLocNo("01-01-01-01-01"); - System.out.println(wcsLocNo); } public static Integer StaNoCrnNo(Integer staNo) { diff --git a/src/main/java/com/zy/common/config/RedisConfig.java b/src/main/java/com/zy/common/config/RedisConfig.java index d356517..cf99252 100644 --- a/src/main/java/com/zy/common/config/RedisConfig.java +++ b/src/main/java/com/zy/common/config/RedisConfig.java @@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.cache.annotation.CachingConfigurerSupport; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.*; import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; @@ -14,7 +15,7 @@ * Redis閰嶇疆绫� * Created by vincent on 2019-12-23 */ -//@Configuration +@Configuration //@EnableCaching // 寮�鍚暟鎹紦瀛樻満鍒� public class RedisConfig extends CachingConfigurerSupport { diff --git a/src/main/java/com/zy/common/utils/RedisUtil.java b/src/main/java/com/zy/common/utils/RedisUtil.java index 95da6dc..dd3e607 100644 --- a/src/main/java/com/zy/common/utils/RedisUtil.java +++ b/src/main/java/com/zy/common/utils/RedisUtil.java @@ -2,7 +2,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java index bec8a76..b8b7b06 100644 --- a/src/main/java/com/zy/core/MainProcess.java +++ b/src/main/java/com/zy/core/MainProcess.java @@ -26,9 +26,6 @@ // 棰戠巼 private int i = 0; - @Value("${wms.maxCirle}") - private Integer maxCount; - /** * =====>> 寮�濮嬪伐浣� */ diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index c1f0ecf..317ac0d 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -8,7 +8,7 @@ name: @pom.build.finalName@ datasource: driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver - url: jdbc:sqlserver://192.168.4.42:1433;databasename=czbrasrs + url: jdbc:sqlserver://192.168.4.42:1433;databasename=ynhfasrs username: sa password: sa@123 mvc: @@ -46,18 +46,12 @@ wms: #杈撻�佺嚎鏆傚瓨鏁� count: 8 - maxCirle: 3 # 鏄惁寮�鍚笂鎶� start: true # WMS绯荤粺ip - #url: 10.32.53.195:8080 - # WMS绯荤粺ip - # url: 10.210.157.109:8090 url: 10.10.10.222:2410 # 鍏ュ簱浠诲姟鐢宠鎺ュ彛 - #inboundTaskApplyPath: api/InterFace/inboundTaskApply inboundTaskApplyPath: api/StereoscopicCallBack/AcceptTaskStatus - # inboundTaskApplyPath: open/asrs/inboundTaskApply # 浠诲姟寮�濮嬫椂锛學CS鍥炶皟WMS taskStatusFeedbackPath: api/StereoscopicCallBack/TaskExecCallback # 浠诲姟瀹屾垚缁撴潫鏃讹紝WCS鍥炶皟WMS diff --git "a/version/\347\253\213\345\272\223 WMS\346\216\245\345\217\243\346\226\207\346\241\243 2024 0807.docx" "b/version/\347\253\213\345\272\223 WMS\346\216\245\345\217\243\346\226\207\346\241\243 2024 0807.docx" new file mode 100644 index 0000000..8de18d0 --- /dev/null +++ "b/version/\347\253\213\345\272\223 WMS\346\216\245\345\217\243\346\226\207\346\241\243 2024 0807.docx" Binary files differ -- Gitblit v1.9.1