From caa7a2327123cc070ae16ad802983c04e296ff11 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期三, 04 二月 2026 13:46:00 +0800
Subject: [PATCH] #1。档案同步2,任务状态上报,3设备状态读取,4心跳,5wms手动完成取消任务

---
 src/main/java/com/zy/asrs/entity/param/TaskCancelParam.java         |    9 +
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java         |   24 +++
 src/main/java/com/zy/asrs/controller/OpenController.java            |   37 +++++
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java         |    8 +
 src/main/java/com/zy/asrs/controller/MatController.java             |    8 +
 src/main/java/com/zy/asrs/entity/param/MatSyncParam.java            |   24 +++
 src/main/java/com/zy/asrs/service/impl/MatServiceImpl.java          |  170 ++++++++++++++++++++++++
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java         |   76 +++++++++-
 src/main/java/com/zy/asrs/service/OpenService.java                  |   10 +
 src/main/resources/application.yml                                  |    3 
 src/main/java/com/zy/asrs/entity/param/TaskStatusFeedbackParam.java |   39 +++++
 src/main/java/com/zy/asrs/service/MatService.java                   |    3 
 12 files changed, 398 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MatController.java b/src/main/java/com/zy/asrs/controller/MatController.java
index 90cc015..998d285 100644
--- a/src/main/java/com/zy/asrs/controller/MatController.java
+++ b/src/main/java/com/zy/asrs/controller/MatController.java
@@ -14,6 +14,7 @@
 import com.zy.asrs.entity.MatPrint;
 import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.entity.param.EmptyPlateOutParam;
+import com.zy.asrs.entity.param.MatSyncParam;
 import com.zy.asrs.entity.result.KeyValueVo;
 import com.zy.asrs.service.MatService;
 import com.zy.asrs.utils.MatExcelListener;
@@ -58,6 +59,13 @@
         return R.ok().add(mats);
     }
 
+    @RequestMapping(value = "mat/sync")
+    @ManagerAuth
+    public R sync(@RequestBody MatSyncParam matSyncParam){
+        return matService.sync(matSyncParam);
+    }
+
+
 //    @RequestMapping(value = "/mat/search/pda/auth")
 //    @ManagerAuth
 //    public R pdaSearch(@RequestParam(required = false)String condition){
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index e2e0f5b..7277a53 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -1,11 +1,16 @@
 package com.zy.asrs.controller;
 
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.annotations.AppAuth;
+import com.core.annotations.ManagerAuth;
 import com.core.common.*;
 import com.core.exception.CoolException;
+import com.zy.asrs.entity.WrkMast;
 import com.zy.asrs.entity.param.*;
 import com.zy.asrs.service.OpenService;
+import com.zy.asrs.service.WorkService;
+import com.zy.asrs.service.impl.WrkMastServiceImpl;
 import com.zy.common.model.DetlDto;
 import com.zy.common.web.BaseController;
 import lombok.extern.slf4j.Slf4j;
@@ -16,6 +21,8 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
+import java.util.HashMap;
 
 /**
  * Created by vincent on 2022/4/8
@@ -34,6 +41,10 @@
 
     @Autowired
     private OpenService openService;
+    @Autowired
+    private WorkService workService;
+    @Autowired
+    private WrkMastServiceImpl wrkMastService;
 
     @PostMapping("/order/matSync/default/v2")
 //    @AppAuth(memo = "鍟嗗搧淇℃伅鍚屾鎺ュ彛")
@@ -429,4 +440,30 @@
         return R.error("浠诲姟鍙蜂笉瀛樺湪");
     }
 
+    /**
+     * 蹇冭烦鎺ュ彛
+     */
+    @PostMapping("/wmsHeartbeat")
+    public R heartbeat(@RequestBody Map<String, Object> param) {
+        if (param != null && param.get("timeStamp") != null) {
+            return R.ok("鎿嶄綔鎴愬姛");
+        }
+        return R.error("澶辫触");
+    }
+
+    @RequestMapping("/taskCancel")
+    @ManagerAuth(memo = "鎵嬪姩澶勭悊宸ヤ綔妗�")
+    public R handControlWrkMast(@RequestHeader(required = false) String appkey,@RequestBody TaskCancelParam taskCancelParam,HttpServletRequest request){
+        auth(appkey, taskCancelParam, request);
+
+        if (taskCancelParam.getTaskStatus() == 2) {
+            workService.completeWrkMast(taskCancelParam.getTaskNo(),null);
+            return R.ok("宸ヤ綔妗e凡瀹屾垚");
+        } else if (taskCancelParam.getTaskStatus() == 1) {
+            workService.cancelWrkMast(taskCancelParam.getTaskNo(), null);
+            return R.ok("宸ヤ綔妗e凡鍙栨秷");
+        }
+        return R.ok();
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java b/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java
index 298a252..54b5a69 100644
--- a/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java
@@ -23,17 +23,20 @@
         /**
          * 鍟嗗搧缂栧彿
          */
-        private String matnr;
+        private String matNr;
 
         /**
          * 鍟嗗搧鍚嶇О
          */
-        private String maktx;
+        private String makTx;
 
         /**
          * 鍟嗗搧鍒嗙被
          */
         private String groupCode;
+
+        private String groupId;
+
 
         /**
          * 鍒嗙被鍚嶇О
@@ -48,12 +51,17 @@
         /**
          * 瑙勬牸
          */
-        private String specs;
+        private String spec;
 
         /**
          * 鍨嬪彿
          */
         private String model;
+
+        /**
+         * 灏哄
+         */
+        private String size;
 
         /**
          * 棰滆壊
@@ -194,6 +202,16 @@
          * 澶囨敞
          */
         private String memo;
+
+        /**
+         * 鎻忚堪
+         */
+        private String describle;
+
+        /**
+         * 鎿嶄綔绫诲瀷锛�1 鏂板锛堥粯璁わ級锛�2 淇敼锛�3 绂佺敤锛�4 鍚敤锛�
+         */
+        private Integer operateType;
     }
 
 }
diff --git a/src/main/java/com/zy/asrs/entity/param/TaskCancelParam.java b/src/main/java/com/zy/asrs/entity/param/TaskCancelParam.java
new file mode 100644
index 0000000..3267c1d
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/TaskCancelParam.java
@@ -0,0 +1,9 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+@Data
+public class TaskCancelParam {
+    private String taskNo;
+    private Integer taskStatus;
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/TaskStatusFeedbackParam.java b/src/main/java/com/zy/asrs/entity/param/TaskStatusFeedbackParam.java
new file mode 100644
index 0000000..90e6200
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/TaskStatusFeedbackParam.java
@@ -0,0 +1,39 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 浠诲姟鐘舵�佸弽棣堝弬鏁�
+ */
+@Data
+public class TaskStatusFeedbackParam {
+
+    /**
+     * 宸ヤ綔鍙�
+     */
+    private String taskNo;
+
+    /**
+     * 1锛氬彇娑�
+     * 2锛氬畬缁�
+     * 3:鎷i�夈�佺洏鐐瑰嚭搴撲笂鎶ワ紙浠诲姟鏈粨鏉燂紝闇�瑕佸洖搴擄級
+     */
+    private Integer status;
+
+    /**
+     * 1:鍑哄簱锛�2锛氱Щ搴擄紝3:鍏ュ簱
+     */
+    private Integer ioType;
+
+    /**
+     * 鎵樼洏鐮�
+     */
+    private String barcode;
+
+    /**
+     * 涓婃姤鏃堕棿
+     */
+    private Date reportTime;
+}
diff --git a/src/main/java/com/zy/asrs/service/MatService.java b/src/main/java/com/zy/asrs/service/MatService.java
index 6660678..ba95d44 100644
--- a/src/main/java/com/zy/asrs/service/MatService.java
+++ b/src/main/java/com/zy/asrs/service/MatService.java
@@ -2,7 +2,9 @@
 
 import com.baomidou.mybatisplus.plugins.Page;
 import com.baomidou.mybatisplus.service.IService;
+import com.core.common.R;
 import com.zy.asrs.entity.Mat;
+import com.zy.asrs.entity.param.MatSyncParam;
 
 import java.util.List;
 
@@ -20,5 +22,6 @@
     Mat selectNewUpdateTime();
     String getOldMatnr(Long id);
 
+    R sync(MatSyncParam matSyncParam);
 
 }
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index 8083759..2b2e923 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -50,4 +50,14 @@
     void taskArmWorkOrderStatus(OrderArmEndParam param);
     boolean TaskArmWorkOrderSign(OrderArmEndParam param);
     boolean TaskAgvReport(TaskAgvReportParam param);
+
+    /**
+     * 浠诲姟鐘舵�佸弽棣堜笂鎶�
+     * @param taskNo 宸ヤ綔鍙�
+     * @param status 鐘舵�� 1锛氬彇娑� 2锛氬畬缁� 3:鎷i�夈�佺洏鐐瑰嚭搴撲笂鎶�
+     * @param ioType 绫诲瀷 1:鍑哄簱锛�2锛氱Щ搴擄紝3:鍏ュ簱
+     * @param barcode 鎵樼洏鐮�
+     * @return 鏄惁鎴愬姛
+     */
+    boolean reportTaskStatus(String taskNo, Integer status, Integer ioType, String barcode);
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/MatServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MatServiceImpl.java
index 45bbcfe..a6ce423 100644
--- a/src/main/java/com/zy/asrs/service/impl/MatServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MatServiceImpl.java
@@ -1,17 +1,35 @@
 package com.zy.asrs.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.common.R;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.Tag;
+import com.zy.asrs.entity.param.MatSyncParam;
+import com.zy.asrs.service.ApiLogService;
+import com.zy.asrs.service.TagService;
+import com.zy.common.config.CoolExceptionHandler;
+import com.zy.erp.kingdee.enums.KingDeeUtilType;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.zy.asrs.entity.Mat;
 import com.zy.asrs.mapper.MatMapper;
 import com.zy.asrs.service.MatService;
+import org.springframework.transaction.annotation.Transactional;
 
+import java.text.MessageFormat;
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 @Service("matService")
 public class MatServiceImpl extends ServiceImpl<MatMapper, Mat> implements MatService {
-
+    @Autowired
+    private ApiLogService apiLogService;
+    @Autowired
+    private TagService tagService;
     @Override
     public Page<Mat> getPage(Page page, String tagId, Object matnr, Object maktx) {
         return page.setRecords(baseMapper.listByPage(page, tagId, matnr, maktx));
@@ -56,11 +74,159 @@
         page.setTotal(16);
         return page;
     };
-    @Override
     public String getOldMatnr(Long id){
         return this.baseMapper.getOldMatnr(id);
     }
+    private Tag getOrCreateTag(MatSyncParam.MatParam param) {
+        Tag tag = tagService.selectOne(
+                new EntityWrapper<Tag>()
+                        .eq("name", param.getGroupName())
+                        .eq("uuid", param.getGroupId())
+        );
+        Tag tagAll = tagService.selectOne(new EntityWrapper<Tag>().eq("name", "鍏ㄩ儴"));
 
+        if (tag == null) {
+            tag = new Tag();
+            tag.setUuid(param.getGroupId());
+            tag.setName(param.getGroupName());
+            tag.setParentId(tagAll.getId());
+            tag.setParentName("鍏ㄩ儴");
+            tag.setPath(String.valueOf(tagAll.getId()));
+            tag.setPathName("鍏ㄩ儴");
+            tag.setStatus(1);
+            tag.setLevel(2);
+            if (!tagService.insert(tag)) {
+                throw new CoolException("鏂板缓鐩綍澶辫触");
+            }
+        }
+        return tag;
+    }
+
+    @Override
+    public R sync(MatSyncParam matSyncParam) {
+
+        List<String> errors = new ArrayList<>();
+        Date now = new Date();
+
+        for (MatSyncParam.MatParam param : matSyncParam.getMatDetails()) {
+
+            try {
+                if (param.getOperateType() == 1 || param.getOperateType() == 2) {
+
+                    Tag tag = getOrCreateTag(param);
+                    Mat mat = this.selectOne(
+                            new EntityWrapper<Mat>().eq("matnr", param.getMatNr())
+                    );
+
+                    if (mat == null) {
+                        mat = new Mat();
+                        mat.setMatnr(param.getMatNr());
+                        mat.setStatus(1);
+                        fillMat(mat, param, tag);
+                        mat.setCreateTime(now);
+
+                        if (!this.insert(mat)) {
+                            errors.add("鏂板鐗╂枡澶辫触锛�" + param.getMatNr());
+                        }
+                    } else {
+                        if (fillMat(mat, param, tag)) {
+                            mat.setUpdateTime(now);
+                            if (!this.updateById(mat)) {
+                                errors.add("鏇存柊鐗╂枡澶辫触锛�" + param.getMatNr());
+                            }
+                        }
+                    }
+                }
+
+                if (param.getOperateType() == 3 || param.getOperateType() == 4) {
+                    Mat mat = this.selectOne(
+                            new EntityWrapper<Mat>().eq("matnr", param.getMatNr())
+                    );
+                    if (mat == null) {
+                        errors.add("鐗╂枡涓嶅瓨鍦細" + param.getMatNr());
+                        continue;
+                    }
+                    mat.setStatus(param.getOperateType() == 3 ? 0 : 1);
+                    if (!this.updateById(mat)) {
+                        errors.add("鐘舵�佹洿鏂板け璐ワ細" + param.getMatNr());
+                    }
+                }
+
+            } catch (Exception e) {
+                errors.add("澶勭悊寮傚父锛�" + param.getMatNr());
+            }
+        }
+
+        if (errors.isEmpty()) {
+            return R.ok("鍚屾鎴愬姛");
+        }
+        R r = R.error("鍚屾瀹屾垚锛屽瓨鍦ㄥけ璐ユ暟鎹�");
+        r.put("errors", errors);
+        return r;
+    }
+    private boolean fillMat(Mat mat, MatSyncParam.MatParam param, Tag tag) {
+        boolean changed = false;
+
+        if (!Objects.equals(mat.getMaktx(), param.getMakTx())) {
+            mat.setMaktx(param.getMakTx());
+            changed = true;
+        }
+
+        if (!Objects.equals(mat.getMemo(), param.getDescrible())) {
+            mat.setMemo(param.getDescrible());
+            changed = true;
+        }
+
+        if (!Objects.equals(mat.getWeight(), param.getWeight())) {
+            mat.setWeight(param.getWeight());
+            changed = true;
+        }
+
+        if (!Objects.equals(mat.getSpecs(), param.getSpec())) {
+            mat.setSpecs(param.getSpec());
+            changed = true;
+        }
+
+        if (!Objects.equals(mat.getModel(), param.getModel())) {
+            mat.setModel(param.getModel());
+            changed = true;
+        }
+
+        if (!Objects.equals(mat.getColor(), param.getColor())) {
+            mat.setColor(param.getColor());
+            changed = true;
+        }
+
+        if (!Objects.equals(mat.getBrand(), param.getSize())) {
+            mat.setBrand(param.getSize());
+            changed = true;
+        }
+
+        if (!Objects.equals(mat.getUnit(), param.getUnit())) {
+            mat.setUnit(param.getUnit());
+            changed = true;
+        }
+
+        if (!Objects.equals(mat.getUuid(), param.getGroupId())) {
+            mat.setUuid(param.getGroupId());
+            changed = true;
+        }
+
+        Long tagId = tag == null ? null : tag.getId();
+        if (!Objects.equals(mat.getTagId(), tagId)) {
+            mat.setTagId(tagId);
+            changed = true;
+        }
+
+        return changed;
+    }
+
+    public void callApiLogSaveMat(Mat mat, String response, Boolean bool) {
+        apiLogService.save("鍟嗗搧妗f鍚屾", "mat/sync", "null", "localhost",
+                "鐗╂枡缂栧彿锛�" + mat.getMatnr() + "銆佺墿鏂欏悕绉帮細" + mat.getMaktx() + "銆佹瘺閲嶏細" + mat.getWeight()
+                        + "銆佺姸鎬侊細" + mat.getStatus$(),
+                response, bool);
+    }
 
 
 }
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 67bdd9f..3325572 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -1,6 +1,7 @@
 package com.zy.asrs.service.impl;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
 import com.core.common.DateUtils;
@@ -16,16 +17,16 @@
 import com.zy.asrs.utils.OrderInAndOutUtil;
 import com.zy.asrs.utils.Utils;
 import com.zy.common.model.DetlDto;
+import com.zy.common.utils.HttpHandler;
 import com.zy.common.utils.NodeUtils;
 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 javax.rmi.CORBA.Util;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 /**
  * Created by vincent on 2022/4/9
@@ -62,7 +63,10 @@
     private BasAgvMastService basAgvMastService;
     @Autowired
     private LocOwnerService locOwnerService;
-
+    @Autowired
+    private ApiLogService apiLogService;
+    @Value("${wms.url}")
+    private String wmsUrl;
     @Override
     @Transactional
     public void pakinOrderCreate(OpenOrderPakinParam param) {
@@ -519,12 +523,12 @@
         }
 
         for(MatSyncParam.MatParam matParam : param.getMatDetails()){
-            if(Cools.isEmpty(matParam.getMatnr())){
+            if(Cools.isEmpty(matParam.getMatNr())){
                 throw new CoolException("鍟嗗搧缂栫爜涓嶈兘涓虹┖");
             }
 
             Date now = new Date();
-            Mat mat = matService.selectByMatnr(matParam.getMatnr());
+            Mat mat = matService.selectByMatnr(matParam.getMatNr());
             if (mat == null) {
                 mat = new Mat();
                 // 鍒嗙被
@@ -612,7 +616,7 @@
                 }
             } else {
                 mat.sync(matParam);
-                if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr",matParam.getMatnr()))) {
+                if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr",matParam.getMatNr()))) {
                     throw new CoolException("鏇存柊宸插瓨鍦ㄥ晢鍝佷俊鎭け璐ワ紝璇疯仈绯荤鐞嗗憳");
                 }
             }
@@ -778,4 +782,62 @@
     }
 
 
+    @Override
+    public boolean reportTaskStatus(String taskNo, Integer status, Integer ioType, String barcode) {
+        try {
+            TaskStatusFeedbackParam param = new TaskStatusFeedbackParam();
+            param.setTaskNo(taskNo);
+            param.setStatus(status);
+            param.setIoType(ioType);
+            param.setBarcode(barcode);
+            param.setReportTime(new Date());
+
+            Map<String, Object> headers = new HashMap<>();
+            headers.put("appkey", "ea1f0459efc02a79f046f982767939ae");
+
+            String response = new HttpHandler.Builder()
+                    .setUri(wmsUrl)
+                    .setPath("/taskStatusFeedback")
+                    .setJson(JSON.toJSONString(param))
+                    .setHeaders(headers)
+                    .build()
+                    .doPost();
+
+            boolean success = false;
+            log.info("浠诲姟鐘舵�佸弽棣堜笂鎶ョ粨鏋滐細{}", response);
+            if (response != null) {
+                try {
+                    JSONObject jsonObject = JSON.parseObject(response);
+                    // 鍋囪杩斿洖code涓�200琛ㄧず鎴愬姛
+                    if (jsonObject != null && jsonObject.containsKey("code") && jsonObject.getInteger("code") == 200) {
+                        success = true;
+                    }
+                } catch (Exception e) {
+                    log.warn("瑙f瀽鍝嶅簲澶辫触", e);
+                }
+            }
+
+            // 璁板綍鏃ュ織
+            try {
+                apiLogService.save("浠诲姟鐘舵�佸弽棣堜笂鎶�",
+                        "/taskStatusFeedback",
+                        "ea1f0459efc02a79f046f982767939ae",
+                        wmsUrl,
+                        JSON.toJSONString(param),
+                        response,
+                        success);
+            } catch (Exception e) {
+                log.error("淇濆瓨API鏃ュ織寮傚父", e);
+            }
+
+            return success;
+        } catch (Exception e) {
+            log.error("浠诲姟鐘舵�佸弽棣堜笂鎶ュ紓甯�", e);
+        }
+        return false;
+    }
+
+
+
+
 }
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 d922141..983ae44 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -103,6 +103,7 @@
 
     @Resource
     private BasAgvWrkDetlService basAgvWrkDetlService;
+    private OpenService openService;
 
     @Override
     @Transactional
@@ -991,6 +992,7 @@
     @Transactional
     public void completeWrkMast(String workNo, Long userId) {
         WrkMast wrkMast = wrkMastService.selectById(workNo);
+        Integer ioType = 0;
         if (Cools.isEmpty(wrkMast)){
             throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
         }
@@ -1000,9 +1002,15 @@
         // 鍏ュ簱 + 搴撲綅杞Щ
         if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()==11)) {
             wrkMast.setWrkSts(4L);
+            if(wrkMast.getIoType() == 11){
+                ioType = 2;
+            }else{
+                ioType = 3;
+            }
         // 鍑哄簱
         } else if (wrkMast.getWrkSts() > 10) {
             wrkMast.setWrkSts(14L);
+            ioType = 1;
         }
         Date now = new Date();
         wrkMast.setCrnStrTime(DateUtils.calculate(now, 1L, TimeUnit.SECONDS, true));
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index 164d81d..394427a 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -41,6 +41,8 @@
     private OrderDetlPakinService orderDetlPakinService;
     @Autowired
     private OrderDetlPakoutService orderDetlPakoutService;
+    @Autowired
+    private OpenService openService;
 
     public ReturnT<String> start(WrkMast wrkMast) {
         // 4.鍏ュ簱瀹屾垚
@@ -56,6 +58,8 @@
     private ReturnT<String> doIn(WrkMast wrkMast){
         Date now = new Date();
         LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+        Integer status = 0;
+        Integer ioType = 0;
         try {
             if (null == locMast) {
 //                exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
@@ -79,6 +83,8 @@
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                             return FAIL.setMsg("绌烘澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                         }
+                        status = 2;
+                        ioType = 3;
                     }
                     break;
                 // 鍏ㄦ澘鍏ュ簱
@@ -166,6 +172,8 @@
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                             return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                         }
+                        status = 2;
+                        ioType = 3;
                     }
                     break;
                 // 鎷f枡閫斾腑骞舵澘
@@ -271,6 +279,8 @@
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                             return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                         }
+                        status = 2;
+                        ioType = 3;
                     }
                     break;
                 // 骞舵澘鍏ュ簱
@@ -372,6 +382,8 @@
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                             return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                         }
+                        status = 2;
+                        ioType = 3;
                     }
                     break;
                 // 搴撲綅绉昏浆
@@ -411,6 +423,8 @@
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                         return FAIL.setMsg("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                     }
+                    status = 2;
+                    ioType = 2;
                     break;
                 default:
                     break;
@@ -423,6 +437,8 @@
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return FAIL.setMsg("鏇存柊鍏ュ簱瀹屾垚鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
             }
+            openService.reportTaskStatus(String.valueOf(wrkMast.getWrkNo()),status,ioType,wrkMast.getBarcode());
+
         } catch (Exception e) {
             log.error("fail", e);
             e.printStackTrace();
@@ -435,6 +451,8 @@
     private ReturnT<String> doOut(WrkMast wrkMast){
         Date now = new Date();
         LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
+        Integer status = 0;
+        Integer ioType = 0;
         try {
             if (null == locMast && wrkMast.getIoType() !=12) {
 //                exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
@@ -497,6 +515,8 @@
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                             return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                         }
+                        status = 2;
+                        ioType = 1;
                     }
                     break;
                 // 骞舵澘閫斾腑鎹℃枡
@@ -545,6 +565,8 @@
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                             return FAIL.setMsg("绌烘澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                         }
+                        status = 2;
+                        ioType = 1;
                     }
                     break;
                 //3鍙峰爢鍨涙満琛旀帴
@@ -561,6 +583,8 @@
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return FAIL.setMsg("鏇存柊鍑哄簱瀹屾垚鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
             }
+            openService.reportTaskStatus(String.valueOf(wrkMast.getWrkNo()),status,ioType,wrkMast.getBarcode());
+
         } catch (Exception e) {
             log.error("fail", e);
             e.printStackTrace();
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 6ac2349..5c9b019 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -69,7 +69,8 @@
   autoLocMoveBoolean: false
   # 鑷姩绉诲簱鍔熻兘寮�鍏� 绌挎
   autoLocMoveUnilateralBoolean: false
-
+wms:
+  url: localhost:8080
 comb:
   limit: 5000
 

--
Gitblit v1.9.1