系统配置-封边条对应配置

This commit is contained in:
liuzhaotian
2025-03-10 09:45:59 +08:00
parent 05e12e9185
commit 54e6cdf43e
6 changed files with 119 additions and 68 deletions
@@ -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{
}
@@ -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<SystemConfigSealedgeDO> {
default List<SystemConfigSealedgeDO> selectSystemConfigList(Integer type, Integer status) {
return selectList(new LambdaQueryWrapperX<SystemConfigSealedgeDO>()
.eqIfPresent(SystemConfigSealedgeDO::getOrganId, OrganContextHolder.getOrganId())
.eq(SystemConfigSealedgeDO::getDeleted,false)
.eq(SystemConfigSealedgeDO::getType, type)
.eqIfPresent(SystemConfigSealedgeDO::getStatus,status)
.orderByAsc(SystemConfigSealedgeDO::getSort, SystemConfigDO::getCreateTime));
}
}
@@ -23,30 +23,25 @@ public enum SystemConfigTypeEnum {
*/ */
INTELLIGENT_BRANCH(2, "板件筛选"), 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, "封边条对应");
/** /**
@@ -44,9 +44,9 @@ public class SystemConfigServiceFactory {
// 板件分线 // 板件分线
case INTELLIGENT_BRANCH: case INTELLIGENT_BRANCH:
return applicationContext.getBean(IntellectBranchingService.class); return applicationContext.getBean(IntellectBranchingService.class);
// 高级筛选 // // 高级筛选
case ADVANCED_SCREEN: // case ADVANCED_SCREEN:
return applicationContext.getBean(AdvancedScreenServiceHandler.class); // return applicationContext.getBean(AdvancedScreenServiceHandler.class);
// 加工分线 // 加工分线
case PROCESSING_SCREENING: case PROCESSING_SCREENING:
return applicationContext.getBean(ProcessScreeningServiceHandler.class); return applicationContext.getBean(ProcessScreeningServiceHandler.class);
@@ -56,9 +56,9 @@ public class SystemConfigServiceFactory {
// 加工方案 // 加工方案
case PROCESS_SCHEME: case PROCESS_SCHEME:
return applicationContext.getBean(ProcessSchemeServiceHandler.class); return applicationContext.getBean(ProcessSchemeServiceHandler.class);
// 多种颜色排单 // 封边条对应
// case MULTI_COLOR_ORDER_PLAN: case SEALEDGE:
// return applicationContext.getBean(MultiColorOrderPlanServiceHandler.class); return applicationContext.getBean(SealedgeServiceHandler.class);
default: default:
throw new ServiceException(ErrorCodeConstants.SYSTEM_CONFIG_TYPE_NOT_SUPPORT); throw new ServiceException(ErrorCodeConstants.SYSTEM_CONFIG_TYPE_NOT_SUPPORT);
@@ -37,20 +37,20 @@ public class DefaultSystemConfigServiceHandler extends AbstractSystemConfigServi
List<SystemConfigTypeEnum> allConfigTypes = Arrays.asList(SystemConfigTypeEnum.values()); List<SystemConfigTypeEnum> allConfigTypes = Arrays.asList(SystemConfigTypeEnum.values());
// 自定义板编号、高级筛选不走通用分页查询 // 自定义板编号、高级筛选不走通用分页查询
List<SystemConfigTypeEnum> list = allConfigTypes.stream() // List<SystemConfigTypeEnum> list = allConfigTypes.stream()
.filter(f -> ObjectUtil.notEqual(SystemConfigTypeEnum.ADVANCED_SCREEN.getType(), f.getType())).toList(); // .filter(f -> ObjectUtil.notEqual(SystemConfigTypeEnum.ADVANCED_SCREEN.getType(), f.getType())).toList();
List<SystemConfigDO> systemConfigDOS = systemConfigMapper.selectList(new LambdaQueryWrapperX<SystemConfigDO>() List<SystemConfigDO> systemConfigDOS = systemConfigMapper.selectList(new LambdaQueryWrapperX<SystemConfigDO>()
.likeIfPresent(SystemConfigDO::getName, reqVO.getName()) .likeIfPresent(SystemConfigDO::getName, reqVO.getName())
// .eq(SystemConfigDO::getStatus, CommonStatusEnum.ENABLE.getStatus()) // .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()) .eqIfPresent(SystemConfigDO::getOrganId, OrganContextHolder.getOrganId())
.select(SystemConfigDO::getId, SystemConfigDO::getName, SystemConfigDO::getStatus, SystemConfigDO::getType,SystemConfigDO::getVersion) .select(SystemConfigDO::getId, SystemConfigDO::getName, SystemConfigDO::getStatus, SystemConfigDO::getType,SystemConfigDO::getVersion)
.orderByAsc(SystemConfigDO::getId)); .orderByAsc(SystemConfigDO::getId));
// 遍历枚举 // 遍历枚举
List<SystemConfigDO> resultList = new ArrayList<>(); List<SystemConfigDO> resultList = new ArrayList<>();
for (SystemConfigTypeEnum configTypeEnum : list) { for (SystemConfigTypeEnum configTypeEnum : allConfigTypes) {
// 获取当前枚举类型的配置项列表 // 获取当前枚举类型的配置项列表
List<SystemConfigDO> typeConfigs = systemConfigDOS.stream() List<SystemConfigDO> typeConfigs = systemConfigDOS.stream()
.filter(c -> ObjectUtil.equal(configTypeEnum.getType(), c.getType())) .filter(c -> ObjectUtil.equal(configTypeEnum.getType(), c.getType()))
@@ -72,20 +72,6 @@ public class DefaultSystemConfigServiceHandler extends AbstractSystemConfigServi
continue; 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); resultList.add(initConfig);
} else { } else {
// 如果存在配置,保留版本号最大的配置 // 如果存在配置,保留版本号最大的配置
@@ -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.framework.organ.core.context.OrganContextHolder;
import com.cf.imes.module.system.controller.admin.systemconfig.vo.*; 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.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 com.cf.imes.module.system.service.systemconfig.factory.service.AbstractSystemConfigServiceHandler;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -24,23 +25,25 @@ import static com.cf.imes.module.system.enums.ErrorCodeConstants.SYSTEM_CONFIG_N
/** /**
* @author 多种颜色排单 * @author 多种颜色排单
*/ */
@Service("multiColorOrderPlanServiceHandler") @Service("sealedgeServiceHandler")
@Slf4j @Slf4j
public class MultiColorOrderPlanServiceHandler extends AbstractSystemConfigServiceHandler { public class SealedgeServiceHandler extends AbstractSystemConfigServiceHandler {
@Resource @Resource
private SystemConfigMapper systemConfigMapper; private SystemConfigSealedgeMapper systemConfigSealedgeMapper;
@Override @Override
public List<SystemConfigDO> selectList(ConfigPageReqVO pageReqVO) { public List<SystemConfigDO> selectList(ConfigPageReqVO pageReqVO) {
List<SystemConfigDO> systemConfigDOS = systemConfigMapper.selectSystemConfigList(pageReqVO.getType(),null); List<SystemConfigSealedgeDO> systemConfigDOS = systemConfigSealedgeMapper.selectSystemConfigList(pageReqVO.getType(),null);
if (systemConfigDOS.isEmpty()){ if (systemConfigDOS.isEmpty()){
return null; return null;
} }
return systemConfigDOS; return BeanUtils.toBean(systemConfigDOS,SystemConfigDO.class);
} }
@@ -60,7 +63,13 @@ public class MultiColorOrderPlanServiceHandler extends AbstractSystemConfigServi
@Override @Override
public void afterSaveConfig(SystemConfigDO systemConfigDO, ConfigSaveReqVO reqVO) { public void afterSaveConfig(SystemConfigDO systemConfigDO, ConfigSaveReqVO reqVO) {
// todo afterSaveConfig
systemConfigSealedgeMapper.update(new LambdaUpdateWrapper<SystemConfigSealedgeDO>()
.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 @Override
public void updateConfigStatus(ConfigUpdateStatusReqVO reqVO) { public void updateConfigStatus(ConfigUpdateStatusReqVO reqVO) {
Long id = reqVO.getId();
// 校验存在
SystemConfigDO systemConfigDO = systemConfigMapper.selectOne(new LambdaQueryWrapperX<SystemConfigDO>()
.eq(SystemConfigDO::getId, id)
.eq(SystemConfigDO::getOrganId, OrganContextHolder.getOrganId()));
if (ObjectUtil.isNull(systemConfigDO)) {
throw exception(SYSTEM_CONFIG_NOT_EXISTS);
}
// 更新状态
systemConfigMapper.update(new LambdaUpdateWrapper<SystemConfigDO>().eq(SystemConfigDO::getId, id).set(SystemConfigDO::getStatus, reqVO.getStatus()));
} }
@Override @Override
@@ -97,9 +93,9 @@ public class MultiColorOrderPlanServiceHandler extends AbstractSystemConfigServi
@Override @Override
public SystemConfigDO getSystemConfig(Long id) { public SystemConfigDO getSystemConfig(Long id) {
SystemConfigDO systemConfigDO = systemConfigMapper.selectOne(new LambdaQueryWrapperX<SystemConfigDO>() SystemConfigSealedgeDO systemConfigDO = systemConfigSealedgeMapper.selectOne(new LambdaQueryWrapperX<SystemConfigSealedgeDO>()
.eq(SystemConfigDO::getId, id) .eq(SystemConfigSealedgeDO::getId, id)
.eq(SystemConfigDO::getOrganId, OrganContextHolder.getOrganId())); .eq(SystemConfigSealedgeDO::getOrganId, OrganContextHolder.getOrganId()));
if (ObjectUtil.isNull(systemConfigDO)) { if (ObjectUtil.isNull(systemConfigDO)) {
throw exception(SYSTEM_CONFIG_NOT_EXISTS); throw exception(SYSTEM_CONFIG_NOT_EXISTS);
@@ -117,26 +113,50 @@ public class MultiColorOrderPlanServiceHandler extends AbstractSystemConfigServi
checkValid(reqVO.getSetting()); checkValid(reqVO.getSetting());
// 系统配置保存前操作 // 系统配置保存前操作
beforeSaveConfig(reqVO); beforeSaveConfig(reqVO);
SystemConfigDO systemConfigDO; SystemConfigSealedgeDO systemConfigSealedgeDO;
if (ObjectUtil.isNotNull(reqVO.getId())) { 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 { } 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<SystemConfigSealedgeDO>()
.eq(SystemConfigSealedgeDO::getId, id)
.eq(SystemConfigSealedgeDO::getOrganId, OrganContextHolder.getOrganId()));
if (ObjectUtil.isNull(systemConfigSealedgeDO)) {
throw exception(SYSTEM_CONFIG_NOT_EXISTS);
}
return systemConfigSealedgeDO;
}
} }