From 7fb22d2fbf0f013850e0968baa61628b015c6551 Mon Sep 17 00:00:00 2001 From: zhangzq Date: Tue, 7 May 2024 17:18:06 +0800 Subject: [PATCH] =?UTF-8?q?add:=E6=B7=BB=E5=8A=A0=E5=AD=90=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/org/nl/AppRun.java | 12 +- .../java/org/nl/common/enums/TaskEnum.java | 41 +++ .../org/nl/common/utils/InterationUtil.java | 52 +++ .../nl/common/utils/SpringContextHolder.java | 2 + .../service/dao/MdMeMaterialbase.java | 2 +- .../dao/mapper/xml/MdMeMaterialbaseMapper.xml | 2 +- .../service/IStIvtStructattrService.java | 11 + .../struct/service/dao/StIvtStructattr.java | 23 +- .../struct/service/dto/StructattrQuery.java | 24 ++ .../impl/StIvtStructattrServiceImpl.java | 9 + .../service/IBmFormStrucService.java | 2 +- .../form_struc/service/dao/BmFormStruc.java | 4 + .../service/impl/BmFormStrucServiceImpl.java | 9 + .../StStrategyConfigController.java | 11 +- .../decision_manage/handler/Decisioner.java | 33 ++ .../impl/base/AlleyAveRuleHandler.java | 56 ++-- .../impl/base/ClusterRuleHandler.java | 22 +- .../impl/base/FIFORuleHandler.java | 8 +- .../impl/base/LimitStorageRuleHandler.java | 16 +- .../impl/base/NearbyRuleHandler.java | 14 +- .../impl/base/WeightRuleHandler.java | 14 +- .../impl/base/出入库基础规则.md | 0 .../handler/impl/diy/ClassRuleHandler.java | 18 ++ .../handler/service/DecisionHandler.java | 12 - .../service/impl/diy/ClassRuleHandler.java | 20 -- .../service/IStStrategyConfigService.java | 6 +- .../service/dao/StStrategyConfig.java | 40 +-- .../dao/mapper/StStrategyConfigMapper.java | 6 +- .../dao/mapper/xml/StStrategyConfigMapper.xml | 2 +- .../service/dto/StrategyQuery.java | 6 +- .../impl/StStrategyConfigServiceImpl.java | 27 +- .../dispatch/TaskDispatchService.java | 31 ++ .../controller/SchBaseTaskController.java | 21 ++ .../task/handler/TaskHandler.java | 15 + .../task/handler/impl/AgvTaskHandler.java | 20 ++ .../handler/impl/StackingTaskHandler.java | 20 ++ .../task/service/ISchBaseTaskService.java | 18 ++ .../task/service/dao/SchBaseTask.java | 134 ++++++++ .../service/dao/mapper/SchBaseTaskMapper.java | 16 + .../dao/mapper/xml/SchBaseTaskMapper.xml | 5 + .../service/impl/SchBaseTaskServiceImpl.java | 37 +++ .../acs/controller/WmsToAcsController.java | 8 + .../acs/service/WmsToAcsService.java | 51 +++ .../acs/service/dto/TransferDto.java | 41 +++ .../converter/BpmnJSONConverter.java | 18 +- .../converter/node/BaseNodeConverter.java | 6 +- .../node/impl/EndEventConverter.java | 7 +- .../converter/node/impl/FormConverter.java | 18 +- .../converter/node/impl/GatewayConverter.java | 12 +- .../converter/node/impl/SendMsgConverter.java | 11 +- .../node/impl/SequenceFlowConverter.java | 7 +- .../node/impl/ServerTaskConverter.java | 19 +- .../node/impl/StartEventConverter.java | 15 +- .../node/impl/SubProcessConverter.java | 51 +++ .../engine/agenda/FlowableEngineAgenda.java | 10 + .../behavior/FlowNodeActivityBehavior.java | 30 +- .../impl/EndEventActivityBehavior.java | 34 +- .../behavior/impl/FormActivityBehavior.java | 94 +++++- .../impl/IostorInActivityBehavior.java | 79 ----- .../impl/ServerTaskActivityBehavior.java | 32 +- .../impl/StartEventActivityBehavior.java | 2 + .../impl/SubProcessActivityBehavior.java | 117 +++++++ .../framework/engine/cmd/CommandExecutor.java | 1 - .../operation/impl/SequenceFlowOperation.java | 1 + .../framework/entity/ExecutionEntity.java | 25 +- .../entity/node/base/impl/FlowNode.java | 1 + .../node/impl/SubProcess/SubProcess.java | 34 ++ .../entity/node/impl/task/impl/Form.java | 1 + .../node/impl/task/impl/ServerTask.java | 16 + .../process/nodeType/TypeHandler.java | 2 +- .../nodeType/excess/impl/ClassHandler.java | 8 +- .../nodeType/excess/impl/DecisionHandler.java | 83 +++++ .../excess/impl/ExpressionHandler.java | 2 +- .../nodeType/excess/impl/MappingHandler.java | 51 ++- .../nodeType/excess/impl/ScriptHandler.java | 2 +- .../source/SourceDataTypeHandler.java | 5 +- .../impl/ClassSourceDataTypeHandler.java | 48 +-- .../impl/MappingSourceDataTypeHandler.java | 80 ++--- .../impl/ScriptSourceDataTypeHandler.java | 44 +-- .../flow/service/enums/TaskTypeEnum.java | 10 +- .../service/execution/dao/ActRuExecution.java | 7 + .../impl/FlowOperationServiceImpl.java | 7 +- .../service/history/dao/ActHiExecution.java | 8 + .../controller/MdGruopDickController.java | 4 +- .../service/IMdGroupMstService.java | 16 + .../service/IMdGruopDickService.java | 2 +- .../group_dick/service/dao/MdGroupMst.java | 66 ++++ .../group_dick/service/dao/MdGruopDick.java | 6 +- .../service/dao/mapper/MdGroupMstMapper.java | 16 + .../dao/mapper/xml/MdGroupMstMapper.xml | 5 + .../service/impl/MdGroupMstServiceImpl.java | 20 ++ .../service/impl/MdGruopDickServiceImpl.java | 41 ++- .../form_data/service/dao/PmFormData.java | 27 +- .../form_data/service/dto/PmFormDataDto.java | 4 +- .../service/impl/PmFormDataServiceImpl.java | 9 +- .../iostor_dtl/dao/StIvtIostorinvdtlIn.java | 10 + .../iostor_dis/IStIvtIostorinvdisService.java | 16 + .../iostor_dis/dao/StIvtIostorinvdis.java | 56 ++++ .../dao/mapper/StIvtIostorinvdisMapper.java | 16 + .../mapper/xml/StIvtIostorinvdisMapper.xml | 5 + .../impl/StIvtIostorinvdisServiceImpl.java | 20 ++ .../form_mapping/dao/SyncFormMapping.java | 3 +- .../impl/SyncFormMappingServiceImpl.java | 4 +- .../resources/config/application-dev3.yml | 2 +- wms_pro/qd/package.json | 1 + .../wms/base_manage/material/MaterDialog.vue | 6 - .../views/wms/base_manage/material/index.vue | 2 +- .../strategy/AddDialog.vue | 10 +- .../strategy/index.vue | 25 +- .../strategy/strategy.js | 0 .../wms/md_manage/group_dick/AddDialog.vue | 304 ++++++++++++++++++ .../views/wms/md_manage/group_dick/index.vue | 111 +------ .../views/wms/stor_manage/in/ViewDialog.vue | 3 +- 113 files changed, 2122 insertions(+), 607 deletions(-) create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/common/enums/TaskEnum.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/common/utils/InterationUtil.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/struct/service/dto/StructattrQuery.java rename wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/{base_manage/strategy => decision_manage}/controller/StStrategyConfigController.java (80%) create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/Decisioner.java rename wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/{service => }/impl/base/AlleyAveRuleHandler.java (84%) rename wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/{service => }/impl/base/ClusterRuleHandler.java (90%) rename wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/{service => }/impl/base/FIFORuleHandler.java (95%) rename wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/{service => }/impl/base/LimitStorageRuleHandler.java (91%) rename wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/{service => }/impl/base/NearbyRuleHandler.java (92%) rename wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/{service => }/impl/base/WeightRuleHandler.java (92%) rename wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/{service => }/impl/base/出入库基础规则.md (100%) create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/impl/diy/ClassRuleHandler.java delete mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/DecisionHandler.java delete mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/impl/diy/ClassRuleHandler.java rename wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/{base_manage/strategy => decision_manage}/service/IStStrategyConfigService.java (82%) rename wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/{base_manage/strategy => decision_manage}/service/dao/StStrategyConfig.java (69%) rename wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/{base_manage/strategy => decision_manage}/service/dao/mapper/StStrategyConfigMapper.java (75%) rename wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/{base_manage/strategy => decision_manage}/service/dao/mapper/xml/StStrategyConfigMapper.xml (86%) rename wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/{base_manage/strategy => decision_manage}/service/dto/StrategyQuery.java (71%) rename wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/{base_manage/strategy => decision_manage}/service/impl/StStrategyConfigServiceImpl.java (76%) create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/dispatch/TaskDispatchService.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/controller/SchBaseTaskController.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/handler/TaskHandler.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/handler/impl/AgvTaskHandler.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/handler/impl/StackingTaskHandler.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/ISchBaseTaskService.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/dao/SchBaseTask.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/dao/mapper/SchBaseTaskMapper.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/dao/mapper/xml/SchBaseTaskMapper.xml create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/impl/SchBaseTaskServiceImpl.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/external_system/acs/controller/WmsToAcsController.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/external_system/acs/service/WmsToAcsService.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/external_system/acs/service/dto/TransferDto.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/converter/node/impl/SubProcessConverter.java delete mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/engine/behavior/impl/IostorInActivityBehavior.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/engine/behavior/impl/SubProcessActivityBehavior.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/entity/node/impl/SubProcess/SubProcess.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/entity/node/impl/task/impl/ServerTask.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/process/nodeType/excess/impl/DecisionHandler.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/md_manage/group_dick/service/IMdGroupMstService.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/md_manage/group_dick/service/dao/MdGroupMst.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/md_manage/group_dick/service/dao/mapper/MdGroupMstMapper.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/md_manage/group_dick/service/dao/mapper/xml/MdGroupMstMapper.xml create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/md_manage/group_dick/service/impl/MdGroupMstServiceImpl.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/service/iostor_dis/IStIvtIostorinvdisService.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/service/iostor_dis/dao/StIvtIostorinvdis.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/service/iostor_dis/dao/mapper/StIvtIostorinvdisMapper.java create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/service/iostor_dis/dao/mapper/xml/StIvtIostorinvdisMapper.xml create mode 100644 wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/service/iostor_dis/impl/StIvtIostorinvdisServiceImpl.java rename wms_pro/qd/src/views/wms/{base_manage => decision_manage}/strategy/AddDialog.vue (94%) rename wms_pro/qd/src/views/wms/{base_manage => decision_manage}/strategy/index.vue (83%) rename wms_pro/qd/src/views/wms/{base_manage => decision_manage}/strategy/strategy.js (100%) create mode 100644 wms_pro/qd/src/views/wms/md_manage/group_dick/AddDialog.vue diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/AppRun.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/AppRun.java index 48702557..d7e2d7e1 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/AppRun.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/AppRun.java @@ -4,6 +4,8 @@ import cn.dev33.satoken.annotation.SaIgnore; import org.mybatis.spring.annotation.MapperScan; import org.nl.common.utils.SpringContextHolder; +import org.springframework.beans.factory.BeanFactory; +import org.springframework.beans.factory.support.AbstractBeanFactory; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -11,6 +13,7 @@ import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactor import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.boot.web.servlet.server.ServletWebServerFactory; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Import; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.web.bind.annotation.GetMapping; @@ -35,7 +38,6 @@ public class AppRun implements CommandLineRunner { public static void main(String[] args) { - SpringApplication.run(AppRun.class, args); } @@ -46,10 +48,10 @@ public class AppRun implements CommandLineRunner { System.out.println(111); } - @Bean - public SpringContextHolder springContextHolder() { - return new SpringContextHolder(); - } +// @Bean +// public SpringContextHolder springContextHolder() { +// return new SpringContextHolder(); +// } @Bean public ServletWebServerFactory webServerFactory() { diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/enums/TaskEnum.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/enums/TaskEnum.java new file mode 100644 index 00000000..b8894b3c --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/enums/TaskEnum.java @@ -0,0 +1,41 @@ +package org.nl.common.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import org.apache.commons.lang3.StringUtils; +import org.nl.common.domain.exception.BadRequestException; +import org.nl.common.utils.MapOf; + +import java.util.Map; + +/* + * @author ZZQ + * @Date 2024/4/23 10:49 + */ +@Getter +@AllArgsConstructor +public enum TaskEnum { + //单据状态库类型 + TASK_TYPE(MapOf.of("入库任务", "10", "出库任务", "20","移库", "30")), + //acs的任务类型 + ACS_TYPE(MapOf.of("堆垛机", "1", "agv", "2")); + + private Map code; + + public String code(String desc) { + String code = this.getCode().get(desc); + if (StringUtils.isNotEmpty(code)) { + return code; + } + throw new BadRequestException(this.name() + "对应类型" + desc + "未定义"); + } + + public String check(String code) { + for (Map.Entry entry : this.getCode().entrySet()) { + if (entry.getValue().equals("code")) { + return entry.getValue(); + } + } + throw new BadRequestException(this.name() + "对应类型" + code + "未定义"); + } +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/utils/InterationUtil.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/utils/InterationUtil.java new file mode 100644 index 00000000..caa3e95c --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/utils/InterationUtil.java @@ -0,0 +1,52 @@ + +package org.nl.common.utils; + +import cn.hutool.http.HttpRequest; +import cn.hutool.http.HttpStatus; +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.domain.exception.BadRequestException; +import org.nl.wms.system_manage.service.param.impl.SysParamServiceImpl; + + +/** + * 外部系统交互工具 + */ +@Slf4j +public class InterationUtil { + + //枚举状态 + private static final String STATUS_FLASE = "0"; + + /** + * http请求交互 + * @param api + * @param param + * @return + */ + public static JSONObject notifyExt(String api, JSONObject param) { + log.info("下发ACS参数----------------------------------------+"+api+",---"+param.toString()); + String isConnect = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("IS_CONNECT_ACS").getValue(); + JSONObject result = new JSONObject(); + if (STATUS_FLASE.equals(isConnect)) { + result.put("status", HttpStatus.HTTP_OK); + result.put("message", "下发成功,但未连接ACS!"); + result.put("data", new JSONObject()); + return result; + } + //ACS地址:127.0.0.1:8010 + String acsUrl = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("acs_url").getValue(); + String url = acsUrl + api; + try { + String resultMsg = HttpRequest.post(url) + .body(String.valueOf(param)) + .execute().body(); + result = JSONObject.parseObject(resultMsg); + log.info("ACS相应参数----------------------------------------+"+api+",---"+result.toString()); + } catch (Exception e) { + log.info("ACS反馈异常----------------------------------------+"+api+",---"+e.getMessage()); + throw new BadRequestException("acs:网络不同"); + } + return result; + } +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/utils/SpringContextHolder.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/utils/SpringContextHolder.java index 7fb265ad..55b14977 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/utils/SpringContextHolder.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/utils/SpringContextHolder.java @@ -7,6 +7,7 @@ import org.springframework.beans.factory.DisposableBean; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.core.env.Environment; +import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; @@ -16,6 +17,7 @@ import java.util.List; * @Date 2024/2/2 10:39 */ @Slf4j +@Service public class SpringContextHolder implements ApplicationContextAware, DisposableBean { private static ApplicationContext applicationContext = null; diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/material/service/dao/MdMeMaterialbase.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/material/service/dao/MdMeMaterialbase.java index 136b2c8e..0483fea4 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/material/service/dao/MdMeMaterialbase.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/material/service/dao/MdMeMaterialbase.java @@ -62,7 +62,7 @@ public class MdMeMaterialbase implements Serializable { /** * 基本计量单位 */ - private String base_unit_id; + private String qty_unit_id; /** * 辅助计量单位 diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/material/service/dao/mapper/xml/MdMeMaterialbaseMapper.xml b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/material/service/dao/mapper/xml/MdMeMaterialbaseMapper.xml index 87bd1bc8..217d0fa7 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/material/service/dao/mapper/xml/MdMeMaterialbaseMapper.xml +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/material/service/dao/mapper/xml/MdMeMaterialbaseMapper.xml @@ -15,7 +15,7 @@ FROM md_me_materialbase mb LEFT JOIN MD_PB_ClassStandard class ON class.class_id = mb.material_type_id - LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = mb.base_unit_id + LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = mb.qty_unit_id left join MD_PB_ClassStandard class2 on class2.class_id =mb.product_series WHERE mb.is_delete = '0' diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/struct/service/IStIvtStructattrService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/struct/service/IStIvtStructattrService.java index e3b752d7..b13e3e48 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/struct/service/IStIvtStructattrService.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/struct/service/IStIvtStructattrService.java @@ -2,6 +2,10 @@ package org.nl.wms.base_manage.struct.service; import org.nl.wms.base_manage.struct.service.dao.StIvtStructattr; import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.wms.base_manage.struct.service.dto.StructattrQuery; + +import java.util.List; +import java.util.Map; /** *

@@ -13,4 +17,11 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface IStIvtStructattrService extends IService { + /** + * 查询仓位物料信息 + * @return + * @param query + */ + List> getByQuery(StructattrQuery query); + } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/struct/service/dao/StIvtStructattr.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/struct/service/dao/StIvtStructattr.java index d6fc0eb2..47a9189d 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/struct/service/dao/StIvtStructattr.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/struct/service/dao/StIvtStructattr.java @@ -39,12 +39,12 @@ public class StIvtStructattr implements Serializable { /** * 库区标识 */ - private String sect_id; + private String sect_code; /** * 仓库标识 */ - private String stor_id; + private String stor_code; /** * 容量 @@ -89,32 +89,32 @@ public class StIvtStructattr implements Serializable { /** * 排 */ - private BigDecimal row_num; + private Integer row_num; /** * 列 */ - private BigDecimal col_num; + private Integer col_num; /** * 层 */ - private BigDecimal layer_num; + private Integer layer_num; /** * 块 */ - private BigDecimal block_num; + private Integer block_num; /** * 入库顺序 */ - private BigDecimal in_order_seq; + private Integer in_order_seq; /** * 出库库顺序 */ - private BigDecimal out_order_seq; + private Integer out_order_seq; /** * 放置类型 @@ -157,15 +157,10 @@ public class StIvtStructattr implements Serializable { private String is_zdepth; /** - * 是否空载具 + * 是否空位 */ private Boolean is_emp; - /** - * 物料标识 - */ - private String material_id; - /** * 存储载具号 */ diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/struct/service/dto/StructattrQuery.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/struct/service/dto/StructattrQuery.java new file mode 100644 index 00000000..de26f9bb --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/struct/service/dto/StructattrQuery.java @@ -0,0 +1,24 @@ +package org.nl.wms.base_manage.struct.service.dto; + +import lombok.Data; +import org.nl.common.domain.entity.BaseQuery; +import org.nl.common.domain.entity.QParam; +import org.nl.common.enums.QueryTEnum; +import org.nl.wms.base_manage.measure.service.dao.BmMeasureUnit; +import org.nl.wms.base_manage.struct.service.dao.StIvtStructattr; + +/* + * @author ZZQ + * @Date 2023/5/4 19:49 + */ +@Data +public class StructattrQuery extends BaseQuery { + + private String search; + @Override + public void paramMapping() { + super.doP.put("search", QParam.builder().k(new String[]{"unit_name"}).type(QueryTEnum.LK).build()); + } + + +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/struct/service/impl/StIvtStructattrServiceImpl.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/struct/service/impl/StIvtStructattrServiceImpl.java index e4fb4615..3169ef9e 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/struct/service/impl/StIvtStructattrServiceImpl.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/struct/service/impl/StIvtStructattrServiceImpl.java @@ -4,8 +4,12 @@ import org.nl.wms.base_manage.struct.service.dao.StIvtStructattr; import org.nl.wms.base_manage.struct.service.dao.mapper.StIvtStructattrMapper; import org.nl.wms.base_manage.struct.service.IStIvtStructattrService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.nl.wms.base_manage.struct.service.dto.StructattrQuery; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Map; + /** *

* 仓位属性表 服务实现类 @@ -17,4 +21,9 @@ import org.springframework.stereotype.Service; @Service public class StIvtStructattrServiceImpl extends ServiceImpl implements IStIvtStructattrService { + @Override + public List> getByQuery(StructattrQuery query) { + List> maps = this.listMaps(query.build()); + return maps; + } } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/config_manage/form_struc/service/IBmFormStrucService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/config_manage/form_struc/service/IBmFormStrucService.java index 1586776e..bc7ffce2 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/config_manage/form_struc/service/IBmFormStrucService.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/config_manage/form_struc/service/IBmFormStrucService.java @@ -12,5 +12,5 @@ import org.nl.wms.config_manage.form_struc.service.dao.BmFormStruc; * @since 2024-03-25 */ public interface IBmFormStrucService extends IService { - + BmFormStruc getFormType(String form_type); } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/config_manage/form_struc/service/dao/BmFormStruc.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/config_manage/form_struc/service/dao/BmFormStruc.java index 879b5e27..7e145a59 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/config_manage/form_struc/service/dao/BmFormStruc.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/config_manage/form_struc/service/dao/BmFormStruc.java @@ -84,6 +84,10 @@ public class BmFormStruc implements Serializable { * 物料id */ private String material_id; + /** + * 载具 + */ + private String vehicle_code; /** * 数量 diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/config_manage/form_struc/service/impl/BmFormStrucServiceImpl.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/config_manage/form_struc/service/impl/BmFormStrucServiceImpl.java index 4c08330c..d632c6e8 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/config_manage/form_struc/service/impl/BmFormStrucServiceImpl.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/config_manage/form_struc/service/impl/BmFormStrucServiceImpl.java @@ -1,6 +1,8 @@ package org.nl.wms.config_manage.form_struc.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; import org.nl.wms.config_manage.form_struc.service.dao.BmFormStruc; import org.nl.wms.config_manage.form_struc.service.dao.mapper.BmFormStrucMapper; import org.nl.wms.config_manage.form_struc.service.IBmFormStrucService; @@ -17,4 +19,11 @@ import org.springframework.stereotype.Service; @Service public class BmFormStrucServiceImpl extends ServiceImpl implements IBmFormStrucService { + @Override + public BmFormStruc getFormType(String form_type) { + if (!StringUtils.isEmpty(form_type)){ + return this.getOne(new QueryWrapper().eq("form_type",form_type)); + } + return null; + } } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/strategy/controller/StStrategyConfigController.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/controller/StStrategyConfigController.java similarity index 80% rename from wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/strategy/controller/StStrategyConfigController.java rename to wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/controller/StStrategyConfigController.java index e8da854c..fe9e2d45 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/strategy/controller/StStrategyConfigController.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/controller/StStrategyConfigController.java @@ -1,11 +1,12 @@ -package org.nl.wms.base_manage.strategy.controller; +package org.nl.wms.decision_manage.controller; +import org.nl.common.TableDataInfo; import org.nl.common.anno.Log; import org.nl.common.domain.entity.PageQuery; -import org.nl.wms.base_manage.strategy.service.IStStrategyConfigService; -import org.nl.wms.base_manage.strategy.service.dao.StStrategyConfig; -import org.nl.wms.base_manage.strategy.service.dto.StrategyQuery; +import org.nl.wms.decision_manage.service.IStStrategyConfigService; +import org.nl.wms.decision_manage.service.dao.StStrategyConfig; +import org.nl.wms.decision_manage.service.dto.StrategyQuery; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -30,7 +31,7 @@ public class StStrategyConfigController { @GetMapping @Log("分页查询") public ResponseEntity query(StrategyQuery query, PageQuery page) { - return new ResponseEntity<>(iStStrategyConfigService.pageQuery(query, page), HttpStatus.OK); + return new ResponseEntity<>(TableDataInfo.build(iStStrategyConfigService.page(page.build(),query.build())), HttpStatus.OK); } @PostMapping diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/Decisioner.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/Decisioner.java new file mode 100644 index 00000000..24fe2b60 --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/Decisioner.java @@ -0,0 +1,33 @@ +package org.nl.wms.decision_manage.handler; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.nl.common.utils.SpringContextHolder; +import org.nl.wms.decision_manage.service.IStStrategyConfigService; +import org.nl.wms.decision_manage.service.dao.StStrategyConfig; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.ResolvableType; + +import java.util.List; + +/* + * @author ZZQ + * @Date 2024/4/6 16:13 + */ +public abstract class Decisioner implements InitializingBean { + + //每个策略的配置信息 + public StStrategyConfig strategyConfig; + @Autowired + private IStStrategyConfigService iStStrategyConfigService; + + public abstract List handler(List list, P param); + + @Override + public void afterPropertiesSet(){ + String type = SpringContextHolder.getApplicationContext().getBeanNamesForType(ResolvableType.forClass(this.getClass()))[0]; + this.strategyConfig =iStStrategyConfigService.getOne(new QueryWrapper().eq("strategy_code",type)); + } + +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/impl/base/AlleyAveRuleHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/impl/base/AlleyAveRuleHandler.java similarity index 84% rename from wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/impl/base/AlleyAveRuleHandler.java rename to wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/impl/base/AlleyAveRuleHandler.java index e34409c7..2fa41ca2 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/impl/base/AlleyAveRuleHandler.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/impl/base/AlleyAveRuleHandler.java @@ -1,4 +1,4 @@ -package org.nl.wms.decision_manage.handler.service.impl.base; +package org.nl.wms.decision_manage.handler.impl.base; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; @@ -7,9 +7,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.nl.common.domain.exception.BadRequestException; import org.nl.wms.base_manage.struct.service.IStIvtStructattrService; import org.nl.wms.base_manage.struct.service.dao.StIvtStructattr; +import org.nl.wms.base_manage.struct.service.dto.StructattrQuery; import org.nl.wms.base_manage.vehicleext.service.IMdPbStoragevehicleextService; import org.nl.wms.base_manage.vehicleext.service.dao.MdPbStoragevehicleext; -import org.nl.wms.decision_manage.handler.service.DecisionHandler; +import org.nl.wms.decision_manage.handler.Decisioner; +import org.nl.wms.pm_manage.form_data.service.dao.PmFormData; import org.nl.wms.stor_manage.service.in.iostor_dtl.IStIvtIostorinvdtlInService; import org.nl.wms.stor_manage.service.in.iostor_dtl.dao.StIvtIostorinvdtlIn; import org.springframework.beans.factory.annotation.Autowired; @@ -26,14 +28,8 @@ import java.util.stream.Collectors; * @Date 2024/4/6 16:18 * 巷道均衡策略 */ -@Service -public class AlleyAveRuleHandler extends DecisionHandler { - - /** - * 仓位服务 - */ - @Autowired - private IStIvtStructattrService iStIvtStructattrService; +@Service("alleyAve") +public class AlleyAveRuleHandler extends Decisioner { /** * 出入库明细服务 @@ -41,6 +37,10 @@ public class AlleyAveRuleHandler extends DecisionHandler @Autowired private IStIvtIostorinvdtlInService iStIvtIostorinvdtlService; + @Autowired + private IStIvtStructattrService iStIvtStructattrService; + + /** * 载具扩展属性服务服务 */ @@ -50,7 +50,7 @@ public class AlleyAveRuleHandler extends DecisionHandler /** * 巷道均衡策略 * @param list :仓位集合 - * @param param:物料相关信息、出入类型:{ + * @param param:出入库单明细:物料相关信息、出入类型:{ * ioType: 出入类型 * materialId: 物料标识 * ... @@ -58,25 +58,22 @@ public class AlleyAveRuleHandler extends DecisionHandler * @return List :仓位集合 */ @Override - public List handler(List list, String param) { + public List handler(List list, PmFormData param) { // 判断仓位是否为空 if (ObjectUtil.isEmpty(list)) { - throw new BadRequestException("仓位集合为空!"); + return list; } - // 判断策略类型 - JSONObject jsonParam = JSONObject.parseObject(param, JSONObject.class); - List resultList = new ArrayList<>(); - switch (jsonParam.getString("ioType")) { + switch (strategyConfig.getStrategy_type()) { case "1": // 入库策略 - resultList = inHandler(list,jsonParam); + resultList = inHandler(list,param); break; case "2": // 出库策略 - resultList = outHandler(list,jsonParam); +// resultList = outHandler(list,jsonParam); break; case "3": // 通用策略 @@ -93,19 +90,17 @@ public class AlleyAveRuleHandler extends DecisionHandler * @param jsonParam:materialId :物料标识(此方法只根据物料进行匹配) * @return List :仓位集合 */ - private List inHandler(List attrList, JSONObject jsonParam) { + private List inHandler(List attrList, PmFormData jsonParam) { // in查询条件处理 - List blockNumIn = attrList.stream() + List blockNumIn = attrList.stream() .map(StIvtStructattr::getBlock_num) .distinct() .collect(Collectors.toList()); // 查询相同巷道货位相同物料 - List blockAttrList = iStIvtStructattrService.list( - new QueryWrapper().lambda() - .eq(StIvtStructattr::getMaterial_id, jsonParam.getString("materialId")) - .in(StIvtStructattr::getBlock_num, blockNumIn) - ); + List blockAttrList = null; + iStIvtStructattrService.getByQuery(new StructattrQuery()); + // 如果为空说明这些巷道都没有相同物料的巷道,则返回所有仓位 if (ObjectUtil.isEmpty(blockAttrList)) { @@ -113,14 +108,14 @@ public class AlleyAveRuleHandler extends DecisionHandler } // 计算每个巷道的相同物料 - Map> collectMap = blockAttrList.stream() + Map> collectMap = blockAttrList.stream() .collect(Collectors.groupingBy(StIvtStructattr::getBlock_num)); // 巷道 int blockNum = blockAttrList.get(0).getBlock_num().intValue(); // 集合数量 int size = blockAttrList.size(); - for (BigDecimal num : collectMap.keySet()) { + for (Integer num : collectMap.keySet()) { int min = Math.min(size, collectMap.get(num).size()); if (size > min) { @@ -216,7 +211,7 @@ public class AlleyAveRuleHandler extends DecisionHandler */ private int getMaxMaterial(List attrList) { // 根据巷道分组 - Map> collectMap = attrList.stream() + Map> collectMap = attrList.stream() .collect(Collectors.groupingBy(StIvtStructattr::getBlock_num)); // 找最大物料巷道 @@ -225,7 +220,7 @@ public class AlleyAveRuleHandler extends DecisionHandler // 集合数量 int size = 0; - for (BigDecimal num : collectMap.keySet()) { + for (Integer num : collectMap.keySet()) { int max = Math.max(size, collectMap.get(num).size()); if (size < max) { @@ -237,4 +232,5 @@ public class AlleyAveRuleHandler extends DecisionHandler return blockNum; } + } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/impl/base/ClusterRuleHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/impl/base/ClusterRuleHandler.java similarity index 90% rename from wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/impl/base/ClusterRuleHandler.java rename to wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/impl/base/ClusterRuleHandler.java index 983f5129..13ae7aeb 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/impl/base/ClusterRuleHandler.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/impl/base/ClusterRuleHandler.java @@ -1,15 +1,16 @@ -package org.nl.wms.decision_manage.handler.service.impl.base; +package org.nl.wms.decision_manage.handler.impl.base; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.nl.common.domain.exception.BadRequestException; +import org.nl.common.utils.ListOf; import org.nl.wms.base_manage.struct.service.IStIvtStructattrService; import org.nl.wms.base_manage.struct.service.dao.StIvtStructattr; import org.nl.wms.base_manage.vehicleext.service.IMdPbStoragevehicleextService; import org.nl.wms.base_manage.vehicleext.service.dao.MdPbStoragevehicleext; -import org.nl.wms.decision_manage.handler.service.DecisionHandler; +import org.nl.wms.decision_manage.handler.Decisioner; import org.nl.wms.stor_manage.service.in.iostor_dtl.IStIvtIostorinvdtlInService; import org.nl.wms.stor_manage.service.in.iostor_dtl.dao.StIvtIostorinvdtlIn; import org.springframework.beans.factory.annotation.Autowired; @@ -25,8 +26,8 @@ import java.util.stream.Collectors; * @Date 2024/4/6 16:18 * 同类型聚簇策略 */ -@Service -public class ClusterRuleHandler extends DecisionHandler { +@Service("cluster") +public class ClusterRuleHandler extends Decisioner { /** * 仓位服务 @@ -95,17 +96,18 @@ public class ClusterRuleHandler extends DecisionHandler private List inHandler(List attrList, JSONObject jsonParam) { // in查询条件处理 - List rowNumIn = attrList.stream() + List rowNumIn = attrList.stream() .map(StIvtStructattr::getRow_num) .distinct() .collect(Collectors.toList()); // 查询仓位中是否有相同的物料 - List attrLikeList = iStIvtStructattrService.list( - new QueryWrapper().lambda() - .eq(StIvtStructattr::getMaterial_id, jsonParam.getString("materialId")) - .in(StIvtStructattr::getRow_num, rowNumIn) - ); + List attrLikeList = ListOf.of(); +// = iStIvtStructattrService.list( +// new QueryWrapper().lambda() +// .eq(StIvtStructattr::getMaterial_id, jsonParam.getString("materialId")) +// .in(StIvtStructattr::getRow_num, rowNumIn) + if (ObjectUtil.isEmpty(attrLikeList)) { return attrList; diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/impl/base/FIFORuleHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/impl/base/FIFORuleHandler.java similarity index 95% rename from wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/impl/base/FIFORuleHandler.java rename to wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/impl/base/FIFORuleHandler.java index ebbf6912..94b4e5cf 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/impl/base/FIFORuleHandler.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/impl/base/FIFORuleHandler.java @@ -1,4 +1,4 @@ -package org.nl.wms.decision_manage.handler.service.impl.base; +package org.nl.wms.decision_manage.handler.impl.base; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; @@ -8,10 +8,11 @@ import org.nl.common.domain.exception.BadRequestException; import org.nl.wms.base_manage.struct.service.dao.StIvtStructattr; import org.nl.wms.base_manage.vehicleext.service.IMdPbStoragevehicleextService; import org.nl.wms.base_manage.vehicleext.service.dao.MdPbStoragevehicleext; -import org.nl.wms.decision_manage.handler.service.DecisionHandler; +import org.nl.wms.decision_manage.handler.Decisioner; import org.nl.wms.stor_manage.service.in.iostor_dtl.IStIvtIostorinvdtlInService; import org.nl.wms.stor_manage.service.in.iostor_dtl.dao.StIvtIostorinvdtlIn; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.ArrayList; @@ -23,7 +24,8 @@ import java.util.stream.Collectors; * @Date 2024/4/6 16:18 * 先进先出策略 */ -public class FIFORuleHandler extends DecisionHandler { +@Service("fifo") +public class FIFORuleHandler extends Decisioner { /** * 出入库明细服务 diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/impl/base/LimitStorageRuleHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/impl/base/LimitStorageRuleHandler.java similarity index 91% rename from wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/impl/base/LimitStorageRuleHandler.java rename to wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/impl/base/LimitStorageRuleHandler.java index 5ded3ee1..3f1cb813 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/impl/base/LimitStorageRuleHandler.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/impl/base/LimitStorageRuleHandler.java @@ -1,14 +1,17 @@ -package org.nl.wms.decision_manage.handler.service.impl.base; +package org.nl.wms.decision_manage.handler.impl.base; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.nl.common.domain.exception.BadRequestException; +import org.nl.common.utils.SpringContextHolder; import org.nl.wms.base_manage.struct.service.dao.StIvtStructattr; import org.nl.wms.base_manage.vehicleext.service.IMdPbStoragevehicleextService; import org.nl.wms.base_manage.vehicleext.service.dao.MdPbStoragevehicleext; -import org.nl.wms.decision_manage.handler.service.DecisionHandler; +import org.nl.wms.decision_manage.handler.Decisioner; +import org.nl.wms.decision_manage.service.IStStrategyConfigService; +import org.nl.wms.decision_manage.service.dao.StStrategyConfig; import org.nl.wms.stor_manage.service.in.iostor_dtl.IStIvtIostorinvdtlInService; import org.nl.wms.stor_manage.service.in.iostor_dtl.dao.StIvtIostorinvdtlIn; import org.springframework.beans.factory.annotation.Autowired; @@ -24,9 +27,10 @@ import java.util.stream.Collectors; * @Date 2024/4/6 16:18 * 货位限位策略:限高,限宽,双货位 */ -@Service -public class LimitStorageRuleHandler extends DecisionHandler { - +@Service("limitStorage") +public class LimitStorageRuleHandler extends Decisioner { + //每个策略的配置信息 + private static StStrategyConfig Strategy_Config; /** * 出入库明细服务 */ @@ -61,7 +65,7 @@ public class LimitStorageRuleHandler extends DecisionHandler resultList = new ArrayList<>(); - switch (jsonParam.getString("ioType")) { + switch (Strategy_Config.getStrategy_type()) { case "1": // 入库策略 resultList = inHandler(list,jsonParam); diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/impl/base/NearbyRuleHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/impl/base/NearbyRuleHandler.java similarity index 92% rename from wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/impl/base/NearbyRuleHandler.java rename to wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/impl/base/NearbyRuleHandler.java index c3493719..da7cd9a7 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/impl/base/NearbyRuleHandler.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/impl/base/NearbyRuleHandler.java @@ -1,14 +1,17 @@ -package org.nl.wms.decision_manage.handler.service.impl.base; +package org.nl.wms.decision_manage.handler.impl.base; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.nl.common.domain.exception.BadRequestException; +import org.nl.common.utils.SpringContextHolder; import org.nl.wms.base_manage.struct.service.dao.StIvtStructattr; import org.nl.wms.base_manage.vehicleext.service.IMdPbStoragevehicleextService; import org.nl.wms.base_manage.vehicleext.service.dao.MdPbStoragevehicleext; -import org.nl.wms.decision_manage.handler.service.DecisionHandler; +import org.nl.wms.decision_manage.handler.Decisioner; +import org.nl.wms.decision_manage.service.IStStrategyConfigService; +import org.nl.wms.decision_manage.service.dao.StStrategyConfig; import org.nl.wms.stor_manage.service.in.iostor_dtl.IStIvtIostorinvdtlInService; import org.nl.wms.stor_manage.service.in.iostor_dtl.dao.StIvtIostorinvdtlIn; import org.springframework.beans.factory.annotation.Autowired; @@ -25,9 +28,10 @@ import java.util.stream.Collectors; * @Date 2024/4/6 16:18 * 就近放置策略:根据物料ABC类区分 */ -@Service -public class NearbyRuleHandler extends DecisionHandler { - +@Service("nearby") +public class NearbyRuleHandler extends Decisioner { + //每个策略的配置信息 + private static StStrategyConfig stStrategyConfig; /** * 出入库明细服务 */ diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/impl/base/WeightRuleHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/impl/base/WeightRuleHandler.java similarity index 92% rename from wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/impl/base/WeightRuleHandler.java rename to wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/impl/base/WeightRuleHandler.java index f91f1626..3c844af9 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/impl/base/WeightRuleHandler.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/impl/base/WeightRuleHandler.java @@ -1,14 +1,17 @@ -package org.nl.wms.decision_manage.handler.service.impl.base; +package org.nl.wms.decision_manage.handler.impl.base; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.nl.common.domain.exception.BadRequestException; +import org.nl.common.utils.SpringContextHolder; import org.nl.wms.base_manage.struct.service.dao.StIvtStructattr; import org.nl.wms.base_manage.vehicleext.service.IMdPbStoragevehicleextService; import org.nl.wms.base_manage.vehicleext.service.dao.MdPbStoragevehicleext; -import org.nl.wms.decision_manage.handler.service.DecisionHandler; +import org.nl.wms.decision_manage.handler.Decisioner; +import org.nl.wms.decision_manage.service.IStStrategyConfigService; +import org.nl.wms.decision_manage.service.dao.StStrategyConfig; import org.nl.wms.stor_manage.service.in.iostor_dtl.IStIvtIostorinvdtlInService; import org.nl.wms.stor_manage.service.in.iostor_dtl.dao.StIvtIostorinvdtlIn; import org.springframework.beans.factory.annotation.Autowired; @@ -25,9 +28,10 @@ import java.util.stream.Collectors; * @Date 2024/4/6 16:18 * 轻上重下策略 */ -@Service -public class WeightRuleHandler extends DecisionHandler { - +@Service("weight") +public class WeightRuleHandler extends Decisioner { + //每个策略的配置信息 + private static StStrategyConfig stStrategyConfig; /** * 出入库明细服务 */ diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/impl/base/出入库基础规则.md b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/impl/base/出入库基础规则.md similarity index 100% rename from wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/impl/base/出入库基础规则.md rename to wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/impl/base/出入库基础规则.md diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/impl/diy/ClassRuleHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/impl/diy/ClassRuleHandler.java new file mode 100644 index 00000000..45ccdd16 --- /dev/null +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/impl/diy/ClassRuleHandler.java @@ -0,0 +1,18 @@ +package org.nl.wms.decision_manage.handler.impl.diy; + +import org.nl.wms.decision_manage.handler.Decisioner; + +import java.util.List; + +/* + * @author ZZQ + * @Date 2024/4/6 16:18 + * 自定义类处理器 + */ +public class ClassRuleHandler extends Decisioner { + @Override + public List handler(List list, String param) { + System.out.println("迭代器使用中"+this.toString()); + return null; + } +} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/DecisionHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/DecisionHandler.java deleted file mode 100644 index 6df8d6bd..00000000 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/DecisionHandler.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.nl.wms.decision_manage.handler.service; - -import java.util.List; - -/* - * @author ZZQ - * @Date 2024/4/6 16:13 - */ -public abstract class DecisionHandler { - - public abstract List handler(List list, P param); -} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/impl/diy/ClassRuleHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/impl/diy/ClassRuleHandler.java deleted file mode 100644 index 24830c99..00000000 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/service/impl/diy/ClassRuleHandler.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.nl.wms.decision_manage.handler.service.impl.diy; - -import org.nl.common.utils.SpringContextHolder; -import org.nl.wms.decision_manage.handler.service.DecisionHandler; - -import java.util.List; - -/* - * @author ZZQ - * @Date 2024/4/6 16:18 - * 自定义类处理器 - */ -public class ClassRuleHandler extends DecisionHandler { - @Override - public List handler(List list, String param) { -// Object bean = SpringContextHolder.getBean("xxxx.ss"); -// return bean.xxxx - return null; - } -} diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/strategy/service/IStStrategyConfigService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/service/IStStrategyConfigService.java similarity index 82% rename from wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/strategy/service/IStStrategyConfigService.java rename to wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/service/IStStrategyConfigService.java index cfa88e23..47e841ad 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/strategy/service/IStStrategyConfigService.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/service/IStStrategyConfigService.java @@ -1,9 +1,9 @@ -package org.nl.wms.base_manage.strategy.service; +package org.nl.wms.decision_manage.service; import org.nl.common.domain.entity.PageQuery; -import org.nl.wms.base_manage.strategy.service.dao.StStrategyConfig; +import org.nl.wms.decision_manage.service.dao.StStrategyConfig; import com.baomidou.mybatisplus.extension.service.IService; -import org.nl.wms.base_manage.strategy.service.dto.StrategyQuery; +import org.nl.wms.decision_manage.service.dto.StrategyQuery; /** *

diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/strategy/service/dao/StStrategyConfig.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/service/dao/StStrategyConfig.java similarity index 69% rename from wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/strategy/service/dao/StStrategyConfig.java rename to wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/service/dao/StStrategyConfig.java index 85958345..0d1df344 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/strategy/service/dao/StStrategyConfig.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/service/dao/StStrategyConfig.java @@ -1,7 +1,10 @@ -package org.nl.wms.base_manage.strategy.service.dao; +package org.nl.wms.decision_manage.service.dao; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler; import lombok.Data; import lombok.EqualsAndHashCode; @@ -17,7 +20,7 @@ import java.io.Serializable; */ @Data @EqualsAndHashCode(callSuper = false) -@TableName("st_strategy_config") +@TableName(value = "st_strategy_config",autoResultMap = true) public class StStrategyConfig implements Serializable { private static final long serialVersionUID = 1L; @@ -49,10 +52,14 @@ public class StStrategyConfig implements Serializable { private String class_type; /** - * 参数 + * 处理类 */ private String param; - + /** + *限定参数 + */ + @TableField(typeHandler = FastjsonTypeHandler.class) + private JSONObject form_data; /** * 描述 */ @@ -61,28 +68,9 @@ public class StStrategyConfig implements Serializable { /** * 是否启用 */ - private String is_used; - - /** - * 创建人 - */ - private String create_id; - - /** - * 创建人名称 - */ - private String create_name; - - /** - * 创建时间 - */ - private String create_time; - - /** - * 修改人 - */ - private String update_id; + private Boolean is_used; + private Boolean ban; /** * 修改人名称 */ @@ -96,7 +84,7 @@ public class StStrategyConfig implements Serializable { /** * 是否删除 */ - private String is_delete; + private Boolean is_delete; } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/strategy/service/dao/mapper/StStrategyConfigMapper.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/service/dao/mapper/StStrategyConfigMapper.java similarity index 75% rename from wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/strategy/service/dao/mapper/StStrategyConfigMapper.java rename to wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/service/dao/mapper/StStrategyConfigMapper.java index 92cf73b7..c6c8c878 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/strategy/service/dao/mapper/StStrategyConfigMapper.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/service/dao/mapper/StStrategyConfigMapper.java @@ -1,10 +1,10 @@ -package org.nl.wms.base_manage.strategy.service.dao.mapper; +package org.nl.wms.decision_manage.service.dao.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import org.nl.common.domain.entity.PageQuery; -import org.nl.wms.base_manage.strategy.service.dao.StStrategyConfig; -import org.nl.wms.base_manage.strategy.service.dto.StrategyQuery; +import org.nl.wms.decision_manage.service.dao.StStrategyConfig; +import org.nl.wms.decision_manage.service.dto.StrategyQuery; import java.util.List; import java.util.Map; diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/strategy/service/dao/mapper/xml/StStrategyConfigMapper.xml b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/service/dao/mapper/xml/StStrategyConfigMapper.xml similarity index 86% rename from wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/strategy/service/dao/mapper/xml/StStrategyConfigMapper.xml rename to wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/service/dao/mapper/xml/StStrategyConfigMapper.xml index 13240bfc..8d2b13ab 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/strategy/service/dao/mapper/xml/StStrategyConfigMapper.xml +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/service/dao/mapper/xml/StStrategyConfigMapper.xml @@ -1,6 +1,6 @@ - +