From 11ceaa0add1bfe3b30d5c83e516a9dd804073c21 Mon Sep 17 00:00:00 2001 From: songguoqiang Date: Fri, 10 Nov 2023 09:29:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=AE=A1=E7=90=86=E7=B2=BE?= =?UTF-8?q?=E5=BA=A6=E7=AD=96=E7=95=A5=E6=8E=A5=E5=8F=A3=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E5=A4=9A=E4=B8=AA=E9=9B=B6=E4=BB=B6=E5=8F=B7=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E7=AD=96=E7=95=A5list?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wms/controller/rule/RuleController.java | 16 ++++++++++---- .../rule/vo/PrecisionStrategyReqVO.java | 20 ++++++++++++++++++ .../module/wms/service/rule/RuleService.java | 14 +++++++++---- .../wms/service/rule/RuleServiceImpl.java | 21 +++++++++++++++---- 4 files changed, 59 insertions(+), 12 deletions(-) create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/rule/vo/PrecisionStrategyReqVO.java diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/rule/RuleController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/rule/RuleController.java index 28c3e59a..6a2d1f3a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/rule/RuleController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/rule/RuleController.java @@ -5,10 +5,7 @@ import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.dto.AdminUserRespDTO; -import com.win.module.wms.controller.rule.vo.RuleCreateReqVO; -import com.win.module.wms.controller.rule.vo.RulePageReqVO; -import com.win.module.wms.controller.rule.vo.RuleRespVO; -import com.win.module.wms.controller.rule.vo.RuleUpdateReqVO; +import com.win.module.wms.controller.rule.vo.*; import com.win.module.wms.convert.rule.RuleConvert; import com.win.module.wms.dal.dataobject.rule.RuleDO; import com.win.module.wms.service.rule.RuleService; @@ -22,6 +19,9 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; +import java.util.HashMap; +import java.util.List; + import static com.win.framework.common.pojo.CommonResult.success; @Tag(name = "管理后台 - 规则") @@ -90,4 +90,12 @@ public class RuleController { return success(RuleConvert.INSTANCE.convertPage(pageResult)); } + @PostMapping("/getPrecisionStrategyByItemCodes") + @Operation(summary = "根据零件号集合查询管理精度策略") + @PreAuthorize("@ss.hasPermission('wms:rule:query')") + public CommonResult getPrecisionStrategyByItemCodes(@Valid @RequestBody PrecisionStrategyReqVO reqVO) { + List> list = ruleService.getPrecisionStrategyByItemCodes(reqVO); + return success(list); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/rule/vo/PrecisionStrategyReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/rule/vo/PrecisionStrategyReqVO.java new file mode 100644 index 00000000..de104894 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/rule/vo/PrecisionStrategyReqVO.java @@ -0,0 +1,20 @@ +package com.win.module.wms.controller.rule.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import java.util.List; +@Schema(description = "APP管理精度策略") +@Data +public class PrecisionStrategyReqVO { + + @Schema(description = "物品代码") + @NotEmpty(message = "物品代码不能为空") + private List itemCodes; + + @Schema(description = "库位代码") + @NotBlank(message = "库位代码不能为空") + private String locationCode; +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleService.java index f947c9e1..1c42286a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleService.java @@ -2,15 +2,14 @@ package com.win.module.wms.service.rule; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.rule.vo.RuleCreateReqVO; -import com.win.module.wms.controller.rule.vo.RulePageReqVO; -import com.win.module.wms.controller.rule.vo.RuleRespVO; -import com.win.module.wms.controller.rule.vo.RuleUpdateReqVO; +import com.win.module.wms.controller.rule.vo.*; import com.win.module.wms.dal.dataobject.rule.RuleDO; import javax.validation.Valid; import java.util.Collection; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 规则 Service 接口 @@ -238,4 +237,11 @@ public interface RuleService { */ RuleRespVO applianceCapacity(String containerType, String itemGroup, String projectCode, String itemCode); + /** + * 获取根据物品代码List以及库位代码管理精度策略 + * @param reqVO + * @return + */ + List> getPrecisionStrategyByItemCodes(PrecisionStrategyReqVO reqVO); + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleServiceImpl.java index b28bc252..74653a42 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleServiceImpl.java @@ -8,13 +8,11 @@ import com.google.common.annotations.VisibleForTesting; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; import com.win.framework.datapermission.core.util.DataPermissionUtils; -import com.win.module.wms.controller.rule.vo.RuleCreateReqVO; -import com.win.module.wms.controller.rule.vo.RulePageReqVO; -import com.win.module.wms.controller.rule.vo.RuleRespVO; -import com.win.module.wms.controller.rule.vo.RuleUpdateReqVO; +import com.win.module.wms.controller.rule.vo.*; import com.win.module.wms.convert.rule.RuleConvert; import com.win.module.wms.dal.dataobject.rule.RuleDO; import com.win.module.wms.dal.mysql.rule.RuleMapper; +import org.checkerframework.checker.units.qual.A; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -573,6 +571,21 @@ public class RuleServiceImpl implements RuleService { return null; } + @Override + public List> getPrecisionStrategyByItemCodes(PrecisionStrategyReqVO reqVO) { + List> list = new ArrayList<>(); + for (String code:reqVO.getItemCodes()){ + HashMap map = new HashMap<>(); + RuleRespVO RespVO = management(null, null, null, null, null, null, code, null, null, + null, reqVO.getLocationCode(), null, null); + JSONObject entries = JSONUtil.parseObj(RespVO.getConfiguration()); + map.put("ManagementPrecision",entries.get("ManagementPrecision")); + map.put("itemCode",code); + list.add(map); + } + return list; + } + /** * 循环校验参数 * @param params 参数