From d7bb8c43b17253b46c6a466cff5545e8b4bcaad3 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 10 六月 2025 11:10:46 +0800
Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java |   29 ++++++++++++++++++++++-------
 1 files changed, 22 insertions(+), 7 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
index 5f955a8..9e39313 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
@@ -126,6 +126,8 @@
     private DeviceSiteMapper deviceSiteMapper;
     @Autowired
     private ConfigService configService;
+    @Autowired
+    private CompanysService companysService;
 
     /**
      * @return
@@ -235,7 +237,7 @@
             throw new CoolException("鏁版嵁閿欒锛氫富鍗曚笉瀛樺湪锛侊紒");
         }
         //TODO /**鏀惰揣鏁伴噺绱姞锛�1. 浼氬嚭瓒呮敹鎯呭喌 2. 浼氭湁鏀惰揣涓嶈冻鎯呭喌*/
-        Double rcptedQty = asnOrder.getQty() + receiptQty;
+        Double rcptedQty = Math.round((asnOrder.getQty() + receiptQty) * 10000) / 10000.0;
 
         asnOrder.setQty(rcptedQty).setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_EXCE_ING.val);
         if (!asnOrderMapper.updateById(asnOrder)) {
@@ -286,7 +288,7 @@
                 throw new CoolException("璇疯緭鍏ユ纭殑鏃堕棿鏍煎紡锛侊紒");
             }
 
-            Double itemRcptQty = dto.getReceiptQty() + orderItem.getQty();
+            Double itemRcptQty = Math.round((dto.getReceiptQty() + orderItem.getQty()) * 10000) / 10000.0;
             Boolean allowOver = false;
             if (!Objects.isNull(config)) {
                 if (Boolean.parseBoolean(config.getVal())) {
@@ -347,6 +349,12 @@
     }
 
     private void extracted(Long loginUserId, ReceiptDetlsDto dto, WarehouseAreas areasItem, AsnOrderItem orderItem, AsnOrder asnOrder, Matnr matnr) {
+
+        Companys companys = new Companys();
+        if (StringUtils.isNoneBlank(orderItem.getSplrCode())) {
+             companys = companysService.getOne(new LambdaQueryWrapper<Companys>().eq(Companys::getCode, orderItem.getSplrCode()));
+        }
+
         WarehouseAreasItem item = new WarehouseAreasItem();
         item.setTrackCode(dto.getBarcode())
                 .setAreaName(areasItem.getName())
@@ -355,7 +363,11 @@
                 .setAsnCode(asnOrder.getCode())
                 .setAsnId(asnOrder.getId())
                 .setProdTime(dto.getProdTime())
+                .setSplrId(companys.getId())
                 .setWeight(dto.getWeigth())
+                .setPlatOrderCode(orderItem.getPlatOrderCode())
+                .setPlatWorkCode(orderItem.getPlatWorkCode())
+                .setProjectCode(orderItem.getProjectCode())
                 //搴撳瓨鍗曚綅涓烘渶灏忓崟浣�
                 .setUnit(orderItem.getStockUnit())
                 .setStockUnit(orderItem.getStockUnit())
@@ -389,7 +401,8 @@
 
         if (!Objects.isNull(serviceOne)) {
             item.setId(serviceOne.getId());
-            item.setAnfme(item.getAnfme() + serviceOne.getAnfme());
+            Double anfme = Math.round((item.getAnfme() + serviceOne.getAnfme()) * 10000) / 10000.0;
+            item.setAnfme(anfme);
         }
 
         //鏈川妫�
@@ -924,14 +937,15 @@
      */
     @Override
     public R getUnItemByContainer(Map<String, Object> params) {
-        if (Objects.isNull(params.get("barcode"))) {
-            throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        if (Cools.isEmpty(params.get("barcode")) && Cools.isEmpty(params.get("code"))){
+            throw new CoolException("瀹瑰櫒鍙蜂笌缁勬墭妗g紪鐮佷笉鑳藉叏涓虹┖");
         }
         //鑾峰彇缁勬嫋鏈敓鎴愪换鍔$殑缁勬嫋妗�
 //        List<Short> asList = Arrays.asList(Short.valueOf(PakinIOStatus.PAKIN_IO_STATUS_DONE.val), Short.valueOf(PakinIOStatus.PAKIN_IO_STATUS_DONE.val));
 
         WaitPakin waitPakin = waitPakinService.getOne(new LambdaQueryWrapper<WaitPakin>()
-                .eq(WaitPakin::getBarcode, params.get("barcode").toString())
+                .eq(!Cools.isEmpty(params.get("barcode")),WaitPakin::getBarcode, params.get("barcode"))
+                .eq(!Cools.isEmpty(params.get("code")),WaitPakin::getCode, params.get("code"))
                 .eq(WaitPakin::getIoStatus, PakinIOStatus.PAKIN_IO_STATUS_DONE.val));
         if (Objects.isNull(waitPakin)) {
             return R.error("鏈壘鍒拌瀹瑰櫒鐮佺殑缁勬墭鏄庣粏锛岃妫�鏌ョ粍鎵樼姸鎬�");
@@ -1081,7 +1095,8 @@
             if (Objects.isNull(stockItem)) {
                 detlsDto.setStockQty(0.0);
             } else {
-                detlsDto.setStockQty(stockItem.getAnfme() + stockItem.getWorkQty());
+                Double anfme = Math.round((stockItem.getAnfme() + stockItem.getWorkQty()) * 10000) / 10000.0;
+                detlsDto.setStockQty(anfme);
             }
 
             if (!Objects.isNull(asnOrderItem.getPoDetlId())) {

--
Gitblit v1.9.1