From cdfb6025516e43275982780291b4c5bd866bd9d7 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期五, 25 七月 2025 09:24:16 +0800
Subject: [PATCH] #erp对接修改

---
 src/main/java/com/zy/asrs/mapper/LocDetlMapper.java            |   10 +++
 src/main/webapp/static/js/order/out.js                         |    6 +
 src/main/resources/mapper/LocDetlMapper.xml                    |   16 +++++
 src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java |   12 +++
 src/main/java/com/zy/common/model/LocDto.java                  |   12 ++++
 src/main/java/com/zy/common/web/WcsController.java             |    8 +-
 src/main/java/com/zy/asrs/controller/OutController.java        |   56 +++++++++++-------
 src/main/java/com/zy/common/service/CommonService.java         |    6 +-
 src/main/java/com/zy/third/lk/task/LKInTBScheduler.java        |   10 ++-
 9 files changed, 101 insertions(+), 35 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index f5f52b8..344338a 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -88,31 +88,43 @@
             if (issued <= 0.0D) {
                 continue;
             }
-            List<LocDetl> locDetls = locDetlService.queryStock(orderDetl);
+
+            // 浣跨敤鏂板澶氬瓧娈垫潯浠舵煡璇㈠簱瀛橈紙鍙敼鎴愪紶鍏ュ弬鏁版潵浼樺寲锛�
+            List<LocDetl> locDetls = locDetlService.queryStock(orderDetl); // 杩欎釜鏂规硶鍐呴儴搴旇鏍规嵁澶氫釜瀛楁鍖归厤
 
             for (LocDetl locDetl : locDetls) {
-                if (locDetl.getMatnr().equals(orderDetl.getMatnr())) {
-                    if (issued > 0) {
-                        LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
-                                issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued);
-                        List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103);
-                        locDto.setStaNos(staNos);
-                        locDto.setModel(locDetl.getModel());
-                        locDto.setOutOrderNo(locDetl.getOutOrderNo());
-                        locDto.setLuHao(locDetl.getLuHao());
-                        locDto.setPacking(locDetl.getPacking());
-                        locDto.setProType(locDetl.getProType());
-                        locDto.setSPgNO(locDetl.getSPgNO());
-                        locDto.setColor(locDetl.getColor());
-                        locDtos.add(locDto);
-                        //exist.add(locDetl.getLocNo());
-                        // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
-                        issued = issued - locDetl.getAnfme();
-                    } else {
-                        break;
-                    }
+                // 澶氬瓧娈靛尮閰�
+                boolean match = locDetl.getMatnr().equals(orderDetl.getMatnr())
+                        && Objects.equals(locDetl.getOutOrderNo(), orderDetl.getOutOrderNo())
+                        && Objects.equals(locDetl.getTemp2(), orderDetl.getTemp2())
+                        && Objects.equals(locDetl.getProType(), orderDetl.getProType())
+                        && Objects.equals(locDetl.getModel(), orderDetl.getModel())
+                        && Objects.equals(locDetl.getLuHao(), orderDetl.getLuHao());
+
+                if (!match) continue;
+
+                if (issued > 0) {
+                    LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(),
+                            locDetl.getBatch(), orderDetl.getOrderNo(),
+                            issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued);
+                    List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103);
+                    locDto.setStaNos(staNos);
+                    locDto.setModel(locDetl.getModel());
+                    locDto.setOutOrderNo(locDetl.getOutOrderNo());
+                    locDto.setLuHao(locDetl.getLuHao());
+                    locDto.setPacking(locDetl.getPacking());
+                    locDto.setProType(locDetl.getProType());
+                    locDto.setSPgNO(locDetl.getSPgNO());
+                    locDto.setColor(locDetl.getColor());
+                    locDto.setTemp2(locDetl.getTemp2()); // 鏂板瀛楁
+                    locDtos.add(locDto);
+
+                    issued = issued - locDetl.getAnfme();
+                } else {
+                    break;
                 }
             }
+
             if (issued > 0) {
                 LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued);
                 locDto.setLack(Boolean.TRUE);
@@ -123,9 +135,11 @@
                 locDto.setProType(orderDetl.getProType());
                 locDto.setSPgNO(orderDetl.getSPgNO());
                 locDto.setColor(orderDetl.getColor());
+                locDto.setTemp2(orderDetl.getTemp2());
                 locDtos.add(locDto);
             }
         }
+
         return R.ok().add(locDtos);
     }
 
diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
index 74f82b0..d204060 100644
--- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -62,7 +62,15 @@
 
     // -------------------------------------------------
 
-    List<LocDetl> queryStock(@Param("sPgNO")String sPgNO, @Param("matnr")String matnr, @Param("batch")String batch, @Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos);
+    List<LocDetl> queryStock(@Param("sPgNO") String sPgNO,
+                             @Param("matnr") String matnr,
+                             @Param("batch") String batch,
+                             @Param("outOrderNo") String outOrderNo,
+                             @Param("temp2") String temp2,
+                             @Param("proType") String proType,
+                             @Param("model") String model,
+                             @Param("luHao") String luHao,
+                             @Param("locNos") Set<String> locNos);
 
     Double queryStockAnfme(String matnr, String batch);
 
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 62d2529..0b5e58c 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -129,7 +129,17 @@
     @Override
     public List<LocDetl> queryStock(OrderDetl orderDetl) {
         List<LocDetl> data = new ArrayList<>();
-        List<LocDetl> locDetls = this.baseMapper.queryStock(null, orderDetl.getMatnr(), null, null, null);
+        List<LocDetl> locDetls = this.baseMapper.queryStock(
+                null,
+                orderDetl.getMatnr(),
+                orderDetl.getBatch(),
+                orderDetl.getOutOrderNo(),
+                orderDetl.getTemp2(),
+                orderDetl.getProType(),
+                orderDetl.getModel(),
+                null,
+                null  // locNos 濡傛灉鏈夋帓闄ゅ垪琛ㄤ篃鍙互浼�
+        );
         if (locDetls == null) {
             return null;
         }
diff --git a/src/main/java/com/zy/common/model/LocDto.java b/src/main/java/com/zy/common/model/LocDto.java
index c059370..aa0d5f5 100644
--- a/src/main/java/com/zy/common/model/LocDto.java
+++ b/src/main/java/com/zy/common/model/LocDto.java
@@ -46,6 +46,8 @@
 
     private String color;
 
+    private String temp2;
+
     public LocDto() {
     }
 
@@ -73,6 +75,16 @@
         this.anfme = anfme;
     }
 
+    public LocDto(String locNo, String matnr, String maktx, String batch, String orderNo,String temp2, Double anfme) {
+        this.locNo = locNo;
+        this.matnr = matnr;
+        this.maktx = maktx;
+        this.batch = batch;
+        this.orderNo = orderNo;
+        this.temp2 = temp2;
+        this.anfme = anfme;
+    }
+
     public String getTitle() {
         return this.matnr + "锛�" + this.maktx + "锛�";
     }
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index ddd63f7..19d3a16 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -193,9 +193,9 @@
                 times++;
             }
         }
-//        if (nearRow == 0) {
-//            throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満");
-//        }
+        if (nearRow == 0) {
+            throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満");
+        }
 
         boolean signRule1 = false;
         boolean signRule2 = false;
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index e54971f..ba10177 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -75,6 +75,10 @@
             if (Cools.isEmpty(param.getBarcode())) {
                 return R.error("鏉$爜涓嶈兘涓虹┖");
             }
+            int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode()));
+            if (countWrk > 0) {
+                return R.error("宸ヤ綔妗e凡瀛樺湪");
+            }
             waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()));
             if (Cools.isEmpty(waitPakins)) {
                 WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode());
@@ -86,10 +90,6 @@
             int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode()));
             if (countLoc > 0) {
                 return R.error("搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�");
-            }
-            int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode()));
-            if (countWrk > 0) {
-                return R.error("宸ヤ綔妗e凡瀛樺湪");
             }
         }
         if (Cools.isEmpty(param.getLocType1())) {
diff --git a/src/main/java/com/zy/third/lk/task/LKInTBScheduler.java b/src/main/java/com/zy/third/lk/task/LKInTBScheduler.java
index 9b96131..a71f6ea 100644
--- a/src/main/java/com/zy/third/lk/task/LKInTBScheduler.java
+++ b/src/main/java/com/zy/third/lk/task/LKInTBScheduler.java
@@ -20,6 +20,7 @@
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -176,10 +177,10 @@
         int insert = erpSqlServer.insert(OutDetTB.class, content);
 
         if (insert == 1) {
-            log.info("鍏ュ簱鍗曡〃韬洖浼犳垚鍔�:" + content.toString());
+            log.info("鍑哄簱鍗曡〃韬洖浼犳垚鍔�:" + content.toString());
             return true;
         } else {
-            log.error("鍏ュ簱鍥炰紶澶辫触,瀹炰綋绫绘墦鍗�:" + content.toString());
+            log.error("鍑哄簱鍥炰紶澶辫触,瀹炰綋绫绘墦鍗�:" + content.toString());
             throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
         }
 
@@ -193,6 +194,8 @@
      */
     @Transactional(rollbackFor = Throwable.class)
     public boolean insertOutHed(Order order) {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
         String sqlInHedTb = "select * from lk_OutHedTB where LKName='楂橀湒绔嬪簱' and BillNo='" + order.getOrderNo() + "'";
         List<OutHedTB> outHeds = erpSqlServer.select(sqlInHedTb, OutHedTB.class);
         String sqlInHedTbBak = "select * from lk_OutHedTB_Bak where LKName='楂橀湒绔嬪簱' and BillNo='" + order.getOrderNo() + "'";
@@ -209,7 +212,7 @@
         if (!Cools.isEmpty(docType.getDocName())) content.put("IoKindName", "'" + docType.getDocName() + "'");
         if (!Cools.isEmpty(order.getWareId())) content.put("WareId", "'" + order.getWareId() + "'");
         if (!Cools.isEmpty(order.getWareName())) content.put("WareName", "'" + order.getWareName() + "'");
-        if (!Cools.isEmpty(order.getUpdateTime())) content.put("MakeDate", "'" + order.getUpdateTime() + "'");
+        if (!Cools.isEmpty(order.getUpdateTime())) content.put("MakeDate", "'" + sdf.format(order.getUpdateTime()) + "'");
         if (!Cools.isEmpty(order.getTemp1())) content.put("Temp1", "'" + order.getTemp1() + "'");
         if (!Cools.isEmpty(order.getTemp2())) content.put("Temp2", "'" + order.getTemp2() + "'");
         if (!Cools.isEmpty(order.getTemp3())) content.put("Temp3", "'" + order.getTemp3() + "'");
@@ -218,6 +221,7 @@
         if (!Cools.isEmpty(order.getMemo())) content.put("Remark", "'" + order.getMemo() + "'");
         content.put("LKName", "'楂橀湒绔嬪簱'");
         content.put("bPass", "1");
+        System.out.println("鎻掑叆鍐呭锛�" + content);
         int insert = erpSqlServer.insert(OutHedTB.class, content);
         if (insert == 1) {
             log.info("鍏ュ簱鍗曡〃澶村洖浼犳垚鍔�:" + content);
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 1ea5ec3..f23abf1 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -365,6 +365,22 @@
         <if test="batch != null and batch != ''">
             and a.batch = #{batch}
         </if>
+        <if test="outOrderNo != null and outOrderNo != ''">
+            and a.out_order_no = #{outOrderNo}
+        </if>
+        <if test="temp2 != null and temp2 != ''">
+            and a.temp2 = #{temp2}
+        </if>
+        <if test="proType != null and proType != ''">
+            and a.pro_type = #{proType}
+        </if>
+        <if test="model != null and model != ''">
+            and a.model = #{model}
+        </if>
+        <if test="luHao != null and luHao != ''">
+            and a.lu_hao = #{luHao}
+        </if>
+
         <!--        <choose>-->
         <!--            <when test="batch != null and batch != ''">-->
         <!--                and batch = #{batch}-->
diff --git a/src/main/webapp/static/js/order/out.js b/src/main/webapp/static/js/order/out.js
index 27a69e2..a80e4f0 100644
--- a/src/main/webapp/static/js/order/out.js
+++ b/src/main/webapp/static/js/order/out.js
@@ -167,10 +167,12 @@
                                     {field: 'zpallet', align: 'center',title: '鎵樼洏鐮�'},
                                     {field: 'locNo', title: '璐т綅', align: 'center', width: 100, templet: '#locNoTpl'},
                                     {field: 'staNos', align: 'center', title: '鍑哄簱绔�', merge: ['locNo'], templet: '#tbBasicTbStaNos'},
-                                    {field: 'outOrderNo', hide: false},
+                                    {field: 'outOrderNo', title: '鍚堝悓鍙�', align: 'center',hide: false},
+                                    {field: 'temp2', align: 'center',title: '瀹㈡埛鍥惧彿', hide: false},
+
                                     {field: 'luHao', hide: true},
                                     {field: 'packing', hide: true},
-                                    {field: 'proType', hide: false},
+                                    {field: 'proType', align: 'center',title: '灞炴��',hide: false},
                                     {type: 'checkbox', merge: ['locNo']},
                                 ]],
                                 done: function (res) {

--
Gitblit v1.9.1