From 830db9a372955f1c85ab020d2e12e273570dca87 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 07 五月 2025 20:37:51 +0800
Subject: [PATCH] 新增质检状态流程

---
 rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx                                               |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java    |  121 +++++++------------
 rsf-admin/src/page/orders/delivery/DeliveryList.jsx                                               |    2 
 rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml                               |   29 ++--
 rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java               |    7 
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java           |   21 +-
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WarehouseAreasItem.java            |   21 +++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItem.java                  |   31 ++--
 rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx                                  |    1 
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java                      |   17 ++
 rsf-admin/src/page/task/TaskItemList.jsx                                                          |    1 
 rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx                                                |    4 
 rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx                                           |    3 
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java |    6 
 rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/QlyIsptResult.java                  |   21 +++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WaitPakinItem.java                 |   22 +++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/AsnOrderTemplate.java        |    7 +
 rsf-admin/src/i18n/zh.js                                                                          |    4 
 rsf-admin/src/i18n/en.js                                                                          |    4 
 19 files changed, 194 insertions(+), 130 deletions(-)

diff --git a/rsf-admin/src/i18n/en.js b/rsf-admin/src/i18n/en.js
index eafec23..0e4768d 100644
--- a/rsf-admin/src/i18n/en.js
+++ b/rsf-admin/src/i18n/en.js
@@ -358,6 +358,7 @@
                 fieldsIndex: "fieldsIndex",
                 barcode: "barcode",
                 anfme: "anfme",
+                isptResult: 'Ispt Result',
                 workQty: 'Work Qty',
                 qty: 'Available',
                 batch: "batch",
@@ -595,6 +596,7 @@
                 disQty: 'Def Qty',
                 splrCode: "splrCode",
                 splrName: "splrName",
+                isptResult: "Ispt Result",
                 qrcode: "qrcode",
                 barcode: "barcode",
                 packName: "packName",
@@ -740,6 +742,7 @@
                 asnCode: "asnCode",
                 asnItemId: "asnItemId",
                 trackCode: "trackCode",
+                isptResult: 'Ispt Result',
                 anfme: "anfme",
                 workQty: "workQty",
                 unit: "unit",
@@ -843,6 +846,7 @@
                 matnrId: "matnrId",
                 maktx: "maktx",
                 matnrCode: "matnrCode",
+                isptResult: 'Ispt Result',
                 unit: "unit",
                 anfme: "anfme",
                 batch: "batch",
diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js
index 67a0b4b..77bd2ae 100644
--- a/rsf-admin/src/i18n/zh.js
+++ b/rsf-admin/src/i18n/zh.js
@@ -361,6 +361,7 @@
                 workQty: '涓婃灦涓�',
                 qty: '宸插畬鎴�',
                 barcode: "鏉″舰鐮�",
+                isptResult: '璐ㄦ鐘舵��',
                 anfme: "鏁伴噺",
                 batch: "鎵规鍙�",
                 unit: "璁¢噺鍗曚綅",
@@ -588,6 +589,7 @@
                 splrName: "渚涘簲鍟�",
                 qrcode: "浜岀淮鐮�",
                 barcode: "搴忓垪鐮�",
+                isptResult: "璐ㄦ鐘舵��",
                 packName: "鍖呰",
                 ntyStatus: "鎶ユ鐘舵��",
                 prodTime: "鐢熶骇鏃ユ湡",
@@ -754,6 +756,7 @@
                 asnCode: "鏀惰揣閫氱煡鍗曠紪鐮�",
                 asnItemId: "鏀惰揣閫氱煡鍗曟槑缁唅d",
                 trackCode: "鏉″舰鐮�",
+                isptResult: '璐ㄦ鐘舵��',
                 anfme: "鏁伴噺",
                 workQty: "鎵ц涓暟閲�",
                 unit: "鍗曚綅",
@@ -855,6 +858,7 @@
                 source: "婧怚D",
                 matnrId: "鐗╂枡ID",
                 maktx: "鐗╂枡鍚嶇О",
+                isptResult: '璐ㄦ鐘舵��',
                 matnrCode: "鐗╂枡缂栫爜",
                 unit: "鍗曚綅",
                 anfme: "鏁伴噺",
diff --git a/rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx b/rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx
index bc1bf9f..8668d96 100644
--- a/rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx
+++ b/rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx
@@ -138,7 +138,7 @@
             //   setSelect(record)
             //   setEditDialog(true)
             // }}
-            omit={['id', 'purQty', 'purUnit','platItemId', 'poDetlCode', 'memo', 'model', 'packName', 'splrCode', 'qrcode', 'poDetlId', 'matnrId', 'asnId']}
+            omit={['id', 'purQty', 'purUnit', 'platItemId', 'poDetlCode', 'trackCode', 'memo', 'model', 'packName', 'splrCode', 'qrcode', 'poDetlId', 'matnrId', 'asnId']}
           >
             <NumberField source="id" />
             <NumberField source="asnId" label="table.field.asnOrderItem.asnId" />
@@ -162,6 +162,7 @@
             <TextField source="isptResult$" label="table.field.asnOrderItem.isptResult" /> */}
             <TextField source="splrCode" label="table.field.asnOrderItem.splrCode" />
             <TextField source="splrName" label="table.field.asnOrderItem.splrName" />
+            <TextField source="isptResult$" label="table.field.asnOrderItem.isptResult" />
             <TextField source="qrcode" label="table.field.asnOrderItem.qrcode" />
             <TextField source="trackCode" label="table.field.asnOrderItem.barcode" />
             <TextField source="packName" label="table.field.asnOrderItem.packName" />
diff --git a/rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx b/rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx
index 8d20039..0627434 100644
--- a/rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx
+++ b/rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx
@@ -168,7 +168,7 @@
           <TextField cellClassName="wkType" source="wkType$" label="table.field.asnOrder.wkType" />
           <NumberField source="anfme" label="table.field.asnOrder.anfme" />
           <NumberField source="qty" label="table.field.asnOrder.qty" />
-          <TextField source="logisNo" label="table.field.asnOrder.logisNo" />
+          {/* <TextField source="logisNo" label="table.field.asnOrder.logisNo" /> */}
           <DateField source="arrTime" label="table.field.asnOrder.arrTime" showTime />
           <TextField source="rleStatus$" label="table.field.asnOrder.rleStatus" sortable={false} />
           <TextField source="ntyStatus$" label="table.field.asnOrder.ntyStatus" />
diff --git a/rsf-admin/src/page/orders/delivery/DeliveryList.jsx b/rsf-admin/src/page/orders/delivery/DeliveryList.jsx
index 5d7dfae..5a4eb4d 100644
--- a/rsf-admin/src/page/orders/delivery/DeliveryList.jsx
+++ b/rsf-admin/src/page/orders/delivery/DeliveryList.jsx
@@ -121,7 +121,7 @@
                     rowClick={(id, resource, record) => false}
                     expand={false}
                     expandSingle={true}
-                    omit={['id', 'createTime', 'createBy', 'memo', 'workQty', 'startTime', 'endTime', 'updateBy','createTime']}
+                    omit={['id', 'createTime', 'createBy','platId', 'memo', 'workQty', 'startTime', 'endTime', 'updateBy','createTime']}
                 >
                     <NumberField source="id" />
                     <TextField source="code" label="table.field.delivery.code" />
diff --git a/rsf-admin/src/page/task/TaskItemList.jsx b/rsf-admin/src/page/task/TaskItemList.jsx
index 8013991..8dcc14f 100644
--- a/rsf-admin/src/page/task/TaskItemList.jsx
+++ b/rsf-admin/src/page/task/TaskItemList.jsx
@@ -122,6 +122,7 @@
                     <TextField source="unit" label="table.field.taskItem.unit" />
                     <NumberField source="anfme" label="table.field.taskItem.anfme" />
                     <TextField source="batch" label="table.field.taskItem.batch" />
+                    <TextField source="isptResult$" label="table.field.taskItem.isptResult" />
                     <TextField source="spec" label="table.field.taskItem.spec" />
                     <TextField source="model" label="table.field.taskItem.model" />
                     <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}>
diff --git a/rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx b/rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx
index ca5dca1..13acd1c 100644
--- a/rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx
+++ b/rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx
@@ -130,12 +130,12 @@
                     <NumberField source="anfme" label="table.field.waitPakinItem.anfme" />
                     <TextField source="unit" label="table.field.waitPakinItem.unit" />
                     <NumberField source="workQty" label="table.field.waitPakinItem.workQty" />
-                    <TextField source="fieldsIndex" label="table.field.waitPakinItem.fieldsIndex" />
                     <NumberField source="qty" label="table.field.waitPakinItem.qty" />
+                    <TextField source="fieldsIndex" label="table.field.waitPakinItem.fieldsIndex" />
+                    <TextField source="isptResult$" label="table.field.waitPakinItem.isptResult"  />
                     <TextField source="updateBy$" label="common.field.updateBy" />
                     <DateField source="updateTime" label="common.field.updateTime" showTime />
                     <TextField source="createBy$" label="common.field.createBy"  />
-                    {/* <TextField source="flagDefect" label="common.field.flagDefect"  /> */}
                     <DateField source="createTime" label="common.field.createTime" showTime />
                     {/* <BooleanField source="statusBool" label="common.field.status" sortable={false} /> */}
                     <TextField source="memo" label="common.field.memo" sortable={false} />
diff --git a/rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx b/rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx
index 92ec77c..214c32b 100644
--- a/rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx
+++ b/rsf-admin/src/page/warehouseAreasItem/WarehouseAreasItemList.jsx
@@ -147,6 +147,7 @@
                     <TextField source="brand" label="table.field.warehouseAreasItem.brand" />
                     <TextField source="shipperId" label="table.field.warehouseAreasItem.shipperId"  />
                     <TextField source="splrId" label="table.field.warehouseAreasItem.splrId" />
+                    <TextField source="isptResult$" label="table.field.warehouseAreasItem.isptResult" sortable={false} />
                     <NumberField source="weight" label="table.field.warehouseAreasItem.weight" />
                     <TextField source="prodTime" label="table.field.warehouseAreasItem.prodTime" />
                     <TextField source="updateBy$" label="common.field.updateBy"  />
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 4ac12ec..cfb7657 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
@@ -8,8 +8,7 @@
 import com.vincent.rsf.framework.exception.CoolException;
 import com.vincent.rsf.server.api.controller.params.*;
 import com.vincent.rsf.server.api.entity.dto.*;
-import com.vincent.rsf.server.manager.enums.OrderType;
-import com.vincent.rsf.server.manager.enums.OrderWorkType;
+import com.vincent.rsf.server.manager.enums.*;
 import com.vincent.rsf.server.api.service.MobileService;
 import com.vincent.rsf.server.common.config.ConfigProperties;
 import com.vincent.rsf.server.common.enums.WarehouseAreaType;
@@ -20,9 +19,6 @@
 import com.vincent.rsf.server.manager.controller.params.IsptItemsParams;
 import com.vincent.rsf.server.manager.controller.params.WaitPakinParam;
 import com.vincent.rsf.server.manager.entity.*;
-import com.vincent.rsf.server.manager.enums.AsnExceStatus;
-import com.vincent.rsf.server.manager.enums.PakinIOStatus;
-import com.vincent.rsf.server.manager.enums.QlyIsptStatus;
 import com.vincent.rsf.server.manager.mapper.*;
 import com.vincent.rsf.server.manager.service.*;
 import com.vincent.rsf.server.system.constant.CodeRes;
@@ -256,7 +252,8 @@
 //                    .eq(AsnOrderItem::getTrackCode, dto.getBarcode())
 //                    .eq(AsnOrderItem::getSplrBatch, dto.getSplrBatch()));
 
-            AsnOrderItem orderItem = asnOrderItemMapper.resultById(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getId, dto.getId()));
+            AsnOrderItem orderItem = asnOrderItemMapper.selectOne(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getId, dto.getId()));
+            //asnOrderItemMapper.resultById(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getId, dto.getId()));
 
             if (Objects.isNull(orderItem)) {
                 throw new CoolException("閫氱煡鍗曟槑缁嗕笉瀛樺湪锛侊紒");
@@ -275,7 +272,8 @@
                 try {
                     if (Objects.isNull(rcpt.get("fieldsindex")) || StringUtils.isBlank(rcpt.get("fieldsindex").toString())) {
                         //鑾峰彇16浣島uid
-                        String uuid16 = Cools.md5(dto.getBarcode());
+//                        String uuid16 = Cools.md5(dto.getBarcode());
+                        String uuid16 = Cools.md5(dto.getId() + dto.getMatnr());
                         rcpt.put("index", uuid16);
                         orderItem.setFieldsIndex(uuid16);
                     }
@@ -318,13 +316,14 @@
                 //搴撳瓨鍗曚綅涓烘渶灏忓崟浣�
                 .setUnit(orderItem.getStockUnit())
                 .setStockUnit(orderItem.getStockUnit())
-//                .setBatch(StringUtils.isBlank(orderItem.getBatch()) ? SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_RECEIPT_BATCH, dto) : orderItem.getBatch())
+                .setBatch(StringUtils.isBlank(orderItem.getBatch()) ? SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_RECEIPT_BATCH, dto) : orderItem.getBatch())
                 .setAnfme(dto.getReceiptQty())
                 .setSplrBatch(dto.getSplrBatch())
                 .setMatnrCode(matnr.getCode())
                 .setUpdateBy(loginUserId)
                 .setCreateBy(loginUserId)
                 .setMatnrId(matnr.getId())
+                .setIsptResult(orderItem.getIsptResult())
                 .setMaktx(matnr.getName())
                 .setWeight(matnr.getWeight())
                 .setFieldsIndex(orderItem.getFieldsIndex())
@@ -332,8 +331,10 @@
         //TODO 渚涘簲鍟嗘爣璇嗘湭璁剧疆锛屾爣璇嗙敱PO鍗曚緵搴斿晢缂栫爜杞崲
         WarehouseAreasItem serviceOne = warehouseAreasItemService.getOne(new LambdaQueryWrapper<WarehouseAreasItem>()
 //                .eq(WarehouseAreasItem::getAsnItemId, item.getAsnItemId())
-                .eq(WarehouseAreasItem::getMatnrCode, item.getMatnrCode())
-                        .eq(WarehouseAreasItem::getFieldsIndex, item.getFieldsIndex())
+                        .eq(WarehouseAreasItem::getMatnrCode, item.getMatnrCode())
+                        .eq(!Cools.isEmpty(item.getFieldsIndex()), WarehouseAreasItem::getFieldsIndex, item.getFieldsIndex())
+                        .eq(WarehouseAreasItem::getAsnCode, item.getAsnCode())
+                        .eq(!Cools.isEmpty(item.getIsptResult()), WarehouseAreasItem::getIsptResult, item.getIsptResult())
                 .eq(StringUtils.isNotBlank(item.getSplrBatch()), WarehouseAreasItem::getSplrBatch, item.getSplrBatch()));
         if (!Objects.isNull(serviceOne)) {
             item.setId(serviceOne.getId());
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItem.java
index f896cf4..70a6250 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItem.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItem.java
@@ -5,7 +5,11 @@
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.vincent.rsf.server.system.constant.DictTypeCode;
+import com.vincent.rsf.server.system.entity.DictData;
+import com.vincent.rsf.server.system.service.DictDataService;
 import lombok.experimental.Accessors;
 import org.springframework.format.annotation.DateTimeFormat;
 
@@ -17,6 +21,7 @@
 import com.vincent.rsf.server.system.entity.User;
 import java.io.Serializable;
 import java.util.Map;
+import java.util.Objects;
 
 @Data
 @Accessors(chain = true)
@@ -378,21 +383,17 @@
     }
 
     public String getIsptResult$(){
-        if (null == this.isptResult){ return null; }
-        switch (this.isptResult){
-            case 0:
-                return "鏈";
-            case 1:
-                return "鍚堟牸";
-            case 2:
-                return "涓嶅悎鏍�";
-            case 3:
-                return "寰呭畾";
-            case 4:
-                return "閮ㄥ垎鍚堟牸";
-            default:
-                return "";
-        }
+            if (Cools.isEmpty(this.isptResult)){
+                return null;
+            }
+            DictDataService dictDataService = SpringUtils.getBean(DictDataService.class);
+            DictData dictData = dictDataService.getOne(new LambdaQueryWrapper<DictData>()
+                    .eq(DictData::getDictTypeCode, DictTypeCode.DICT_INSPECT_RESULT)
+                    .eq(DictData::getValue, this.isptResult));
+            if (Objects.isNull(dictData)) {
+                return null;
+            }
+            return dictData.getLabel();
     }
 
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java
index 5954226..9ebe1a3 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java
@@ -130,6 +130,9 @@
     @ApiModelProperty(value= "鍨嬪彿")
     private String model;
 
+    @ApiModelProperty("璐ㄦ鐘舵��")
+    private Short isptResult;
+
     /**
      * 瀛楁绱㈠紩
      */
@@ -244,6 +247,20 @@
         return dictDatas.getLabel();
     }
 
+    public String getIsptResult$(){
+        if (Cools.isEmpty(this.isptResult)){
+            return null;
+        }
+        DictDataService dictDataService = SpringUtils.getBean(DictDataService.class);
+        DictData dictData = dictDataService.getOne(new LambdaQueryWrapper<DictData>()
+                .eq(DictData::getDictTypeCode, DictTypeCode.DICT_INSPECT_RESULT)
+                .eq(DictData::getValue, this.isptResult));
+        if (Objects.isNull(dictData)) {
+            return null;
+        }
+        return dictData.getLabel();
+    }
+
     public String getStatus$(){
         if (null == this.status){ return null; }
         switch (this.status){
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WaitPakinItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WaitPakinItem.java
index eabc9ad..4812e94 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WaitPakinItem.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WaitPakinItem.java
@@ -4,7 +4,11 @@
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.vincent.rsf.server.system.constant.DictTypeCode;
+import com.vincent.rsf.server.system.entity.DictData;
+import com.vincent.rsf.server.system.service.DictDataService;
 import lombok.experimental.Accessors;
 import org.springframework.format.annotation.DateTimeFormat;
 import java.text.SimpleDateFormat;
@@ -23,6 +27,7 @@
 import com.vincent.rsf.server.system.entity.User;
 import java.io.Serializable;
 import java.util.Date;
+import java.util.Objects;
 
 @Data
 @Accessors(chain = true)
@@ -52,6 +57,9 @@
 
     @ApiModelProperty("缁勬嫋鏄庣粏ID")
     private Long source;
+
+    @ApiModelProperty("璐ㄦ缁撴灉")
+    private Short isptResult;
 
     /**
      * 璁㈠崟ID
@@ -264,6 +272,20 @@
         return null;
     }
 
+    public String getIsptResult$(){
+        if (Cools.isEmpty(this.isptResult)){
+            return null;
+        }
+        DictDataService dictDataService = SpringUtils.getBean(DictDataService.class);
+        DictData dictData = dictDataService.getOne(new LambdaQueryWrapper<DictData>()
+                .eq(DictData::getDictTypeCode, DictTypeCode.DICT_INSPECT_RESULT)
+                .eq(DictData::getValue, this.isptResult));
+        if (Objects.isNull(dictData)) {
+            return null;
+        }
+        return dictData.getLabel();
+    }
+
     public String getUpdateTime$(){
         if (Cools.isEmpty(this.updateTime)){
             return "";
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WarehouseAreasItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WarehouseAreasItem.java
index 0fdda32..48a67c1 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WarehouseAreasItem.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WarehouseAreasItem.java
@@ -3,10 +3,14 @@
 import com.baomidou.mybatisplus.annotation.*;
 
 import java.text.SimpleDateFormat;
-import java.util.Date;
+import java.util.*;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.vincent.rsf.server.manager.service.CompanysService;
+import com.vincent.rsf.server.system.constant.DictTypeCode;
+import com.vincent.rsf.server.system.entity.DictData;
+import com.vincent.rsf.server.system.service.DictDataService;
 import lombok.experimental.Accessors;
 import org.springframework.format.annotation.DateTimeFormat;
 import java.text.SimpleDateFormat;
@@ -22,7 +26,6 @@
 import com.vincent.rsf.server.system.entity.User;
 import java.io.Serializable;
 import java.util.Date;
-import java.util.Map;
 
 @Data
 @Accessors(chain = true)
@@ -333,6 +336,20 @@
         return null;
     }
 
+    public String getIsptResult$(){
+        if (Cools.isEmpty(this.isptResult)){
+            return null;
+        }
+        DictDataService dictDataService = SpringUtils.getBean(DictDataService.class);
+        DictData dictData = dictDataService.getOne(new LambdaQueryWrapper<DictData>()
+                .eq(DictData::getDictTypeCode, DictTypeCode.DICT_INSPECT_RESULT)
+                .eq(DictData::getValue, this.isptResult));
+        if (Objects.isNull(dictData)) {
+            return null;
+        }
+        return dictData.getLabel();
+    }
+
     public String getUpdateTime$(){
         if (Cools.isEmpty(this.updateTime)){
             return "";
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/AsnOrderTemplate.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/AsnOrderTemplate.java
index a00d906..d45f65c 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/AsnOrderTemplate.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/AsnOrderTemplate.java
@@ -162,6 +162,13 @@
     @ExcelComment(value = "logicNo", example = "SF100064851")
     private String logicNo;
 
+
+    @Excel(name = "璐ㄦ鐘舵��")
+    @ApiModelProperty("璐ㄦ鐘舵��")
+    @ExcelComment(value = "isptResult", example = "鍚堟牸")
+    private String isptResult;
+
+
     @Excel(name = "棰勮閫佽揪鏃堕棿")
     @ApiModelProperty("棰勮閫佽揪鏃堕棿")
     @ExcelComment(value = "arrTime", example = "2025-05-21")
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/QlyIsptResult.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/QlyIsptResult.java
index b00e101..e84f840 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/QlyIsptResult.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/QlyIsptResult.java
@@ -1,5 +1,7 @@
 package com.vincent.rsf.server.manager.enums;
 
+import org.apache.commons.lang3.StringUtils;
+
 /**
  * @author Ryan
  * @version 1.0
@@ -21,6 +23,25 @@
         this.desc = desc;
     }
 
+
+    public static Short getDescVal(String desc) {
+        if (StringUtils.isBlank(desc)) {return null;}
+        if (desc.equals(QlyIsptResult.QLY_ISPT_RESULT_EXCELLENT.desc)) {
+            return QlyIsptResult.QLY_ISPT_RESULT_EXCELLENT.val;
+        } else if (desc.equals(QlyIsptResult.QLY_ISPT_RESULT_PENDING.desc)) {
+            return QlyIsptResult.QLY_ISPT_RESULT_PENDING.val;
+        } else if (desc.equals(QlyIsptResult.QLY_ISPT_RESULT_DEFECT.desc)) {
+            return QlyIsptResult.QLY_ISPT_RESULT_DEFECT.val;
+        }else if (desc.equals(QlyIsptResult.QLY_ISPT_RESULT_SECTION.desc)) {
+            return QlyIsptResult.QLY_ISPT_RESULT_SECTION.val;
+        } else if (desc.equals(QlyIsptResult.QLY_ISPT_RESULT_HOLD.desc)) {
+            return QlyIsptResult.QLY_ISPT_RESULT_HOLD.val;
+        }
+
+        return null;
+    }
+
+
     public Short val;
     public String desc;
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java
index 4cf03ae..9ca338e 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java
@@ -38,16 +38,12 @@
     private PurchaseService purchaseService;
     @Autowired
     private PurchaseItemService purchaseItemService;
-
     @Autowired
     private AsnOrderService asnOrderService;
-
     @Autowired
     private MatnrService matnrService;
-
     @Autowired
     private AsnOrderItemService asnOrderItemService;
-
     @Resource
     private SysStockProperties flowProperties;
     @Autowired
@@ -168,7 +164,8 @@
             if (StringUtils.isBlank(trackCode)) {
                 throw new CoolException("鍗曟嵁璺熻釜鐮佺敓鎴愬け璐ワ細璇锋鏌ャ�宻ys_asn_mantr_label銆嶆槸鍚﹂厤缃畬鎴愶紒锛�");
             }
-            item.setTrackCode(trackCode);
+//            item.setTrackCode(trackCode);
+            item.setBarcode(trackCode);
             items.add(item);
         });
 
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 970f79d..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
@@ -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;
@@ -147,14 +148,15 @@
                     sbFaild.append(orderTemplate.getMatnrCode()).append("鐗╂枡涓嶅瓨鍦�");
                     throw new CoolException(sbFaild.toString());
                 }
-//                String trackCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, matnr);
+                String trackCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, matnr);
                 orderItem.setAsnId(order.getId())
                         .setAsnCode(order.getCode())
                         .setSplrBatch(orderTemplate.getSplrBatch())
                         .setPlatItemId(orderTemplate.getPlatItemId())
                         .setAnfme(Double.parseDouble(orderTemplate.getAnfme()))
+                        .setIsptResult(QlyIsptResult.getDescVal(orderTemplate.getIsptResult()))
 //                        .setTrackCode(trackCode)
-//                        .setBarcode(trackCode)
+                        .setBarcode(trackCode)
                         .setPoCode(orderTemplate.getPoCode())
                         .setPurUnit(matnr.getUnit())
                         .setCreateBy(loginUserId)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java
index 02a782c..48cedde 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java
@@ -107,79 +107,45 @@
         List<WaitPakinItem> items = new ArrayList<>();
         for (PakinItem pakinItem1 : waitPakin.getItems()) {
             //涓嶈壇鏍囩缁勬墭
-            if (!Objects.isNull(waitPakin.getType()) && waitPakin.getType().equals("defective")) {
-                List<AsnOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>().in(AsnOrderItem::getAsnCode, pakinItem1.getAsnCode()));
-                if (Objects.isNull(orderItems) || orderItems.isEmpty()) {
-                    throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�");
-                }
-                for (AsnOrderItem item : orderItems) {
-                    WaitPakinItem pakinItem = new WaitPakinItem();
-                    pakinItem.setAnfme(item.getAnfme())
-                            .setPakinId(waitPakin1.getId())
-                            .setAsnId(item.getAsnId())
-                            .setAsnCode(item.getAsnCode())
-                            .setAsnItemId(item.getId())
-                            .setBatch(item.getSplrBatch())
-                            .setUnit(item.getStockUnit())
-                            .setFieldsIndex(item.getFieldsIndex())
-                            .setMatnrId(item.getMatnrId())
-                            .setMaktx(item.getMaktx())
-                            .setUpdateBy(userId)
-                            .setCreateBy(userId)
-                            .setMatnrCode(item.getMatnrCode());
-                    AsnOrder order = asnOrderService.getById(item.getAsnId());
-                    if (!Objects.isNull(order)) {
-                        pakinItem.setType(null == order.getType() ?  null :order.getType())
-                                .setWkType(null == order.getWkType() ? null : Short.parseShort(order.getWkType()) );
-                    }
-                    for (PakinItem waitPakinItem : waitPakin.getItems()) {
-                        if (waitPakinItem.getTrackCode().equals(item.getTrackCode())) {
-                            if (waitPakinItem.getReceiptQty() > item.getAnfme() || waitPakinItem.getReceiptQty().compareTo(0.0) >= 0) {
-                                throw new CoolException("缁勬墭鏁伴噺涓嶈兘澶т簬鏀惰揣鏁伴噺锛侊紒");
-                            }
-                            pakinItem.setAnfme(waitPakinItem.getReceiptQty()).setTrackCode(waitPakinItem.getTrackCode());
-                        }
-                    }
-                    items.add(pakinItem);
-                }
-            } else {
-                WarehouseAreasItem warehouseAreasItems = warehouseAreasItemService.getById(pakinItem1.getId());
-                if (null == warehouseAreasItems) {
-                    throw new CoolException("鐗╂枡鏈�佽嚦鏀惰揣鍖猴紒锛�");
-                }
-                WaitPakinItem pakinItem = new WaitPakinItem();
-                pakinItem.setAnfme(warehouseAreasItems.getAnfme())
-                        .setPakinId(waitPakin1.getId())
-                        .setSource(warehouseAreasItems.getId())
-                        .setAsnId(warehouseAreasItems.getAsnId())
-                        .setAsnCode(warehouseAreasItems.getAsnCode())
-                        .setAsnItemId(warehouseAreasItems.getId())
-                        .setBatch(warehouseAreasItems.getSplrBatch())
-                        .setUnit(warehouseAreasItems.getStockUnit())
-                        .setFieldsIndex(warehouseAreasItems.getFieldsIndex())
-                        .setMatnrId(warehouseAreasItems.getMatnrId())
-                        .setMaktx(warehouseAreasItems.getMaktx())
-                        .setUpdateBy(userId)
-                        .setCreateBy(userId)
-                        .setMatnrCode(warehouseAreasItems.getMatnrCode());
-                AsnOrder order = asnOrderService.getById(warehouseAreasItems.getAsnId());
-                if (!Objects.isNull(order)) {
-                    pakinItem.setType(null == order.getType() ?  null :order.getType())
-                            .setWkType(null == order.getWkType() ? null : Short.parseShort(order.getWkType()) );
-                }
-
-                for (PakinItem waitPakinItem : waitPakin.getItems()) {
-                    if (waitPakinItem.getTrackCode().equals(warehouseAreasItems.getTrackCode())) {
-                        if (waitPakinItem.getReceiptQty() > warehouseAreasItems.getAnfme() || waitPakinItem.getReceiptQty().compareTo(0.0) <= 0) {
-                            throw new CoolException("缁勬墭鏁伴噺涓嶈兘澶т簬鏀惰揣鏁伴噺涓斾笉鑳藉皬浜庨浂锛侊紒");
-                        }
-                        pakinItem.setAnfme(waitPakinItem.getReceiptQty()).setTrackCode(waitPakinItem.getTrackCode());
-                    }
-                }
-                items.add(pakinItem);
-
+            WarehouseAreasItem warehouseAreasItems = warehouseAreasItemService.getById(pakinItem1.getId());
+            if (null == warehouseAreasItems) {
+                throw new CoolException("鐗╂枡鏈�佽嚦鏀惰揣鍖猴紒锛�");
             }
+            WaitPakinItem pakinItem = new WaitPakinItem();
+            pakinItem.setAnfme(warehouseAreasItems.getAnfme())
+                    .setPakinId(waitPakin1.getId())
+                    .setSource(warehouseAreasItems.getId())
+                    .setAsnId(warehouseAreasItems.getAsnId())
+                    .setAsnCode(warehouseAreasItems.getAsnCode())
+                    .setAsnItemId(warehouseAreasItems.getAsnItemId())
+                    .setIsptResult(warehouseAreasItems.getIsptResult())
+                    .setBatch(warehouseAreasItems.getSplrBatch())
+                    .setUnit(warehouseAreasItems.getStockUnit())
+                    .setFieldsIndex(warehouseAreasItems.getFieldsIndex())
+                    .setMatnrId(warehouseAreasItems.getMatnrId())
+                    .setMaktx(warehouseAreasItems.getMaktx())
+                    .setUpdateBy(userId)
+                    .setCreateBy(userId)
+                    .setMatnrCode(warehouseAreasItems.getMatnrCode());
+            AsnOrder order = asnOrderService.getById(warehouseAreasItems.getAsnId());
+            if (!Objects.isNull(order)) {
+                pakinItem.setType(null == order.getType() ? null : order.getType())
+                        .setWkType(null == order.getWkType() ? null : Short.parseShort(order.getWkType()));
+            }
+
+            for (PakinItem waitPakinItem : waitPakin.getItems()) {
+                if (waitPakinItem.getId().equals(warehouseAreasItems.getId())) {
+                    if (waitPakinItem.getReceiptQty() > warehouseAreasItems.getAnfme() || waitPakinItem.getReceiptQty().compareTo(0.0) <= 0) {
+                        throw new CoolException("缁勬墭鏁伴噺涓嶈兘澶т簬鏀惰揣鏁伴噺涓斾笉鑳藉皬浜庨浂锛侊紒");
+                    }
+                    pakinItem.setAnfme(waitPakinItem.getReceiptQty())
+                            .setTrackCode(waitPakinItem.getTrackCode());
+                }
+            }
+            items.add(pakinItem);
+
         }
+
         double sum1 = items.stream().mapToDouble(WaitPakinItem::getAnfme).sum();
 
         if (!waitPakinItemService.saveBatch(items)) {
@@ -188,13 +154,12 @@
 
         for (WaitPakinItem pakinItem : items) {
             WarehouseAreasItem one = warehouseAreasItemService.getOne(new LambdaQueryWrapper<WarehouseAreasItem>()
-                    .eq(WarehouseAreasItem::getTrackCode, pakinItem.getTrackCode())
-                    .eq(!Cools.isEmpty(pakinItem.getBatch()),WarehouseAreasItem::getSplrBatch, pakinItem.getBatch()));
+                            .eq(WarehouseAreasItem::getId, pakinItem.getSource()));
             if (Objects.isNull(one)) {
                 throw new CoolException("鏀惰揣鍖烘暟鎹敊璇紒锛�");
             }
 //            one.setAnfme(one.getAnfme() - pakinItem.getAnfme())
-                    one.setWorkQty(one.getWorkQty() + pakinItem.getAnfme() + one.getQty()) ;
+            one.setWorkQty(one.getWorkQty() + pakinItem.getAnfme() + one.getQty());
             if (one.getWorkQty() > one.getAnfme()) {
                 throw new CoolException("缁勬墭鏁伴噺涓嶈兘澶т簬鏀惰揣鏁伴噺锛侊紒");
             }
@@ -214,10 +179,10 @@
     }
 
     /**
-     * @author Ryan
-     * @description 缁勬墭瑙g粦
      * @param
      * @return
+     * @author Ryan
+     * @description 缁勬墭瑙g粦
      * @time 2025/3/29 14:42
      */
     @Override
@@ -279,7 +244,9 @@
         Map<Long, List<WaitPakinItem>> listMap = pakinItems.stream().collect(Collectors.groupingBy(WaitPakinItem::getSource));
         for (WarehouseAreasItem item : areasItems) {
             List<WaitPakinItem> pakin = listMap.get(item.getId());
-            if (Objects.isNull(pakin)) {continue;}
+            if (Objects.isNull(pakin)) {
+                continue;
+            }
             double sum = pakin.stream().mapToDouble(WaitPakinItem::getAnfme).sum();
             item.setWorkQty(item.getWorkQty() - sum)
                     .setAnfme(item.getAnfme() + sum);
diff --git a/rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml b/rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml
index 0d22aa0..89008a1 100644
--- a/rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml
+++ b/rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml
@@ -35,19 +35,19 @@
                     aoi.pack_name,
                     aoi.nty_status,
                     aoi.`status`,
---                     CASE
---                         aoi.ispt_result
---                         WHEN 0 THEN
---                             '鏈'
---                         WHEN 1 THEN
---                             '鍚堟牸'
---                         WHEN 2 THEN
---                             '涓嶅悎鏍�'
---                         WHEN 3 THEN
---                             '寰呭畾'
---                         WHEN 4 THEN
---                             '閮ㄥ垎鍚堟牸'
---                         END AS isptResult$,
+                    CASE
+                        aoi.ispt_result
+                        WHEN 0 THEN
+                            '鏈'
+                        WHEN 1 THEN
+                            '鍚堟牸'
+                        WHEN 2 THEN
+                            '涓嶅悎鏍�'
+                        WHEN 3 THEN
+                            '寰呭畾'
+                        WHEN 4 THEN
+                            '閮ㄥ垎鍚堟牸'
+                        END AS isptResult$,
                     aoi.deleted,
                     aoi.tenant_id,
                     aoi.create_by,
@@ -94,6 +94,7 @@
                     aoi.pack_name,
                     aoi.nty_status,
                     aoi.`status`,
+                    aoi.`ispt_result`,
                     CASE
                         aoi.ispt_result
                         WHEN 0 THEN
@@ -116,7 +117,7 @@
                     aoi.memo
                 FROM
                     man_asn_order_item aoi
-                        LEFT JOIN man_qly_ispt_item qii ON aoi.id = qii.asn_item_id
+--                         LEFT JOIN man_qly_ispt_item qii ON aoi.id = qii.asn_item_id
             ) t
             ${ew.customSqlSegment}
     </select>

--
Gitblit v1.9.1