From 8416a2ccfedeb54b4244a38b8a53c1c5a5eec6a9 Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期二, 06 一月 2026 16:34:55 +0800
Subject: [PATCH] #1

---
 src/main/java/com/zy/asrs/entity/param/StatusParam.java       |    5 
 src/main/java/com/zy/asrs/controller/MonitorController.java   |  229 +++++++++++++++++++++++++
 src/main/java/com/zy/asrs/entity/result/WrkPriority.java      |    5 
 src/main/java/com/zy/common/web/WcsController.java            |   91 ++++++++--
 src/main/java/com/zy/asrs/entity/result/WorkIssuedResult.java |    6 
 src/main/java/com/zy/asrs/entity/result/WrkCancel.java        |    3 
 src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java       |   12 +
 src/main/java/com/zy/common/model/MatDto.java                 |   78 ++++++++
 src/main/java/com/zy/common/model/command/LedCommand.java     |   37 ++++
 src/main/java/com/zy/common/web/param/ErrorMsg.java           |    2 
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java   |    3 
 src/main/java/com/zy/common/web/param/ApplyChangeEnd.java     |   23 ++
 src/main/java/com/zy/asrs/task/handler/WCSReportHandler.java  |    5 
 src/main/java/com/zy/common/service/CommonService.java        |    8 
 src/main/resources/application.yml                            |   15 
 15 files changed, 493 insertions(+), 29 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MonitorController.java b/src/main/java/com/zy/asrs/controller/MonitorController.java
new file mode 100644
index 0000000..02945a2
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/MonitorController.java
@@ -0,0 +1,229 @@
+package com.zy.asrs.controller;
+
+import com.core.common.Arith;
+import com.core.common.Cools;
+import com.core.common.R;
+import com.zy.asrs.entity.AxisBean;
+import com.zy.asrs.entity.LocChartPie;
+import com.zy.asrs.entity.WorkChartAxis;
+import com.zy.asrs.mapper.ReportQueryMapper;
+import com.zy.common.model.MatDto;
+import com.zy.common.model.command.LedCommand;
+import com.zy.common.service.CommonService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+@RestController
+@RequestMapping("/monitor")
+public class MonitorController {
+
+    private static final String[] WEEK = {"鏄熸湡鏃�","鏄熸湡涓�","鏄熸湡浜�","鏄熸湡涓�","鏄熸湡鍥�","鏄熸湡浜�","鏄熸湡鍏�"};
+
+
+    @Autowired
+    private ReportQueryMapper reportQueryMapper;
+
+    /**
+     * 鑾峰彇褰撳墠鏃堕棿
+     */
+    @GetMapping("/date")
+    public R monitorDate() {
+        Date now = new Date();
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(now);
+        return R.ok(
+                Cools.add("year", calendar.get(Calendar.YEAR))
+                        .add("month", CommonService.zerofill(String.valueOf(calendar.get(Calendar.MONTH)+1), 2))
+                        .add("day", CommonService.zerofill(String.valueOf(calendar.get(Calendar.DATE)), 2))
+                        .add("hour", CommonService.zerofill(String.valueOf(calendar.get(Calendar.HOUR_OF_DAY)), 2))
+                        .add("minute", CommonService.zerofill(String.valueOf(calendar.get(Calendar.MINUTE)), 2))
+                        .add("second", CommonService.zerofill(String.valueOf(calendar.get(Calendar.SECOND)) , 2))
+                        .add("week", WEEK[calendar.get(Calendar.DAY_OF_WEEK)-1])
+        );
+    }
+
+
+    /**
+     * 鍏ュ簱鎶ヨ〃 -- 鎶樼嚎鍥�
+     */
+    @GetMapping("/pakin/rep")
+    public R monitorPakinRep(){
+        // 鍏ュ簱
+        List<Map<String, Object>> pakinRep = reportQueryMapper.queryPakinRep();
+        for (Map<String, Object> map : pakinRep) {
+            if (map.get("node")!=null) {
+                map.put("node", String.valueOf(map.get("node")).substring(5, 10));
+            }
+        }
+        // 鍑哄簱
+        List<Map<String, Object>> pakoutRep = reportQueryMapper.queryPakinRep();
+        return R.ok(pakinRep);
+    }
+
+    @GetMapping("/line/charts")
+    public R locIoLineCharts(){
+        Map<String,Object> map=new HashMap<String, Object>();
+        List<AxisBean> list = new ArrayList<AxisBean>();
+
+        List<WorkChartAxis> listChart = reportQueryMapper.getChartAxis();
+
+        if(listChart!=null) {
+            ArrayList<Integer> data1 = new ArrayList<Integer>();
+            ArrayList<Integer> data2 = new ArrayList<Integer>();
+
+            SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
+            Calendar calendar = Calendar.getInstance();
+            calendar.add(Calendar.DATE, -12);
+            for(int i=0;i<12;i++) {
+                boolean flag = true;
+                calendar.add(Calendar.DATE, 1);
+                String str = sf.format(calendar.getTime());
+                for(WorkChartAxis workChart : listChart) {
+                    if(str.equals(workChart.getYmd())) {
+                        data1.add(workChart.getInqty());
+                        data2.add(workChart.getOutqty());
+                        flag = false;
+                        break;
+                    }
+                }
+                if(flag) {
+                    data1.add(0);
+                    data2.add(0);
+                }
+            }
+            AxisBean inqty = new AxisBean();
+            inqty.setName("鍏ュ簱鏁伴噺");
+            Integer[] array1 = new Integer[data1.size()];
+            inqty.setData(data1.toArray(array1));
+            list.add(inqty);
+            AxisBean outqty = new AxisBean();
+            outqty.setName("鍑哄簱鏁伴噺");
+            Integer[] array2 = new Integer[data2.size()];
+            outqty.setData(data2.toArray(array2));
+            list.add(outqty);
+        }
+        map.put("rows",list);
+        return R.ok(map);
+    }
+
+    /**
+     * 搴撲綅浣跨敤鎯呭喌缁熻
+     */
+    @GetMapping("/loc/rep")
+    public R monitorLocRep(){
+        List<Map<String, Object>> pie = new ArrayList<>();
+
+        LocChartPie locUseRate = reportQueryMapper.getLocUseRate();
+        if(locUseRate!=null) {
+            Map<String, Object> map = new HashMap<>();
+            map.put("name", "鍦ㄥ簱");
+            map.put("value", locUseRate.getFqty());
+            pie.add(map);
+
+            Map<String, Object> map1 = new HashMap<>();
+            map1.put("name", "绌�");
+            map1.put("value", locUseRate.getOqty());
+            pie.add(map1);
+
+            Map<String, Object> map2 = new HashMap<>();
+            map2.put("name", "浣跨敤");
+            map2.put("value", locUseRate.getUqty());
+            pie.add(map2);
+
+            Map<String, Object> map3 = new HashMap<>();
+            map3.put("name", "绂佺敤");
+            map3.put("value", locUseRate.getXqty());
+            pie.add(map3);
+        }
+
+        // 鎬诲簱浣嶆暟
+        Integer total = (int) Arith.add(0, locUseRate.getFqty(), locUseRate.getOqty(), locUseRate.getUqty(), locUseRate.getXqty());
+        // 浣跨敤涓�
+        Integer used = locUseRate.getFqty() + locUseRate.getUqty();
+        // 搴撲綅浣跨敤鐜�
+        double usedDivides = Arith.divides(3, used, total);
+        double usedPr = Arith.multiplys(1, usedDivides, 100);
+
+        return R.ok(
+                Cools.add("pie", pie)
+                        .add("stockCunt", locUseRate.getFqty())
+                        .add("emptyCount", locUseRate.getOqty())
+                        .add("noneCount", locUseRate.getXqty())
+                        .add("total", total)
+                        .add("used", used)
+                        .add("usedPr", usedPr)
+        );
+    }
+
+    /**
+     * 鑾峰彇鍏朵粬淇℃伅
+     */
+    @GetMapping("/led")
+    public R monitorLed(@RequestParam("ledId") Integer ledId) {
+        String ledContent = "";
+        List<LedCommand> commandList = new ArrayList<>();
+        List<MatDto> matDtoList = new ArrayList<>();
+        MatDto matDto = new MatDto(
+                "001",
+                "鍘熸潗鏂�",
+                100.0,
+                150.0,
+                100.0,
+                200.0,
+                "1.2*1.3",
+                "ZGDW890",
+                "80000001",
+                "DWT01",
+                "涓浗鐢电綉",
+                "涓浗鐢电綉",
+                "ZGDW4396",
+                "ZGDW-9945"
+
+        );
+        matDtoList.add(matDto);
+        if (ledId == 100){
+            LedCommand command = new LedCommand(
+                    "鍏ㄦ澘鍏ュ簱",
+                    9527,
+                    100,
+                    100,
+                    "0100101",
+                    "",
+                    matDtoList,
+                    false,
+                    1,
+                    "80000001"
+            );
+            commandList.add(command);
+        }
+        return R.ok().add(commandList);
+    }
+
+    /**
+     * 寮傚父閫氱煡
+     */
+    @GetMapping("/led/error")
+    public R monitorLedError(@RequestParam("ledId") Integer ledId) {
+        String errorMsg = "";
+        if (ledId == 100){
+//            errorMsg = "楹﹀綋鍔砎S鑲痉鍩�";
+        }
+        return R.ok().add(errorMsg);
+    }
+
+    @GetMapping("/getLedInfos")
+    public R getLedInfos(HttpServletRequest request) {
+        String remoteAddr = request.getRemoteAddr();
+            if (remoteAddr.equals("127.0.0.1")) {
+                return R.ok();
+            }
+        return R.ok();
+    }
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/StatusParam.java b/src/main/java/com/zy/asrs/entity/param/StatusParam.java
index a7df03b..e87adff 100644
--- a/src/main/java/com/zy/asrs/entity/param/StatusParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/StatusParam.java
@@ -30,4 +30,9 @@
      * 鐩殑浣嶇疆缂栫爜
      */
     private String gridId;
+
+    /*
+    * 浠撳簱缂栫爜
+    * */
+    private String warehouse;
 }
diff --git a/src/main/java/com/zy/asrs/entity/result/WorkIssuedResult.java b/src/main/java/com/zy/asrs/entity/result/WorkIssuedResult.java
index c8742eb..d015786 100644
--- a/src/main/java/com/zy/asrs/entity/result/WorkIssuedResult.java
+++ b/src/main/java/com/zy/asrs/entity/result/WorkIssuedResult.java
@@ -71,5 +71,11 @@
          * 鍓嶏紝澶х殑鍦ㄥ悗
          */
         private int order;
+
+        /*
+        * 璐х墿灏哄
+        * 鍚屽眰瀛樺湪涓嶅悓灏哄鐨勬墭鐩樻椂蹇呭~
+        * 1锛�2锛�3鏁板瓧瓒婂ぇ灏哄瓒婂ぇ*/
+        private Integer cargoSize;
     }
 }
diff --git a/src/main/java/com/zy/asrs/entity/result/WrkCancel.java b/src/main/java/com/zy/asrs/entity/result/WrkCancel.java
index 7878b6e..40f29d7 100644
--- a/src/main/java/com/zy/asrs/entity/result/WrkCancel.java
+++ b/src/main/java/com/zy/asrs/entity/result/WrkCancel.java
@@ -10,4 +10,7 @@
 
     /*鍙栨秷鏃堕棿*/
     private String msgTime;
+
+    /*浠撳簱缂栫爜*/
+    private String warehouse;
 }
diff --git a/src/main/java/com/zy/asrs/entity/result/WrkPriority.java b/src/main/java/com/zy/asrs/entity/result/WrkPriority.java
index 26f9aee..f9b7774 100644
--- a/src/main/java/com/zy/asrs/entity/result/WrkPriority.java
+++ b/src/main/java/com/zy/asrs/entity/result/WrkPriority.java
@@ -5,7 +5,7 @@
 @Data
 public class WrkPriority {
 
-    /*缁勫彿*/
+    /*浠诲姟鍙�*/
     private String taskId;
 
     /*浼樺厛绾�*/
@@ -13,4 +13,7 @@
 
     /*璋冩暣鏃堕棿*/
     private String msgTime;
+
+    /*浠撳簱缂栫爜*/
+    private String warehouse;
 }
diff --git a/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java b/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java
index 6a804db..bc7ecf5 100644
--- a/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java
@@ -7,6 +7,7 @@
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
+import java.util.Map;
 
 @Mapper
 @Repository
@@ -80,4 +81,15 @@
 	Integer selectWorkCountInSum(String matnr, @Param("start") String startTime, @Param("end") String endTime);
 
 	Integer selectWorkCountOutSum(String matnr, @Param("start") String startTime, @Param("end") String endTime);
+
+    @Select("select \n" +
+            "Min(wm.io_time) as node,\n" +
+            "isnull(count(1), 0) as val\n" +
+            "from asr_wrk_mast_log wm\n" +
+            "where wm.wrk_sts = 5 \n" +
+            "and (wm.io_type = 1 OR wm.io_type = 54)\n" +
+            "and datediff(d, wm.io_time, getdate())<=7 \n" +
+            "group by datediff(day,wm.io_time,getdate())\n" +
+            "order by Min(wm.io_time) asc\n")
+    List<Map<String, Object>> queryPakinRep();
 }
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 5808540..d1c5351 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -87,6 +87,8 @@
     private String cancel;
     @Value("${wcs-slave.url}")
     private String url;
+    @Value("${wcs-slave.warehouse}")
+    private String warehouse;
 
     @Override
     @Transactional
@@ -1044,6 +1046,7 @@
         DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         wrkCancel.setTaskId(workNo); // 浠诲姟鍙�
         wrkCancel.setMsgTime(dateFormat.format(date)); // 鍙栨秷鏃堕棿
+        wrkCancel.setWarehouse(warehouse); // 浠撳簱缂栫爜
 
         String response = "";
         boolean flag = false;
diff --git a/src/main/java/com/zy/asrs/task/handler/WCSReportHandler.java b/src/main/java/com/zy/asrs/task/handler/WCSReportHandler.java
index 38bef90..fee9659 100644
--- a/src/main/java/com/zy/asrs/task/handler/WCSReportHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WCSReportHandler.java
@@ -37,6 +37,8 @@
     private String inDevp;
     @Value("${wcs-slave.outDevp}")
     private String outDevp;
+    @Value("${wcs-slave.warehouse}")
+    private String warehouse;
     @Autowired
     private ApiLogService apiLogService;
     @Autowired
@@ -138,7 +140,8 @@
         WrkPriority wrkPriority = new WrkPriority();
         Date date = new Date();
         DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        wrkPriority.setTaskId(wrkMast.getWrkNo().toString()); // 缁勫彿
+        wrkPriority.setTaskId(wrkMast.getWrkNo().toString()); // 浠诲姟鍙�
+        wrkPriority.setWarehouse(warehouse); // 浠撳簱缂栫爜
         wrkPriority.setPriorityCode(wrkMast.getIoPri().intValue()); // 浼樺厛绾�
         wrkPriority.setMsgTime(dateFormat.format(date)); // 璋冩暣鏃堕棿
 
diff --git a/src/main/java/com/zy/common/model/MatDto.java b/src/main/java/com/zy/common/model/MatDto.java
new file mode 100644
index 0000000..c36276a
--- /dev/null
+++ b/src/main/java/com/zy/common/model/MatDto.java
@@ -0,0 +1,78 @@
+package com.zy.common.model;
+
+import lombok.Data;
+
+/**
+ * Created by vincent on 2020/8/6
+ */
+@Data
+public class MatDto {
+
+    // 鐗╂枡缂栧彿
+    private String matnr;
+
+    // 鐗╂枡鍚嶇О
+    private String maktx;
+
+    private String maknx;
+
+    // 搴撲綅瑙勬牸
+    private String specs;
+
+    // 鐗╂枡鏁伴噺
+    private Double anfme;
+
+    // 搴撲綅鏁伴噺
+    private Double total;
+
+    //杈呮暟閲�
+    private Double weight;
+
+    // 杈呭簱浣嶆暟閲�
+    private Double totalWeight;
+
+    //鎵樼洏鐮�
+    private String barcode;
+
+    //u8鏃у搧鍚�
+    private String sku;
+
+    //鍨嬪彿
+    private String model;
+
+    //瀹㈡埛鍚嶇О
+    private String supp;
+
+    //寮�绁ㄥ鎴峰悕绉�
+    private String kpCstmrName;
+
+    //鍗曞彿
+    private String orderNo;
+
+    //鎵瑰彿
+    private String batch;
+
+//    private String cstateid;
+
+    public MatDto() {
+    }
+
+    public MatDto(String matNo, String maktx, Double anfme, Double weight, Double total, Double totalWeight, String specs, String sku, String barcode, String model, String supp, String kpCstmrName, String orderNo, String batch) {
+        this.matnr = matNo;
+        this.maktx = maktx;
+        this.maknx = maktx;
+        this.specs = specs;
+        this.anfme = anfme;
+        this.weight = weight;
+        this.total = total;
+        this.totalWeight = totalWeight;
+        this.sku = sku;
+        this.barcode = barcode;
+        this.model = model;
+        this.supp = supp;
+        this.kpCstmrName = kpCstmrName;
+        this.orderNo = orderNo;
+        this.batch = batch;
+//        this.cstateid = cstateid;
+    }
+}
diff --git a/src/main/java/com/zy/common/model/command/LedCommand.java b/src/main/java/com/zy/common/model/command/LedCommand.java
new file mode 100644
index 0000000..36b1376
--- /dev/null
+++ b/src/main/java/com/zy/common/model/command/LedCommand.java
@@ -0,0 +1,37 @@
+package com.zy.common.model.command;
+
+import com.zy.common.model.MatDto;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * led鍛戒护鎶ユ枃
+ * Created by vincent on 2020/8/11
+ */
+@Data
+@AllArgsConstructor
+public class LedCommand extends Object {
+
+    private String title;
+
+    private Integer workNo;
+
+    private Integer staNo;
+
+    private Integer sourceStaNo;
+
+    private String locNo;
+
+    private String sourceLocNo;
+
+    private List<MatDto> matDtos = new ArrayList<>();
+
+    private boolean emptyMk = false;
+
+    private Integer ioType;
+
+    private String barcode;
+}
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index f94e117..0a522fa 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -221,7 +221,13 @@
 //            levList.addAll(locLevList);
 
             for (Integer lev : locLevList) {
-                List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "O").eq("lev1", lev).orderBy("bay1", true).orderBy("row1",true));
+                List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+                        .eq("loc_sts", "O")
+                        .eq("lev1", lev)
+                        .eq("loc_type1",locTypeDto.getLocType1())
+                        .eq("loc_type2",locTypeDto.getLocType2())
+                        .orderBy("bay1", true)
+                        .orderBy("row1",true));
                 for (LocMast locMast : locMasts) {
                     String locNo = locMast.getLocNo();
                     //鑾峰彇閫氶亾缁�
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index c54e16d..7b7c41d 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -18,6 +18,8 @@
 import com.zy.common.model.StartupDto;
 import com.zy.common.service.CommonService;
 import com.zy.common.utils.HttpHandler;
+import com.zy.common.web.param.ApplyChangeEnd;
+import com.zy.common.web.param.ErrorMsg;
 import com.zy.common.web.param.SearchEmptyParam;
 import com.zy.common.web.param.SearchLocParam;
 import lombok.extern.slf4j.Slf4j;
@@ -86,12 +88,12 @@
         if (Cools.isEmpty(param.getFromPort())) {
             return Re.error("婧愮珯缂栧彿涓嶈兘涓虹┖");
         }
-//        if(Cools.isEmpty(param.getWarehouse())){
-//            return Re.error("浠撳簱缂栧彿涓嶈兘涓虹┖");
-//        }
-//        if(!param.getWarehouse().equals(warehouse)){
-//            return Re.error("浠撳簱缂栧彿涓嶅尮閰�");
-//        }
+        if(Cools.isEmpty(param.getWarehouse())){
+            return Re.error("浠撳簱缂栧彿涓嶈兘涓虹┖");
+        }
+        if(!param.getWarehouse().equals(warehouse)){
+            return Re.error("浠撳簱缂栧彿涓嶅尮閰�");
+        }
         List<WaitPakin> waitPakins = null;
         if (param.getFromPort().equals("101")) {
 
@@ -105,7 +107,7 @@
                 return Re.error("鏉$爜涓嶈兘涓虹┖");
             }
             waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarCode()));
-            if (Cools.isEmpty(waitPakins) && param.getIoType() != 10) {
+            if (Cools.isEmpty(waitPakins)) {
                 WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarCode());
                 if (wrkMast != null && wrkMast.getIoType() == 103) {
                     return Re.parse(CodeRes.PICK_600);
@@ -132,10 +134,18 @@
         if (Cools.isEmpty(param.getCargoHeight())) {
             return Re.error("楂樹綆妫�娴嬩俊鍙蜂笉鑳戒负绌�");
         }
+        if (!param.getBarCode().startsWith("7")&&!param.getBarCode().startsWith("8")){
+            return Re.error("鏈畾涔夌殑鎵樼洏鐮佽鍒�");
+        }
 
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(Integer.valueOf(param.getFromPort()), true);
-        sourceStaNo.setLocType1(param.getCargoHeight().shortValue());
+        sourceStaNo.setLocType1(param.getCargoHeight().shortValue()); // 楂樹綆搴撲綅
+        if (param.getBarCode().startsWith("7")){
+            sourceStaNo.setLocType2((short) 1); // 瀹界獎搴撲綅 1.绐勫簱浣�1200*1000*990  1鏈熷簱浣�
+        }else if (param.getBarCode().startsWith("8")){
+            sourceStaNo.setLocType2((short) 2); // 瀹界獎搴撲綅 2.瀹藉簱浣�1200*1000*1270  2鏈熷簱浣�
+        }
         LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
 
         StartupDto dto = null;
@@ -154,7 +164,7 @@
             default:
                 break;
         }
-        log.info("WCS鍏ュ簱鎺ュ彛杩斿弬:{},鎵樼洏鐮�:{}", dto, param.getBarCode());
+        log.info("WCS婊℃澘鍏ュ簱鎺ュ彛杩斿弬:{},鎵樼洏鐮�:{}", dto, param.getBarCode());
         return Re.ok();
     }
 
@@ -162,12 +172,12 @@
     @ResponseBody
     public synchronized Re getLocNo(@RequestBody SearchEmptyParam param) {
         log.info("鏀跺埌WCS绌烘澘鍏ュ簱鎺ュ彛璇锋眰====>>鍏ュ弬:{}", param);
-//        if(Cools.isEmpty(param.getWarehouse())){
-//            return Re.error("浠撳簱缂栧彿涓嶈兘涓虹┖");
-//        }
-//        if(!param.getWarehouse().equals(warehouse)){
-//            return Re.error("浠撳簱缂栧彿涓嶅尮閰�");
-//        }
+        if(Cools.isEmpty(param.getWarehouse())){
+            return Re.error("浠撳簱缂栧彿涓嶈兘涓虹┖");
+        }
+        if(!param.getWarehouse().equals(warehouse)){
+            return Re.error("浠撳簱缂栧彿涓嶅尮閰�");
+        }
 
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(Integer.valueOf(param.getFromPort()), true);
@@ -176,8 +186,48 @@
         StartupDto dto = null;
 
         dto = emptyPlateIn(Integer.valueOf(param.getFromPort()), locTypeDto);
-        log.info("WCS鍏ュ簱鎺ュ彛杩斿弬:{},鎵樼洏鐮�:{}", dto);
+        log.info("WCS绌烘澘鍏ュ簱鎺ュ彛杩斿弬:{}", dto);
         return Re.ok();
+    }
+
+    @PostMapping("/fromwcs/errorReport")
+    @ResponseBody
+    public synchronized Re errReport(@RequestBody ErrorMsg param){
+        log.info("鏀跺埌WCS浠诲姟鍏ュ簱寮傚父涓婃姤===>>鍏ュ弬:{}",param);
+        if(Cools.isEmpty(param.getWarehouse())){
+            return Re.error("浠撳簱缂栧彿涓嶈兘涓虹┖");
+        }
+        if(!param.getWarehouse().equals(warehouse)){
+            return Re.error("浠撳簱缂栧彿涓嶅尮閰�");
+        }
+        return Re.ok();
+    }
+
+    @PostMapping("/fromwcs/applyChangeEnd")
+    @ResponseBody
+    public synchronized Re applyChangeEnd(@RequestBody ApplyChangeEnd param){
+        log.info("鏀跺埌WCS鐢宠鏈�缁堢洰鐨勪綅缃�===>>鍏ュ弬:{}",param);
+        if(Cools.isEmpty(param.getWarehouse())){
+            return Re.error("浠撳簱缂栧彿涓嶈兘涓虹┖");
+        }
+        if(!param.getWarehouse().equals(warehouse)){
+            return Re.error("浠撳簱缂栧彿涓嶅尮閰�");
+        }
+        if (Cools.isEmpty(param.getTaskId())){
+            return Re.error("浠诲姟缂栧彿涓嶈兘涓虹┖");
+        }
+        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", param.getTaskId()));
+        if (wrkMast == null){
+            return Re.error("WMS涓嶅瓨鍦ㄤ换鍔″彿:" + param.getTaskId() + "浠诲姟");
+        }
+        if (wrkMast.getIoType() > 100){
+            return Re.error("浠诲姟鍙�:" + param.getTaskId() + "鏄嚭搴撲换鍔�");
+        }
+        if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 5 || wrkMast.getWrkSts() == 14 || wrkMast.getWrkSts() == 15){
+            return Re.error("浠诲姟鍙�:" + param.getTaskId() + "宸茬粨鏉�");
+        }
+        String targetNo = wrkMast.getLocNo();
+        return Re.ok(targetNo);
     }
 
 
@@ -409,7 +459,10 @@
                 LocTypeDto locTypeDto = new LocTypeDto();
                 locTypeDto.setLocType1(locType1);
                 //娉ㄦ剰涓�涓澘鍙兘鏀惧悓涓�绉嶇墿鏂欙紙妫�绱㈡柊搴撲綅锛�
-                StartupDto dto = commonService.getLocNoRunPick(4, 1, 101, wrkDetls.get(0).getMatnr(), wrkDetls.get(0).getBatch(), null, 4, locTypeDto, 2);
+//                StartupDto dto = commonService.getLocNoRunPick(4, 1, 101, wrkDetls.get(0).getMatnr(), wrkDetls.get(0).getBatch(), null, 4, locTypeDto, 2);
+                FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
+                findLocNoAttributeVo.setMatnr(wrkDetls.get(0).getMatnr());
+                StartupDto dto = commonService.getLocNoNew(1, 101, findLocNoAttributeVo,locTypeDto,null);
                 Date now = new Date();
                 wrkMast.setIoTime(now);
                 wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
@@ -500,7 +553,7 @@
                 map.put("posiY", locMast.getBay1());
                 map.put("posiZ", locMast.getLev1());
                 map.put("cargoNo", locMast.getLocNo());
-                if(locMast.getLev1() == 1 && locMast.getRow1() == 8 && locMast.getBay1() == 1){
+                if(locMast.getLev1() == 1 && locMast.getRow1() == 6 && locMast.getBay1() == 1){
                     map.put("type", "6");
                 }else {
                     map.put("type", "0");
@@ -554,7 +607,7 @@
                 try {
                     // 淇濆瓨鎺ュ彛鏃ュ織
                     apiLogService.save(
-                            "wms鍚屾wcs搴撲綅澶辫触",
+                            "wms鍚屾wcs搴撲綅",
                             url + "/" + loc,
                             null,
                             "127.0.0.1",
diff --git a/src/main/java/com/zy/common/web/param/ApplyChangeEnd.java b/src/main/java/com/zy/common/web/param/ApplyChangeEnd.java
new file mode 100644
index 0000000..fc0e743
--- /dev/null
+++ b/src/main/java/com/zy/common/web/param/ApplyChangeEnd.java
@@ -0,0 +1,23 @@
+package com.zy.common.web.param;
+
+import lombok.Data;
+
+@Data
+public class ApplyChangeEnd {
+    /*浠撳簱缂栫爜*/
+    private String warehouse;
+
+    /*浠诲姟id
+    * 涓婁綅绯荤粺涓嬪彂鐨勪换鍔d*/
+    private String taskId;
+
+    /*杞﹁締缂栧彿*/
+    private Integer deviceNo;
+
+    /*鐢宠鏃堕棿*/
+    private String msgTime;
+
+    /*宸烽亾鍙g紪鍙�
+    * 宸烽亾鍙f墍鍦ㄧ殑璐т綅缂栫爜*/
+    private String roadNo;
+}
diff --git a/src/main/java/com/zy/common/web/param/ErrorMsg.java b/src/main/java/com/zy/common/web/param/ErrorMsg.java
index 9333d3b..b54781c 100644
--- a/src/main/java/com/zy/common/web/param/ErrorMsg.java
+++ b/src/main/java/com/zy/common/web/param/ErrorMsg.java
@@ -1,7 +1,9 @@
 package com.zy.common.web.param;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
 
+@Data
 public class ErrorMsg {
     /**
      * 浠撳簱缂栫爜
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index a44a887..527f9cd 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -55,9 +55,10 @@
   #groupCount: 4
   # 鐢辨祬鍏ユ繁
   locGroupAscOrder: [
-    {rowList: [3,1,2],minBay: 1,maxBay: 16},
-    {rowList: [4],minBay: 1,maxBay: 16},
-    {rowList: [5,6,7,8,9,10],minBay: 1,maxBay: 16},
+    {rowList: [4,3,2],minBay: 1,maxBay: 49},
+    {rowList: [6],minBay: 3,maxBay: 48},
+    {rowList: [7],minBay: 1,maxBay: 17},
+    {rowList: [8,9,10,11,12,13],minBay: 3,maxBay: 48},
   ]
   #鏄惁寮�鍚痺ms涓嬪彂浠诲姟缁檞cs
   workIssued-fig : true
@@ -68,17 +69,17 @@
   #搴撲綅鍚屾
   loc: fromWms/cargoNoSyn
   #璐т綅淇℃伅鍚屾
-  locInfo: fromWms/cargoLocationSyn
+  locInfo : fromWms/cargoLocationSyn
   #浠诲姟鍙栨秷
-  cancel: fromWms/taskCancel
+  cancel : fromWms/taskCancel
   #浠诲姟浼樺厛绾ц皟鏁�
-  priority: fromWms/taskPriority
+  priority : fromWms/taskPriority
   #鍏ュ簱绔�
   inDevp : 101
   #鍑哄簱绔�
   outDevp : 100
   #浠撳簱缂栫爜
-  warehouse : ddthasrs
+  warehouse : ddth
 # wms鍙傛暟閰嶇疆
 wms-parameter:
   # 鑷姩琛ョ┖鏉垮姛鑳藉紑鍏�

--
Gitblit v1.9.1