From 3aea803e459e7938c11e7bbc224c66595f45668f Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 11 三月 2025 18:34:56 +0800
Subject: [PATCH] #优化 代码优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java |   45 +++++++++++++++++++++++++++++++--------------
 1 files changed, 31 insertions(+), 14 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 6dbfb93..b740cd0 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
@@ -10,11 +10,13 @@
 import com.vincent.rsf.server.api.entity.enums.OrderWorkType;
 import com.vincent.rsf.server.api.service.MobileService;
 import com.vincent.rsf.server.common.config.ConfigProperties;
+import com.vincent.rsf.server.common.enums.WarehouseAreaType;
 import com.vincent.rsf.server.common.security.JwtSubject;
 import com.vincent.rsf.server.common.utils.JwtUtil;
 import com.vincent.rsf.server.manager.entity.*;
 import com.vincent.rsf.server.manager.mapper.*;
 import com.vincent.rsf.server.manager.service.WarehouseAreasItemService;
+import com.vincent.rsf.server.manager.service.WarehouseAreasService;
 import com.vincent.rsf.server.system.constant.CodeRes;
 import com.vincent.rsf.server.system.controller.param.LoginParam;
 import com.vincent.rsf.server.system.controller.result.LoginResult;
@@ -24,6 +26,7 @@
 import com.vincent.rsf.server.system.mapper.TenantMapper;
 import com.vincent.rsf.server.system.mapper.UserMapper;
 import com.vincent.rsf.server.system.service.UserLoginService;
+import com.vincent.rsf.server.system.utils.SerialRuleUtils;
 import org.apache.tika.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -56,6 +59,8 @@
     private UserLoginService userLoginService;
     @Autowired
     private WarehouseAreasItemService warehouseAreasItemService;
+    @Autowired
+    private WarehouseAreasService warehouseAreasService;
     @Resource
     private AsnOrderItemMapper asnOrderItemMapper;
     @Resource
@@ -141,7 +146,10 @@
         if (Objects.isNull(params.getWhAreaId())) {
             throw new CoolException("搴撳尯鏍囪瘑涓嶈兘涓虹┖锛侊紒");
         }
-        WarehouseAreasItem areasItem = warehouseAreasItemService.getOne(new LambdaQueryWrapper<WarehouseAreasItem>().eq(WarehouseAreasItem::getAreaId, params.getWhAreaId()));
+        WarehouseAreas areasItem = warehouseAreasService.getOne(new LambdaQueryWrapper<WarehouseAreas>().eq(WarehouseAreas::getId, params.getWhAreaId()));
+        if (Objects.isNull(areasItem)) {
+            throw new CoolException("鏁版嵁閿欒锛氬綋鍓嶅簱鍖轰笉瀛樺湪锛侊紒");
+        }
         List<ReceiptDetlsDto> receipts = params.getReceipts();
         List<WarehouseAreasItem> allOrders =   new ArrayList<>();
         receipts.forEach(dto -> {
@@ -151,22 +159,21 @@
             }
             WarehouseAreasItem item = new WarehouseAreasItem();
             item.setBarcode(dto.getBarcode())
-                    .setAreaName(areasItem.getAreaName())
-                    .setAreaId(areasItem.getAreaId())
+                    .setAreaName(areasItem.getName())
+                    .setAreaId(areasItem.getId())
                     .setStockUnit(dto.getStockUnit())
-                    //TODO 缂栫爜瑙勫垯鐢熸垚鎵规 (鐗╂枡鍙�+鏃ユ湡)
-                    .setBatch(null)
+                    .setBatch(SerialRuleUtils.generateRuleCode("sys_receipt_batch", dto))
                     .setAnfme(dto.getReceiptQty())
                     .setSplrBtch(dto.getSplrBatch())
                     .setMatnrCode(matnr.getCode())
                     .setMatnrId(matnr.getId())
                     .setMatnrName(matnr.getName())
-                    //TODO 鍏ュ簱鍗曚綅鎹㈢畻
+                    //搴撳瓨鍗曚綅涓烘渶灏忓崟浣�
                     .setUnit(dto.getStockUnit())
                     .setStockUnit(dto.getStockUnit())
                     .setWeight(matnr.getWeight())
                     .setShipperId(matnr.getShipperId());
-                    //TODO 渚涘簲鍟嗘爣璇嗘湭璁剧疆
+                    //TODO 渚涘簲鍟嗘爣璇嗘湭璁剧疆锛屾爣璇嗙敱PO鍗曚緵搴斿晢缂栫爜杞崲
 
             allOrders.add(item);
         });
@@ -189,13 +196,9 @@
         if (Objects.isNull(params.getAsnCode())) {
             throw new CoolException("閫氱煡鍗曚笉鑳戒负绌猴紒锛�");
         }
-        if (Objects.isNull(params.getBarcode())) {
-            throw new CoolException("鐗╂枡缂栫爜涓嶈兘涓虹┖锛侊紒");
-        }
-
         AsnOrderItem asnOrderItem = asnOrderItemMapper.selectOne(new LambdaQueryWrapper<AsnOrderItem>()
                 .eq(AsnOrderItem::getAsnCode, params.getAsnCode())
-                .eq(AsnOrderItem::getBarcode, params.getBarcode()));
+                .eq(!Objects.isNull(params.getBarcode()) ,AsnOrderItem::getBarcode, params.getBarcode()));
 
         if (Objects.isNull(asnOrderItem)) {
             throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�");
@@ -214,6 +217,18 @@
     public List<AsnOrder> getAllAsnOrders() {
         List<AsnOrder> asnOrders = asnOrderMapper.selectList(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getWkType, OrderWorkType.ORDER_PURCHASE_IN.type));
         return asnOrders;
+    }
+
+    /**
+     * @author Ryan
+     * @description 鑾峰彇鏀惰揣鍖�
+     * @param
+     * @return
+     * @time 2025/3/11 10:12
+     */
+    @Override
+    public R getReceiptAreas() {
+        return R.ok(warehouseAreasService.list(new LambdaQueryWrapper<WarehouseAreas>().eq(WarehouseAreas::getType, WarehouseAreaType.WAREHOUSE_AREA_RECEIPT.type)));
     }
 
     /**
@@ -239,8 +254,10 @@
                 .setStockUnit(matnr.getStockUnit());
         QlyInspect inspect = qlyInspectMapper.selectOne(new LambdaQueryWrapper<QlyInspect>()
                 .eq(QlyInspect::getAsnItemId, asnOrderItem.getId()).eq(QlyInspect::getPoItemId, asnOrderItem.getPoDetlId()));
-        //set 璐ㄦ缁撴灉
-        detlsDto.setInspect(inspect.getStatus$());
+        if (!Objects.isNull(inspect)) {
+            //set 璐ㄦ缁撴灉
+            detlsDto.setInspect(inspect.getStatus$());
+        }
         //鑾峰彇褰撳墠搴撳瓨淇℃伅
         StockItem stockItem = stockItemMapper.selectOne(new LambdaQueryWrapper<StockItem>()
                 .eq(StockItem::getAsnItemId, asnOrderItem.getId())

--
Gitblit v1.9.1