From 613d004f5cf0d8d9bb529e1e30e0f5b297a5b1ba Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期五, 13 六月 2025 17:46:05 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/mapper/LocDetlMapper.java            |    5 ++
 src/main/resources/mapper/asrs/LocDetlMapper.xml               |   10 +++++
 src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java |   24 +++++++++++
 src/main/java/com/zy/asrs/controller/MobileController.java     |   23 +++++++++++
 4 files changed, 61 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index e7a2685..1a0932c 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -282,6 +282,29 @@
         return R.ok().add(matParam);
     }
 
+    @RequestMapping(value = "/mat/back")
+    @ManagerAuth
+    public R pdaSearchBack(@RequestParam String matnr) {
+        EntityWrapper<NccJcQilibcBarcodeflowWms> wrapper = new EntityWrapper<>();
+        wrapper.eq("VBARCODE", matnr).orderBy("ts", false);
+        NccJcQilibcBarcodeflowWms nccJcQilibcBarcodeflowWms = nccJcQilibcBarcodeflowWmsService.selectOne(wrapper);
+        if (null == nccJcQilibcBarcodeflowWms) {
+            return R.error("鏈壘鍒版鏉$爜");
+        } else {
+            if (!nccJcQilibcBarcodeflowWms.getInfla().equals("鍑哄簱")) {
+                return R.error("璇ユ潯鐮佹渶鍚庝竴娆′笉鏄嚭搴�");
+            }
+        }
+        Mat mat = matService.selectByMatnr(nccJcQilibcBarcodeflowWms.getWlbm());
+        MatParam matParam = new MatParam();
+        Synchro.Copy(mat, matParam);
+        matParam.setBatch(nccJcQilibcBarcodeflowWms.getVbatchcode());
+        matParam.setAnfme(nccJcQilibcBarcodeflowWms.getAsnnum() == null ? 0.0D : nccJcQilibcBarcodeflowWms.getAsnnum().doubleValue());
+        matParam.setAnfme2(nccJcQilibcBarcodeflowWms.getNastnum() == null ? 0.0D : nccJcQilibcBarcodeflowWms.getNastnum().doubleValue());
+        matParam.setTiaoma(nccJcQilibcBarcodeflowWms.getVbarcode());
+        return R.ok().add(matParam);
+    }
+
     @RequestMapping("/comb/auth")
     @ManagerAuth(memo = "缁勬墭")
     public R comb(@RequestBody CombParam combParam) {
diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
index bbf8ac8..82eedd7 100644
--- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -39,6 +39,11 @@
                     @Param("brand")String brand,@Param("standby1")String standby1,@Param("standby2")String standby2,
                     @Param("standby3")String standby3,@Param("boxType1")String boxType1,@Param("boxType2")String boxType2,@Param("boxType3")String boxType3 );
 
+    int updateWeight(@Param("weight")Double weight, @Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch,
+                    @Param("brand")String brand,@Param("standby1")String standby1,@Param("standby2")String standby2,
+                    @Param("standby3")String standby3,@Param("boxType1")String boxType1,@Param("boxType2")String boxType2,@Param("boxType3")String boxType3 );
+
+
     List<LocDetl> getStockOutPage(Map<String, Object> map);
 
     Integer getStockOutPageCount(Map<String, Object> map);
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 2e14e9b..95627ac 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -6,11 +6,14 @@
 import com.core.common.R;
 import com.zy.asrs.entity.FrozenParam;
 import com.zy.asrs.entity.LocDetl;
+import com.zy.asrs.entity.Mat;
 import com.zy.asrs.entity.result.LocDetlAll;
 import com.zy.asrs.entity.result.LocDetlDTO;
 import com.zy.asrs.entity.result.StockVo;
 import com.zy.asrs.mapper.LocDetlMapper;
 import com.zy.asrs.service.LocDetlService;
+import com.zy.asrs.service.MatService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
@@ -20,6 +23,9 @@
 
 @Service("locDetlService")
 public class LocDetlServiceImpl extends ServiceImpl<LocDetlMapper, LocDetl> implements LocDetlService {
+
+    @Autowired
+    private MatService matService;
 
     @Override
     public Page<LocDetl> getPage(Page<LocDetl> page) {
@@ -58,7 +64,23 @@
         if (anfme <= 0) {
             return this.baseMapper.deleteItem(locNo, matnr, batch, brand, standby1, standby2, standby3, boxType1, boxType2, boxType3) > 0;
         } else {
-            return baseMapper.updateAnfme(anfme, locNo, matnr, batch, brand, standby1, standby2, standby3, boxType1, boxType2, boxType3) > 0;
+            boolean result = baseMapper.updateAnfme(anfme, locNo, matnr, batch, brand, standby1, standby2, standby3, boxType1, boxType2, boxType3) > 0;
+            if (!result) {
+                return false;
+            }
+
+            //鏇存柊杈呮枡
+            Mat mat = matService.selectByMatnr(matnr);
+            if (mat == null) {
+                return false;
+            }
+
+            //杞崲鍏崇郴
+            String origin = mat.getOrigin();
+            String[] split = origin.split("/");
+            //杈呭崟浣�
+            Double weight = (anfme / Double.parseDouble(split[1])) / Double.parseDouble(split[0]);
+            return this.baseMapper.updateWeight(weight, locNo, matnr, batch, brand, standby1, standby2, standby3, boxType1, boxType2, boxType3) > 0;
         }
     }
 
diff --git a/src/main/resources/mapper/asrs/LocDetlMapper.xml b/src/main/resources/mapper/asrs/LocDetlMapper.xml
index 1ac6295..7288003 100644
--- a/src/main/resources/mapper/asrs/LocDetlMapper.xml
+++ b/src/main/resources/mapper/asrs/LocDetlMapper.xml
@@ -319,6 +319,16 @@
         <include refid="batchSeqNew"></include>
     </update>
 
+    <update id="updateWeight">
+        update asr_loc_detl
+        set weight = #{weight}
+        , modi_time = getdate()
+        where 1=1
+        and loc_no = #{locNo}
+        and matnr = #{matnr}
+        <include refid="batchSeqNew"></include>
+    </update>
+
     <sql id="stockOutCondition">
         <if test="loc_no!=null and loc_no!='' ">
             and a.loc_no like '%' + #{loc_no} + '%'

--
Gitblit v1.9.1