From dfa7f7999a16fadf1bccfab37d41bb859403ea3b Mon Sep 17 00:00:00 2001 From: LSH Date: 星期三, 13 九月 2023 17:07:35 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/OpenController.java | 159 +++++++++++++++++++++++++++++++ src/main/java/com/zy/asrs/controller/TaskWrkController.java | 4 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 5 src/main/resources/application.yml | 2 src/main/java/com/zy/asrs/entity/param/WMSAndAGVInterfaceParam.java | 46 +++++++++ src/main/java/com/zy/asrs/entity/param/taskCreateParam.java | 35 +++++++ 6 files changed, 244 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java index e3b17dc..18c87c4 100644 --- a/src/main/java/com/zy/asrs/controller/OpenController.java +++ b/src/main/java/com/zy/asrs/controller/OpenController.java @@ -1,16 +1,18 @@ package com.zy.asrs.controller; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.BaseRes; import com.core.common.Cools; import com.core.common.R; import com.core.exception.CoolException; +import com.zy.asrs.entity.BasDevp; import com.zy.asrs.entity.CommandInfo; import com.zy.asrs.entity.TaskWrk; +import com.zy.asrs.entity.WrkMast; +import com.zy.asrs.entity.param.WMSAndAGVInterfaceParam; import com.zy.asrs.entity.param.taskCreateParam; -import com.zy.asrs.service.CommandInfoService; -import com.zy.asrs.service.OpenService; -import com.zy.asrs.service.TaskWrkService; +import com.zy.asrs.service.*; import com.zy.common.web.BaseController; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -31,6 +33,10 @@ private TaskWrkService taskWrkService; @Autowired private CommandInfoService commandInfoService; + @Autowired + private TaskWrkController taskWrkController; + @Autowired + private BasDevpService basDevpService; public static final ArrayList<String> APP_KEY_LIST = new ArrayList<String>() {{ add("ea1f0459efc02a79f046f982767939ae"); @@ -97,4 +103,151 @@ } } + //AGV璇锋眰鍏ュ簱鐮佸ご鎺ュ彛 + @PostMapping("/targetWharfApply") + public R targetWharfApply(@RequestHeader String appkey, + @RequestBody WMSAndAGVInterfaceParam param, + HttpServletRequest request) { + if (Cools.isEmpty(param)){ + return R.error("鍙傛暟涓虹┖锛�"); + } else if (Cools.isEmpty(param.getTaskNo())){ + return R.error("宸ヤ綔鍙蜂负绌猴紒"); + } else if (Cools.isEmpty(param.getContainerCode())){ + return R.error("鎵樼洏缂栫爜涓虹┖锛�"); + } else if (Cools.isEmpty(param.getWharfSource())){ + return R.error("婧愮爜澶翠负绌猴紒"); + } else if (Cools.isEmpty(param.getFreeWharfs()) || param.getFreeWharfs().size()==0){ + return R.error("绌洪棽鐨勫叆搴撶爜澶达紙AGV锛変负绌猴紒"); + } + TaskWrk taskWrk = taskWrkService.selectByTaskNo(param.getTaskNo()); + + return R.ok(taskWrk.getStartPoint()); + } + + //AGV璇锋眰鍔ㄤ綔鎺ュ彛 + @PostMapping("/agvTaskRequest") + public R agvTaskRequest(@RequestHeader String appkey, + @RequestBody WMSAndAGVInterfaceParam param, + HttpServletRequest request) { + if (Cools.isEmpty(param)){ + return R.error("鍙傛暟涓虹┖锛�"); + } else if (Cools.isEmpty(param.getRequestType())){ + return R.error("璇锋眰绫诲瀷涓虹┖锛�"); + } else if (Cools.isEmpty(param.getWharfCode())){ + return R.error("鐮佸ご缂栧彿涓虹┖锛�"); + } + BasDevp basDevp = basDevpService.selectById(param.getWharfCode()); + if (basDevp.getAutoing().equals("Y") && basDevp.getLoading().equals("N")){ + return R.ok(); + }else { + return R.error(); + } + } + + //浠诲姟涓嬪彂鎺ュ彛 + @PostMapping("/outboundTaskSend") + public R outboundTaskSend(@RequestHeader String appkey, + @RequestBody WMSAndAGVInterfaceParam param, + HttpServletRequest request) { + try { + if (Cools.isEmpty(param)){ + return R.error("鍙傛暟涓虹┖锛�"); + } else if (Cools.isEmpty(param.getTaskNo())){ + return R.error("浠诲姟鍙蜂负绌猴紒"); + } else if (Cools.isEmpty(param.getTaskType())){ + return R.error("浠诲姟绫诲瀷涓虹┖锛�"); + } else if (Cools.isEmpty(param.getWarehouseId())){ + return R.error("浠撳簱鏍囪瘑涓虹┖锛�"); + } + if (Cools.isEmpty(param.getTaskPriority())){ + param.setTaskPriority(1); + } + if (Cools.isEmpty(param.getContainerCode())){ + return R.error("瀹瑰櫒缂栫爜(鎵樼洏鐮�)涓虹┖锛�"); + } + if (Cools.isEmpty(param.getEmptyContainer())){ + return R.error("鏄惁绌烘墭鐩樹俊鍙蜂负绌猴紒"); + } +// if (Cools.isEmpty(param.getTaskTunnel())){ +// return R.error("浠诲姟宸烽亾涓虹┖锛�"); +// } +// if (Cools.isEmpty(param.getGroupNo())){ +// return R.error("浠诲姟缁勪负绌猴紒"); +// } +// if (Cools.isEmpty(param.getTaskSerialNo())){ +// return R.error("浠诲姟鎵ц椤哄簭涓虹┖锛�"); +// } + if (Cools.isEmpty(param.getTargetWharf())){ + return R.error("鐩爣鐮佸ご鍖哄煙涓虹┖锛�");//G寮�澶�=7杞﹂棿锛孒寮�澶�=8灞傦紝J寮�澶�=9杞﹂棿 + } + + openService.taskCreate(new taskCreateParam(param)); + + return R.ok(param); + }catch (Exception e){ + String errorMsg = Cools.isEmpty(e.getLocalizedMessage()) ? "" : e.getLocalizedMessage(); + return R.ok("鐢熸垚浠诲姟澶辫触锛岃鑱旂郴绠$悊鍛�!"+ errorMsg); + } + } + + //浠诲姟鍙栨秷鎺ュ彛 + @PostMapping("/taskCancel") + public R taskCancel(@RequestHeader String appkey, + @RequestBody WMSAndAGVInterfaceParam param, + HttpServletRequest request) { + if (Cools.isEmpty(param)){ + return R.error("鍙傛暟涓虹┖锛�"); + } else if (Cools.isEmpty(param.getTaskNo())){ + return R.error("宸ヤ綔鍙蜂负绌猴紒"); + } else if (Cools.isEmpty(param.getTaskStatus())){ + return R.error("鎿嶄綔绫诲瀷涓虹┖锛�"); + } +// else if (Cools.isEmpty(param.getWarehouseId())){ +// return R.error("浠撳簱鏍囪瘑涓虹┖锛�"); +// } + + TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("task_no", param.getTaskNo())); + if (Cools.isEmpty(taskWrk)){ + return R.error("鏈煡鍒板綋鍓嶄换鍔�"); + } + boolean sign =false; + switch (param.getTaskStatus()){ + case "1"://姝e父鍙栨秷 + if (taskWrk.getWrkSts()>1){ + return R.error("浠诲姟宸插紑濮嬫墽琛�"); + } + case "2"://寮哄埗鍙栨秷 + if (taskWrk.getWrkSts()>3){ + return R.error("浠诲姟宸叉墽琛屽畬鎴�"); + } + break; + case "3"://姝e父瀹屾垚 + if (taskWrk.getWrkSts()>11){ + return R.error("浠诲姟宸插紑濮嬫墽琛�"); + } + case "4"://寮哄埗瀹屾垚 + if (taskWrk.getWrkSts()>14){ + return R.error("浠诲姟宸叉墽琛屽畬鎴�"); + } + sign=true; + break; + default: + return R.error("鏈煡鎿嶄綔"); + } + return taskWrkOperate(taskWrk,sign); + } + + //浠诲姟鎿嶄綔 + private R taskWrkOperate(TaskWrk taskWrk,boolean sign){ + try{ + if (sign){//瀹屾垚 + return taskWrkController.complete(taskWrk.getTaskNo()); + }else {//鍙栨秷 + return taskWrkController.cancel(taskWrk.getTaskNo()); + } + }catch (Exception e){ + return R.error(); + } + } + } diff --git a/src/main/java/com/zy/asrs/controller/TaskWrkController.java b/src/main/java/com/zy/asrs/controller/TaskWrkController.java index 0ca6cee..080f9f4 100644 --- a/src/main/java/com/zy/asrs/controller/TaskWrkController.java +++ b/src/main/java/com/zy/asrs/controller/TaskWrkController.java @@ -134,7 +134,7 @@ if (taskWrk == null) { return R.error(); } - if (taskWrk.getStatus() == TaskStatusType.COMPLETE.id) { + if (taskWrk.getStatus().equals(TaskStatusType.COMPLETE.id)) { return R.error(taskWrk.getTaskNo() + "宸插畬缁�"); } Date now = new Date(); @@ -153,7 +153,7 @@ if (taskWrk == null) { return R.error(); } - if (taskWrk.getStatus() == TaskStatusType.CANCEL.id) { + if (taskWrk.getStatus().equals(TaskStatusType.CANCEL.id)) { return R.error(taskWrk.getTaskNo() + "宸茶鍙栨秷"); } Date now = new Date(); diff --git a/src/main/java/com/zy/asrs/entity/param/WMSAndAGVInterfaceParam.java b/src/main/java/com/zy/asrs/entity/param/WMSAndAGVInterfaceParam.java new file mode 100644 index 0000000..16b8660 --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/param/WMSAndAGVInterfaceParam.java @@ -0,0 +1,46 @@ +package com.zy.asrs.entity.param; + +import lombok.Data; + +import java.util.List; + +@Data +public class WMSAndAGVInterfaceParam { + + private String taskNo; //浠诲姟鍙� + private String warehouseId; //浠撳簱鏍囪瘑 + + //wms鍑哄簱浠诲姟涓嬪彂鎺ュ彛 + private String taskType; //浠诲姟绫诲瀷 CK銆乊K銆丷K銆丳D + private int taskPriority; //浼樺厛绾� + private String containerCode; //瀹瑰櫒缂栫爜 + private String containerTypeCode; //瀹瑰櫒绫诲瀷 + private String emptyContainer; //鏄惁绌烘墭鐩� Y:鏄� N锛氬惁 + private int taskTunnel; //浠诲姟宸烽亾 + private String sourceLocationCode; //璧峰璐т綅 + private String targetLocationCode; //鐩爣璐т綅 + private String groupNo; //浠诲姟缁� 鏍囪瘑鐫�鍝簺浠诲姟灞炰簬鍚屼竴缁� + private int taskSerialNo; //浠诲姟鎵ц椤哄簭 鍚屼竴浠诲姟缁勭殑浠诲姟锛屾寜浠诲姟鎵ц椤哄簭鎵ц浠诲姟 + private String createTime; //鍒涘缓鏃堕棿 YYYY-MM-DD HH24:MI:SS + private String targetWharf; //鐩爣鐮佸ご鍖哄煙 鏁版嵁瀛楀吀锛孏寮�澶�=7杞﹂棿锛孒寮�澶�=8灞傦紝J寮�澶�=9杞﹂棿 + + + //浠诲姟鍙栨秷鎺ュ彛 + /*鎿嶄綔绫诲瀷: + * 1.姝e父鍙栨秷--鍙兘鍙栨秷鏈墽琛岀殑浠诲姟锛岃揣鐗╁鍦ㄦ湭鎵ц浠诲姟鐘舵�� + * 2.寮哄埗鍙栨秷--鍙彇娑堝凡鎵ц鏈畬鎴愮殑浠诲姟锛岃揣鐗╁鍦ㄦ湭鎵ц浠诲姟鐘舵�� + * 3.姝e父瀹屾垚--鍙兘瀹屾垚鏈墽琛岀殑浠诲姟锛岃揣鐗╁浜庝换鍔℃墽琛屽畬鎴愮姸鎬� + * 4.寮哄埗瀹屾垚--鍙畬鎴愬凡鎵ц鏈畬鎴愮殑浠诲姟锛岃揣鐗╁浜庝换鍔℃墽琛屽畬鎴愮姸鎬� + * */ + private String taskStatus; //鎿嶄綔绫诲瀷 + + //AGV璇锋眰鍏ュ簱鐮佸ご鎺ュ彛 +// private String containerCode; //鎵樼洏缂栫爜 + private String wharfSource; //婧愮爜澶� + private List<String> freeWharfs; + + //AGV璇锋眰鍔ㄤ綔鎺ュ彛 + private String requestType; //璇锋眰绫诲瀷: 1=鍙栬揣锛�2=鏀捐揣 + private String wharfCode; //鐮佸ご缂栧彿 + +} 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 2cd5078..2ee6380 100644 --- a/src/main/java/com/zy/asrs/entity/param/taskCreateParam.java +++ b/src/main/java/com/zy/asrs/entity/param/taskCreateParam.java @@ -14,8 +14,14 @@ //璧风偣 private String startPoint; + //浼樺厛绾� + private Double taskPriority; + //缁堢偣 private String targetPoint; + + //鏄惁绌烘墭鐩� Y:鏄� N锛氬惁 + private String emptyContainer; //鏉$爜 private String barcode; @@ -23,4 +29,33 @@ //澶囨敞 private String memo; + public taskCreateParam(){}; + + public taskCreateParam(WMSAndAGVInterfaceParam param){ + this.taskNo = param.getTaskNo(); + this.ioType = convertParamIoType(param.getTaskType()); + this.barcode = param.getContainerCode(); + this.taskPriority = (double) param.getTaskPriority(); + this.startPoint = param.getSourceLocationCode(); + this.targetPoint = param.getTargetLocationCode(); + this.emptyContainer = param.getEmptyContainer(); + + }; + + + public static Integer convertParamIoType(String paramIoType){ + switch (paramIoType){ + case "RK": + return 1; + case "CK": + return 2; + case "YK": + return 3; + case "PD": + return 4; + default: + return 0; + } + } + } 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 6d8046a..7ece655 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -24,6 +24,9 @@ if (taskWrk != null) { throw new CoolException(param.getTaskNo() + "浠诲姟宸插瓨鍦紝璇峰嬁閲嶅鎻愪氦"); } + if (param.getIoType().equals(0)){ + throw new CoolException("鐢熸垚浠诲姟澶辫触锛屼换鍔$被鍨嬩笉瀛樺湪锛�"); + } Date now = new Date(); taskWrk = new TaskWrk(); @@ -31,7 +34,7 @@ taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹 taskWrk.setCreateTime(now); taskWrk.setIoType(param.getIoType());//浠诲姟绫诲瀷 - taskWrk.setIoPri(13D);//浼樺厛绾� + taskWrk.setIoPri(param.getTaskPriority());//浼樺厛绾� taskWrk.setBarcode(param.getBarcode());//鏉$爜 if (!Cools.isEmpty(param.getStartPoint())) { taskWrk.setStartPoint(param.getStartPoint());//璧风偣 diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 2263b83..234846b 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.15:1433;databasename=wcs_dev + url: jdbc:sqlserver://192.168.4.15:1433;databasename=ghtzasrs username: sa password: sa@123 mvc: -- Gitblit v1.9.1