From ed2ea2b286ec963970e710a578cdb064cc8650d8 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 22 五月 2023 14:30:49 +0800
Subject: [PATCH] 开放WMS任务创建接口

---
 src/main/java/com/zy/asrs/controller/OpenController.java      |   63 +++++++++++++++
 src/main/java/com/zy/asrs/entity/param/WmsWrkCreateParam.java |   32 ++++++++
 src/main/resources/mapper/WmsWrkMapper.xml                    |    2 
 src/main/java/com/zy/asrs/controller/WmsWrkController.java    |   14 +++
 src/main/webapp/static/wms/js/wmsWrk/wmsWrk.js                |    4 
 src/main/java/com/zy/asrs/entity/WmsWrk.java                  |   26 +-----
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java   |   58 ++++++++++++++
 src/main/java/com/zy/asrs/service/OpenService.java            |   10 ++
 8 files changed, 182 insertions(+), 27 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
new file mode 100644
index 0000000..65671ac
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -0,0 +1,63 @@
+package com.zy.asrs.controller;
+
+import com.alibaba.fastjson.JSON;
+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.param.WmsWrkCreateParam;
+import com.zy.asrs.service.OpenService;
+import com.zy.common.web.BaseController;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
+
+@Slf4j
+@RestController
+@RequestMapping("/open")
+public class OpenController extends BaseController {
+
+    @Autowired
+    private OpenService openService;
+
+    public static final ArrayList<String> APP_KEY_LIST = new ArrayList<String>() {{
+        add("ea1f0459efc02a79f046f982767939ae");
+    }};
+
+    //鍒涘缓WMS浠诲姟
+    @PostMapping("/wmsWrkCreate")
+    public R wmsWrkCreate(@RequestHeader(required = false) String appkey,
+                          @RequestBody(required = false) WmsWrkCreateParam param,
+                          HttpServletRequest request) {
+        auth(appkey, param, request);
+        if (Cools.isEmpty(param)) {
+            return R.parse(BaseRes.PARAM);
+        }
+        if (Cools.isEmpty(param.getWmsWrkNo())) {
+            return R.error("WMS浠诲姟鍙穂wmsWrkNo]涓嶈兘涓虹┖");
+        }
+        if (Cools.isEmpty(param.getIoType())) {
+            return R.error("浠诲姟绫诲瀷[ioType]涓嶈兘涓虹┖");
+        }
+        if (Cools.isEmpty(param.getBarcode())) {
+            return R.error("鏉$爜[barcode]涓嶈兘涓虹┖");
+        }
+        openService.wmsWrkCreate(param);
+        return R.ok();
+    }
+
+    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/WmsWrkController.java b/src/main/java/com/zy/asrs/controller/WmsWrkController.java
index dbb1bd2..b476551 100644
--- a/src/main/java/com/zy/asrs/controller/WmsWrkController.java
+++ b/src/main/java/com/zy/asrs/controller/WmsWrkController.java
@@ -155,9 +155,14 @@
         if (wmsWrk == null) {
             return R.error();
         }
+        if (wmsWrk.getWmsStatus() == WmsWrkStatusType.COMPLETE.id) {
+            return R.error(wmsWrk.getWmsWrkNo() + "宸插畬缁�");
+        }
+        Date now = new Date();
         wmsWrk.setWmsStatus(WmsWrkStatusType.COMPLETE.id);
-        wmsWrk.setModiTime(new Date());
+        wmsWrk.setModiTime(now);
         wmsWrk.setModiUser(getUserId());
+        wmsWrk.setEndTime(now);
         wmsWrkService.updateById(wmsWrk);
         return R.ok();
     }
@@ -169,9 +174,14 @@
         if (wmsWrk == null) {
             return R.error();
         }
+        if (wmsWrk.getWmsStatus() == WmsWrkStatusType.CANCEL.id) {
+            return R.error(wmsWrk.getWmsWrkNo() + "宸茶鍙栨秷");
+        }
+        Date now = new Date();
         wmsWrk.setWmsStatus(WmsWrkStatusType.CANCEL.id);
-        wmsWrk.setModiTime(new Date());
+        wmsWrk.setModiTime(now);
         wmsWrk.setModiUser(getUserId());
+        wmsWrk.setEndTime(now);
         wmsWrkService.updateById(wmsWrk);
         return R.ok();
     }
diff --git a/src/main/java/com/zy/asrs/entity/WmsWrk.java b/src/main/java/com/zy/asrs/entity/WmsWrk.java
index b11d78d..7ab785b 100644
--- a/src/main/java/com/zy/asrs/entity/WmsWrk.java
+++ b/src/main/java/com/zy/asrs/entity/WmsWrk.java
@@ -99,17 +99,11 @@
     private String sourceLocNo;
 
     /**
-     * 搴撲綅鐘舵��
+     * 鏉$爜
      */
-    @ApiModelProperty(value= "搴撲綅鐘舵��")
-    @TableField("loc_sts")
-    private String locSts;
-
-    /**
-     * 鎷f枡(checkBox)
-     */
-    @ApiModelProperty(value= "鎷f枡(checkBox)")
-    private String picking;
+    @ApiModelProperty(value= "鏉$爜")
+    @TableField("barcode")
+    private String barcode;
 
     /**
      * 淇敼浜哄憳
@@ -148,13 +142,6 @@
     private String memo;
 
     /**
-     * 鏉$爜
-     */
-    @ApiModelProperty(value= "鏉$爜")
-    @TableField("barcode")
-    private String barcode;
-
-    /**
      * 缁撴潫鏃堕棿
      */
     @ApiModelProperty(value= "缁撴潫鏃堕棿")
@@ -164,7 +151,7 @@
 
     public WmsWrk() {}
 
-    public WmsWrk(Integer wmsWrkNo, Integer wmsStatus, Integer wrkNo, Date createTime, Integer ioType, Double ioPri, String locNo, Integer staNo, Integer sourceStaNo, String sourceLocNo, String locSts, String picking, Long modiUser, Date modiTime, Long appeUser, Date appeTime, String memo, String barcode) {
+    public WmsWrk(Integer wmsWrkNo, Integer wmsStatus, Integer wrkNo, Date createTime, Integer ioType, Double ioPri, String locNo, Integer staNo, Integer sourceStaNo, String sourceLocNo, Long modiUser, Date modiTime, Long appeUser, Date appeTime, String memo, String barcode, Date endTime) {
         this.wmsWrkNo = wmsWrkNo;
         this.wmsStatus = wmsStatus;
         this.wrkNo = wrkNo;
@@ -175,14 +162,13 @@
         this.staNo = staNo;
         this.sourceStaNo = sourceStaNo;
         this.sourceLocNo = sourceLocNo;
-        this.locSts = locSts;
-        this.picking = picking;
         this.modiUser = modiUser;
         this.modiTime = modiTime;
         this.appeUser = appeUser;
         this.appeTime = appeTime;
         this.memo = memo;
         this.barcode = barcode;
+        this.endTime = endTime;
     }
 
 //    WmsWrk wmsWrk = new WmsWrk(
diff --git a/src/main/java/com/zy/asrs/entity/param/WmsWrkCreateParam.java b/src/main/java/com/zy/asrs/entity/param/WmsWrkCreateParam.java
new file mode 100644
index 0000000..e55bd3b
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/WmsWrkCreateParam.java
@@ -0,0 +1,32 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+@Data
+public class WmsWrkCreateParam {
+
+    //WMS浠诲姟鍙�
+    private Integer wmsWrkNo;
+
+    //浠诲姟绫诲瀷
+    private Integer ioType;
+
+    //鐩爣搴撲綅
+    private String locNo;
+
+    //婧愬簱浣�
+    private String sourceLocNo;
+
+    //鐩爣绔�
+    private Integer staNo;
+
+    //婧愮珯
+    private Integer sourceStaNo;
+
+    //鏉$爜
+    private String barcode;
+
+    //澶囨敞
+    private String memo;
+
+}
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
new file mode 100644
index 0000000..953c957
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -0,0 +1,10 @@
+package com.zy.asrs.service;
+
+import com.zy.asrs.entity.param.WmsWrkCreateParam;
+
+public interface OpenService {
+
+    //鍒涘缓WMS浠诲姟
+    void wmsWrkCreate(WmsWrkCreateParam param);
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
new file mode 100644
index 0000000..f03926f
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -0,0 +1,58 @@
+package com.zy.asrs.service.impl;
+
+import com.core.common.Cools;
+import com.core.exception.CoolException;
+import com.zy.asrs.domain.enums.WmsWrkStatusType;
+import com.zy.asrs.entity.WmsWrk;
+import com.zy.asrs.entity.param.WmsWrkCreateParam;
+import com.zy.asrs.service.OpenService;
+import com.zy.asrs.service.WmsWrkService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+
+@Service
+public class OpenServiceImpl implements OpenService {
+
+    @Autowired
+    private WmsWrkService wmsWrkService;
+
+    @Override
+    public void wmsWrkCreate(WmsWrkCreateParam param) {
+        WmsWrk wmsWrk = wmsWrkService.selectByWmsWrkNo(param.getWmsWrkNo());
+        if (wmsWrk != null) {
+            throw new CoolException(param.getWmsWrkNo() + "浠诲姟宸插瓨鍦紝璇峰嬁閲嶅鎻愪氦");
+        }
+
+        Date now = new Date();
+        wmsWrk = new WmsWrk();
+        wmsWrk.setWmsWrkNo(param.getWmsWrkNo());//WMS浠诲姟鍙�
+        wmsWrk.setWmsStatus(WmsWrkStatusType.RECEIVE.id);//WMS鐘舵�侊細鎺ユ敹
+        wmsWrk.setCreateTime(now);
+        wmsWrk.setAppeTime(now);
+        wmsWrk.setAppeUser(9527L);
+        wmsWrk.setIoType(param.getIoType());//浠诲姟绫诲瀷
+        wmsWrk.setIoPri(13D);//浼樺厛绾�
+        wmsWrk.setBarcode(param.getBarcode());//鏉$爜
+        if (!Cools.isEmpty(param.getLocNo())) {
+            wmsWrk.setLocNo(param.getLocNo());//鐩爣搴撲綅
+        }
+        if (!Cools.isEmpty(param.getSourceLocNo())) {
+            wmsWrk.setSourceLocNo(param.getSourceLocNo());//婧愬簱浣�
+        }
+        if (!Cools.isEmpty(param.getStaNo())) {
+            wmsWrk.setStaNo(param.getStaNo());//鐩爣绔�
+        }
+        if (!Cools.isEmpty(param.getSourceStaNo())) {
+            wmsWrk.setSourceStaNo(param.getSourceStaNo());//婧愮珯
+        }
+        if (!Cools.isEmpty(param.getMemo())) {
+            wmsWrk.setMemo(param.getMemo());//澶囨敞
+        }
+
+        if (!wmsWrkService.insert(wmsWrk)) {
+            throw new CoolException("鐢熸垚浠诲姟澶辫触锛岃鑱旂郴绠$悊鍛�");
+        }
+    }
+}
diff --git a/src/main/resources/mapper/WmsWrkMapper.xml b/src/main/resources/mapper/WmsWrkMapper.xml
index 5dab924..d28a430 100644
--- a/src/main/resources/mapper/WmsWrkMapper.xml
+++ b/src/main/resources/mapper/WmsWrkMapper.xml
@@ -14,8 +14,6 @@
         <result column="sta_no" property="staNo" />
         <result column="source_sta_no" property="sourceStaNo" />
         <result column="source_loc_no" property="sourceLocNo" />
-        <result column="loc_sts" property="locSts" />
-        <result column="picking" property="picking" />
         <result column="modi_user" property="modiUser" />
         <result column="modi_time" property="modiTime" />
         <result column="appe_user" property="appeUser" />
diff --git a/src/main/webapp/static/wms/js/wmsWrk/wmsWrk.js b/src/main/webapp/static/wms/js/wmsWrk/wmsWrk.js
index f6328e0..0c74e4e 100644
--- a/src/main/webapp/static/wms/js/wmsWrk/wmsWrk.js
+++ b/src/main/webapp/static/wms/js/wmsWrk/wmsWrk.js
@@ -37,13 +37,11 @@
             ,{field: 'staNo$', align: 'center',title: '鐩爣绔�'}
             ,{field: 'sourceLocNo', align: 'center',title: '婧愬簱浣�'}
             ,{field: 'locNo', align: 'center',title: '鐩爣搴撲綅'}
-            ,{field: 'locSts', align: 'center',title: '搴撲綅鐘舵��'}
             ,{field: 'barcode', align: 'center',title: '鏉$爜'}
-            // ,{field: 'picking', align: 'center',title: '鎷f枡'}
             // ,{field: 'modiUser$', align: 'center',title: '淇敼浜哄憳'}
             // ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿'}
             // ,{field: 'appeUser$', align: 'center',title: '鍒涘缓鑰�'}
-            ,{field: 'appeTime$', align: 'center',title: '娣诲姞鏃堕棿'}
+            // ,{field: 'appeTime$', align: 'center',title: '娣诲姞鏃堕棿'}
             ,{field: 'memo', align: 'center',title: '澶囨敞'}
 
             ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width: 110}

--
Gitblit v1.9.1