From 54e6cdf43e981e0393f1018d28326e061cc4ec27 Mon Sep 17 00:00:00 2001 From: liuzhaotian Date: Mon, 10 Mar 2025 09:45:59 +0800 Subject: [PATCH] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E9=85=8D=E7=BD=AE-=E5=B0=81?= =?UTF-8?q?=E8=BE=B9=E6=9D=A1=E5=AF=B9=E5=BA=94=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../systemconfig/SystemConfigSealedgeDO.java | 21 +++++ .../SystemConfigSealedgeMapper.java | 29 +++++++ .../enums/config/SystemConfigTypeEnum.java | 19 ++--- .../factory/SystemConfigServiceFactory.java | 12 +-- .../DefaultSystemConfigServiceHandler.java | 22 +---- ...ndler.java => SealedgeServiceHandler.java} | 84 ++++++++++++------- 6 files changed, 119 insertions(+), 68 deletions(-) create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/systemconfig/SystemConfigSealedgeDO.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/systemconfig/SystemConfigSealedgeMapper.java rename cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/systemconfig/factory/service/impl/{MultiColorOrderPlanServiceHandler.java => SealedgeServiceHandler.java} (53%) diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/systemconfig/SystemConfigSealedgeDO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/systemconfig/SystemConfigSealedgeDO.java new file mode 100644 index 000000000..bd9ab1ad3 --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/systemconfig/SystemConfigSealedgeDO.java @@ -0,0 +1,21 @@ +package com.cf.imes.module.system.dal.dataobject.systemconfig; + + +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +/** + * @author 封边条对应配置 + */ +@TableName(value = "system_config_sealedge", autoResultMap = true) +@KeySequence("system_config_sealedge_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SystemConfigSealedgeDO extends SystemConfigDO{ + + +} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/systemconfig/SystemConfigSealedgeMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/systemconfig/SystemConfigSealedgeMapper.java new file mode 100644 index 000000000..a8ceae881 --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/systemconfig/SystemConfigSealedgeMapper.java @@ -0,0 +1,29 @@ +package com.cf.imes.module.system.dal.mysql.systemconfig; + +import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.cf.imes.framework.organ.core.context.OrganContextHolder; +import com.cf.imes.module.system.dal.dataobject.systemconfig.SystemConfigDO; +import com.cf.imes.module.system.dal.dataobject.systemconfig.SystemConfigSealedgeDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * @author 封边条对应配置 Mapper + */ +@Mapper +public interface SystemConfigSealedgeMapper extends BaseMapperX { + + default List selectSystemConfigList(Integer type, Integer status) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(SystemConfigSealedgeDO::getOrganId, OrganContextHolder.getOrganId()) + .eq(SystemConfigSealedgeDO::getDeleted,false) + .eq(SystemConfigSealedgeDO::getType, type) + .eqIfPresent(SystemConfigSealedgeDO::getStatus,status) + .orderByAsc(SystemConfigSealedgeDO::getSort, SystemConfigDO::getCreateTime)); + } + + + +} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/enums/config/SystemConfigTypeEnum.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/enums/config/SystemConfigTypeEnum.java index 65851a064..ab3b76610 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/enums/config/SystemConfigTypeEnum.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/enums/config/SystemConfigTypeEnum.java @@ -23,30 +23,25 @@ public enum SystemConfigTypeEnum { */ INTELLIGENT_BRANCH(2, "板件筛选"), - /** - * 高级筛选 - */ - ADVANCED_SCREEN(3, "高级筛选"), - /** * 加工分线 */ - PROCESSING_SCREENING(4, "加工分线"), + PROCESSING_SCREENING(3, "加工分线"), /** * 数据处理 */ - DATA_PROCESSING(5, "数据处理"), + DATA_PROCESSING(4, "数据处理"), /** * 加工方案 */ - PROCESS_SCHEME(6, "加工方案组"); + PROCESS_SCHEME(5, "加工方案组"), -// /** -// * 支持多种颜色排单 -// */ -// MULTI_COLOR_ORDER_PLAN(7, "支持多种颜色排单"); + /** + * 封边条对应 + */ + SEALEDGE(6, "封边条对应"); /** diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/systemconfig/factory/SystemConfigServiceFactory.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/systemconfig/factory/SystemConfigServiceFactory.java index 89653da36..9c674cef5 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/systemconfig/factory/SystemConfigServiceFactory.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/systemconfig/factory/SystemConfigServiceFactory.java @@ -44,9 +44,9 @@ public class SystemConfigServiceFactory { // 板件分线 case INTELLIGENT_BRANCH: return applicationContext.getBean(IntellectBranchingService.class); - // 高级筛选 - case ADVANCED_SCREEN: - return applicationContext.getBean(AdvancedScreenServiceHandler.class); +// // 高级筛选 +// case ADVANCED_SCREEN: +// return applicationContext.getBean(AdvancedScreenServiceHandler.class); // 加工分线 case PROCESSING_SCREENING: return applicationContext.getBean(ProcessScreeningServiceHandler.class); @@ -56,9 +56,9 @@ public class SystemConfigServiceFactory { // 加工方案 case PROCESS_SCHEME: return applicationContext.getBean(ProcessSchemeServiceHandler.class); - // 多种颜色排单 -// case MULTI_COLOR_ORDER_PLAN: -// return applicationContext.getBean(MultiColorOrderPlanServiceHandler.class); + // 封边条对应 + case SEALEDGE: + return applicationContext.getBean(SealedgeServiceHandler.class); default: throw new ServiceException(ErrorCodeConstants.SYSTEM_CONFIG_TYPE_NOT_SUPPORT); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/systemconfig/factory/service/impl/DefaultSystemConfigServiceHandler.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/systemconfig/factory/service/impl/DefaultSystemConfigServiceHandler.java index 91a99f0e4..a767eadda 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/systemconfig/factory/service/impl/DefaultSystemConfigServiceHandler.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/systemconfig/factory/service/impl/DefaultSystemConfigServiceHandler.java @@ -37,20 +37,20 @@ public class DefaultSystemConfigServiceHandler extends AbstractSystemConfigServi List allConfigTypes = Arrays.asList(SystemConfigTypeEnum.values()); // 自定义板编号、高级筛选不走通用分页查询 - List list = allConfigTypes.stream() - .filter(f -> ObjectUtil.notEqual(SystemConfigTypeEnum.ADVANCED_SCREEN.getType(), f.getType())).toList(); +// List list = allConfigTypes.stream() +// .filter(f -> ObjectUtil.notEqual(SystemConfigTypeEnum.ADVANCED_SCREEN.getType(), f.getType())).toList(); List systemConfigDOS = systemConfigMapper.selectList(new LambdaQueryWrapperX() .likeIfPresent(SystemConfigDO::getName, reqVO.getName()) // .eq(SystemConfigDO::getStatus, CommonStatusEnum.ENABLE.getStatus()) - .in(SystemConfigDO::getType, list.stream().map(SystemConfigTypeEnum::getType).toList()) + .in(SystemConfigDO::getType, allConfigTypes.stream().map(SystemConfigTypeEnum::getType).toList()) .eqIfPresent(SystemConfigDO::getOrganId, OrganContextHolder.getOrganId()) .select(SystemConfigDO::getId, SystemConfigDO::getName, SystemConfigDO::getStatus, SystemConfigDO::getType,SystemConfigDO::getVersion) .orderByAsc(SystemConfigDO::getId)); // 遍历枚举 List resultList = new ArrayList<>(); - for (SystemConfigTypeEnum configTypeEnum : list) { + for (SystemConfigTypeEnum configTypeEnum : allConfigTypes) { // 获取当前枚举类型的配置项列表 List typeConfigs = systemConfigDOS.stream() .filter(c -> ObjectUtil.equal(configTypeEnum.getType(), c.getType())) @@ -72,20 +72,6 @@ public class DefaultSystemConfigServiceHandler extends AbstractSystemConfigServi continue; } -// // 支持多种颜色排单 -// if(configTypeEnum.getType().equals(SystemConfigTypeEnum.MULTI_COLOR_ORDER_PLAN.getType())){ -// SystemConfigDO systemConfigDO = SystemConfigDO -// .builder() -// .id(null) -// .name(configTypeEnum.getName()) -// .type(configTypeEnum.getType()) -// .status(CommonStatusEnum.DISABLE.getStatus()) -// .build(); -// systemConfigMapper.insert(systemConfigDO); -// resultList.add(systemConfigDO); -// continue; -// } - resultList.add(initConfig); } else { // 如果存在配置,保留版本号最大的配置 diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/systemconfig/factory/service/impl/MultiColorOrderPlanServiceHandler.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/systemconfig/factory/service/impl/SealedgeServiceHandler.java similarity index 53% rename from cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/systemconfig/factory/service/impl/MultiColorOrderPlanServiceHandler.java rename to cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/systemconfig/factory/service/impl/SealedgeServiceHandler.java index 1b6bd2990..12438e3d0 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/systemconfig/factory/service/impl/MultiColorOrderPlanServiceHandler.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/systemconfig/factory/service/impl/SealedgeServiceHandler.java @@ -8,7 +8,8 @@ import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.organ.core.context.OrganContextHolder; import com.cf.imes.module.system.controller.admin.systemconfig.vo.*; import com.cf.imes.module.system.dal.dataobject.systemconfig.SystemConfigDO; -import com.cf.imes.module.system.dal.mysql.systemconfig.SystemConfigMapper; +import com.cf.imes.module.system.dal.dataobject.systemconfig.SystemConfigSealedgeDO; +import com.cf.imes.module.system.dal.mysql.systemconfig.SystemConfigSealedgeMapper; import com.cf.imes.module.system.service.systemconfig.factory.service.AbstractSystemConfigServiceHandler; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -24,23 +25,25 @@ import static com.cf.imes.module.system.enums.ErrorCodeConstants.SYSTEM_CONFIG_N /** * @author 多种颜色排单 */ -@Service("multiColorOrderPlanServiceHandler") +@Service("sealedgeServiceHandler") @Slf4j -public class MultiColorOrderPlanServiceHandler extends AbstractSystemConfigServiceHandler { +public class SealedgeServiceHandler extends AbstractSystemConfigServiceHandler { @Resource - private SystemConfigMapper systemConfigMapper; + private SystemConfigSealedgeMapper systemConfigSealedgeMapper; + + @Override public List selectList(ConfigPageReqVO pageReqVO) { - List systemConfigDOS = systemConfigMapper.selectSystemConfigList(pageReqVO.getType(),null); + List systemConfigDOS = systemConfigSealedgeMapper.selectSystemConfigList(pageReqVO.getType(),null); if (systemConfigDOS.isEmpty()){ return null; } - return systemConfigDOS; + return BeanUtils.toBean(systemConfigDOS,SystemConfigDO.class); } @@ -60,7 +63,13 @@ public class MultiColorOrderPlanServiceHandler extends AbstractSystemConfigServi @Override public void afterSaveConfig(SystemConfigDO systemConfigDO, ConfigSaveReqVO reqVO) { - // todo afterSaveConfig + + systemConfigSealedgeMapper.update(new LambdaUpdateWrapper() + .eq(SystemConfigSealedgeDO::getOrganId, OrganContextHolder.getOrganId()) + .eq(SystemConfigSealedgeDO::getDeleted,false) + .ne(SystemConfigSealedgeDO::getId,systemConfigDO.getId()) + .set(SystemConfigDO::getDeleted,true)); + } @@ -73,19 +82,6 @@ public class MultiColorOrderPlanServiceHandler extends AbstractSystemConfigServi @Override public void updateConfigStatus(ConfigUpdateStatusReqVO reqVO) { - Long id = reqVO.getId(); - - // 校验存在 - SystemConfigDO systemConfigDO = systemConfigMapper.selectOne(new LambdaQueryWrapperX() - .eq(SystemConfigDO::getId, id) - .eq(SystemConfigDO::getOrganId, OrganContextHolder.getOrganId())); - if (ObjectUtil.isNull(systemConfigDO)) { - throw exception(SYSTEM_CONFIG_NOT_EXISTS); - } - - // 更新状态 - systemConfigMapper.update(new LambdaUpdateWrapper().eq(SystemConfigDO::getId, id).set(SystemConfigDO::getStatus, reqVO.getStatus())); - } @Override @@ -97,9 +93,9 @@ public class MultiColorOrderPlanServiceHandler extends AbstractSystemConfigServi @Override public SystemConfigDO getSystemConfig(Long id) { - SystemConfigDO systemConfigDO = systemConfigMapper.selectOne(new LambdaQueryWrapperX() - .eq(SystemConfigDO::getId, id) - .eq(SystemConfigDO::getOrganId, OrganContextHolder.getOrganId())); + SystemConfigSealedgeDO systemConfigDO = systemConfigSealedgeMapper.selectOne(new LambdaQueryWrapperX() + .eq(SystemConfigSealedgeDO::getId, id) + .eq(SystemConfigSealedgeDO::getOrganId, OrganContextHolder.getOrganId())); if (ObjectUtil.isNull(systemConfigDO)) { throw exception(SYSTEM_CONFIG_NOT_EXISTS); @@ -117,26 +113,50 @@ public class MultiColorOrderPlanServiceHandler extends AbstractSystemConfigServi checkValid(reqVO.getSetting()); // 系统配置保存前操作 beforeSaveConfig(reqVO); - SystemConfigDO systemConfigDO; + SystemConfigSealedgeDO systemConfigSealedgeDO; if (ObjectUtil.isNotNull(reqVO.getId())) { - systemConfigDO = getSystemConfig(reqVO.getId()); + systemConfigSealedgeDO = validateSystemConfigExists(reqVO.getId()); // 覆盖配置 - systemConfigDO.setSetting(reqVO.getSetting()); + systemConfigSealedgeDO.setSetting(reqVO.getSetting()); // 覆盖名称 - systemConfigDO.setName(reqVO.getName()); + systemConfigSealedgeDO.setName(reqVO.getName()); // 更新时间 - systemConfigDO.setUpdateTime(LocalDateTime.now()); + systemConfigSealedgeDO.setUpdateTime(LocalDateTime.now()); // 更新 - systemConfigMapper.updateById(systemConfigDO); + systemConfigSealedgeMapper.updateById(systemConfigSealedgeDO); } else { - systemConfigDO = BeanUtils.toBean(reqVO, SystemConfigDO.class); + systemConfigSealedgeDO = BeanUtils.toBean(reqVO, SystemConfigSealedgeDO.class); // 新增 - systemConfigMapper.insert(systemConfigDO); + systemConfigSealedgeMapper.insert(systemConfigSealedgeDO); } // 系统配置保存后操作 - afterSaveConfig(systemConfigDO, reqVO); + afterSaveConfig(systemConfigSealedgeDO, reqVO); } + + /** + * 校验基础配置是否存在 + * + * @param id + * @return + */ + private SystemConfigSealedgeDO validateSystemConfigExists(Long id) { + + SystemConfigSealedgeDO systemConfigSealedgeDO = systemConfigSealedgeMapper.selectOne(new LambdaQueryWrapperX() + .eq(SystemConfigSealedgeDO::getId, id) + .eq(SystemConfigSealedgeDO::getOrganId, OrganContextHolder.getOrganId())); + + if (ObjectUtil.isNull(systemConfigSealedgeDO)) { + throw exception(SYSTEM_CONFIG_NOT_EXISTS); + } + + return systemConfigSealedgeDO; + } + + + + + }