From 4ea361f8b7fa5fa63c650832e6b5efa150cb6693 Mon Sep 17 00:00:00 2001
From: zc <zc@123>
Date: 星期四, 24 四月 2025 09:59:37 +0800
Subject: [PATCH] 初步调试

---
 src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java     |    2 
 src/main/java/com/zy/asrs/domain/dto/WrkDetl.java           |  272 ++++++++++++++++++++++++++++++++++
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   12 +
 src/main/java/com/zy/asrs/controller/TVController.java      |  170 +++++++++++---------
 4 files changed, 373 insertions(+), 83 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/TVController.java b/src/main/java/com/zy/asrs/controller/TVController.java
index 889d1c7..d4ba63c 100644
--- a/src/main/java/com/zy/asrs/controller/TVController.java
+++ b/src/main/java/com/zy/asrs/controller/TVController.java
@@ -1,5 +1,8 @@
 package com.zy.asrs.controller;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Arith;
 import com.core.common.Cools;
@@ -7,6 +10,7 @@
 import com.zy.asrs.domain.dto.AxisBean;
 import com.zy.asrs.domain.dto.WorkChartAxis;
 import com.zy.asrs.domain.dto.LocChartPie;
+import com.zy.asrs.domain.dto.WrkDetl;
 import com.zy.asrs.entity.BasDevp;
 import com.zy.asrs.entity.BasShuttle;
 import com.zy.asrs.entity.BasShuttleErr;
@@ -16,7 +20,10 @@
 import com.zy.asrs.service.BasShuttleErrService;
 import com.zy.asrs.service.BasShuttleService;
 import com.zy.asrs.service.WrkMastService;
+import com.zy.common.model.MatDto;
+import com.zy.common.model.SearchLocParam;
 import com.zy.common.service.CommonService;
+import com.zy.common.utils.HttpHandler;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.SlaveType;
 import com.zy.core.model.ShuttleSlave;
@@ -25,11 +32,13 @@
 import com.zy.core.properties.SlaveProperties;
 import com.zy.core.thread.ShuttleThread;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 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 java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -55,6 +64,8 @@
     private SlaveProperties slaveProperties;
     @Autowired
     private BasShuttleErrService basShuttleErrService;
+    @Value("${asrs.wmsUrl}")
+    private String wmsUrl;
 
     /**
      * 鑾峰彇褰撳墠鏃堕棿
@@ -210,83 +221,87 @@
     /**
      * 鑾峰彇鍏朵粬淇℃伅
      */
-//    @GetMapping("/led")
-//    public R monitorLed(@RequestParam("ledId") Integer ledId) {
-//        BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", ledId));
-//        if (Cools.isEmpty(basDevp)) {
-//            return R.ok();
-//        }
-//        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
-//        if (Cools.isEmpty(wrkMast)) {
-//            return R.ok();
-//        }
-//        List<LedCommand> commands = new ArrayList<>();
-//
-//        // 缁勮鍛戒护
-//        LedCommand ledCommand = new LedCommand();
-//        ledCommand.setWorkNo(wrkMast.getWrkNo());
-//        ledCommand.setIoType(wrkMast.getIoType());
-//        // 鍑哄簱妯″紡
-//        switch (wrkMast.getIoType()) {
-//            case 1:
-//                ledCommand.setTitle("鍏ㄦ澘鍏ュ簱");
-//                break;
-//            case 10:
-//                ledCommand.setTitle("绌烘澘鍏ュ簱");
-//                break;
-//            case 101:
-//                ledCommand.setTitle("鍏ㄦ澘鍑哄簱");
-//                break;
-//            case 103:
-//                ledCommand.setTitle("鎷f枡鍑哄簱");
-//                break;
-//            case 104:
-//                ledCommand.setTitle("骞舵澘鍑哄簱");
-//                break;
-//            case 107:
-//                ledCommand.setTitle("鐩樼偣鍑哄簱");
-//                break;
-//            case 110:
-//                ledCommand.setTitle("绌烘澘鍑哄簱");
-//                ledCommand.setEmptyMk(true);
-//                break;
-//            case 53:
-//                ledCommand.setTitle("鎷f枡鍏ュ簱");
-//                break;
-//            case 57:
-//                ledCommand.setTitle("鐩樼偣鍏ュ簱");
-//                break;
-//            case 54:
-//                ledCommand.setTitle("骞舵澘鍏ュ簱");
-//                break;
-//            default:
-//                break;
-//        }
-//        ledCommand.setSourceLocNo(wrkMast.getSourceLocNo());
-//        ledCommand.setLocNo(wrkMast.getLocNo());
-//        ledCommand.setStaNo(wrkMast.getStaNo());
-////                ledCommand.setSourceStaNo(wrkMast.getSourceStaNo());
-//        if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) {
-//            List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
-//            try {
-//                if (wrkMast.getIoType() > 100) {
-//                    for (WrkDetl wrkDetl : wrkDetls) {
-//                        LocDetl locDetl = locDetlService.selectMatnrSpecs(wrkDetl.getMatnr(), wrkDetl.getSpecs(), wrkMast.getSourceLocNo());
-//                        wrkDetl.setWeight(locDetl.getAnfme());
-//                    }
-//                } else {
-//                    for (WrkDetl wrkDetl : wrkDetls) {
-//                        wrkDetl.setWeight(wrkDetl.getAnfme());
-//                    }
-//                }
-//            } catch (Exception e) {
-////                log.error("宸ヤ綔妗f鏄庣粏杈撳叆鐢佃鏈哄け璐�1锛氬紓甯镐俊鎭�==銆�"+e);
-//            }
-//            wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(), wrkDetl.getWeight(), wrkDetl.getSpecs(), wrkDetl.getModel())));
-//        }
-//        commands.add(ledCommand);
-//        return R.ok().add(commands);
-//    }
+    @GetMapping("/led")
+    public R monitorLed(@RequestParam("ledId") Integer ledId) {
+        BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", ledId));
+        if (Cools.isEmpty(basDevp)) {
+            return R.ok();
+        }
+        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wms_wrk_no", basDevp.getWrkNo()));
+        if (Cools.isEmpty(wrkMast)) {
+            return R.ok();
+        }
+        List<LedCommand> commands = new ArrayList<>();
+
+        // 缁勮鍛戒护
+        LedCommand ledCommand = new LedCommand();
+        ledCommand.setWorkNo(wrkMast.getWmsWrkNo());
+        ledCommand.setIoType(wrkMast.getIoType());
+        // 鍑哄簱妯″紡
+        switch (wrkMast.getIoType()) {
+            case 1:
+                ledCommand.setTitle("鍏ㄦ澘鍏ュ簱");
+                break;
+            case 10:
+                ledCommand.setTitle("绌烘澘鍏ュ簱");
+                break;
+            case 101:
+                ledCommand.setTitle("鍏ㄦ澘鍑哄簱");
+                break;
+            case 103:
+                ledCommand.setTitle("鎷f枡鍑哄簱");
+                break;
+            case 104:
+                ledCommand.setTitle("骞舵澘鍑哄簱");
+                break;
+            case 107:
+                ledCommand.setTitle("鐩樼偣鍑哄簱");
+                break;
+            case 110:
+                ledCommand.setTitle("绌烘澘鍑哄簱");
+                ledCommand.setEmptyMk(true);
+                break;
+            case 53:
+                ledCommand.setTitle("鎷f枡鍏ュ簱");
+                break;
+            case 57:
+                ledCommand.setTitle("鐩樼偣鍏ュ簱");
+                break;
+            case 54:
+                ledCommand.setTitle("骞舵澘鍏ュ簱");
+                break;
+            default:
+                break;
+        }
+        ledCommand.setSourceLocNo(wrkMast.getSourceLocNo());
+        ledCommand.setLocNo(wrkMast.getLocNo());
+        ledCommand.setStaNo(wrkMast.getStaNo());
+        if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) {
+            Map<String, Object> param = new HashMap<>();
+            param.put("taskNo", wrkMast.getWmsWrkNo());
+            param.put("sta", wrkMast.getStaNo());
+            String response = null;
+            try {
+                response = new HttpHandler.Builder()
+                        .setUri(wmsUrl)
+                        .setPath("/rpc/led/getTask2")
+                        .setJson(JSON.toJSONString(param))
+                        .build()
+                        .doPost();
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+            JSONObject jsonObject = JSON.parseObject(response);
+            Integer code = jsonObject.getInteger("code");
+            if (code.equals(200)) {
+                String data = jsonObject.getString("data");
+                List<LedCommand> wrkDetls = JSONArray.parseArray(data, LedCommand.class);
+                commands.addAll(wrkDetls);
+            }
+        }
+
+        return R.ok().add(commands);
+    }
 
     /**
      * 寮傚父閫氱煡
@@ -316,7 +331,6 @@
     @GetMapping("/device/error")
     public R monitorDeviceError() {
         ArrayList<HashMap<String, Object>> list = new ArrayList<>();
-        List<BasShuttle> basCrnpLiset = shuttleService.selectList(new EntityWrapper<BasShuttle>());
 
         for (ShuttleSlave shuttleSlave : slaveProperties.getShuttle()) {
             // 鑾峰彇鍥涘悜绌挎杞︿俊鎭�
diff --git a/src/main/java/com/zy/asrs/domain/dto/WrkDetl.java b/src/main/java/com/zy/asrs/domain/dto/WrkDetl.java
new file mode 100644
index 0000000..c6ace7e
--- /dev/null
+++ b/src/main/java/com/zy/asrs/domain/dto/WrkDetl.java
@@ -0,0 +1,272 @@
+package com.zy.asrs.domain.dto;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.core.common.Cools;
+import com.core.common.SpringUtils;
+import com.zy.common.utils.Synchro;
+import com.zy.system.entity.User;
+import com.zy.system.service.UserService;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+@Data
+public class WrkDetl implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 宸ヤ綔鍙�
+     */
+    @ApiModelProperty(value= "宸ヤ綔鍙�")
+    private Integer wrkNo;
+
+    /**
+     * 宸ヤ綔鏃堕棿
+     */
+    @ApiModelProperty(value= "宸ヤ綔鏃堕棿")
+    private Date ioTime;
+
+    /**
+     * 鏁伴噺
+     */
+    @ApiModelProperty(value= "鏁伴噺")
+    private Double anfme;
+
+    /**
+     * 鎵樼洏鏉$爜
+     */
+    @ApiModelProperty(value= "鎵樼洏鏉$爜")
+    private String zpallet;
+
+    /**
+     * 鐗╂枡
+     */
+    @ApiModelProperty(value= "鍟嗗搧缂栧彿")
+    private String matnr;
+
+    /**
+     * 鐗╂枡鎻忚堪
+     */
+    @ApiModelProperty(value= "鍟嗗搧鍚嶇О")
+    private String maktx;
+
+    /**
+     * 鎵瑰彿
+     */
+    @ApiModelProperty(value= "鎵瑰彿")
+    private String batch;
+
+    /**
+     * 鍗曟嵁缂栧彿
+     */
+    @ApiModelProperty(value= "鍗曟嵁缂栧彿")
+    private String orderNo;
+
+    /**
+     * 瑙勬牸
+     */
+    @ApiModelProperty(value= "瑙勬牸")
+    private String specs;
+
+    /**
+     * 鍨嬪彿
+     */
+    @ApiModelProperty(value= "鍨嬪彿")
+    private String model;
+
+    /**
+     * 棰滆壊
+     */
+    @ApiModelProperty(value= "棰滆壊")
+    private String color;
+
+    /**
+     * 鍝佺墝
+     */
+    @ApiModelProperty(value= "鍝佺墝")
+    private String brand;
+
+    /**
+     * 鍗曚綅
+     */
+    @ApiModelProperty(value= "鍗曚綅")
+    private String unit;
+
+    /**
+     * 鍗曚环
+     */
+    @ApiModelProperty(value= "鍗曚环")
+    private Double price;
+
+    /**
+     * sku
+     */
+    @ApiModelProperty(value= "sku")
+    private String sku;
+
+    /**
+     * 鍗曚綅閲�
+     */
+    @ApiModelProperty(value= "鍗曚綅閲�")
+    private Double units;
+
+    /**
+     * 鏉$爜
+     */
+    @ApiModelProperty(value= "鏉$爜")
+    private String barcode;
+
+    /**
+     * 浜у湴
+     */
+    @ApiModelProperty(value= "浜у湴")
+    private String origin;
+
+    /**
+     * 鍘傚
+     */
+    @ApiModelProperty(value= "鍘傚")
+    private String manu;
+
+    /**
+     * 鐢熶骇鏃ユ湡
+     */
+    @ApiModelProperty(value= "鐢熶骇鏃ユ湡")
+    @TableField("manu_date")
+    private String manuDate;
+
+    /**
+     * 鍝侀」鏁�
+     */
+    @ApiModelProperty(value= "鍝侀」鏁�")
+    private String itemNum;
+
+    /**
+     * 瀹夊叏搴撳瓨閲�
+     */
+    @ApiModelProperty(value= "瀹夊叏搴撳瓨閲�")
+    private Double safeQty;
+
+    /**
+     * 閲嶉噺
+     */
+    @ApiModelProperty(value= "閲嶉噺")
+    private Double weight;
+
+    /**
+     * 闀垮害
+     */
+    @ApiModelProperty(value= "闀垮害")
+    private Double length;
+
+    /**
+     * 浣撶Н
+     */
+    @ApiModelProperty(value= "浣撶Н")
+    private Double volume;
+
+    /**
+     * 涓夋柟缂栫爜
+     */
+    @ApiModelProperty(value= "涓夋柟缂栫爜")
+    private String threeCode;
+
+    /**
+     * 渚涘簲鍟�
+     */
+    @ApiModelProperty(value= "渚涘簲鍟�")
+    private String supp;
+
+    /**
+     * 渚涘簲鍟嗙紪鐮�
+     */
+    @ApiModelProperty(value= "渚涘簲鍟嗙紪鐮�")
+    private String suppCode;
+
+    /**
+     * 鏄惁鎵规 1: 鏄�  0: 鍚�
+     */
+    @ApiModelProperty(value= "鏄惁鎵规 1: 鏄�  0: 鍚�  ")
+    private Integer beBatch;
+
+    /**
+     * 淇濊川鏈�
+     */
+    @ApiModelProperty(value= "淇濊川鏈�")
+    private String deadTime;
+
+    /**
+     * 棰勮澶╂暟
+     */
+    @ApiModelProperty(value= "棰勮澶╂暟")
+    private Integer deadWarn;
+
+    /**
+     * 鍒惰喘 1: 鍒堕��  2: 閲囪喘  3: 澶栧崗
+     */
+    @ApiModelProperty(value= "鍒惰喘 1: 鍒堕��  2: 閲囪喘  3: 澶栧崗  ")
+    private Integer source;
+
+    /**
+     * 瑕佹眰妫�楠� 1: 鏄�  0: 鍚�
+     */
+    @ApiModelProperty(value= "瑕佹眰妫�楠� 1: 鏄�  0: 鍚�  ")
+    private Integer inspect;
+
+    /**
+     * 鍗遍櫓鍝� 1: 鏄�  0: 鍚�
+     */
+    @ApiModelProperty(value= "鍗遍櫓鍝� 1: 鏄�  0: 鍚�  ")
+    private Integer danger;
+
+    /**
+     * 淇敼浜哄憳
+     */
+    @ApiModelProperty(value= "淇敼浜哄憳")
+    private Long modiUser;
+
+    /**
+     * 淇敼鏃堕棿
+     */
+    @ApiModelProperty(value= "淇敼鏃堕棿")
+    private Date modiTime;
+
+    /**
+     * 鍒涘缓鑰�
+     */
+    @ApiModelProperty(value= "鍒涘缓鑰�")
+    private Long appeUser;
+
+    /**
+     * 娣诲姞鏃堕棿
+     */
+    @ApiModelProperty(value= "娣诲姞鏃堕棿")
+    private Date appeTime;
+
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty(value= "澶囨敞")
+    private String memo;
+
+    @ApiModelProperty(value= "棰勭暀1")
+    private String temp1;
+    @ApiModelProperty(value= "棰勭暀1")
+    private String temp2;
+    @ApiModelProperty(value= "棰勭暀1")
+    private String temp3;
+    @ApiModelProperty(value= "棰勭暀1")
+    private String temp4;
+
+
+
+    public void sync(Object source) {
+        Synchro.Copy(source, this);
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java b/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java
index b8650f1..96dff59 100644
--- a/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java
@@ -31,7 +31,7 @@
 
     //鏇茬嚎鍥�
     @Select("select ymd,SUM(sto_qty) inqty,SUM(ret_qty) outqty from asr_sta_inout_view "
-            + "where ymd>CONVERT(char(10), DATEADD(DAY,-12,GETDATE()), 120) group by ymd order by ymd")
+            + "where ymd>DATE_FORMAT(NOW(),'%Y-%m-%d') group by ymd order by ymd")
     public List<WorkChartAxis> getChartAxis();
 
 
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 42bebb2..cee0f9d 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -426,8 +426,12 @@
         ShuttleProtocol status1 = shuttleThread1.getStatus();
         ShuttleProtocol status2 = shuttleThread2.getStatus();
         List<String> loc = new ArrayList<>();
-        loc.add(status1.getCurrentLocNo());
-        loc.add(status2.getCurrentLocNo());
+        if (status1 != null) {
+            loc.add(status1.getCurrentLocNo());
+        }
+        if (status2 != null) {
+            loc.add(status2.getCurrentLocNo());
+        }
         DevpSlave devpSlave = slaveProperties.getDevp().get(0);
         // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯
         DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devpSlave.getId());
@@ -1215,9 +1219,9 @@
             //鑾峰彇鎻愬崌鏈哄懡浠�
             List<LiftCommand> liftCommands = liftThread.getPalletOutCommand(wrkMast.getWrkNo(), sourceLev, wrkMast.getStaNo());
             LiftCommand liftCommand = liftCommands.get(0);
-            if ( wrkMast.getStaNo()==1031){
+            if (wrkMast.getStaNo() == 1031) {
                 liftCommand.setTaskNo(wrkMast.getWrkNo());
-            }else {
+            } else {
                 int deviceWrk = commonService.getWorkNo(8);//鐢熸垚鎻愬崌鏈鸿澶囧伐浣滃彿
                 liftCommand.setTaskNo(deviceWrk);//鏇存崲闅忔満浠诲姟鍙�
             }

--
Gitblit v1.9.1