From ad705232b85b1484b08e9a6072294ba5f261a9eb Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期一, 18 八月 2025 16:34:18 +0800 Subject: [PATCH] 仓库,库区ERP同步接口优化 --- rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/WarehouseParams.java | 33 ++++++++ /dev/null | 31 ------- rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WarehouseAreas.java | 2 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocArea.java | 2 rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java | 16 ++++ rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java | 58 ++++++++++++++ rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Warehouse.java | 2 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/ReceiveMsgController.java | 20 +++++ rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/LocAreasParams.java | 27 ++++++ 9 files changed, 158 insertions(+), 33 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 eb586ca..b2e2ddf 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 @@ -176,6 +176,26 @@ return receiveMsgService.syncMatGroups(matGroupsParams); } + @ApiOperation(value = "搴撳尯鏁版嵁鍚屾", tags = "鍩虹淇℃伅鍚屾") + @PostMapping("/sync/warehouse/areas") + public R syncLocAreas(@RequestBody List<LocAreasParams> areasParams) { + if (areasParams.isEmpty()) { + throw new CoolException("搴撳尯鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + return receiveMsgService.syncWarehouseAreas(areasParams); + } + + + @ApiOperation(value = "搴撳尯鏁版嵁鍚屾", tags = "鍩虹淇℃伅鍚屾") + @PostMapping("/sync/warehouse") + public R syncWarehouse(@RequestBody List<WarehouseParams> warehouseParams) { + if (warehouseParams.isEmpty()) { + throw new CoolException("搴撳尯鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + return receiveMsgService.syncWarehouse(warehouseParams); + } + + } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/LocAreasParams.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/LocAreasParams.java new file mode 100644 index 0000000..831af3c --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/LocAreasParams.java @@ -0,0 +1,27 @@ +package com.vincent.rsf.server.api.controller.erp.params; + +import io.swagger.annotations.ApiModelProperty; +import io.swagger.annotations.ApiModel; +import lombok.experimental.Accessors; +import lombok.Data; + +import java.io.Serializable; + +@Data +@Accessors(chain = true) +@ApiModel(value = "LocAreasParams", description = "搴撳尯鍚屾鍙傛暟") +public class LocAreasParams implements Serializable { + + @ApiModelProperty("搴撳尯鍚嶇О") + private String name; + + @ApiModelProperty("搴撳尯缂栫爜") + private String code; + + @ApiModelProperty("浠撳簱鍚嶇О") + private String warehouse; + + @ApiModelProperty("搴撳尯绫诲瀷") + private String type; + +} diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/WarehouseParams.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/WarehouseParams.java new file mode 100644 index 0000000..9571101 --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/WarehouseParams.java @@ -0,0 +1,33 @@ +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; + +@Data +@Accessors(chain = true) +@ApiModel(value = "WarehouseParams", description = "浠撳簱鍙傛暟") +public class WarehouseParams implements Serializable { + + @ApiModelProperty("鍚嶇О") + private String name; + + @ApiModelProperty("宸ュ巶") + private String factory; + + @ApiModelProperty("鍦板潃") + private String address; + + @ApiModelProperty("绫诲瀷") + private Integer type; + + @ApiModelProperty("缁忓害") + private String longitude; + + @ApiModelProperty("绾害") + private String latitude; + +} 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 7d56ba1..4b05789 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 @@ -65,4 +65,20 @@ * @version 1.0 */ R syncMatGroups(List<SyncMatGroupsParams> matGroupsParams); + + /** + * @author Ryan + * @date 2025/8/18 + * @description: 搴撳尯鍚屾 + * @version 1.0 + */ + R syncWarehouseAreas(List<LocAreasParams> areasParams); + + /** + * @author Ryan + * @date 2025/8/18 + * @description: 浠撳簱淇℃伅鍚屾 + * @version 1.0 + */ + R syncWarehouse(List<WarehouseParams> warehouses); } 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 303f02b..f8c7c5d 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 @@ -14,6 +14,7 @@ import com.vincent.rsf.server.manager.entity.*; import com.vincent.rsf.server.manager.enums.OrderType; import com.vincent.rsf.server.manager.service.*; +import com.vincent.rsf.server.manager.service.impl.LocAreaServiceImpl; import com.vincent.rsf.server.manager.service.impl.MatnrServiceImpl; import com.vincent.rsf.server.system.constant.SerialRuleCode; import com.vincent.rsf.server.system.entity.Fields; @@ -64,6 +65,10 @@ private LocService locService; @Autowired private LocItemService locItemService; + @Autowired + private WarehouseAreasService warehouseAreasService; + @Autowired + private WarehouseService warehouseService; /** * @author Ryan @@ -222,7 +227,7 @@ * @version 1.0 */ @Override - @Transactional(timeout = 30, rollbackFor = Exception.class) + @Transactional(timeout = 60, rollbackFor = Exception.class) public R syncLocs(List<SyncLocsParams> locs) { List<Loc> syncLocs = new ArrayList<>(); locs.forEach(loc -> { @@ -244,7 +249,7 @@ * @version 1.0 */ @Override - @Transactional(timeout = 30, rollbackFor = Exception.class) + @Transactional(timeout = 60, rollbackFor = Exception.class) public R syncMatGroups(List<SyncMatGroupsParams> matGroupsParams) { List<MatnrGroup> syncMatGroups = new ArrayList<>(); matGroupsParams.forEach(matGroupsParam -> { @@ -266,4 +271,53 @@ } return R.ok(); } + + /** + * @author Ryan + * @date 2025/8/18 + * @description: 搴撳尯淇℃伅鍚屾 + * @version 1.0 + */ + @Override + @Transactional(timeout = 60, rollbackFor = Exception.class) + public R syncWarehouseAreas(List<LocAreasParams> areasParams) { + areasParams.forEach(param -> { + WarehouseAreas locArea = new WarehouseAreas(); + BeanUtils.copyProperties(param, locArea); + WarehouseAreas warehouseAreas = warehouseAreasService + .getOne(new LambdaQueryWrapper<WarehouseAreas>() + .eq(WarehouseAreas::getName, param.getName())); + if (!Objects.isNull(warehouseAreas)) { + locArea.setWarehouseId(warehouseAreas.getId()); + } + locArea.setName(param.getName()) + .setCode(param.getCode()) + .setId(null); + if (!warehouseAreasService.save(locArea)) { + throw new CoolException("搴撳尯淇濆瓨澶辫触锛侊紒"); + } + }); + return R.ok(); + } + + /** + * @author Ryan + * @date 2025/8/18 + * @description: 浠撳簱鍚屾 + * @version 1.0 + */ + @Override + @Transactional(timeout = 60, rollbackFor = Exception.class) + public R syncWarehouse(List<WarehouseParams> warehouses) { + warehouses.forEach(warehouse -> { + Warehouse ware = new Warehouse(); + BeanUtils.copyProperties(warehouse, ware); + ware.setId(null); + if (!warehouseService.save(ware)) { + throw new CoolException("浠撳簱鍚屾淇濆瓨澶辫触锛侊紒"); + } + }); + return R.ok(); + } + } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocArea.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocArea.java index bd20800..5eab4ed 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocArea.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocArea.java @@ -7,6 +7,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import com.vincent.rsf.server.manager.service.LocService; import com.vincent.rsf.server.manager.service.WarehouseAreasService; +import lombok.experimental.Accessors; import org.springframework.format.annotation.DateTimeFormat; import java.text.SimpleDateFormat; import java.util.Date; @@ -26,6 +27,7 @@ import java.util.Date; @Data +@Accessors(chain = true) @TableName("man_loc_area") public class LocArea implements Serializable { diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Warehouse.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Warehouse.java index 8e743c1..0df3137 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Warehouse.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Warehouse.java @@ -6,6 +6,7 @@ import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.experimental.Accessors; import org.springframework.format.annotation.DateTimeFormat; import java.text.SimpleDateFormat; import java.util.Date; @@ -24,6 +25,7 @@ @Data @TableName("man_warehouse") +@Accessors(chain = true) @ApiModel(value = "Warehouse", description = "浠撳簱鍩虹淇℃伅") public class Warehouse implements Serializable { diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WarehouseAreas.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WarehouseAreas.java index 9181676..de80a2d 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WarehouseAreas.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WarehouseAreas.java @@ -14,6 +14,7 @@ import com.vincent.rsf.server.system.entity.DictData; import com.vincent.rsf.server.system.service.DictDataService; import io.swagger.annotations.Api; +import lombok.experimental.Accessors; import org.apache.commons.lang3.StringUtils; import org.springframework.format.annotation.DateTimeFormat; import java.text.SimpleDateFormat; @@ -32,6 +33,7 @@ import java.util.stream.Collectors; @Data +@Accessors(chain = true) @TableName("man_warehouse_areas") public class WarehouseAreas implements Serializable { diff --git a/rsf-server/src/main/java/stockStatistic.sql b/rsf-server/src/main/java/stockStatistic.sql deleted file mode 100644 index b82b7b1..0000000 --- a/rsf-server/src/main/java/stockStatistic.sql +++ /dev/null @@ -1,31 +0,0 @@ --- save stockStatistic record --- mysql -insert into `sys_menu` ( `name`, `parent_id`, `route`, `component`, `type`, `sort`, `tenant_id`, `status`) values ( 'menu.stockStatistic', '0', '/manager/stockStatistic', 'stockStatistic', '0' , '0', '1' , '1'); - -insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Query 鏃ュ簱瀛樼粺璁�', '', '1', 'manager:stockStatistic:list', '0', '1', '1'); -insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Create 鏃ュ簱瀛樼粺璁�', '', '1', 'manager:stockStatistic:save', '1', '1', '1'); -insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Update 鏃ュ簱瀛樼粺璁�', '', '1', 'manager:stockStatistic:update', '2', '1', '1'); -insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Delete 鏃ュ簱瀛樼粺璁�', '', '1', 'manager:stockStatistic:remove', '3', '1', '1'); - --- locale menu name -stockStatistic: 'StockStatistic', - --- locale field -stockStatistic: { - id: "id", - dayTime: "dayTime", - taskType: "taskType", - taskStatus: "taskStatus", - maktx: "maktx", - matnrCode: "matnrCode", - count: "count", - batch: "batch", - anfme: "anfme", - unit: "unit", -}, - --- ResourceContent -import stockStatistic from './stockStatistic'; - -case 'stockStatistic': - return stockStatistic; -- Gitblit v1.9.1