From 553ffd71e38c1fcae9c678dae1106e820bbd5127 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 04 六月 2025 08:10:47 +0800
Subject: [PATCH] 任务执行优化修改

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java |   38 ++++++++++++++++++++++++++++++++------
 1 files changed, 32 insertions(+), 6 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 20b6d63..a24f52f 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
@@ -7,6 +7,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.vincent.rsf.framework.common.Cools;
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.framework.exception.CoolException;
 import com.vincent.rsf.server.manager.enums.OrderType;
@@ -30,6 +31,7 @@
 import com.vincent.rsf.server.manager.service.CompanysService;
 import com.vincent.rsf.server.manager.service.MatnrService;
 import com.vincent.rsf.server.system.constant.SerialRuleCode;
+import com.vincent.rsf.server.system.service.DictDataService;
 import com.vincent.rsf.server.system.service.FieldsItemService;
 import com.vincent.rsf.server.system.service.FieldsService;
 import com.vincent.rsf.server.system.utils.SerialRuleUtils;
@@ -63,6 +65,9 @@
     @Autowired
     private CompanysService companysService;
 
+    @Autowired
+    private DictDataService dictDataService;
+
     @Override
     public R generateBarcode(List<Long> orders) {
         if (Objects.isNull(orders) || orders.isEmpty()) {
@@ -91,9 +96,6 @@
     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("鐗╂枡瀵煎叆澶辫触锛侊紒");
-        }
-        if (result.getList().isEmpty()) {
             throw new CoolException("琛ㄦ牸鍐呭涓嶈兘涓虹┖锛侊紒");
         }
         List<AsnOrderTemplate> resultList = result.getList();
@@ -115,11 +117,21 @@
             if (Objects.isNull(date)) {
                 throw new CoolException("鏃堕棿鏍煎紡閿欒锛侊紒");
             }
+            if (Objects.isNull((OrderType.getTypeVal(template.getType())))) {
+                sbFaild.append(template.getCode()).append(",鍗曟嵁鐘舵�佷笉瀛樺湪锛侊紒");
+                throw new CoolException(sbFaild.toString());
+            }
+            if (Objects.isNull((OrderWorkType.getWorkType(template.getWkType())))) {
+                sbFaild.append(template.getCode()).append(",涓氬姟鐘舵�佷笉瀛樺湪锛侊紒");
+                throw new CoolException(sbFaild.toString());
+            }
+
             order.setCode(template.getCode())
                     .setPoCode(template.getPoCode())
                     .setMemo(template.getMemo())
                     .setArrTime(date)
                     .setUpdateBy(loginUserId)
+                    .setLogisNo(template.getLogicNo())
                     .setCreateBy(loginUserId)
                     .setType(OrderType.getTypeVal(template.getType()))
                     .setWkType(OrderWorkType.getWorkType(template.getWkType()));
@@ -157,6 +169,9 @@
                         .setIsptResult(QlyIsptResult.getDescVal(orderTemplate.getIsptResult()))
 //                        .setTrackCode(trackCode)
                         .setBarcode(trackCode)
+                        .setPlatOrderCode(orderTemplate.getPlatOrderCode())
+                        .setPlatWorkCode(orderTemplate.getPlatWorkCode())
+                        .setProjectCode(orderTemplate.getProjectCode())
                         .setPoCode(orderTemplate.getPoCode())
                         .setPurUnit(matnr.getUnit())
                         .setCreateBy(loginUserId)
@@ -234,11 +249,22 @@
 //        }
         //淇濆瓨鎵╁睍瀛楁
         try {
-            String uuid16 = CommonUtil.randomUUID16();
-            Boolean fields = FieldsUtils.saveFields(params, uuid16);
-            if (fields) {
+            StringBuffer sb = new StringBuffer();
+            if (Objects.isNull(asnOrderItem.getFieldsIndex()) || StringUtils.isBlank(asnOrderItem.getFieldsIndex())) {
+                if (!Objects.isNull(asnOrderItem.getExtendFields()) && !asnOrderItem.getExtendFields().isEmpty()) {
+                    Map<String, String> fields = asnOrderItem.getExtendFields();
+                    asnOrderItem.getExtendFields().keySet().forEach(key -> {
+                        sb.append(fields.get(key));
+                    });
+                }
+                sb.append(asnOrderItem.getAsnCode() + asnOrderItem.getMatnrId() + asnOrderItem.getSplrBatch() + asnOrderItem.getIsptResult$());
+                //鑾峰彇16浣島uid
+                String uuid16 = Cools.md5Chinese(sb.toString());
                 asnOrderItem.setFieldsIndex(uuid16);
+                params.put("index", uuid16);
             }
+            //淇濆瓨鎴栨洿鏂板姩鎬佸瓧娈靛��
+            FieldsUtils.updateFieldsValue(params);
         } catch (Exception e) {
             throw new RuntimeException(e);
         }

--
Gitblit v1.9.1