Ver código fonte

选矿-wms出库任务下发接口
选矿-wms工单任务下发接口
选矿-wms开启破袋机回调接口
选矿-agv入库任务下发接口
选矿-agv回调wcs卸货完成
选矿-agv回调wcs货物取走接口

HuKang 2 anos atrás
pai
commit
f2a944f690

+ 52 - 2
ruoyi-admin/src/main/java/com/ruoyi/xuankuang/controller/test/XuanKuangTestApiController.java

@@ -1,12 +1,13 @@
 package com.ruoyi.xuankuang.controller.test;
 
-import com.ruoyi.ams.xuankuang.domain.form.OutTaskForm;
+import com.ruoyi.ams.xuankuang.domain.form.*;
 import com.ruoyi.ams.xuankuang.domain.vo.WcsResponseVo;
 import com.ruoyi.ams.xuankuang.service.XuanKuangTaskApiService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -26,9 +27,58 @@ public class XuanKuangTestApiController {
      */
     @ApiOperation("wms出库任务下发接口")
     @PostMapping("/wmsOutTask")
-    public WcsResponseVo wmsOutTask(OutTaskForm outTaskForm) {
+    public WcsResponseVo wmsOutTask(@RequestBody OutTaskForm outTaskForm) {
         return xuanKuangTaskApiService.wmsOutTask(outTaskForm);
     }
 
+    /**
+     * wms工单任务下发接口
+     *
+     * @param billTaskForm
+     * @return
+     */
+    @ApiOperation("wms工单任务下发接口")
+    @PostMapping("/billTaskForm")
+    public WcsResponseVo wmsBillTask(@RequestBody BillTaskForm billTaskForm) {return xuanKuangTaskApiService.wmsBillTask(billTaskForm);}
+
+    /**
+     * wms开启破袋机回调接口
+     *
+     * @param callbackBbmForm
+     * @return
+     */
+    @ApiOperation("wms开启破袋机回调接口")
+    @PostMapping("/callbackBbmForm")
+    public WcsResponseVo wmsCallbackBbmTask(@RequestBody CallbackBbmForm callbackBbmForm) {return xuanKuangTaskApiService.wmsCallbackBbmTask(callbackBbmForm);}
+
+    /**
+     * agv入库任务下发接口
+     *
+     * @param agvInTaskForm
+     * @return
+     */
+    @ApiOperation("agv入库任务下发接口")
+    @PostMapping("/agvInTaskForm")
+    public WcsResponseVo wmsAgvInTask(@RequestBody AgvInTaskForm agvInTaskForm) {return xuanKuangTaskApiService.wmsAgvInTask(agvInTaskForm);}
+
+    /**
+     * agv回调wcs卸货完成
+     *
+     * @param taskNo
+     * @return
+     */
+    @ApiOperation("agv回调wcs卸货完成")
+    @PostMapping("/agvCallbackIntaskForm")
+    public WcsResponseVo wmsAgvCallbackIntask(String taskNo) {return xuanKuangTaskApiService.wmsAgvCallbackIntask(taskNo);}
+
+    /**
+     * agv回调wcs货物取走接口
+     *
+     * @param wcsId
+     * @return
+     */
+    @ApiOperation("agv回调wcs货物取走接口")
+    @PostMapping("/agvCallbackOuttask")
+    public WcsResponseVo wmsAgvCallbackOuttask(String wcsId) {return xuanKuangTaskApiService.wmsAgvCallbackOuttask(wcsId);}
 
 }

+ 21 - 0
warewms-ams/src/main/java/com/ruoyi/ams/xuankuang/domain/form/AgvCallbackIntaskForm.java

@@ -0,0 +1,21 @@
+package com.ruoyi.ams.xuankuang.domain.form;
+
+/**
+ * @author Jwk
+ * @version 1.0
+ * @date 2023/3/30 17:51
+ */
+public class AgvCallbackIntaskForm {
+    /**
+     * agv下发入库任务的taskNo
+     */
+    private String taskNo;
+
+    public String getTaskNo() {
+        return taskNo;
+    }
+
+    public void setTaskNo(String taskNo) {
+        this.taskNo = taskNo;
+    }
+}

+ 21 - 0
warewms-ams/src/main/java/com/ruoyi/ams/xuankuang/domain/form/AgvCallbackOuttaskForm.java

@@ -0,0 +1,21 @@
+package com.ruoyi.ams.xuankuang.domain.form;
+
+/**
+ * @author Jwk
+ * @version 1.0
+ * @date 2023/3/30 18:13
+ */
+public class AgvCallbackOuttaskForm {
+    /**
+     * wcs下发出库任务的wcsId
+     */
+    private String wcsId;
+
+    public String getWcsId() {
+        return wcsId;
+    }
+
+    public void setWcsId(String wcsId) {
+        this.wcsId = wcsId;
+    }
+}

+ 119 - 0
warewms-ams/src/main/java/com/ruoyi/ams/xuankuang/domain/form/AgvInTaskForm.java

@@ -0,0 +1,119 @@
+package com.ruoyi.ams.xuankuang.domain.form;
+
+/**
+ * @author Jwk
+ * @version 1.0
+ * @date 2023/3/30 17:36
+ */
+public class AgvInTaskForm {
+    /**
+     * 小车号
+     */
+    private String agvId;
+    /**
+     * 物料类型
+     *
+     * 1碳酸钠、2硫酸铵、3六偏磷酸钠、4乙黄药、5丁铵黑药
+     */
+    private Integer material;
+    /**
+     * 数量
+     */
+    private Integer num;
+    /**
+     * 托盘号
+     */
+    private String palletId;
+    /**
+     * 对应列数
+     */
+    private Integer row;
+    /**
+     * 对应行数
+     */
+    private Integer col;
+    /**
+     * 对应楼层
+     */
+    private Integer floor;
+    /**
+     * 唯一标识
+     */
+    private String taskNo;
+    /**
+     * 单独标识
+     */
+    private String docNo;
+
+    public String getAgvId() {
+        return agvId;
+    }
+
+    public void setAgvId(String agvId) {
+        this.agvId = agvId;
+    }
+
+    public Integer getMaterial() {
+        return material;
+    }
+
+    public void setMaterial(Integer material) {
+        this.material = material;
+    }
+
+    public Integer getNum() {
+        return num;
+    }
+
+    public void setNum(Integer num) {
+        this.num = num;
+    }
+
+    public String getPalletId() {
+        return palletId;
+    }
+
+    public void setPalletId(String palletId) {
+        this.palletId = palletId;
+    }
+
+    public Integer getRow() {
+        return row;
+    }
+
+    public void setRow(Integer row) {
+        this.row = row;
+    }
+
+    public Integer getCol() {
+        return col;
+    }
+
+    public void setCol(Integer col) {
+        this.col = col;
+    }
+
+    public Integer getFloor() {
+        return floor;
+    }
+
+    public void setFloor(Integer floor) {
+        this.floor = floor;
+    }
+
+    public String getTaskNo() {
+        return taskNo;
+    }
+
+    public void setTaskNo(String taskNo) {
+        this.taskNo = taskNo;
+    }
+
+    public String getDocNo() {
+        return docNo;
+    }
+
+    public void setDocNo(String docNo) {
+        this.docNo = docNo;
+    }
+}

+ 107 - 0
warewms-ams/src/main/java/com/ruoyi/ams/xuankuang/domain/form/BillTaskForm.java

@@ -0,0 +1,107 @@
+package com.ruoyi.ams.xuankuang.domain.form;
+
+/**
+ * @author Jwk
+ * @version 1.0
+ * @date 2023/3/30 16:37
+ */
+public class BillTaskForm {
+    /**
+     * 物料类型
+     *
+     * 枚举: 1,2,3,4,5
+     */
+    private Integer material;
+    /**
+     * 数量
+     */
+    private Integer num;
+    /**
+     * 包装类型
+     *
+     * 枚举: 1,2
+     *
+     * 枚举备注: 1袋装 2桶装
+     */
+    private Integer packageType;
+    /**
+     * 任务类型
+     *
+     * 枚举: 1,2,3
+     *
+     * 枚举备注: 1:入库 2:越库 3:出库
+     */
+    private Integer type;
+    /**
+     * 产线目标站
+     *
+     * 枚举: 1,2,3,4,5
+     *
+     * 枚举备注: 待和wms协商对应关系
+     */
+    private Integer dest;
+    /**
+     * 唯一标识
+     */
+    private String taskNo;
+    /**
+     * 单据标识
+     */
+    private String docNo;
+
+    public Integer getMaterial() {
+        return material;
+    }
+
+    public void setMaterial(Integer material) {
+        this.material = material;
+    }
+
+    public Integer getNum() {
+        return num;
+    }
+
+    public void setNum(Integer num) {
+        this.num = num;
+    }
+
+    public Integer getPackageType() {
+        return packageType;
+    }
+
+    public void setPackageType(Integer packageType) {
+        this.packageType = packageType;
+    }
+
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+
+    public Integer getDest() {
+        return dest;
+    }
+
+    public void setDest(Integer dest) {
+        this.dest = dest;
+    }
+
+    public String getTaskNo() {
+        return taskNo;
+    }
+
+    public void setTaskNo(String taskNo) {
+        this.taskNo = taskNo;
+    }
+
+    public String getDocNo() {
+        return docNo;
+    }
+
+    public void setDocNo(String docNo) {
+        this.docNo = docNo;
+    }
+}

+ 21 - 0
warewms-ams/src/main/java/com/ruoyi/ams/xuankuang/domain/form/CallbackBbmForm.java

@@ -0,0 +1,21 @@
+package com.ruoyi.ams.xuankuang.domain.form;
+
+/**
+ * @author Jwk
+ * @version 1.0
+ * @date 2023/3/30 17:19
+ */
+public class CallbackBbmForm {
+    /**
+     * bbmId:破袋机编号
+     */
+    private String bbmId;
+
+    public String getBbmId() {
+        return bbmId;
+    }
+
+    public void setBbmId(String bbmId) {
+        this.bbmId = bbmId;
+    }
+}

+ 128 - 1
warewms-ams/src/main/java/com/ruoyi/ams/xuankuang/domain/form/OutTaskForm.java

@@ -6,9 +6,136 @@ package com.ruoyi.ams.xuankuang.domain.form;
  * @date 2023/3/30 15:45
  */
 public class OutTaskForm {
-
+    /**
+     * 任务单号
+     */
     private String taskNo;
+    /**
+     * 列数
+     */
     private Integer row;
+    /**
+     * 行数
+     */
     private Integer col;
+    /**
+     * floor:楼层
+     */
+    private Integer floor;
+    /**
+     * 包装类型
+     *
+     * 枚举备注: 1袋装 2桶装
+     */
+    private Integer packageType;
+    /**
+     * 物料类型
+     *
+     * 枚举备注: 1碳酸钠、2硫酸铵、3六偏磷酸钠、4乙黄药、5丁铵黑药
+     */
+    private Integer material;
+    /**
+     * total:数量
+     */
+    private Integer total;
+    /**
+     * docNo:回库关联单据号
+     */
+    private String docNo;
+    /**
+     * dests:桶装物资不需要
+     * dest:破袋机编号
+     * num:袋数
+     */
+    private Dest[] dests;
+
+    public static class Dest {
+        private Integer dest;
+        private Integer num;
+
+        public Integer getDest() {
+            return dest;
+        }
+
+        public void setDest(Integer dest) {
+            this.dest = dest;
+        }
+
+        public Integer getNum() {
+            return num;
+        }
+
+        public void setNum(Integer num) {
+            this.num = num;
+        }
+    }
+
+    public String getTaskNo() {
+        return taskNo;
+    }
+
+    public void setTaskNo(String taskNo) {
+        this.taskNo = taskNo;
+    }
+
+    public Integer getRow() {
+        return row;
+    }
+
+    public void setRow(Integer row) {
+        this.row = row;
+    }
+
+    public Integer getCol() {
+        return col;
+    }
+
+    public void setCol(Integer col) {
+        this.col = col;
+    }
+
+    public Integer getFloor() {
+        return floor;
+    }
+
+    public void setFloor(Integer floor) {
+        this.floor = floor;
+    }
+
+    public Integer getPackageType() {
+        return packageType;
+    }
+
+    public void setPackageType(Integer packageType) {
+        this.packageType = packageType;
+    }
+
+    public Integer getMaterial() {
+        return material;
+    }
+
+    public void setMaterial(Integer material) {
+        this.material = material;
+    }
+
+    public Integer getTotal() {
+        return total;
+    }
+
+    public void setTotal(Integer total) {
+        this.total = total;
+    }
+
+    public String getDocNo() {
+        return docNo;
+    }
+
+    public void setDocNo(String docNo) {
+        this.docNo = docNo;
+    }
+
+    public Object getDests() {
+        return dests;
+    }
 
 }

+ 95 - 1
warewms-ams/src/main/java/com/ruoyi/ams/xuankuang/service/XuanKuangTaskApiService.java

@@ -1,10 +1,11 @@
 package com.ruoyi.ams.xuankuang.service;
 
 import com.alibaba.fastjson.JSON;
-import com.ruoyi.ams.xuankuang.domain.form.OutTaskForm;
+import com.ruoyi.ams.xuankuang.domain.form.*;
 import com.ruoyi.ams.xuankuang.domain.vo.WcsResponseVo;
 import com.ruoyi.base.constant.Constant;
 import com.ruoyi.common.utils.http.HttpRequest;
+import com.ruoyi.common.utils.http.HttpUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
@@ -36,4 +37,97 @@ public class XuanKuangTaskApiService {
         }
         return wcsResponseVo;
     }
+
+    /**
+     * wms工单任务下发接口
+     *
+     * @param billTaskForm
+     * @return
+     */
+    public WcsResponseVo wmsBillTask(BillTaskForm billTaskForm) {
+        String json = JSON.toJSONString(billTaskForm);
+        String r = "";
+        WcsResponseVo wcsResponseVo = new WcsResponseVo();
+        try {
+            r = HttpRequest.postData(Constant.WCS_TASK_URL, json);
+            wcsResponseVo = JSON.parseObject(r, WcsResponseVo.class);
+        } catch (Exception e) {
+            log.error("wms工单任务下发接口失败: ", e);
+        }
+        return wcsResponseVo;
+    }
+
+    /**
+     * wms开启破袋机回调接口
+     *
+     * @param callbackBbmForm
+     * @return
+     */
+    public WcsResponseVo wmsCallbackBbmTask(CallbackBbmForm callbackBbmForm) {
+        String json = JSON.toJSONString(callbackBbmForm);
+        String r = "";
+        WcsResponseVo wcsResponseVo = new WcsResponseVo();
+        try {
+            r = HttpRequest.postData(Constant.WCS_TASK_URL, json);
+            wcsResponseVo = JSON.parseObject(r, WcsResponseVo.class);
+        } catch (Exception e) {
+            log.error("wms开启破袋机回调接口失败: ", e);
+        }
+        return wcsResponseVo;
+    }
+
+    /**
+     * agv入库任务下发接口
+     *
+     * @param agvInTaskForm
+     * @return
+     */
+    public WcsResponseVo wmsAgvInTask(AgvInTaskForm agvInTaskForm) {
+        String json = JSON.toJSONString(agvInTaskForm);
+        String r = "";
+        WcsResponseVo wcsResponseVo = new WcsResponseVo();
+        try {
+            r = HttpRequest.postData(Constant.WCS_TASK_URL, json);
+            wcsResponseVo = JSON.parseObject(r, WcsResponseVo.class);
+        } catch (Exception e) {
+            log.error("agv入库任务下发接口失败: ", e);
+        }
+        return wcsResponseVo;
+    }
+
+    /**
+     * agv回调wcs卸货完成
+     *
+     * @param taskNo
+     * @return
+     */
+    public WcsResponseVo wmsAgvCallbackIntask(String taskNo) {
+        String r = "";
+        WcsResponseVo wcsResponseVo = new WcsResponseVo();
+        try {
+            r = HttpUtils.sendGet(Constant.WCS_TASK_URL, taskNo);
+            wcsResponseVo = JSON.parseObject(r, WcsResponseVo.class);
+        } catch (Exception e) {
+            log.error("agv回调wcs卸货完成失败: ", e);
+        }
+        return wcsResponseVo;
+    }
+
+    /**
+     * agv回调wcs货物取走接口
+     *
+     * @param wcsId
+     * @return
+     */
+    public WcsResponseVo wmsAgvCallbackOuttask(String wcsId) {
+        String r = "";
+        WcsResponseVo wcsResponseVo = new WcsResponseVo();
+        try {
+            r = HttpUtils.sendGet(Constant.WCS_TASK_URL, wcsId);
+            wcsResponseVo = JSON.parseObject(r, WcsResponseVo.class);
+        } catch (Exception e) {
+            log.error("agv回调wcs货物取走接口失败: ", e);
+        }
+        return wcsResponseVo;
+    }
 }