From 39bdfc374dcb4725c432106e97df9f77dd82e58a Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期日, 15 六月 2025 17:09:53 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java |    5 --
 src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java       |   17 +-------
 src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java       |   17 +-------
 src/main/java/com/zy/asrs/utils/MatUtils.java                        |   22 +++++++++++
 src/main/java/com/zy/nc/service/impl/NccXsckmxTkWmsServiceImpl.java  |    3 -
 src/main/java/com/zy/asrs/controller/OutController.java              |   25 ++++++++++--
 6 files changed, 49 insertions(+), 40 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index c196404..278cf67 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -7,6 +7,7 @@
 import com.core.common.R;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.service.*;
+import com.zy.asrs.utils.MatUtils;
 import com.zy.common.model.LocDto;
 import com.zy.common.model.TaskDto;
 import com.zy.common.web.BaseController;
@@ -97,7 +98,11 @@
                         locDto.setBoxType1(orderDetl.getBoxType1());
                         locDto.setBoxType2(orderDetl.getBoxType2());
                         locDto.setBoxType3(orderDetl.getBoxType3());
-                        locDto.setWeight(orderDetl.getWeight());
+
+                        //璁$畻杈呭崟浣�
+                        Double weight = MatUtils.calcWeight(locDto.getMatnr(), locDto.getAnfme());
+                        locDto.setWeight(weight);
+
                         locDto.setUnit(orderDetl.getUnit());
 
                         locDto.setStaNos(staNos);
@@ -118,7 +123,11 @@
                     locDto.setBoxType1(orderDetl.getBoxType1());
                     locDto.setBoxType2(orderDetl.getBoxType2());
                     locDto.setBoxType3(orderDetl.getBoxType3());
-                    locDto.setWeight(orderDetl.getWeight());
+
+                    //璁$畻杈呭崟浣�
+                    Double weight = MatUtils.calcWeight(locDto.getMatnr(), locDto.getAnfme());
+                    locDto.setWeight(weight);
+
                     locDto.setUnit(orderDetl.getUnit());
                     locDto.setLack(Boolean.TRUE);
                     locDtos.add(locDto);
@@ -149,8 +158,12 @@
                         locDto.setBoxType1(orderDetl.getBoxType1());
                         locDto.setBoxType2(orderDetl.getBoxType2());
                         locDto.setBoxType3(orderDetl.getBoxType3());
-                        locDto.setWeight(orderDetl.getWeight());
                         locDto.setUnit(orderDetl.getUnit());
+
+                        //璁$畻杈呭崟浣�
+                        Double weight = MatUtils.calcWeight(locDto.getMatnr(), locDto.getAnfme());
+                        locDto.setWeight(weight);
+
                         locDtos.add(locDto);
                         exist.add(locDetl.getLocNo());
                         // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
@@ -168,7 +181,11 @@
                     locDto.setBoxType1(orderDetl.getBoxType1());
                     locDto.setBoxType2(orderDetl.getBoxType2());
                     locDto.setBoxType3(orderDetl.getBoxType3());
-                    locDto.setWeight(orderDetl.getWeight());
+
+                    //璁$畻杈呭崟浣�
+                    Double weight = MatUtils.calcWeight(locDto.getMatnr(), locDto.getAnfme());
+                    locDto.setWeight(weight);
+
                     locDto.setUnit(orderDetl.getUnit());
                     locDto.setLack(Boolean.TRUE);
                     locDtos.add(locDto);
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 456e2b5..a793146 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -13,6 +13,7 @@
 import com.zy.asrs.mapper.LocDetlMapper;
 import com.zy.asrs.service.LocDetlService;
 import com.zy.asrs.service.MatService;
+import com.zy.asrs.utils.MatUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -69,20 +70,8 @@
                 return false;
             }
 
-            //鏇存柊杈呮枡
-            Mat mat = matService.selectByMatnr(matnr);
-            if (mat == null) {
-                return false;
-            }
-
-            //杞崲鍏崇郴
-            String origin = mat.getOrigin();
-            if (Cools.isEmpty(origin)) {
-                return true;
-            }
-            String[] split = origin.split("/");
-            //杈呭崟浣�
-            Double weight = (anfme / Double.parseDouble(split[1])) / Double.parseDouble(split[0]);
+            //璁$畻杈呭崟浣�
+            Double weight = MatUtils.calcWeight(matnr, anfme);
             return this.baseMapper.updateWeight(weight, locNo, matnr, batch, brand, standby1, standby2, standby3, boxType1, boxType2, boxType3) > 0;
         }
     }
diff --git a/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
index 36d77ce..507c554 100644
--- a/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
@@ -5,7 +5,6 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
-import com.core.common.R;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.DocType;
 import com.zy.asrs.entity.Order;
@@ -19,7 +18,6 @@
 import com.zy.nc.entity.*;
 import com.zy.nc.service.NccSaleXsfhmxWmsService;
 import com.zy.nc.service.NccScPcdaWmsService;
-import com.zy.nc.service.NccXsckmxTkWmsService;
 import com.zy.nc.util.NcResultMessage;
 import com.zy.nc.vo.*;
 import lombok.extern.slf4j.Slf4j;
@@ -47,9 +45,6 @@
 
     @Autowired
     private NccScPcdaWmsService nccScPcdaWmsService;
-
-    @Autowired
-    private NccXsckmxTkWmsService nccXsckmxTkWmsService;
 
     @Autowired
     private NccSaleXsfhmxWmsService nccSaleXsfhmxWmsService;
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
index e18a416..fc49272 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
@@ -8,6 +8,7 @@
 import com.zy.asrs.mapper.WrkDetlMapper;
 import com.zy.asrs.service.MatService;
 import com.zy.asrs.service.WrkDetlService;
+import com.zy.asrs.utils.MatUtils;
 import com.zy.common.model.DetlDto;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -66,20 +67,8 @@
                 return false;
             }
 
-            //鏇存柊杈呮枡
-            Mat mat = matService.selectByMatnr(matnr);
-            if (mat == null) {
-                return false;
-            }
-
-            //杞崲鍏崇郴
-            String origin = mat.getOrigin();
-            if (Cools.isEmpty(origin)) {
-                return true;
-            }
-            String[] split = origin.split("/");
-            //杈呭崟浣�
-            Double weight = (anfme / Double.parseDouble(split[1])) / Double.parseDouble(split[0]);
+            //璁$畻杈呭崟浣�
+            Double weight = MatUtils.calcWeight(matnr, anfme);
             return baseMapper.updateWeight(weight, wrkNo, matnr, batch) > 0;
         }
     }
diff --git a/src/main/java/com/zy/asrs/utils/MatUtils.java b/src/main/java/com/zy/asrs/utils/MatUtils.java
index 8789be4..ec305a1 100644
--- a/src/main/java/com/zy/asrs/utils/MatUtils.java
+++ b/src/main/java/com/zy/asrs/utils/MatUtils.java
@@ -1,7 +1,10 @@
 package com.zy.asrs.utils;
 
+import com.core.common.Cools;
+import com.core.common.SpringUtils;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.Mat;
+import com.zy.asrs.service.MatService;
 import lombok.extern.slf4j.Slf4j;
 
 /**
@@ -27,4 +30,23 @@
         }
     }
 
+    public static Double calcWeight(String matnr, Double anfme) {
+        MatService matService = SpringUtils.getBean(MatService.class);
+        //鏇存柊杈呮枡
+        Mat mat = matService.selectByMatnr(matnr);
+        if (mat == null) {
+            throw new CoolException("鐗╂枡淇℃伅涓嶅瓨鍦�");
+        }
+
+        //杞崲鍏崇郴
+        String origin = mat.getOrigin();
+        if (Cools.isEmpty(origin)) {
+            throw new CoolException("涓昏緟鏁伴噺杞崲鍏紡涓嶅瓨鍦�");
+        }
+        String[] split = origin.split("/");
+        //杈呭崟浣�
+        Double weight = (anfme / Double.parseDouble(split[1])) / Double.parseDouble(split[0]);
+        return weight;
+    }
+
 }
diff --git a/src/main/java/com/zy/nc/service/impl/NccXsckmxTkWmsServiceImpl.java b/src/main/java/com/zy/nc/service/impl/NccXsckmxTkWmsServiceImpl.java
index 57297fd..65f9614 100644
--- a/src/main/java/com/zy/nc/service/impl/NccXsckmxTkWmsServiceImpl.java
+++ b/src/main/java/com/zy/nc/service/impl/NccXsckmxTkWmsServiceImpl.java
@@ -1,11 +1,8 @@
 package com.zy.nc.service.impl;
 
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
-import com.zy.nc.entity.NccScPcdaWms;
 import com.zy.nc.entity.NccXsckmxTkWms;
-import com.zy.nc.mapper.NccScPcdaWmsMapper;
 import com.zy.nc.mapper.NccXsckmxTkWmsMapper;
-import com.zy.nc.service.NccScPcdaWmsService;
 import com.zy.nc.service.NccXsckmxTkWmsService;
 import org.springframework.stereotype.Service;
 

--
Gitblit v1.9.1