From 835a4d179d4e3fcecc7e2a8cd63e6698bb3f16c4 Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期一, 31 三月 2025 16:54:27 +0800
Subject: [PATCH] wcs电视机代码移植

---
 src/main/java/com/zy/asrs/entity/result/LedCommand.java        |   32 ++++++++
 src/main/java/com/zy/asrs/mapper/LocDetlMapper.java            |    2 
 src/main/java/com/zy/asrs/service/LocDetlService.java          |    2 
 src/main/java/com/zy/asrs/entity/result/MatDto.java            |   47 +++++++++++
 src/main/resources/mapper/LocDetlMapper.xml                    |   11 ++
 src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java |    4 +
 src/main/java/com/zy/asrs/controller/TVController.java         |   96 +++++++++++++++++++++++
 7 files changed, 192 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/TVController.java b/src/main/java/com/zy/asrs/controller/TVController.java
index d61429f..da568cd 100644
--- a/src/main/java/com/zy/asrs/controller/TVController.java
+++ b/src/main/java/com/zy/asrs/controller/TVController.java
@@ -1,12 +1,23 @@
 package com.zy.asrs.controller;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Arith;
 import com.core.common.Cools;
 import com.core.common.R;
 import com.zy.asrs.domain.dto.AxisBean;
 import com.zy.asrs.domain.dto.WorkChartAxis;
 import com.zy.asrs.domain.vo.LocChartPie;
+import com.zy.asrs.entity.BasDevp;
+import com.zy.asrs.entity.LocDetl;
+import com.zy.asrs.entity.WrkDetl;
+import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.result.LedCommand;
+import com.zy.asrs.entity.result.MatDto;
 import com.zy.asrs.mapper.ReportQueryMapper;
+import com.zy.asrs.service.BasDevpService;
+import com.zy.asrs.service.LocDetlService;
+import com.zy.asrs.service.WrkDetlService;
+import com.zy.asrs.service.WrkMastService;
 import com.zy.common.model.annotations.RateLimit;
 import com.zy.common.properties.SlaveProperties;
 import com.zy.common.service.CommonService;
@@ -31,7 +42,14 @@
     @Autowired
     private ReportQueryMapper reportQueryMapper;
     @Autowired
-    private SlaveProperties slaveProperties;
+    private BasDevpService basDevpService;
+    @Autowired
+    private WrkMastService wrkMastService;
+    @Autowired
+    private WrkDetlService wrkDetlService;
+    @Autowired
+    private LocDetlService locDetlService;
+
 
     /**
      * 鑾峰彇褰撳墠鏃堕棿
@@ -191,7 +209,81 @@
      */
     @GetMapping("/led")
     public R monitorLed(@RequestParam("ledId") Integer ledId) {
-        return R.ok();
+        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())));
+        }
+        commands.add(ledCommand);
+
+        return R.ok().add(commands);
     }
 
     /**
diff --git a/src/main/java/com/zy/asrs/entity/result/LedCommand.java b/src/main/java/com/zy/asrs/entity/result/LedCommand.java
new file mode 100644
index 0000000..f9026e1
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/result/LedCommand.java
@@ -0,0 +1,32 @@
+package com.zy.asrs.entity.result;
+
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * led鍛戒护鎶ユ枃
+ * Created by vincent on 2020/8/11
+ */
+@Data
+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;
+}
diff --git a/src/main/java/com/zy/asrs/entity/result/MatDto.java b/src/main/java/com/zy/asrs/entity/result/MatDto.java
new file mode 100644
index 0000000..06bf995
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/result/MatDto.java
@@ -0,0 +1,47 @@
+package com.zy.asrs.entity.result;
+
+import lombok.Data;
+
+/**
+ * Created by vincent on 2020/8/6
+ */
+@Data
+public class MatDto {
+
+    // 鐗╂枡缂栧彿
+    private String matnr;
+
+    // 鐗╂枡鍚嶇О
+    private String maknx;
+
+    // 搴撲綅瑙勬牸
+    private String specs;
+
+    // 鐗╂枡鏁伴噺
+    private Double count;
+
+    // 搴撲綅鏁伴噺
+    private Double total;
+
+    public MatDto() {
+    }
+
+    public MatDto(String matNo, String maknx, Double count) {
+        this.matnr = matNo;
+        this.maknx = maknx;
+        this.count = count;
+    }
+    public MatDto(String matNo, String maknx, Double count, String specs) {
+        this.specs = specs;
+        this.matnr = matNo;
+        this.maknx = maknx;
+        this.count = count;
+    }
+    public MatDto(String matNo, String maknx, Double count, Double total, String specs) {
+        this.specs = specs;
+        this.matnr = matNo;
+        this.maknx = maknx;
+        this.count = count;
+        this.total = total;
+    }
+}
diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
index 47df240..811ae94 100644
--- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -72,4 +72,6 @@
 
     LocDetl selectByMatnr(String matnr);
 
+    LocDetl selectMatnrSpecs(@Param("matnr") String matnr, @Param("specs") String specs, @Param("locNo") String locNo);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java
index ce05fcb..4a72ba4 100644
--- a/src/main/java/com/zy/asrs/service/LocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -60,4 +60,6 @@
 
     Double getLocDetlSumQty(String locNo);
     LocDetl selectByMatnr(String matnr);
+
+    LocDetl selectMatnrSpecs(String matnr, String specs, String locNo);
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
index 59bd94e..bdfdbae 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -125,4 +125,8 @@
     public LocDetl selectByMatnr(String matnr) {
         return this.baseMapper.selectByMatnr(matnr);
     }
+    @Override
+    public LocDetl selectMatnrSpecs(String matnr, String specs, String locNo) {
+        return this.baseMapper.selectMatnrSpecs(matnr, specs, locNo);
+    }
 }
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index cad2e7f..81d23f3 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -327,4 +327,15 @@
     <select id="selectByMatnr" resultType="com.zy.asrs.entity.LocDetl">
         select * from asr_loc_detl where matnr=#{matnr}
     </select>
+
+    <select id="selectMatnrSpecs" resultMap="BaseResultMap">
+        select
+            top 1 *
+        from asr_loc_detl a
+                 left join asr_loc_mast b on a.loc_no = b.loc_no
+        where 1=1
+          and b.loc_no = #{locNo}
+          and a.matnr = #{matnr}
+          and a.specs = #{specs}
+    </select>
 </mapper>

--
Gitblit v1.9.1