From c8fde8647b48e7c7d9b3beb6e8c39459f07c9eb2 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 08 五月 2025 14:55: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/manager/service/impl/AsnOrderItemServiceImpl.java |   51 +++++++++++++++++++++++++++++++++++----------------
 1 files changed, 35 insertions(+), 16 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
index ea2eef7..20b6d63 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
@@ -9,8 +9,8 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.framework.exception.CoolException;
-import com.vincent.rsf.server.api.entity.enums.OrderType;
-import com.vincent.rsf.server.api.entity.enums.OrderWorkType;
+import com.vincent.rsf.server.manager.enums.OrderType;
+import com.vincent.rsf.server.manager.enums.OrderWorkType;
 import com.vincent.rsf.server.common.domain.BaseParam;
 import com.vincent.rsf.server.common.domain.PageParam;
 import com.vincent.rsf.server.common.utils.CommonUtil;
@@ -21,6 +21,7 @@
 import com.vincent.rsf.server.manager.entity.Matnr;
 import com.vincent.rsf.server.manager.entity.excel.AsnOrderTemplate;
 import com.vincent.rsf.server.manager.enums.CompanysType;
+import com.vincent.rsf.server.manager.enums.QlyIsptResult;
 import com.vincent.rsf.server.manager.mapper.AsnOrderItemMapper;
 import com.vincent.rsf.server.manager.entity.AsnOrderItem;
 import com.vincent.rsf.server.manager.service.AsnOrderItemService;
@@ -38,6 +39,7 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -86,7 +88,7 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public R excelImport(MultipartFile file, HashMap<String, Object> hashMap, Long loginUserId) throws Exception {
+    public synchronized 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("鐗╂枡瀵煎叆澶辫触锛侊紒");
@@ -98,6 +100,9 @@
         Map<String, List<AsnOrderTemplate>> listMap = resultList.stream().collect(Collectors.groupingBy(AsnOrderTemplate::getCode));
         StringBuffer sbFaild = new StringBuffer();
         for (String key : listMap.keySet()) {
+            if (StringUtils.isBlank(key)) {
+                throw new CoolException("鍗曞彿涓嶈兘涓虹┖锛侊紒");
+            }
             AsnOrderTemplate template = listMap.get(key).stream().findFirst().get();
             AsnOrder order = asnOrderMapper.getOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getCode, key));
             if (!Objects.isNull(order)) {
@@ -105,12 +110,17 @@
                 throw new CoolException(sbFaild.toString());
             }
             order = new AsnOrder();
+            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+            Date date = dateFormat.parse(template.getArrTime());
+            if (Objects.isNull(date)) {
+                throw new CoolException("鏃堕棿鏍煎紡閿欒锛侊紒");
+            }
             order.setCode(template.getCode())
                     .setPoCode(template.getPoCode())
                     .setMemo(template.getMemo())
+                    .setArrTime(date)
                     .setUpdateBy(loginUserId)
                     .setCreateBy(loginUserId)
-                    .setPoId(Long.parseLong(template.getPoId()))
                     .setType(OrderType.getTypeVal(template.getType()))
                     .setWkType(OrderWorkType.getWorkType(template.getWkType()));
             if (!asnOrderMapper.save(order)) {
@@ -120,8 +130,18 @@
             for (AsnOrderTemplate orderTemplate : listMap.get(key)) {
                 AsnOrderItem orderItem = new AsnOrderItem();
                 if (StringUtils.isBlank(orderTemplate.getMatnrCode())) {
-                    throw new CoolException(orderTemplate.getPoCode() + "锛氱墿鏂欑紪鐮佷笉鑳戒负绌猴紒锛�");
+                    throw new CoolException(orderTemplate.getCode() + "锛氱墿鏂欑紪鐮佷笉鑳戒负绌猴紒锛�");
                 }
+                if (StringUtils.isBlank(orderTemplate.getAnfme())) {
+                    throw new CoolException(orderTemplate.getCode() + "锛氭暟閲忎笉鑳戒负绌猴紒锛�");
+                }
+                if (StringUtils.isBlank(orderTemplate.getType())) {
+                    throw new CoolException(orderTemplate.getCode() + "锛氬崟鎹被鍨嬩笉鑳戒负绌猴紒锛�");
+                }
+                if (StringUtils.isBlank(orderTemplate.getWkType())) {
+                    throw new CoolException(orderTemplate.getCode() + "锛氫笟鍔$被鍨嬩笉鑳戒负绌猴紒锛�");
+                }
+
                 Matnr matnr = matnrService.getOne(new LambdaQueryWrapper<Matnr>()
                         .eq(Matnr::getCode, orderTemplate.getMatnrCode()));
                 if (Objects.isNull(matnr)) {
@@ -134,16 +154,15 @@
                         .setSplrBatch(orderTemplate.getSplrBatch())
                         .setPlatItemId(orderTemplate.getPlatItemId())
                         .setAnfme(Double.parseDouble(orderTemplate.getAnfme()))
-                        .setQty(Double.parseDouble(orderTemplate.getQty()))
-                        .setTrackCode(StringUtils.isBlank(orderTemplate.getTrackCode()) ? trackCode : orderTemplate.getTrackCode())
-                        .setBarcode(StringUtils.isBlank(orderTemplate.getBarcode()) ? trackCode : orderTemplate.getBarcode())
+                        .setIsptResult(QlyIsptResult.getDescVal(orderTemplate.getIsptResult()))
+//                        .setTrackCode(trackCode)
+                        .setBarcode(trackCode)
                         .setPoCode(orderTemplate.getPoCode())
-                        .setPurUnit(orderTemplate.getPurUnit())
+                        .setPurUnit(matnr.getUnit())
                         .setCreateBy(loginUserId)
                         .setUpdateBy(loginUserId)
                         .setSpec(matnr.getSpec())
                         .setModel(matnr.getModel())
-                        .setPurQty(Double.parseDouble(orderTemplate.getPurQty()))
                         .setMaktx(matnr.getName())
                         .setMatnrCode(matnr.getCode())
                         .setMatnrId(matnr.getId())
@@ -168,10 +187,10 @@
                 }
             }
             if (!items.isEmpty()) {
-                double qty = items.stream().mapToDouble(AsnOrderItem::getQty).sum();
+//                double qty = items.stream().mapToDouble(AsnOrderItem::getQty).sum();
                 double anfme = items.stream().mapToDouble(AsnOrderItem::getAnfme).sum();
                 if (!asnOrderMapper.update(new LambdaUpdateWrapper<AsnOrder>()
-                        .set(AsnOrder::getQty, qty)
+//                        .set(AsnOrder::getQty, qty)
                         .set(AsnOrder::getAnfme, anfme)
                         .eq(AsnOrder::getId, order.getId()))) {
                     throw new CoolException("鍗曟嵁鏁伴噺淇敼澶辫触锛侊紒");
@@ -195,10 +214,10 @@
     public boolean fieldsSave(Map<String, Object> params, Long loginUserId) {
         AsnOrderItem asnOrderItem = JSONObject.parseObject(JSONObject.toJSONString(params), AsnOrderItem.class);
         asnOrderItem.setUpdateBy(loginUserId).setCreateBy(loginUserId);
-        if (StringUtils.isBlank(asnOrderItem.getTrackCode())) {
-            String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, asnOrderItem);
-            asnOrderItem.setTrackCode(ruleCode).setBarcode(ruleCode);
-        }
+//        if (StringUtils.isBlank(asnOrderItem.getTrackCode())) {
+//            String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, asnOrderItem);
+//            asnOrderItem.setTrackCode(ruleCode).setBarcode(ruleCode);
+//        }
         if (StringUtils.isNoneBlank(asnOrderItem.getSplrCode())) {
             Companys companys = companysService.getOne(new LambdaQueryWrapper<Companys>()
                     .eq(Companys::getId, asnOrderItem.getSplrCode())

--
Gitblit v1.9.1