From c2478aba3b4db1f7c97ddd40eb636eed42368f28 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期一, 25 八月 2025 16:39:50 +0800
Subject: [PATCH] 库存调整单功能优化修改

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/ReviseLogItem.java                  |   15 +++++--
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocReviseController.java        |   19 +--------
 rsf-admin/src/page/system/dicts/dictType/DictDataList.jsx                                          |    4 +-
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocReviseServiceImpl.java     |   30 +++++++++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocReviseService.java              |    1 
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogServiceImpl.java     |    3 +
 rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/OrderWorkType.java                   |    7 +++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogItemServiceImpl.java |    2 
 8 files changed, 55 insertions(+), 26 deletions(-)

diff --git a/rsf-admin/src/page/system/dicts/dictType/DictDataList.jsx b/rsf-admin/src/page/system/dicts/dictType/DictDataList.jsx
index be3f508..4577397 100644
--- a/rsf-admin/src/page/system/dicts/dictType/DictDataList.jsx
+++ b/rsf-admin/src/page/system/dicts/dictType/DictDataList.jsx
@@ -104,7 +104,7 @@
                             }),
                         marginRight: drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0,
                     }}
-                    title={"menu.dictData"}
+                    title={false}
                     empty={false}
                     filters={filters}
                     filter={{ dictTypeId: dictId }}
@@ -157,7 +157,7 @@
                     setOpen={setCreateDialog}
                 />
                 <PageDrawer
-                    title='DictData Detail'
+                    title={false}
                     drawerVal={drawerVal}
                     setDrawerVal={setDrawerVal}
                 >
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocReviseController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocReviseController.java
index 50e1d61..7a4bb36 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocReviseController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocReviseController.java
@@ -31,8 +31,7 @@
 
     @Autowired
     private LocReviseService locReviseService;
-    @Autowired
-    private WarehouseAreasService warehouseAreasService;
+
 
     @PreAuthorize("hasAuthority('manager:locRevise:list')")
     @PostMapping("/locRevise/page")
@@ -69,21 +68,7 @@
         locRevise.setUpdateBy(getLoginUserId());
         locRevise.setUpdateTime(new Date());
 
-        if (Objects.isNull(locRevise.getId())) {
-            String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LOC_REVISE_CODE, null);
-            locRevise.setCode(ruleCode);
-        }
-
-        WarehouseAreas areas = warehouseAreasService.getById(locRevise.getAreaId());
-        if (!Objects.isNull(areas)) {
-            locRevise.setAreaId(areas.getId())
-                    .setAreaName(areas.getName());
-        }
-
-        if (!locReviseService.save(locRevise)) {
-            return R.error("Save Fail");
-        }
-        return R.ok("Save Success").add(locRevise);
+        return R.ok("Save Success").add(locReviseService.saveRevise(locRevise));
     }
 
     @PreAuthorize("hasAuthority('manager:locRevise:update')")
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/ReviseLogItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/ReviseLogItem.java
index aa524d2..66ea89f 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/ReviseLogItem.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/ReviseLogItem.java
@@ -1,6 +1,7 @@
 package com.vincent.rsf.server.manager.entity;
 
-import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.*;
+
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
@@ -9,10 +10,7 @@
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -43,6 +41,15 @@
     @ApiModelProperty(value= "璋冩暣鍗旾D")
     private Long reviseLogId;
 
+
+    @ApiModelProperty("鍗曟嵁绫诲瀷")
+    @TableField(exist = false)
+    private String type;
+
+    @ApiModelProperty("涓氬姟绫诲瀷")
+    @TableField(exist = false)
+    private String wkType;
+
     /**
      * 搴撲綅ID
      */
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/OrderWorkType.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/OrderWorkType.java
index 405ef34..4c78108 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/OrderWorkType.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/OrderWorkType.java
@@ -15,6 +15,7 @@
     ORDER_WORK_TYPE_SALE("4", "閿�鍞��鍥炲叆搴撳崟"),
     ORDER_WORK_TYPE_OTHER_IN("5", "鍏跺畠鍏ュ簱鍗�"),
     ORDER_WORK_TYPE_OTHER_TERANSFER("6", "璋冩嫈鍏ュ簱鍗�"),
+    ORDER_WORK_TYPE_STOCK_REVISE("7", "搴撳瓨璋冩暣鍗�"),
     ORDER_WORK_TYPE_SUPPLIER("11", "閿�鍞嚭搴撳崟"),
     ORDER_WORK_TYPE_RETURN_ORDER("12", "棰嗘枡鍑哄簱鍗�"),
     ORDER_WORK_TYPE_PURCHASE_RETURN("13", "閲囪喘閫�鍥炲嚭搴撳崟"),
@@ -59,6 +60,8 @@
             return OrderWorkType.ORDER_WORK_TYPE_STOCK_TERANSFER.type;
         } else if (desc.equals(OrderWorkType.ORDER_WORK_TYPE_OTHER_TERANSFER.desc)) {
             return OrderWorkType.ORDER_WORK_TYPE_OTHER_TERANSFER.type;
+        } else if (desc.equals(OrderWorkType.ORDER_WORK_TYPE_STOCK_REVISE.desc)) {
+            return OrderWorkType.ORDER_WORK_TYPE_STOCK_REVISE.type;
         }
         return null;
     }
@@ -78,7 +81,7 @@
             return OrderWorkType.ORDER_WORK_TYPE_SUPPLIER.desc;
         } else if (type.equals(OrderWorkType.ORDER_WORK_TYPE_RETURN_ORDER.type)) {
             return OrderWorkType.ORDER_WORK_TYPE_RETURN_ORDER.desc;
-        }else if (type.equals(OrderWorkType.ORDER_WORK_TYPE_PURCHASE_RETURN.type)) {
+        } else if (type.equals(OrderWorkType.ORDER_WORK_TYPE_PURCHASE_RETURN.type)) {
             return OrderWorkType.ORDER_WORK_TYPE_PURCHASE_RETURN.desc;
         } else if (type.equals(OrderWorkType.ORDER_WORK_TYPE_OTHER.type)) {
             return OrderWorkType.ORDER_WORK_TYPE_OTHER.desc;
@@ -90,6 +93,8 @@
             return OrderWorkType.ORDER_WORK_TYPE_STOCK_TERANSFER.desc;
         } else if (type.equals(OrderWorkType.ORDER_WORK_TYPE_OTHER_TERANSFER.type)) {
             return OrderWorkType.ORDER_WORK_TYPE_OTHER_TERANSFER.desc;
+        } else if (type.equals(OrderWorkType.ORDER_WORK_TYPE_STOCK_REVISE.type)) {
+            return OrderWorkType.ORDER_WORK_TYPE_STOCK_REVISE.desc;
         }
         return null;
     }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocReviseService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocReviseService.java
index 143c2cd..7324b87 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocReviseService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocReviseService.java
@@ -5,4 +5,5 @@
 
 public interface LocReviseService extends IService<LocRevise> {
 
+    LocRevise saveRevise(LocRevise locRevise);
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocReviseServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocReviseServiceImpl.java
index 545c1ad..db2f0e1 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocReviseServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocReviseServiceImpl.java
@@ -1,12 +1,42 @@
 package com.vincent.rsf.server.manager.service.impl;
 
+import com.vincent.rsf.framework.common.R;
+import com.vincent.rsf.framework.exception.CoolException;
+import com.vincent.rsf.server.manager.entity.WarehouseAreas;
 import com.vincent.rsf.server.manager.mapper.LocReviseMapper;
 import com.vincent.rsf.server.manager.entity.LocRevise;
 import com.vincent.rsf.server.manager.service.LocReviseService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vincent.rsf.server.manager.service.WarehouseAreasService;
+import com.vincent.rsf.server.system.constant.SerialRuleCode;
+import com.vincent.rsf.server.system.utils.SerialRuleUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Objects;
 
 @Service("locReviseService")
 public class LocReviseServiceImpl extends ServiceImpl<LocReviseMapper, LocRevise> implements LocReviseService {
 
+    @Autowired
+    private WarehouseAreasService warehouseAreasService;
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public LocRevise saveRevise(LocRevise locRevise) {
+        if (Objects.isNull(locRevise.getId())) {
+            String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LOC_REVISE_CODE, null);
+            locRevise.setCode(ruleCode);
+        }
+        WarehouseAreas areas = warehouseAreasService.getById(locRevise.getAreaId());
+        if (!Objects.isNull(areas)) {
+            locRevise.setAreaId(areas.getId())
+                    .setAreaName(areas.getName());
+        }
+        if (!this.save(locRevise)) {
+           throw new CoolException("淇濆瓨澶辫触锛侊紒");
+        }
+        return locRevise;
+    }
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogItemServiceImpl.java
index 402deb4..96e8de7 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogItemServiceImpl.java
@@ -41,7 +41,7 @@
      * @return
      */
     @Override
-    @Transactional(rollbackFor = Exception.class)
+    @Transactional(timeout = 60, rollbackFor = Exception.class)
     public List<ReviseLogItem> itemSave(ReviseLogItemParams reviseLogItem, Long userId) {
         ReviseLog reviseLog = reviseLogService.getById(reviseLogItem.getReviseLogId());
         if (Objects.isNull(reviseLog)) {
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogServiceImpl.java
index 06d28cb..ba1f45c 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogServiceImpl.java
@@ -8,6 +8,7 @@
 import com.vincent.rsf.server.manager.entity.*;
 import com.vincent.rsf.server.manager.enums.CommonExceStatus;
 import com.vincent.rsf.server.manager.enums.OrderType;
+import com.vincent.rsf.server.manager.enums.OrderWorkType;
 import com.vincent.rsf.server.manager.mapper.ReviseLogMapper;
 import com.vincent.rsf.server.manager.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -137,6 +138,7 @@
                 BeanUtils.copyProperties(logItem, locDetl);
                 locDetl.setLocId(loc.getId())
                         .setType(OrderType.ORDER_REVISE.type)
+                        .setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_STOCK_REVISE.type))
                         .setLocCode(loc.getCode())
                         .setAnfme(logItem.getReviseQty())
                         .setUpdateBy(loginUserId)
@@ -147,7 +149,6 @@
                 }
             });
         });
-
         revise.setExceStatus(CommonExceStatus.COMMON_EXCE_STATUS_TASK_DONE.val);
         if (!locReviseService.updateById(revise)) {
             throw new CoolException("璋冩暣鍗曚慨鏀瑰け璐ワ紒锛�");

--
Gitblit v1.9.1