From e357f222305494e100a7452832753e63e7f8fae9 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期一, 18 八月 2025 09:42:29 +0800
Subject: [PATCH] 库位信息同步接口
---
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncLocsParams.java | 82 +++++++++++++++++++++++++++
rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java | 9 +++
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java | 29 ++++++++-
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/ReceiveMsgController.java | 24 +++++++
4 files changed, 137 insertions(+), 7 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/ReceiveMsgController.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/ReceiveMsgController.java
index f5a9690..2e54f21 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/ReceiveMsgController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/ReceiveMsgController.java
@@ -6,6 +6,7 @@
import com.vincent.rsf.server.api.controller.erp.params.BaseMatParms;
import com.vincent.rsf.server.api.controller.erp.params.OrderParams;
import com.vincent.rsf.server.api.controller.erp.params.QueryOrderParam;
+import com.vincent.rsf.server.api.controller.erp.params.SyncLocsParams;
import com.vincent.rsf.server.api.service.ReceiveMsgService;
import com.vincent.rsf.server.common.domain.BaseParam;
import com.vincent.rsf.server.common.domain.PageParam;
@@ -39,6 +40,7 @@
*/
@RestController
@RequestMapping("/erp")
+//@Api(tags = "涓夋柟鎺ュ彛鏂囨。")
public class ReceiveMsgController extends BaseController {
@Autowired
@@ -135,15 +137,33 @@
/**
* @author Ryan
* @date 2025/8/15
- * @description: 搴撲綅鏄庣粏鍚屾
+ * @description: 搴撲綅淇℃伅鏌ヨ
* @version 1.0
*/
@PostMapping("/sync/locs/detls")
- @ApiOperation(value = "搴撲綅淇℃伅鏄庣粏鍚屾", tags = "鍩虹淇℃伅鍚屾")
+ @ApiOperation(value = "搴撲綅淇℃伅鏌ヨ", tags = "鏌ヨ")
public R syncLocDetls(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<Loc, BaseParam> pageParam = new PageParam<>(baseParam, Loc.class);
QueryWrapper<Loc> wrapper = pageParam.buildWrapper(true);
return receiveMsgService.syncLocsDetl(pageParam, wrapper);
}
+
+ /**
+ * @author Ryan
+ * @date 2025/8/18
+ * @description: 搴撲綅淇℃伅鍚屾
+ * @version 1.0
+ */
+ @PostMapping("/sync/locs")
+ @ApiOperation(value = "搴撲綅淇℃伅鍚屾", tags = "鍩虹淇℃伅鍚屾")
+ public R syncLocs(@RequestBody List<SyncLocsParams> locs) {
+ if (locs.isEmpty()) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
+ return receiveMsgService.syncLocs(locs);
+ }
+
+
+
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncLocsParams.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncLocsParams.java
new file mode 100644
index 0000000..9ac0cd5
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncLocsParams.java
@@ -0,0 +1,82 @@
+package com.vincent.rsf.server.api.controller.erp.params;
+
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.ApiModel;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+import lombok.Data;
+
+@Data
+@Accessors(chain = true)
+@ApiModel(value = "SyncLocsParams", description = "搴撲綅鍚屾鍙傛暟")
+public class SyncLocsParams implements Serializable {
+
+ @ApiModelProperty("搴撲綅缂栫爜")
+ private String locCode;
+
+ @ApiModelProperty("搴撲綅ID")
+ private Long locId;
+
+ @ApiModelProperty(value= "搴撲綅绫诲瀷(*) H: 楂樺簱浣� M: 涓簱浣� L: 浣庡簱浣� ")
+ private String type;
+
+ /**
+ * 瀹瑰櫒缂栫爜
+ */
+ @ApiModelProperty(value= "瀹瑰櫒缂栫爜")
+ private String barcode;
+
+ /**
+ * 闀�
+ */
+ @ApiModelProperty(value= "闀�")
+ private Double length;
+
+ /**
+ * 楂�
+ */
+ @ApiModelProperty(value= "楂�")
+ private Double height;
+
+ /**
+ * 瀹�
+ */
+ @ApiModelProperty(value= "瀹�")
+ private Double width;
+ /**
+ * 鎺�
+ */
+ @ApiModelProperty(value= "鎺�")
+ private Integer row;
+
+ /**
+ * 鍒�
+ */
+ @ApiModelProperty(value= "鍒�")
+ private Integer col;
+
+ /**
+ * 灞�
+ */
+ @ApiModelProperty(value= "灞�")
+ private Integer lev;
+
+ /**
+ * 宸烽亾
+ */
+ @ApiModelProperty(value= "宸烽亾")
+ private Integer channel;
+
+ /**
+ * 搴撲綅浣跨敤鐘舵�� O: 绌哄簱 D: 绌烘澘 R: 棰勭害鍑哄簱 S: 棰勭害鍏ュ簱 X: 绂佺敤 聽 F: 鍦ㄥ簱
+ */
+ @ApiModelProperty(value= "搴撲綅浣跨敤鐘舵�� O: 绌哄簱 D: 绌烘澘 R: 棰勭害鍑哄簱 S: 棰勭害鍏ュ簱 X: 绂佺敤 聽 F: 鍦ㄥ簱 ")
+ private String useStatus;
+
+
+ /**
+ * 鐘舵�� 1: 姝e父 0: 鍐荤粨
+ */
+ @ApiModelProperty(value= "鐘舵�� 1: 姝e父 0: 鍐荤粨 ")
+ private Integer status;
+}
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 310d88c..e442e10 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
@@ -6,6 +6,7 @@
import com.vincent.rsf.server.api.controller.erp.params.BaseMatParms;
import com.vincent.rsf.server.api.controller.erp.params.OrderParams;
import com.vincent.rsf.server.api.controller.erp.params.QueryOrderParam;
+import com.vincent.rsf.server.api.controller.erp.params.SyncLocsParams;
import com.vincent.rsf.server.common.domain.BaseParam;
import com.vincent.rsf.server.common.domain.PageParam;
import com.vincent.rsf.server.manager.entity.Loc;
@@ -51,4 +52,12 @@
* @version 1.0
*/
R syncLocsDetl(PageParam<Loc, BaseParam> pageParam, QueryWrapper<Loc> wrapper);
+
+ /**
+ * @author Ryan
+ * @date 2025/8/18
+ * @description: 搴撲綅鍚屾
+ * @version 1.0
+ */
+ R syncLocs(List<SyncLocsParams> locs);
}
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 e01e3ff..b747497 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
@@ -7,9 +7,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.vincent.rsf.framework.common.R;
import com.vincent.rsf.framework.exception.CoolException;
-import com.vincent.rsf.server.api.controller.erp.params.BaseMatParms;
-import com.vincent.rsf.server.api.controller.erp.params.QueryOrderParam;
-import com.vincent.rsf.server.api.controller.erp.params.WkOrderDto;
+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.controller.dto.LocStockDto;
@@ -18,7 +16,6 @@
import com.vincent.rsf.server.manager.service.*;
import com.vincent.rsf.server.manager.service.impl.MatnrServiceImpl;
import com.vincent.rsf.server.system.constant.SerialRuleCode;
-import com.vincent.rsf.server.api.controller.erp.params.OrderParams;
import com.vincent.rsf.server.system.entity.Fields;
import com.vincent.rsf.server.system.service.FieldsItemService;
import com.vincent.rsf.server.system.service.FieldsService;
@@ -207,7 +204,7 @@
/**
* @author Ryan
* @date 2025/8/15
- * @description: 鍚屾搴撲綅淇℃伅
+ * @description: 鏌ヨ搴撲綅淇℃伅
* @version 1.0
*/
@Override
@@ -218,5 +215,27 @@
return R.ok().add(locStocks);
}
+ /**
+ * @author Ryan
+ * @date 2025/8/18
+ * @description: 搴撲綅鍚屾
+ * @version 1.0
+ */
+ @Override
+ @Transactional(timeout = 30, rollbackFor = Exception.class)
+ public R syncLocs(List<SyncLocsParams> locs) {
+ List<Loc> syncLocs = new ArrayList<>();
+ locs.forEach(loc -> {
+ Loc loc1 = new Loc();
+ BeanUtils.copyProperties(loc, loc1);
+ loc1.setCode(loc.getLocCode()).setId(null);
+ syncLocs.add(loc1);
+ });
+ if (!locService.saveBatch(syncLocs)) {
+ throw new CoolException("搴撲綅鍚屾澶辫触锛侊紒");
+ }
+ return R.ok();
+ }
+
}
--
Gitblit v1.9.1