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