From 32a41ca494eed0cc37fcb3aff1e9f83e1a3792fc Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 22 八月 2025 17:08:38 +0800
Subject: [PATCH] 库存调整功能接口功能优化 库存调整功能优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncTransferItems.java   |    8 --
 rsf-server/src/main/java/com/vincent/rsf/server/system/constant/DictTypeCode.java                  |    4 +
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocRevise.java                      |   23 +++++--
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncTransferParams.java  |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncLocReviseParams.java |    2 
 rsf-admin/src/page/stockManage/locRevise/LocReviseCreate.jsx                                       |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java                 |    6 -
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java        |   53 ++++++++++++++---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/LocReviseType.java                   |   36 ++++++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrderParams.java     |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/SyncOrderController.java        |    6 +-
 11 files changed, 107 insertions(+), 37 deletions(-)

diff --git a/rsf-admin/src/page/stockManage/locRevise/LocReviseCreate.jsx b/rsf-admin/src/page/stockManage/locRevise/LocReviseCreate.jsx
index d6af8c7..9ff7444 100644
--- a/rsf-admin/src/page/stockManage/locRevise/LocReviseCreate.jsx
+++ b/rsf-admin/src/page/stockManage/locRevise/LocReviseCreate.jsx
@@ -220,7 +220,7 @@
                                             }),
                                     }}
                                     resource="reviseLog"
-                                    title={"menu.reviseLog"}
+                                    title={false}
                                     empty={false}
                                     filters={false}
                                     sort={{ field: "create_time", order: "desc" }}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/SyncOrderController.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/SyncOrderController.java
index 3ea5771..ebf4be0 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/SyncOrderController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/SyncOrderController.java
@@ -7,7 +7,6 @@
 import com.vincent.rsf.server.common.annotation.OperationLog;
 import com.vincent.rsf.server.common.utils.ExcelUtil;
 import com.vincent.rsf.server.manager.entity.excel.AsnOrderTemplate;
-import com.vincent.rsf.server.manager.enums.OrderType;
 import com.vincent.rsf.server.system.controller.BaseController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -118,7 +117,8 @@
         if (Objects.isNull(transferParams)) {
             throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        return receiveMsgService.syncTransfer(transferParams);
+
+        return receiveMsgService.syncTransfer(transferParams, getLoginUserId());
     }
 
 
@@ -135,7 +135,7 @@
         if (Objects.isNull(reviseParams)) {
             return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        return receiveMsgService.syncLocRevise(reviseParams);
+        return receiveMsgService.syncLocRevise(reviseParams, getLoginUserId());
     }
 
     /**
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncLocReviseParams.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncLocReviseParams.java
index ae932cf..767c178 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncLocReviseParams.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncLocReviseParams.java
@@ -26,5 +26,5 @@
     private Date reviseTime;
 
     @ApiModelProperty("鍗曟嵁鍚嶇О鍒楄〃")
-    private List<SyncReviseItems> items;
+    private List<SyncReviseItems> reviseItems;
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrderParams.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrderParams.java
index f2cd6ee..b0524d5 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrderParams.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrderParams.java
@@ -15,7 +15,7 @@
 
     private static final long serialVersionUID = 1L;
 
-    @ApiModelProperty("鍗曟嵁绫诲瀷{in: 鏀惰揣鍏ュ簱鍗曪紝 out锛氬嚭搴撳崟锛宑heck: 鐩樼偣鍗�, revise: 搴撳瓨璋冩暣,   }")
+    @ApiModelProperty("鍗曟嵁绫诲瀷{in: 鏀惰揣鍏ュ簱鍗曪紝 out锛氬嚭搴撳崟锛宑heck: 鐩樼偣鍗�,}")
     private String type;
 
     @ApiModelProperty("鍗曟嵁鏄庣粏淇℃伅")
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncTransferItems.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncTransferItems.java
index fbf2f01..77d5f31 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncTransferItems.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncTransferItems.java
@@ -1,10 +1,10 @@
 package com.vincent.rsf.server.api.controller.erp.params;
 
 
-import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
+import io.swagger.annotations.ApiModel;
 import lombok.experimental.Accessors;
+import lombok.Data;
 
 import java.io.Serializable;
 
@@ -12,9 +12,6 @@
 @Accessors(chain = true)
 @ApiModel(value = "SyncTransferItems", description = "璋冩嫈鍗曞悓姝ュ弬鏁�")
 public class SyncTransferItems implements Serializable {
-
-
-    private static final long serialVersionUID = 1L;
 
     @ApiModelProperty("鐗╂枡鍚嶇О")
     private String maktx;
@@ -51,6 +48,5 @@
 
     @ApiModelProperty("椤圭洰缂栫爜")
     private String projectCode;
-
 
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncTransferParams.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncTransferParams.java
index c23ae54..699b5bc 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncTransferParams.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncTransferParams.java
@@ -14,8 +14,6 @@
 @ApiModel(value = "SyncTransferParams", description = "璋冩嫈鍗曞悓姝ュ弬鏁�")
 public class SyncTransferParams implements Serializable {
 
-    private static final long serialVersionUID = 1L;
-
     @ApiModelProperty("鍘熷簱鍖�")
     private String orgAreaName;
 
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java
index 665ac32..df4989e 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java
@@ -2,13 +2,11 @@
 
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.server.api.controller.erp.params.*;
 import com.vincent.rsf.server.common.domain.BaseParam;
 import com.vincent.rsf.server.common.domain.PageParam;
 import com.vincent.rsf.server.manager.entity.Loc;
-import com.vincent.rsf.server.manager.entity.Transfer;
 
 import java.util.List;
 
@@ -106,7 +104,7 @@
      * @description: 璋冩嫈鍗曟嵁鍚屾
      * @version 1.0
      */
-    R syncTransfer(SyncTransferParams transferParams);
+    R syncTransfer(SyncTransferParams transferParams, Long loginUserId);
 
     /**
      * @author Ryan
@@ -114,7 +112,7 @@
      * @description: 搴撳瓨璋冩暣鍗曞悓姝�
      * @version 1.0
      */
-    R syncLocRevise(SyncLocReviseParams reviseParams);
+    R syncLocRevise(SyncLocReviseParams reviseParams, Long loginUserId);
 
     /**
      * @author Ryan
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
index deebdd3..23c1c0a 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
@@ -21,7 +21,6 @@
 import com.vincent.rsf.server.manager.service.impl.MatnrServiceImpl;
 import com.vincent.rsf.server.system.constant.SerialRuleCode;
 import com.vincent.rsf.server.system.entity.Fields;
-import com.vincent.rsf.server.system.service.FieldsItemService;
 import com.vincent.rsf.server.system.service.FieldsService;
 import com.vincent.rsf.server.system.utils.SerialRuleUtils;
 import com.vincent.rsf.server.api.service.ReceiveMsgService;
@@ -432,17 +431,17 @@
      */
     @Override
     @Transactional(timeout = 60, rollbackFor = Exception.class)
-    public R syncTransfer(SyncTransferParams transferParams) {
+    public R syncTransfer(SyncTransferParams transferParams, Long loginUserId) {
         Transfer transfer = new Transfer();
         WarehouseAreas warehouseAreas = warehouseAreasService
                 .getOne(new LambdaQueryWrapper<WarehouseAreas>()
-                        .eq(WarehouseAreas::getName, transfer.getOrgAreaName()));
+                        .eq(WarehouseAreas::getName, transferParams.getOrgAreaName()));
         if (Objects.isNull(warehouseAreas)) {
             throw new CoolException("鍘熷簱鍖轰笉瀛樺湪锛侊紒");
         }
 
         WarehouseAreas warehouseAreas1 = warehouseAreasService.getOne(new LambdaQueryWrapper<WarehouseAreas>()
-                .eq(WarehouseAreas::getName, transfer.getTarAreaName()));
+                .eq(WarehouseAreas::getName, transferParams.getTarAreaName()));
         if (Objects.isNull(warehouseAreas1)) {
             throw new CoolException("鐩爣搴撳尯涓嶅瓨鍦紒锛�");
         }
@@ -456,6 +455,11 @@
                 .setTarAreaId(warehouseAreas1.getId())
                 .setTarWareName(warehouseAreas1.getWarehouseId$())
                 .setTarWareId(warehouseAreas1.getWarehouseId())
+                .setCreateBy(loginUserId)
+                .setCreateTime(new Date())
+                .setUpdateTime(new Date())
+                .setUpdateBy(loginUserId)
+                .setCode(SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_TRANSFER_ORDER_CODE, null))
                 .setSource(OrderSourceType.ORDER_SOURCE_TYPE_ERP.val);
 
         if (!transferService.save(transfer)) {
@@ -471,6 +475,10 @@
             }
             transferItem.setMatnrId(matnr.getId())
                     .setTransferId(transfer.getId())
+                    .setCreateBy(loginUserId)
+                    .setUpdateBy(loginUserId)
+                    .setCreateTime(new Date())
+                    .setUpdateTime(new Date())
                     .setTransferCode(transfer.getCode());
 
             if (!transferItemService.save(transferItem)) {
@@ -489,7 +497,7 @@
      */
     @Override
     @Transactional(timeout = 60, rollbackFor = Exception.class)
-    public R syncLocRevise(SyncLocReviseParams reviseParams) {
+    public R syncLocRevise(SyncLocReviseParams reviseParams, Long loginUserId) {
         LocRevise locRevise = new LocRevise();
         if (Objects.isNull(reviseParams.getAreaName())) {
             throw new CoolException("搴撳尯涓嶈兘涓虹┖锛侊紒");
@@ -500,7 +508,13 @@
         if (Objects.isNull(warehouseAreas)) {
             throw new CoolException("搴撳尯涓嶅瓨鍦紒锛�");
         }
-        locRevise.setAreaName(locRevise.getAreaName())
+
+        locRevise.setAreaName(warehouseAreas.getName())
+                .setType(LocReviseType.getLocRevise(reviseParams.getType()))
+                .setCreateBy(loginUserId)
+                .setUpdateBy(loginUserId)
+                .setCreateTime(new Date())
+                .setUpdateTime(new Date())
                 .setAreaId(warehouseAreas.getId());
         locRevise.setCode(SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LOC_REVISE_CODE, null));
 
@@ -508,22 +522,40 @@
             throw new CoolException("搴撳瓨璋冩暣鍗曚繚瀛樺け璐ワ紒锛�");
         }
 
-        reviseParams.getItems().forEach(revise -> {
+        reviseParams.getReviseItems().forEach(revise -> {
             Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, revise.getLocCode()));
             ReviseLog reviseLog = new ReviseLog();
             BeanUtils.copyProperties(loc, reviseLog);
-            reviseLog.setReviseId(locRevise.getId()).setReviseCode(locRevise.getCode());
+            reviseLog.setReviseId(locRevise.getId())
+                    .setLocCode(loc.getCode())
+                    .setType(Integer.parseInt(loc.getType()))
+                    .setCreateBy(loginUserId)
+                    .setUpdateBy(loginUserId)
+                    .setCreateTime(new Date())
+                    .setUpdateTime(new Date())
+                    .setReviseCode(locRevise.getCode());
             if (!reviseLogService.save(reviseLog)) {
                 throw new CoolException("搴撳瓨璋冩暣鍗曚笉鑳戒负绌猴紒锛�");
             }
             revise.getItems().forEach(reviseItem -> {
                 ReviseLogItem logItem = new ReviseLogItem();
                 BeanUtils.copyProperties(reviseItem, logItem);
+                Matnr matnr = matnrService.getOne(new LambdaQueryWrapper<Matnr>().eq(Matnr::getCode, reviseItem.getMatnrCode()));
+                if (Objects.isNull(matnr)) {
+                    throw new CoolException("鐗╂枡涓嶅瓨鍦紒锛�");
+                }
                 logItem.setLocId(loc.getId())
                         .setLocCode(loc.getCode())
                         .setId(null)
+                        .setMaktx(matnr.getName())
+                        .setMatnrCode(matnr.getCode())
+                        .setMatnrId(matnr.getId())
+                        .setReviseLogId(reviseLog.getId())
+                        .setCreateBy(loginUserId)
+                        .setUpdateBy(loginUserId)
+                        .setCreateTime(new Date())
+                        .setUpdateTime(new Date())
                         .setReviseQty(reviseItem.getAnfme());
-
                 if (!reviseLogItemService.save(logItem)) {
                     throw new CoolException("璋冩暣搴撳瓨鏄庣粏淇濆瓨澶辫触锛侊紒");
                 }
@@ -654,7 +686,8 @@
             CheckDiffDto checkDto = new CheckDiffDto();
             CheckDiff checkDiff = new CheckDiff();
             BeanUtils.copyProperties(check, checkDiff);
-            List<CheckDiffItem> items = checkDiffItemService.list(new LambdaQueryWrapper<CheckDiffItem>().eq(CheckDiffItem::getCheckId, check.getId()));
+            List<CheckDiffItem> items = checkDiffItemService.list(new LambdaQueryWrapper<CheckDiffItem>()
+                    .eq(CheckDiffItem::getCheckId, check.getId()));
             checkDto.setItems(items)
                     .setCheckDiff(checkDiff);
             dtos.add(checkDto);
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocRevise.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocRevise.java
index fdca335..81be843 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocRevise.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocRevise.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)
@@ -156,15 +161,17 @@
     }
 
     public String getType$(){
-        if (null == this.type){ return null; }
-        switch (this.type){
-            case 1:
-                return " 搴撳瓨璋冩暣";
-            case  2:
-                return " 鐩樼偣璋冩暣";
-            default:
-                return String.valueOf(this.type);
+        if (Cools.isEmpty(this.type)) {
+            return null;
         }
+        DictDataService dictDataService = SpringUtils.getBean(DictDataService.class);
+        DictData dictDatas = dictDataService.getOne(new LambdaQueryWrapper<DictData>()
+                .eq(DictData::getDictTypeCode, DictTypeCode.SYS_STOCK_REVISE_TYPE)
+                .eq(DictData::getValue, this.type));
+        if (Objects.isNull(dictDatas) || Objects.isNull(dictDatas.getLabel())) {
+            return null;
+        }
+        return dictDatas.getLabel();
     }
 
     public String getExceStatus$(){
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/LocReviseType.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/LocReviseType.java
new file mode 100644
index 0000000..5083861
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/LocReviseType.java
@@ -0,0 +1,36 @@
+package com.vincent.rsf.server.manager.enums;
+
+/**
+ * @author Ryan
+ * @date 2025/8/22
+ * @description: 搴撳瓨璋冩暣绫诲瀷
+ * @version 1.0
+ */
+public enum LocReviseType {
+    //鐩樼偣鍗曟墽琛岀姸鎬� /璋冩嫈鍗曟墽琛岀姸鎬�
+    LOC_REVISE_TYPE_STOCK("0", "搴撳瓨璋冩暣"),
+    LOC_REVISE_TYPE_CHECK("1", "鐩樼偣璋冩暣"),
+    LOC_REVISE_TYPE_OTHER("2", "鍏跺畠璋冩暣")
+    ;
+
+    LocReviseType(String val, String desc) {
+        this.val = Integer.parseInt(val);
+        this.desc = desc;
+    }
+
+    public Integer val;
+    public String desc;
+
+
+    public static Integer getLocRevise(String desc) {
+        if (desc.equals(LocReviseType.LOC_REVISE_TYPE_STOCK.desc)) {
+            return LocReviseType.LOC_REVISE_TYPE_STOCK.val;
+        } else if (desc.equals(LocReviseType.LOC_REVISE_TYPE_CHECK.desc)) {
+            return LocReviseType.LOC_REVISE_TYPE_CHECK.val;
+        } else if (desc.equals(LocReviseType.LOC_REVISE_TYPE_OTHER.desc)) {
+            return LocReviseType.LOC_REVISE_TYPE_OTHER.val;
+        } else {
+            return null;
+        }
+    }
+}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/DictTypeCode.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/DictTypeCode.java
index 30ad054..9bec209 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/DictTypeCode.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/DictTypeCode.java
@@ -94,6 +94,8 @@
 
     /**鍗曟嵁鏉ユ簮*/
     public final static String SYS_ORDER_SOURCE = "sys_order_source";
-
+    /**璋冩嫈鍗�*/
     public final static String SYS_TRANSFER_TYPE = "sys_transfer_type";
+    /**搴撳瓨璋冩暣*/
+    public final static String SYS_STOCK_REVISE_TYPE =  "sys_stock_revise_type";
 }

--
Gitblit v1.9.1