From 8eb93d5740c17f7b30888cc4dc1038f024ab3cb9 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 11 六月 2025 09:22:04 +0800
Subject: [PATCH] DO单导入优化 出库单导入优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java     |    3 +
 rsf-admin/src/page/orders/outStock/OutOrderModal.jsx                                              |    1 
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/DeliveryTemplate.java        |    4 +-
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java        |   19 +++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockItemController.java    |   18 +--------
 rsf-admin/src/page/orders/delivery/DeliveryList.jsx                                               |    2 
 rsf-admin/src/page/orders/outStock/OutOrderList.jsx                                               |    3 +
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/OutStockTemplate.java        |    4 +-
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java |   15 +++----
 9 files changed, 38 insertions(+), 31 deletions(-)

diff --git a/rsf-admin/src/page/orders/delivery/DeliveryList.jsx b/rsf-admin/src/page/orders/delivery/DeliveryList.jsx
index 01ce8db..3f4f2d7 100644
--- a/rsf-admin/src/page/orders/delivery/DeliveryList.jsx
+++ b/rsf-admin/src/page/orders/delivery/DeliveryList.jsx
@@ -122,7 +122,7 @@
                     rowClick={(id, resource, record) => false}
                     expand={false}
                     expandSingle={true}
-                    omit={['id', 'createTime', 'createBy', 'platId', 'platCode', 'memo', 'startTime', 'endTime', 'updateBy', 'createTime']}
+                    omit={['id', 'createTime', 'createBy', 'platId', 'platCode', 'memo', 'startTime','workQty', 'endTime', 'updateBy', 'createTime']}
                 >
                     <NumberField source="id" />
                     <TextField source="code" label="table.field.delivery.code" />
diff --git a/rsf-admin/src/page/orders/outStock/OutOrderList.jsx b/rsf-admin/src/page/orders/outStock/OutOrderList.jsx
index aed1c48..80de6bb 100644
--- a/rsf-admin/src/page/orders/outStock/OutOrderList.jsx
+++ b/rsf-admin/src/page/orders/outStock/OutOrderList.jsx
@@ -5,6 +5,7 @@
   DatagridConfigurable,
   SearchInput,
   TopToolbar,
+  Toolbar,
   SelectColumnsButton,
   EditButton,
   FilterButton,
@@ -140,7 +141,7 @@
             <CreateByOrderButton setCreateDialog={setCreateDialog} />
             <MyCreateButton onClick={() => { setManualDialog(true); setmodalType(0) }} />
             <SelectColumnsButton preferenceKey='outStock' />
-            <ImportButton value={'outStock'} />
+            <ImportButton value={'outStockItem'} />
             {/* <MyExportButton /> */}
           </TopToolbar>
         )}
diff --git a/rsf-admin/src/page/orders/outStock/OutOrderModal.jsx b/rsf-admin/src/page/orders/outStock/OutOrderModal.jsx
index 01283a6..6ef3697 100644
--- a/rsf-admin/src/page/orders/outStock/OutOrderModal.jsx
+++ b/rsf-admin/src/page/orders/outStock/OutOrderModal.jsx
@@ -5,6 +5,7 @@
     DatagridConfigurable,
     SearchInput,
     TopToolbar,
+    Toolbar,
     Button,
     SelectColumnsButton,
     EditButton,
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java
index 6d8f45f..1ee268e 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java
@@ -10,6 +10,7 @@
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.server.manager.controller.params.OrderOutTaskParam;
 import com.vincent.rsf.server.manager.controller.params.OutStockToTaskParams;
+import com.vincent.rsf.server.manager.entity.excel.OutStockTemplate;
 import com.vincent.rsf.server.manager.enums.OrderType;
 import com.vincent.rsf.server.manager.enums.OrderWorkType;
 import com.vincent.rsf.server.common.annotation.OperationLog;
@@ -240,6 +241,7 @@
     }
 
     @PostMapping("/outStock/order/getOutTaskItems")
+    @ApiOperation("鍑哄簱鍗曞簱浣嶉瑙�")
     @PreAuthorize("hasAuthority('manager:outStock:list')")
     public R getOrderOutTaskItem(@RequestBody OrderOutTaskParam param) {
         if (Cools.isEmpty(param)) {
@@ -281,4 +283,21 @@
     public R getSiteNos() {
         return outStockService.getSiteNos();
     }
+
+    /**
+     * @author Ryan
+     * @description 涓嬭浇妯℃澘
+     * @param
+     * @return
+     * @time 2025/4/18 08:17
+     */
+    @PostMapping("/outStock/template/download")
+    @ApiOperation("涓嬭浇鏀惰揣鍗曟ā鏉�")
+    @PreAuthorize("hasAuthority('manager:outStockItem:update')")
+    public void downloadTemplate(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
+        OutStockTemplate template = ExcelUtil.mockData(OutStockTemplate.class);
+        List<OutStockTemplate> list = Arrays.asList(template);
+        ExcelUtil.build(ExcelUtil.create(list, OutStockTemplate.class, true), response);
+    }
+
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockItemController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockItemController.java
index c665a12..0e11b1c 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockItemController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockItemController.java
@@ -159,7 +159,7 @@
     @PostMapping("/outStockItem/import")
     @ApiOperation("ASN瀵煎叆鎺ュ彛")
     @PreAuthorize("hasAuthority('manager:outStockItem:update')")
-    public R importExcel(@RequestParam(value = "file") MultipartFile file, @RequestParam String asnId) throws Exception {
+    public R importExcel(@RequestParam(value = "file") MultipartFile file) throws Exception {
         if (Objects.isNull(file)) {
             R.error("鏂囦欢涓嶈兘涓虹┖锛侊紒");
         }
@@ -167,20 +167,6 @@
         return outStockItemService.excelImport(file, hashMap, getLoginUserId());
     }
 
-    /**
-     * @author Ryan
-     * @description 涓嬭浇妯℃澘
-     * @param
-     * @return
-     * @time 2025/4/18 08:17
-     */
-    @PostMapping("/outStockItem/template/download")
-    @ApiOperation("涓嬭浇鏀惰揣鍗曟ā鏉�")
-    @PreAuthorize("hasAuthority('manager:outStockItem:update')")
-    public void downloadTemplate(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
-        AsnOrderTemplate template = ExcelUtil.mockData(AsnOrderTemplate.class);
-        List<AsnOrderTemplate> list = Arrays.asList(template);
-        ExcelUtil.build(ExcelUtil.create(list, AsnOrderTemplate.class, true), response);
-    }
+
 
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/DeliveryTemplate.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/DeliveryTemplate.java
index 6bcd33f..f6ecbfe 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/DeliveryTemplate.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/DeliveryTemplate.java
@@ -29,7 +29,7 @@
 
     @Excel(name = "鍗曟嵁绫诲瀷")
     @ApiModelProperty(value= "鍗曟嵁绫诲瀷")
-    @ExcelComment(value = "type", example = "鍏ュ簱鍗�")
+    @ExcelComment(value = "type", example = "鍑哄簱鍗�")
     private String type;
 
     @Excel(name = "鍗曟嵁鏉ユ簮")
@@ -54,7 +54,7 @@
 
     @Excel(name = "涓氬姟绫诲瀷")
     @ApiModelProperty(value= "涓氬姟绫诲瀷")
-    @ExcelComment(value = "wkType", example = "閲囪喘鍏ュ簱鍗�")
+    @ExcelComment(value = "wkType", example = "閿�鍞嚭搴撳崟")
     private String wkType;
 
     @Excel(name = "椤圭洰鍚嶇О")
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/OutStockTemplate.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/OutStockTemplate.java
index 8a67839..839c006 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/OutStockTemplate.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/OutStockTemplate.java
@@ -68,7 +68,7 @@
      */
     @Excel(name = "*鍗曟嵁绫诲瀷")
     @ApiModelProperty(value = "*鍗曟嵁绫诲瀷")
-    @ExcelComment(value = "type", example = "鍏ュ簱鍗�")
+    @ExcelComment(value = "type", example = "鍑哄簱鍗�")
     private String type;
 
     /**
@@ -76,7 +76,7 @@
      */
     @Excel(name = "*涓氬姟绫诲瀷")
     @ApiModelProperty(value = "*涓氬姟绫诲瀷")
-    @ExcelComment(value = "wkType", example = "閲囪喘鍏ュ簱鍗�")
+    @ExcelComment(value = "wkType", example = "閿�鍞嚭搴撳崟")
     private String wkType;
 
 
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 e7707b9..686c267 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
@@ -11,6 +11,7 @@
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.framework.exception.CoolException;
 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;
@@ -101,9 +102,6 @@
     public R excelImport(MultipartFile file, HashMap<String, Object> hashMap, Long loginUserId) throws Exception {
         ExcelImportResult result = ExcelImportUtil.importExcelMore(file.getInputStream(), OutStockTemplate.class, ExcelUtil.getDefaultImportParams());
         if (result.getList().isEmpty()) {
-            throw new CoolException("鐗╂枡瀵煎叆澶辫触锛侊紒");
-        }
-        if (result.getList().isEmpty()) {
             throw new CoolException("琛ㄦ牸鍐呭涓嶈兘涓虹┖锛侊紒");
         }
         List<OutStockTemplate> resultList = result.getList();
@@ -111,7 +109,7 @@
         for (String key : listMap.keySet()) {
             OutStockTemplate template = listMap.get(key).stream().findFirst().get();
             AsnOrder asnOrder = outStockService.getOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getCode, template.getCode()));
-            if (Objects.isNull(asnOrder)) {
+            if (!Objects.isNull(asnOrder)) {
                 continue;
             }
             AsnOrder order = new AsnOrder();
@@ -129,7 +127,7 @@
             for (OutStockTemplate orderTemplate : listMap.get(key)) {
                 AsnOrderItem orderItem = new AsnOrderItem();
                 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()));
                 }
@@ -151,9 +149,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(AsnOrderItem::getAnfme).sum();
+                if (!outStockService.update(new LambdaUpdateWrapper<AsnOrder>()
+                                .set(AsnOrder::getExceStatus, AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val)
+                        .set(AsnOrder::getAnfme, purQty).eq(AsnOrder::getId, order.getId()))) {
                     throw new CoolException("鍗曟嵁鏁伴噺淇敼澶辫触锛侊紒");
                 }
             }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
index 7d5e71e..c93da6b 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
@@ -616,8 +616,9 @@
 
                         issued = issued.subtract(new BigDecimal(locItem.getAnfme().toString()));
                     }
-                }
+                } else {
 
+                }
             }
         }
 

--
Gitblit v1.9.1