From 63b3a5e7f39aadace0b8d8f1079c6b8e11cfe5b7 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Sat, 18 Jul 2026 15:34:15 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E7=AD=96=E7=95=A5=E8=B4=A3?= =?UTF-8?q?=E4=BB=BB=E9=93=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nl-module-wms/nl-module-wms-server/pom.xml | 5 + .../WarehouseStrategyController.java | 210 +++++++++--------- .../vo/WarehouseStrategyRespVO.java | 11 +- .../nl/module/wms/enums/StrategyTypeEnum.java | 23 ++ .../nl/module/wms/manage/DecisionManage.java | 4 +- .../wms/manage/StrategyChainExecutor.java | 91 ++++++++ .../{DemoDTO.java => AlleyAveHandleDTO.java} | 4 +- .../wms/manage/dto/AlleyAveHandleParam.java | 12 + .../manage/handle/AlleyAveRuleHandler.java | 23 -- .../handle/base/AlleyAveRuleHandler.java | 23 ++ .../wms/manage/handle/package-info.java | 6 + .../src/views/wms/warehousestrategy/data.ts | 7 +- 12 files changed, 281 insertions(+), 138 deletions(-) create mode 100644 nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/enums/StrategyTypeEnum.java create mode 100644 nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/StrategyChainExecutor.java rename nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/dto/{DemoDTO.java => AlleyAveHandleDTO.java} (68%) create mode 100644 nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/dto/AlleyAveHandleParam.java delete mode 100644 nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/handle/AlleyAveRuleHandler.java create mode 100644 nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/handle/base/AlleyAveRuleHandler.java create mode 100644 nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/handle/package-info.java diff --git a/nl-module-wms/nl-module-wms-server/pom.xml b/nl-module-wms/nl-module-wms-server/pom.xml index 7ed07635..72084eae 100644 --- a/nl-module-wms/nl-module-wms-server/pom.xml +++ b/nl-module-wms/nl-module-wms-server/pom.xml @@ -32,6 +32,11 @@ nl-module-wms-api ${revision} + + cn.nl.cloud + nl-module-system-api + ${revision} + diff --git a/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/controller/admin/warehousestrategy/WarehouseStrategyController.java b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/controller/admin/warehousestrategy/WarehouseStrategyController.java index 01f7b750..6256d310 100644 --- a/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/controller/admin/warehousestrategy/WarehouseStrategyController.java +++ b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/controller/admin/warehousestrategy/WarehouseStrategyController.java @@ -1,104 +1,106 @@ -package cn.code.nl.module.wms.controller.admin.warehousestrategy; - -import org.springframework.web.bind.annotation.*; -import jakarta.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; - -import jakarta.validation.constraints.*; -import jakarta.validation.*; -import jakarta.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import cn.code.nl.framework.common.pojo.PageParam; -import cn.code.nl.framework.common.pojo.PageResult; -import cn.code.nl.framework.common.pojo.CommonResult; -import cn.code.nl.framework.common.util.object.BeanUtils; -import static cn.code.nl.framework.common.pojo.CommonResult.success; - -import cn.code.nl.framework.excel.core.util.ExcelUtils; - -import cn.code.nl.framework.apilog.core.annotation.ApiAccessLog; -import static cn.code.nl.framework.apilog.core.enums.OperateTypeEnum.*; - -import cn.code.nl.module.wms.controller.admin.warehousestrategy.vo.*; -import cn.code.nl.module.wms.dal.dataobject.warehousestrategy.WarehouseStrategyDO; -import cn.code.nl.module.wms.service.warehousestrategy.WarehouseStrategyService; - -@Tag(name = "管理后台 - 出入库策略") -@RestController -@RequestMapping("/wms/warehouse-strategy") -@Validated -public class WarehouseStrategyController { - - @Resource - private WarehouseStrategyService warehouseStrategyService; - - @PostMapping("/create") - @Operation(summary = "创建出入库策略") - @PreAuthorize("@ss.hasPermission('wms:warehouse-strategy:create')") - public CommonResult createWarehouseStrategy(@Valid @RequestBody WarehouseStrategySaveReqVO createReqVO) { - return success(warehouseStrategyService.createWarehouseStrategy(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新出入库策略") - @PreAuthorize("@ss.hasPermission('wms:warehouse-strategy:update')") - public CommonResult updateWarehouseStrategy(@Valid @RequestBody WarehouseStrategySaveReqVO updateReqVO) { - warehouseStrategyService.updateWarehouseStrategy(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除出入库策略") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:warehouse-strategy:delete')") - public CommonResult deleteWarehouseStrategy(@RequestParam("id") Long id) { - warehouseStrategyService.deleteWarehouseStrategy(id); - return success(true); - } - - @DeleteMapping("/delete-list") - @Parameter(name = "ids", description = "编号", required = true) - @Operation(summary = "批量删除出入库策略") - @PreAuthorize("@ss.hasPermission('wms:warehouse-strategy:delete')") - public CommonResult deleteWarehouseStrategyList(@RequestParam("ids") List ids) { - warehouseStrategyService.deleteWarehouseStrategyListByIds(ids); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得出入库策略") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:warehouse-strategy:query')") - public CommonResult getWarehouseStrategy(@RequestParam("id") Long id) { - WarehouseStrategyDO warehouseStrategy = warehouseStrategyService.getWarehouseStrategy(id); - return success(BeanUtils.toBean(warehouseStrategy, WarehouseStrategyRespVO.class)); - } - - @GetMapping("/page") - @Operation(summary = "获得出入库策略分页") - @PreAuthorize("@ss.hasPermission('wms:warehouse-strategy:query')") - public CommonResult> getWarehouseStrategyPage(@Valid WarehouseStrategyPageReqVO pageReqVO) { - PageResult pageResult = warehouseStrategyService.getWarehouseStrategyPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, WarehouseStrategyRespVO.class)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出出入库策略 Excel") - @PreAuthorize("@ss.hasPermission('wms:warehouse-strategy:export')") - @ApiAccessLog(operateType = EXPORT) - public void exportWarehouseStrategyExcel(@Valid WarehouseStrategyPageReqVO pageReqVO, - HttpServletResponse response) throws IOException { - pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = warehouseStrategyService.getWarehouseStrategyPage(pageReqVO).getList(); - // 导出 Excel - ExcelUtils.write(response, "出入库策略.xls", "数据", WarehouseStrategyRespVO.class, - BeanUtils.toBean(list, WarehouseStrategyRespVO.class)); - } - -} \ No newline at end of file +package cn.code.nl.module.wms.controller.admin.warehousestrategy; + +import org.dromara.core.trans.anno.TransMethodResult; +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.code.nl.framework.common.pojo.PageParam; +import cn.code.nl.framework.common.pojo.PageResult; +import cn.code.nl.framework.common.pojo.CommonResult; +import cn.code.nl.framework.common.util.object.BeanUtils; +import static cn.code.nl.framework.common.pojo.CommonResult.success; + +import cn.code.nl.framework.excel.core.util.ExcelUtils; + +import cn.code.nl.framework.apilog.core.annotation.ApiAccessLog; +import static cn.code.nl.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.code.nl.module.wms.controller.admin.warehousestrategy.vo.*; +import cn.code.nl.module.wms.dal.dataobject.warehousestrategy.WarehouseStrategyDO; +import cn.code.nl.module.wms.service.warehousestrategy.WarehouseStrategyService; + +@Tag(name = "管理后台 - 出入库策略") +@RestController +@RequestMapping("/wms/warehouse-strategy") +@Validated +public class WarehouseStrategyController { + + @Resource + private WarehouseStrategyService warehouseStrategyService; + + @PostMapping("/create") + @Operation(summary = "创建出入库策略") + @PreAuthorize("@ss.hasPermission('wms:warehouse-strategy:create')") + public CommonResult createWarehouseStrategy(@Valid @RequestBody WarehouseStrategySaveReqVO createReqVO) { + return success(warehouseStrategyService.createWarehouseStrategy(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新出入库策略") + @PreAuthorize("@ss.hasPermission('wms:warehouse-strategy:update')") + public CommonResult updateWarehouseStrategy(@Valid @RequestBody WarehouseStrategySaveReqVO updateReqVO) { + warehouseStrategyService.updateWarehouseStrategy(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除出入库策略") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:warehouse-strategy:delete')") + public CommonResult deleteWarehouseStrategy(@RequestParam("id") Long id) { + warehouseStrategyService.deleteWarehouseStrategy(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除出入库策略") + @PreAuthorize("@ss.hasPermission('wms:warehouse-strategy:delete')") + public CommonResult deleteWarehouseStrategyList(@RequestParam("ids") List ids) { + warehouseStrategyService.deleteWarehouseStrategyListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得出入库策略") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:warehouse-strategy:query')") + public CommonResult getWarehouseStrategy(@RequestParam("id") Long id) { + WarehouseStrategyDO warehouseStrategy = warehouseStrategyService.getWarehouseStrategy(id); + return success(BeanUtils.toBean(warehouseStrategy, WarehouseStrategyRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得出入库策略分页") + @TransMethodResult + @PreAuthorize("@ss.hasPermission('wms:warehouse-strategy:query')") + public CommonResult> getWarehouseStrategyPage(@Valid WarehouseStrategyPageReqVO pageReqVO) { + PageResult pageResult = warehouseStrategyService.getWarehouseStrategyPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, WarehouseStrategyRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出出入库策略 Excel") + @PreAuthorize("@ss.hasPermission('wms:warehouse-strategy:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportWarehouseStrategyExcel(@Valid WarehouseStrategyPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = warehouseStrategyService.getWarehouseStrategyPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "出入库策略.xls", "数据", WarehouseStrategyRespVO.class, + BeanUtils.toBean(list, WarehouseStrategyRespVO.class)); + } + +} diff --git a/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/controller/admin/warehousestrategy/vo/WarehouseStrategyRespVO.java b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/controller/admin/warehousestrategy/vo/WarehouseStrategyRespVO.java index f5d00096..29361087 100644 --- a/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/controller/admin/warehousestrategy/vo/WarehouseStrategyRespVO.java +++ b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/controller/admin/warehousestrategy/vo/WarehouseStrategyRespVO.java @@ -1,8 +1,13 @@ package cn.code.nl.module.wms.controller.admin.warehousestrategy.vo; +import cn.code.nl.module.system.api.user.AdminUserApi; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; + +import org.dromara.core.trans.anno.Trans; +import org.dromara.core.trans.constant.TransType; +import org.dromara.core.trans.vo.VO; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import cn.idev.excel.annotation.*; @@ -10,7 +15,7 @@ import cn.idev.excel.annotation.*; @Schema(description = "管理后台 - 出入库策略 Response VO") @Data @ExcelIgnoreUnannotated -public class WarehouseStrategyRespVO { +public class WarehouseStrategyRespVO implements VO { private Long id; @@ -32,12 +37,16 @@ public class WarehouseStrategyRespVO { @Schema(description = "创建者") @ExcelProperty("创建者") + @Trans(type = TransType.AUTO_TRANS, key = AdminUserApi.PREFIX, fields = "nickname", ref = "creatorName") private String creator; @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("创建时间") private LocalDateTime createTime; + @Schema(description = "创建者名称") + private String creatorName; + @Schema(description = "更新者", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("更新者") private String updater; diff --git a/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/enums/StrategyTypeEnum.java b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/enums/StrategyTypeEnum.java new file mode 100644 index 00000000..2bd7cd81 --- /dev/null +++ b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/enums/StrategyTypeEnum.java @@ -0,0 +1,23 @@ +package cn.code.nl.module.wms.enums; + +import lombok.Getter; + +/** + * + * @Author: liyongde + * @Date: 2026/7/18 14:15 + */ +@Getter +public enum StrategyTypeEnum { + + INBOUND_STRATEGY("1", "入库策略"), + OUTBOUND_STRATEGY("2", "出库策略"); + + private final String code; + private final String name; + + StrategyTypeEnum(String code, String name) { + this.code = code; + this.name = name; + } +} diff --git a/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/DecisionManage.java b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/DecisionManage.java index 7cfc0477..3b64a7dd 100644 --- a/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/DecisionManage.java +++ b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/DecisionManage.java @@ -17,8 +17,8 @@ import java.util.List; * 子类通过 {@code @Service("策略编码")} 注册为 Spring Bean, * 启动时根据 Bean 名称自动从数据库加载对应的策略配置。 * - * @param 货位/库存数据类型 - * @param

决策参数类型 + * @param 返回类型:货位/库存数据类型 + * @param

入参类型:决策参数类型 * @Author: liyongde * @Date: 2026/7/18 11:03 */ diff --git a/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/StrategyChainExecutor.java b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/StrategyChainExecutor.java new file mode 100644 index 00000000..fcc0d0c9 --- /dev/null +++ b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/StrategyChainExecutor.java @@ -0,0 +1,91 @@ +package cn.code.nl.module.wms.manage; + +import cn.code.nl.framework.common.exception.ServiceException; +import cn.code.nl.module.wms.dal.dataobject.warehousestrategy.WarehouseStrategyDO; +import cn.code.nl.module.wms.dal.mysql.warehousestrategy.WarehouseStrategyMapper; +import cn.hutool.core.collection.CollUtil; +import com.alibaba.fastjson.JSON; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.ApplicationContext; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * 策略链执行器 + *

+ * 根据库区编码和策略类型加载策略链配置,从 Spring 容器中按名称精确获取策略处理器, + * 按序执行,每个处理器的输出作为下一个处理器的输入。 + * + * @Author: liyongde + * @Date: 2026/7/18 + */ +@Slf4j +@Component +public class StrategyChainExecutor { + + @Resource + private WarehouseStrategyMapper warehouseStrategyMapper; + + @Resource + private ApplicationContext applicationContext; + + /** + * 执行策略链 + * + * @param sectionCode 库区编码 + * @param strategyType 策略类型(1=入库,2=出库) + * @param candidates 初始候选列表,入库时为可用货位列表,出库时传空列表由首个策略自行查询 + * @param param 决策参数,类型由调用方决定(入库通常传 JSONObject,出库通常传强类型实体) + * @param 货位/库存数据类型 + * @param

决策参数类型,需与策略链中所有处理器的泛型参数一致 + * @return 策略链执行后的结果列表 + */ + @SuppressWarnings("unchecked") + public List execute(String sectionCode, String strategyType, List candidates, P param) { + // 1. 查询库区策略链配置 + WarehouseStrategyDO strategy = warehouseStrategyMapper.selectOne( + WarehouseStrategyDO::getSectionCode, sectionCode, + WarehouseStrategyDO::getStrategyType, strategyType); + if (strategy == null) { + throw new ServiceException(500, "当前库区 " + sectionCode + " 未配置策略链"); + } + + // 2. 解析策略编码列表 + List strategyCodes = JSON.parseArray(strategy.getStrategy(), String.class); + if (CollUtil.isEmpty(strategyCodes)) { + throw new ServiceException(500, "当前库区 " + sectionCode + " 策略链为空"); + } + + // 3. 按序执行策略链 + List result = candidates; + for (String strategyCode : strategyCodes) { + DecisionManage handler; + try { + handler = (DecisionManage) applicationContext.getBean(strategyCode); + } catch (Exception e) { + log.error("策略 [{}] 未找到对应的处理器 Bean", strategyCode, e); + throw new ServiceException(500, "策略 " + strategyCode + " 未注册"); + } + + String strategyName = handler.strategyConfig.getStrategyName(); + int inputSize = result != null ? result.size() : 0; + log.info("执行策略 [{}]:{},输入候选数量:{}", strategyCode, strategyName, inputSize); + + long startTime = System.currentTimeMillis(); + result = handler.handler(result, param); + long cost = System.currentTimeMillis() - startTime; + + int outputSize = result != null ? result.size() : 0; + log.info("策略 [{}] 执行完成,耗时:{}ms,输出数量:{}(过滤:{})", + strategyCode, cost, outputSize, inputSize - outputSize); + + if (CollUtil.isEmpty(result)) { + throw new ServiceException(500, "策略 " + strategyName + " 执行后无可用货位"); + } + } + return result; + } + +} diff --git a/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/dto/DemoDTO.java b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/dto/AlleyAveHandleDTO.java similarity index 68% rename from nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/dto/DemoDTO.java rename to nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/dto/AlleyAveHandleDTO.java index 566a1807..bda64595 100644 --- a/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/dto/DemoDTO.java +++ b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/dto/AlleyAveHandleDTO.java @@ -5,9 +5,9 @@ import lombok.Data; /** * * @Author: liyongde - * @Date: 2026/7/18 13:41 + * @Date: 2026/7/18 14:12 */ @Data -public class DemoDTO { +public class AlleyAveHandleDTO { private String id; } diff --git a/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/dto/AlleyAveHandleParam.java b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/dto/AlleyAveHandleParam.java new file mode 100644 index 00000000..ce7ae23b --- /dev/null +++ b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/dto/AlleyAveHandleParam.java @@ -0,0 +1,12 @@ +package cn.code.nl.module.wms.manage.dto; + +import lombok.Data; + +/** + * + * @Author: liyongde + * @Date: 2026/7/18 14:12 + */ +@Data +public class AlleyAveHandleParam { +} diff --git a/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/handle/AlleyAveRuleHandler.java b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/handle/AlleyAveRuleHandler.java deleted file mode 100644 index 18d9f2c3..00000000 --- a/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/handle/AlleyAveRuleHandler.java +++ /dev/null @@ -1,23 +0,0 @@ -package cn.code.nl.module.wms.manage.handle; - -import cn.code.nl.module.wms.manage.DecisionManage; -import cn.code.nl.module.wms.manage.dto.DemoDTO; -import com.alibaba.fastjson.JSONObject; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * - * @Author: liyongde - * @Date: 2026/7/18 13:39 - */ -@Slf4j -@Service("alleyAve") -public class AlleyAveRuleHandler extends DecisionManage { - @Override - public List handler(List list, JSONObject param) { - return List.of(); - } -} diff --git a/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/handle/base/AlleyAveRuleHandler.java b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/handle/base/AlleyAveRuleHandler.java new file mode 100644 index 00000000..550123cd --- /dev/null +++ b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/handle/base/AlleyAveRuleHandler.java @@ -0,0 +1,23 @@ +package cn.code.nl.module.wms.manage.handle.base; + +import cn.code.nl.module.wms.manage.DecisionManage; +import cn.code.nl.module.wms.manage.dto.AlleyAveHandleDTO; +import cn.code.nl.module.wms.manage.dto.AlleyAveHandleParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * + * @Author: liyongde + * @Date: 2026/7/18 13:39 + */ +@Slf4j +@Service("alleyAve") +public class AlleyAveRuleHandler extends DecisionManage { + @Override + public List handler(List list, AlleyAveHandleParam param) { + return List.of(); + } +} diff --git a/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/handle/package-info.java b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/handle/package-info.java new file mode 100644 index 00000000..44ddb5b7 --- /dev/null +++ b/nl-module-wms/nl-module-wms-server/src/main/java/cn/code/nl/module/wms/manage/handle/package-info.java @@ -0,0 +1,6 @@ +/** + * 所有出入库的处理器 + * @Author: liyongde + * @Date: 2026/7/18 14:11 + */ +package cn.code.nl.module.wms.manage.handle; \ No newline at end of file diff --git a/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/wms/warehousestrategy/data.ts b/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/wms/warehousestrategy/data.ts index 95f4f18f..72d38c84 100644 --- a/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/wms/warehousestrategy/data.ts +++ b/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/wms/warehousestrategy/data.ts @@ -134,7 +134,7 @@ export function useGridColumns(): VxeTableGridOptions