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