From 5264cf0915ee9901cb9520fdcc6b8cdd5ecd4837 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 20 八月 2025 10:50:03 +0800
Subject: [PATCH] 库存调整功能界面优化 库存调整接口功能开发

---
 rsf-admin/src/page/stockManage/locRevise/LocReviseList.jsx                                         |   13 +-
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncLocReviseParams.java |   30 +++++++
 rsf-admin/src/page/stockManage/locRevise/LocReviseCreate.jsx                                       |    2 
 rsf-admin/src/page/stockManage/locRevise/ReviseLogItemList.jsx                                     |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java                 |    8 ++
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java        |   58 ++++++++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrdersItem.java      |    2 
 rsf-admin/src/page/system/dept/DeptList.jsx                                                        |    2 
 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/params/SyncReviseItems.java     |   24 ++++++
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/SyncOrderController.java        |   61 +++++++++++++++
 11 files changed, 192 insertions(+), 12 deletions(-)

diff --git a/rsf-admin/src/page/stockManage/locRevise/LocReviseCreate.jsx b/rsf-admin/src/page/stockManage/locRevise/LocReviseCreate.jsx
index efc0ff6..d6af8c7 100644
--- a/rsf-admin/src/page/stockManage/locRevise/LocReviseCreate.jsx
+++ b/rsf-admin/src/page/stockManage/locRevise/LocReviseCreate.jsx
@@ -176,7 +176,7 @@
                                     defaultValue="1"
                                     source="type"
                                     parse={v => v}
-                                    label={translate("table.field.transfer.type")}
+                                    label={translate("table.field.locRevise.type")}
                                 />
                             </Grid>
                             <Grid item md={2}>
diff --git a/rsf-admin/src/page/stockManage/locRevise/LocReviseList.jsx b/rsf-admin/src/page/stockManage/locRevise/LocReviseList.jsx
index 138f189..80520c1 100644
--- a/rsf-admin/src/page/stockManage/locRevise/LocReviseList.jsx
+++ b/rsf-admin/src/page/stockManage/locRevise/LocReviseList.jsx
@@ -66,7 +66,8 @@
     <SelectInput source="type" label="table.field.locRevise.type"
         choices={[
             { id: 0, name: ' 搴撳瓨璋冩暣' },
-            { id: 2, name: ' 鐩樼偣璋冩暣' },
+            { id: 1, name: ' 鐩樼偣璋冩暣' },
+            { id: 2, name: ' 鍏跺畠璋冩暣' },
         ]}
     />,
     <NumberInput source="anfme" label="table.field.locRevise.anfme" />,
@@ -133,11 +134,11 @@
                     <NumberField source="id" />
                     <TextField source="code" label="table.field.locRevise.code" />
                     <TextField source="type$" label="table.field.locRevise.type" sortable={false} />
-                    <NumberField source="anfme" label="table.field.locRevise.anfme" />
-                    <NumberField source="reviseQty" label="table.field.locRevise.reviseQty" />
-                    <TextField source="exceStatus$" label="table.field.locRevise.exceStatus" sortable={false} />
+                    {/* <NumberField source="anfme" label="table.field.locRevise.anfme" />
+                    <NumberField source="reviseQty" label="table.field.locRevise.reviseQty" /> */}
                     <NumberField source="areaId" label="table.field.locRevise.areaId" />
                     <TextField source="areaName" label="table.field.locRevise.areaName" />
+                    <TextField source="exceStatus$" label="table.field.locRevise.exceStatus" sortable={false} />
                     <TextField source="updateBy$" label="common.field.updateBy" />
                     <DateField source="updateTime" label="common.field.updateTime" showTime />
                     <TextField source="createBy$" label="common.field.createBy" />
@@ -165,7 +166,6 @@
     )
 }
 
-
 //瀹屾垚鍗曟嵁
 const CompleteButton = () => {
     const record = useRecordContext();
@@ -182,9 +182,8 @@
     }
 
     return (
-        record.exceStatus == 1 ? <ConfirmButton label={"toolbar.complete"} color="secondary" startIcon={<TaskIcon />} onConfirm={requestComplete} /> : <></>
+        record.exceStatus == 1 ? <ConfirmButton label={"toolbar.confirmTransfer"} color="secondary" startIcon={<TaskIcon />} onConfirm={requestComplete} size="small" /> : <></>
     )
-
 
 }
 
diff --git a/rsf-admin/src/page/stockManage/locRevise/ReviseLogItemList.jsx b/rsf-admin/src/page/stockManage/locRevise/ReviseLogItemList.jsx
index b6f8a49..fe23fb9 100644
--- a/rsf-admin/src/page/stockManage/locRevise/ReviseLogItemList.jsx
+++ b/rsf-admin/src/page/stockManage/locRevise/ReviseLogItemList.jsx
@@ -102,7 +102,7 @@
                     <TextField source="fieldsIndex" label="table.field.locItem.fieldsIndex" />
                     <TextField source="updateBy$" label="common.field.updateBy" />
                     <DateField source="updateTime" label="common.field.updateTime" showTime />
-                    <TextField source="createBy" label="common.field.createBy" />
+                    <TextField source="createBy$" label="common.field.createBy" />
                     <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/system/dept/DeptList.jsx b/rsf-admin/src/page/system/dept/DeptList.jsx
index 253d92f..ebd19c7 100644
--- a/rsf-admin/src/page/system/dept/DeptList.jsx
+++ b/rsf-admin/src/page/system/dept/DeptList.jsx
@@ -107,7 +107,7 @@
                     {row.children && (
                         <IconButton
                             aria-label="expand row"
-                            size="small"
+                            size='small'
                             onClick={() => toggleNode(row.id)}
                         >
                             {isOpen ? <KeyboardArrowDownIcon /> : <KeyboardArrowRightIcon />}
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 8c3ba2c..3f6da6a 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
@@ -3,11 +3,13 @@
 import com.vincent.rsf.framework.common.R;
 import com.vincent.rsf.framework.exception.CoolException;
 import com.vincent.rsf.server.api.controller.erp.params.OrderParams;
+import com.vincent.rsf.server.api.controller.erp.params.SyncLocReviseParams;
 import com.vincent.rsf.server.api.controller.erp.params.SyncOrderParams;
 import com.vincent.rsf.server.api.controller.erp.params.SyncTransferParams;
 import com.vincent.rsf.server.api.service.ReceiveMsgService;
 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;
@@ -115,4 +117,63 @@
         return receiveMsgService.syncTransfer(transferParams);
     }
 
+
+    /**
+     * @author Ryan
+     * @date 2025/8/19
+     * @description: 搴撳瓨璋冩暣鍗曞悓姝�
+     * @version 1.0
+     */
+    @ApiOperation("搴撳瓨璋冩暣鍗曞悓姝�")
+    @PostMapping("/sync/revises")
+    public R syncRevise(@RequestBody SyncLocReviseParams reviseParams) {
+        if (Objects.isNull(reviseParams)) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        return receiveMsgService.syncLocRevise(reviseParams);
+    }
+
+    /**
+     * @author Ryan
+     * @date 2025/8/19
+     * @description: 搴撳瓨璋冩暣鍗曞悓姝�
+     * @version 1.0
+     */
+    @ApiOperation("璐ㄦ鍗曚笂鎶�")
+    @PostMapping("/sync/qlyInspect")
+    public R syncQlyReport(@RequestBody List<OrderParams> orders) {
+
+        return R.ok();
+    }
+
+    /**
+     * @author Ryan
+     * @date 2025/8/19
+     * @description: 鍗曟嵁淇敼
+     * @version 1.0
+     */
+    @ApiOperation("鍗曟嵁淇敼")
+    @PostMapping("/sync/orders/update")
+    public R syncOrderUpdate(@RequestBody List<OrderParams> orders) {
+
+        return R.ok();
+    }
+
+
+    /**
+     * @author Ryan
+     * @date 2025/8/19
+     * @description: 鍗曟嵁鍒犻櫎
+     * @version 1.0
+     */
+    @ApiOperation("鍗曟嵁鍒犻櫎")
+    @PostMapping("/sync/orders/delete")
+    public R syncOrderDel(@RequestBody List<OrderParams> orders) {
+
+        return R.ok();
+    }
+
+
+
+
 }
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
new file mode 100644
index 0000000..ae932cf
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncLocReviseParams.java
@@ -0,0 +1,30 @@
+package com.vincent.rsf.server.api.controller.erp.params;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+@Data
+@Accessors(chain = true)
+@ApiModel(value = "SyncLocReviseParams", description = "搴撳瓨璋冩暣鍗曞悓姝ュ弬鏁�")
+public class SyncLocReviseParams implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("璋冩暣绫诲瀷 {1锛氱洏鐐硅皟鏁达紝 0}")
+    private String type;
+
+    @ApiModelProperty("搴撳尯鍚嶇О")
+    private String areaName;
+
+    @ApiModelProperty("璋冩暣鏃堕棿")
+    private Date reviseTime;
+
+    @ApiModelProperty("鍗曟嵁鍚嶇О鍒楄〃")
+    private List<SyncReviseItems> items;
+}
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 1ded2e0..875a5dc 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: 鐩樼偣鍗�,  }")
+    @ApiModelProperty("鍗曟嵁绫诲瀷{in: 鏀惰揣鍏ュ簱鍗曪紝 out锛氬嚭搴撳崟锛宑heck: 鐩樼偣鍗�, revise: 搴撳瓨璋冩暣  }")
     private String type;
 
     @ApiModelProperty("鍗曟嵁鏄庣粏淇℃伅")
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrdersItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrdersItem.java
index 58f9aa1..e902599 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrdersItem.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrdersItem.java
@@ -60,7 +60,7 @@
     @ApiModelProperty("鍨嬪彿")
     private String model;
 
-    @ApiModelProperty("閫佽揣鏁伴噺")
+    @ApiModelProperty("鏁伴噺")
     private Double anfme;
 
     @ApiModelProperty("搴撳瓨鍗曚綅")
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncReviseItems.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncReviseItems.java
new file mode 100644
index 0000000..6dddeb3
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncReviseItems.java
@@ -0,0 +1,24 @@
+package com.vincent.rsf.server.api.controller.erp.params;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.experimental.Accessors;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+@Accessors(chain = true)
+@ApiModel(value = "SyncReviseItems", description = "璋冩暣鍗曟槑缁�")
+public class SyncReviseItems implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("搴撲綅")
+    private String locCode;
+
+    @ApiModelProperty("璋冩暣鍗曟槑缁�")
+    private List<SyncOrdersItem> items;
+
+}
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 8880399..e01d4e0 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
@@ -105,4 +105,12 @@
      * @version 1.0
      */
     R syncTransfer(SyncTransferParams transferParams);
+
+    /**
+     * @author Ryan
+     * @date 2025/8/20
+     * @description: 搴撳瓨璋冩暣鍗曞悓姝�
+     * @version 1.0
+     */
+    R syncLocRevise(SyncLocReviseParams reviseParams);
 }
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 cc26147..de0ec9c 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
@@ -79,6 +79,12 @@
     private TransferService transferService;
     @Autowired
     private TransferItemService transferItemService;
+    @Autowired
+    private LocReviseService locReviseService;
+    @Autowired
+    private ReviseLogService reviseLogService;
+    @Autowired
+    private ReviseLogItemService reviseLogItemService;
 
 
     /**
@@ -474,4 +480,56 @@
         return R.ok();
     }
 
+    /**
+     * @author Ryan
+     * @date 2025/8/20
+     * @description: 搴撳瓨璋冩暣鍗曞悓姝�
+     * @version 1.0
+     */
+    @Override
+    @Transactional(timeout = 60, rollbackFor = Exception.class)
+    public R syncLocRevise(SyncLocReviseParams reviseParams) {
+        LocRevise locRevise = new LocRevise();
+        if (Objects.isNull(reviseParams.getAreaName())) {
+            throw new CoolException("搴撳尯涓嶈兘涓虹┖锛侊紒");
+        }
+        WarehouseAreas warehouseAreas = warehouseAreasService
+                .getOne(new LambdaQueryWrapper<WarehouseAreas>()
+                        .eq(WarehouseAreas::getName, reviseParams.getAreaName()));
+        if (Objects.isNull(warehouseAreas)) {
+            throw new CoolException("搴撳尯涓嶅瓨鍦紒锛�");
+        }
+        locRevise.setAreaName(locRevise.getAreaName())
+                .setAreaId(warehouseAreas.getId());
+        locRevise.setCode(SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LOC_REVISE_CODE, null));
+
+        if (!locReviseService.save(locRevise)) {
+            throw new CoolException("搴撳瓨璋冩暣鍗曚繚瀛樺け璐ワ紒锛�");
+        }
+
+        reviseParams.getItems().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());
+            if (!reviseLogService.save(reviseLog)) {
+                throw new CoolException("搴撳瓨璋冩暣鍗曚笉鑳戒负绌猴紒锛�");
+            }
+            revise.getItems().forEach(reviseItem -> {
+                ReviseLogItem logItem = new ReviseLogItem();
+                BeanUtils.copyProperties(reviseItem, logItem);
+                logItem.setLocId(loc.getId())
+                        .setLocCode(loc.getCode())
+                        .setId(null)
+                        .setReviseQty(reviseItem.getAnfme());
+
+                if (!reviseLogItemService.save(logItem)) {
+                    throw new CoolException("璋冩暣搴撳瓨鏄庣粏淇濆瓨澶辫触锛侊紒");
+                }
+            });
+        });
+
+        return R.ok();
+    }
+
 }

--
Gitblit v1.9.1