From ebdfa825c07189b5f8e89f147d96d1bc612589db Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 15 七月 2025 08:32:17 +0800
Subject: [PATCH] 代码优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java |   57 ++++++++++++++++++++++++++++-----------------------------
 1 files changed, 28 insertions(+), 29 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java
index 963e330..ad82842 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java
@@ -10,6 +10,10 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.framework.exception.CoolException;
+import com.vincent.rsf.server.manager.entity.WkOrder;
+import com.vincent.rsf.server.manager.entity.WkOrderItem;
+import com.vincent.rsf.server.manager.entity.excel.OutStockTemplate;
+import com.vincent.rsf.server.manager.enums.AsnExceStatus;
 import com.vincent.rsf.server.manager.enums.OrderType;
 import com.vincent.rsf.server.manager.enums.OrderWorkType;
 import com.vincent.rsf.server.common.domain.BaseParam;
@@ -17,10 +21,7 @@
 import com.vincent.rsf.server.common.utils.CommonUtil;
 import com.vincent.rsf.server.common.utils.ExcelUtil;
 import com.vincent.rsf.server.common.utils.FieldsUtils;
-import com.vincent.rsf.server.manager.entity.AsnOrder;
-import com.vincent.rsf.server.manager.entity.AsnOrderItem;
 import com.vincent.rsf.server.manager.entity.Matnr;
-import com.vincent.rsf.server.manager.entity.excel.AsnOrderTemplate;
 import com.vincent.rsf.server.manager.mapper.AsnOrderItemMapper;
 import com.vincent.rsf.server.manager.service.MatnrService;
 import com.vincent.rsf.server.manager.service.OutStockItemService;
@@ -44,7 +45,7 @@
  * @create 2025/4/22 11:35
  */
 @Service("outStockItemServiceImpl")
-public class OutStockItemServiceImpl extends ServiceImpl<AsnOrderItemMapper, AsnOrderItem> implements OutStockItemService {
+public class OutStockItemServiceImpl extends ServiceImpl<AsnOrderItemMapper, WkOrderItem> implements OutStockItemService {
 
     @Autowired
     private OutStockService outStockService;
@@ -63,13 +64,13 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public boolean fieldsSave(Map<String, Object> params) {
-        AsnOrderItem asnOrderItem = JSONObject.parseObject(JSONObject.toJSONString(params), AsnOrderItem.class);
-        if (StringUtils.isBlank(asnOrderItem.getTrackCode())) {
-            String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, asnOrderItem);
-            asnOrderItem.setTrackCode(ruleCode).setBarcode(ruleCode);
+        WkOrderItem wkOrderItem = JSONObject.parseObject(JSONObject.toJSONString(params), WkOrderItem.class);
+        if (StringUtils.isBlank(wkOrderItem.getTrackCode())) {
+            String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, wkOrderItem);
+            wkOrderItem.setTrackCode(ruleCode).setBarcode(ruleCode);
             ;
         }
-        if (Objects.isNull(asnOrderItem.getAnfme()) || Double.compare(asnOrderItem.getAnfme(), 0.0) <= 0) {
+        if (Objects.isNull(wkOrderItem.getAnfme()) || Double.compare(wkOrderItem.getAnfme(), 0.0) <= 0) {
             throw new CoolException("璁″垝鏀惰揣鏁颁笉鑳戒负绌猴紒锛�");
         }
         //淇濆瓨鎵╁睍瀛楁
@@ -77,12 +78,12 @@
             String uuid16 = CommonUtil.randomUUID16();
             Boolean fields = FieldsUtils.saveFields(params, uuid16);
             if (fields) {
-                asnOrderItem.setFieldsIndex(uuid16);
+                wkOrderItem.setFieldsIndex(uuid16);
             }
         } catch (Exception e) {
             throw new RuntimeException(e);
         }
-        if (!this.saveOrUpdate(asnOrderItem)) {
+        if (!this.saveOrUpdate(wkOrderItem)) {
             throw new CoolException("鏀惰揣閫氱煡鍗曟槑缁嗕繚瀛樺け璐ワ紒锛�");
         }
         return true;
@@ -98,22 +99,19 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public R excelImport(MultipartFile file, HashMap<String, Object> hashMap, Long loginUserId) throws Exception {
-        ExcelImportResult result = ExcelImportUtil.importExcelMore(file.getInputStream(), AsnOrderTemplate.class, ExcelUtil.getDefaultImportParams());
-        if (result.getList().isEmpty()) {
-            throw new CoolException("鐗╂枡瀵煎叆澶辫触锛侊紒");
-        }
+        ExcelImportResult result = ExcelImportUtil.importExcelMore(file.getInputStream(), OutStockTemplate.class, ExcelUtil.getDefaultImportParams());
         if (result.getList().isEmpty()) {
             throw new CoolException("琛ㄦ牸鍐呭涓嶈兘涓虹┖锛侊紒");
         }
-        List<AsnOrderTemplate> resultList = result.getList();
-        Map<String, List<AsnOrderTemplate>> listMap = resultList.stream().collect(Collectors.groupingBy(AsnOrderTemplate::getCode));
+        List<OutStockTemplate> resultList = result.getList();
+        Map<String, List<OutStockTemplate>> listMap = resultList.stream().collect(Collectors.groupingBy(OutStockTemplate::getCode));
         for (String key : listMap.keySet()) {
-            AsnOrderTemplate template = listMap.get(key).stream().findFirst().get();
-            AsnOrder asnOrder = outStockService.getOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getCode, template.getCode()));
-            if (Objects.isNull(asnOrder)) {
+            OutStockTemplate template = listMap.get(key).stream().findFirst().get();
+            WkOrder wkOrder = outStockService.getOne(new LambdaQueryWrapper<WkOrder>().eq(WkOrder::getCode, template.getCode()));
+            if (!Objects.isNull(wkOrder)) {
                 continue;
             }
-            AsnOrder order = new AsnOrder();
+            WkOrder order = new WkOrder();
             order.setCode(template.getCode())
                     .setPoCode(template.getPoCode())
                     .setMemo(template.getMemo())
@@ -124,11 +122,11 @@
             if (!outStockService.save(order)) {
                 throw new CoolException("鍗曟嵁淇濆瓨澶辫触锛侊紒");
             }
-            List<AsnOrderItem> items = new ArrayList<>();
-            for (AsnOrderTemplate orderTemplate : listMap.get(key)) {
-                AsnOrderItem orderItem = new AsnOrderItem();
+            List<WkOrderItem> items = new ArrayList<>();
+            for (OutStockTemplate orderTemplate : listMap.get(key)) {
+                WkOrderItem orderItem = new WkOrderItem();
                 Matnr matnr = null;
-                if (!Objects.isNull(orderTemplate.getMatnrCode()) || StringUtils.isNotBlank(orderTemplate.getMatnrCode())) {
+                if (StringUtils.isNotBlank(orderTemplate.getMatnrCode())) {
                     matnr = matnrService.getOne(new LambdaQueryWrapper<Matnr>()
                             .eq(Matnr::getCode, orderTemplate.getMatnrCode()));
                 }
@@ -150,9 +148,10 @@
                 }
             }
             if (!items.isEmpty()) {
-                double qty = items.stream().mapToDouble(AsnOrderItem::getQty).sum();
-                double purQty = items.stream().mapToDouble(AsnOrderItem::getPurQty).sum();
-                if (!outStockService.update(new LambdaUpdateWrapper<AsnOrder>().set(AsnOrder::getQty, qty).set(AsnOrder::getAnfme, purQty).eq(AsnOrder::getId, order.getId()))) {
+                double purQty = items.stream().mapToDouble(WkOrderItem::getAnfme).sum();
+                if (!outStockService.update(new LambdaUpdateWrapper<WkOrder>()
+                                .set(WkOrder::getExceStatus, AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val)
+                        .set(WkOrder::getAnfme, purQty).eq(WkOrder::getId, order.getId()))) {
                     throw new CoolException("鍗曟嵁鏁伴噺淇敼澶辫触锛侊紒");
                 }
             }
@@ -169,7 +168,7 @@
      * @time 2025/4/22 12:39
      */
     @Override
-    public IPage<Map<String, Object>> listByAsnId(PageParam<AsnOrderItem, BaseParam> pageParam, QueryWrapper<AsnOrderItem> buildWrapper) {
+    public IPage<Map<String, Object>> listByAsnId(PageParam<WkOrderItem, BaseParam> pageParam, QueryWrapper<WkOrderItem> buildWrapper) {
         IPage<Map<String, Object>> hsahMap = this.baseMapper.resultForMap(pageParam, buildWrapper);
         if (hsahMap.getRecords().isEmpty()) {
             return hsahMap.setRecords(new ArrayList<>());

--
Gitblit v1.9.1