mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
自定义板编号生成功能实现
This commit is contained in:
+8
-2
@@ -1,12 +1,14 @@
|
||||
package com.cf.imes.module.system.api.customplateno;
|
||||
|
||||
import com.cf.imes.framework.common.pojo.CommonResult;
|
||||
import com.cf.imes.module.system.api.customplateno.dto.CustomPlateNoSeqRespDTO;
|
||||
import com.cf.imes.module.system.api.customplateno.dto.CustomPlateNoSeqDTO;
|
||||
import com.cf.imes.module.system.enums.ApiConstants;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
|
||||
/**
|
||||
@@ -22,5 +24,9 @@ public interface CustomPlateNoSeqApi {
|
||||
|
||||
@GetMapping(PREFIX + "/organ")
|
||||
@Operation(summary = "获取组织下自定义版编号序号")
|
||||
CommonResult<CustomPlateNoSeqRespDTO> getOrgCustomPlateNoSeq();
|
||||
CommonResult<CustomPlateNoSeqDTO> getOrgCustomPlateNoSeq();
|
||||
|
||||
@PostMapping(PREFIX + "/organ")
|
||||
@Operation(summary = "更新组织下自定义版编号序号")
|
||||
CommonResult<Boolean> modifyOrgCustomPlateNoSeq(@RequestBody CustomPlateNoSeqDTO customPlateNoSeqDTO);
|
||||
}
|
||||
|
||||
+4
-4
@@ -15,7 +15,7 @@ import java.io.Serializable;
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class CustomPlateNoSeqRespDTO implements Serializable {
|
||||
public class CustomPlateNoSeqDTO implements Serializable {
|
||||
private static final long serialVersionUID = -3415615478757941611L;
|
||||
|
||||
private Long id;
|
||||
@@ -48,15 +48,15 @@ public class CustomPlateNoSeqRespDTO implements Serializable {
|
||||
/**
|
||||
* 上次年
|
||||
*/
|
||||
private int lastYear;
|
||||
private Integer lastYear;
|
||||
|
||||
/**
|
||||
* 上次月
|
||||
*/
|
||||
private int lastMonth;
|
||||
private Integer lastMonth;
|
||||
|
||||
/**
|
||||
* 上次天
|
||||
*/
|
||||
private int lastDay;
|
||||
private Integer lastDay;
|
||||
}
|
||||
+1
-1
@@ -349,5 +349,5 @@ public class ErrorCodeConstants {
|
||||
//=========== 系统配置 1-002-040-000 ============
|
||||
public static final ErrorCode SYSTEM_CONFIG_NOT_EXISTS = new ErrorCode(1_002_040_001, "系统配置不存在");
|
||||
public static final ErrorCode SYSTEM_CONFIG_TYPE_NOT_SUPPORT = new ErrorCode(1_002_040_002, "不支持的系统配置类型");
|
||||
public static final ErrorCode SYSTEM_CONFIG_CUSTOM_BOARD_NO_RULE_SAVE_CHECK_ERROR = new ErrorCode(1_002_040_003, "系统配置:自定义板编号保存解析失败,请检查配置规则或联系客服");
|
||||
public static final ErrorCode SYSTEM_CONFIG_CUSTOM_PLATE_NO_RULE_SAVE_CHECK_ERROR = new ErrorCode(1_002_040_003, "系统配置:自定义板编号保存解析失败,请检查配置规则或联系客服");
|
||||
}
|
||||
|
||||
+8
-10
@@ -1,6 +1,7 @@
|
||||
package com.cf.imes.module.system.enums.config;
|
||||
package com.cf.imes.module.system.enums.customplateno;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 自定义板编号规则编码枚举
|
||||
@@ -9,7 +10,7 @@ import lombok.AllArgsConstructor;
|
||||
* @since 2024/11/11 15:20
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
public enum CustBoardRuleCodeEnum {
|
||||
public enum CustomPlateNoRuleCodeEnum {
|
||||
/**
|
||||
* 自定义
|
||||
*/
|
||||
@@ -38,22 +39,19 @@ public enum CustBoardRuleCodeEnum {
|
||||
/**
|
||||
* 柜体序号
|
||||
*/
|
||||
BODYNO("bodyNo"),
|
||||
|
||||
/**
|
||||
* 加工组序号
|
||||
*/
|
||||
PROCESSGROUP("processGroupNo");
|
||||
BODYNO("bodyNo");
|
||||
|
||||
@Getter
|
||||
private String ruleCode;
|
||||
|
||||
/**
|
||||
* 是否匹配
|
||||
*
|
||||
* @param ruleCode
|
||||
* @return
|
||||
*/
|
||||
public static CustBoardRuleCodeEnum match(String ruleCode) {
|
||||
for (CustBoardRuleCodeEnum codeEnum : CustBoardRuleCodeEnum.values()) {
|
||||
public static CustomPlateNoRuleCodeEnum match(String ruleCode) {
|
||||
for (CustomPlateNoRuleCodeEnum codeEnum : CustomPlateNoRuleCodeEnum.values()) {
|
||||
if (codeEnum.ruleCode.equals(ruleCode)) {
|
||||
return codeEnum;
|
||||
}
|
||||
+70
@@ -0,0 +1,70 @@
|
||||
package com.cf.imes.module.system.enums.customplateno;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @author Gqr
|
||||
* @since 2024/11/19 9:40
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
public enum ResetModeEnum {
|
||||
/**
|
||||
* 不清零,累加
|
||||
*/
|
||||
ACCUMULATION(0),
|
||||
|
||||
/**
|
||||
* 按位数
|
||||
*/
|
||||
DIGIT(1),
|
||||
|
||||
/**
|
||||
* 按年
|
||||
*/
|
||||
YEAR(2),
|
||||
|
||||
/**
|
||||
* 按月
|
||||
*/
|
||||
MONTH(3),
|
||||
|
||||
/**
|
||||
* 按天
|
||||
*/
|
||||
DAY(4),
|
||||
|
||||
/**
|
||||
* 按生产单
|
||||
*/
|
||||
ORDER(5),
|
||||
|
||||
/**
|
||||
* 按房间
|
||||
*/
|
||||
ROOM(6),
|
||||
|
||||
/**
|
||||
* 按柜体
|
||||
*/
|
||||
BODY(7);
|
||||
|
||||
@Getter
|
||||
private int mode;
|
||||
|
||||
/**
|
||||
* 根据mode获取对应枚举
|
||||
*
|
||||
* @param mode
|
||||
* @return
|
||||
*/
|
||||
public static ResetModeEnum getByMode(int mode) {
|
||||
for (ResetModeEnum modeEnum : ResetModeEnum.values()) {
|
||||
if (ObjectUtil.equal(modeEnum.getMode(), mode)) {
|
||||
return modeEnum;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
+9
-3
@@ -2,7 +2,8 @@ package com.cf.imes.module.system.api.customplateno;
|
||||
|
||||
import com.cf.imes.framework.common.pojo.CommonResult;
|
||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||
import com.cf.imes.module.system.api.customplateno.dto.CustomPlateNoSeqRespDTO;
|
||||
import com.cf.imes.module.system.api.customplateno.dto.CustomPlateNoSeqDTO;
|
||||
import com.cf.imes.module.system.dal.dataobject.customplateno.CustomPlateNoSeqDO;
|
||||
import com.cf.imes.module.system.service.customplateno.CustomPlateNoSeqService;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
@@ -23,7 +24,12 @@ public class CustomPlateNoSeqApiImpl implements CustomPlateNoSeqApi {
|
||||
private CustomPlateNoSeqService customPlateNoSeqService;
|
||||
|
||||
@Override
|
||||
public CommonResult<CustomPlateNoSeqRespDTO> getOrgCustomPlateNoSeq() {
|
||||
return CommonResult.success(BeanUtils.toBean(customPlateNoSeqService.getOrgCustomPlateNoSeq(), CustomPlateNoSeqRespDTO.class));
|
||||
public CommonResult<CustomPlateNoSeqDTO> getOrgCustomPlateNoSeq() {
|
||||
return CommonResult.success(BeanUtils.toBean(customPlateNoSeqService.getOrgCustomPlateNoSeq(), CustomPlateNoSeqDTO.class));
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResult<Boolean> modifyOrgCustomPlateNoSeq(CustomPlateNoSeqDTO customPlateNoSeqDTO) {
|
||||
return CommonResult.success(customPlateNoSeqService.modifyOrgCustomPlateNoSeq(BeanUtils.toBean(customPlateNoSeqDTO, CustomPlateNoSeqDO.class)));
|
||||
}
|
||||
}
|
||||
|
||||
+72
-49
@@ -17,11 +17,11 @@ import com.cf.imes.module.system.controller.admin.systemconfig.vo.ConfigSaveReqV
|
||||
import com.cf.imes.module.system.controller.admin.systemconfig.vo.ConfigUpdateStatusReqVO;
|
||||
import com.cf.imes.module.system.dal.dataobject.systemconfig.SystemConfigDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.dict.DictDataDO;
|
||||
import com.cf.imes.module.system.dal.mysql.customplateno.CustomPlateNoSeqMapper;
|
||||
import com.cf.imes.module.system.dal.mysql.systemconfig.SystemConfigMapper;
|
||||
import com.cf.imes.module.system.dal.redis.RedisKeyConstants;
|
||||
import com.cf.imes.module.system.enums.config.CustBoardRuleCodeEnum;
|
||||
import com.cf.imes.module.system.enums.customplateno.CustomPlateNoRuleCodeEnum;
|
||||
import com.cf.imes.module.system.enums.config.SystemConfigTypeEnum;
|
||||
import com.cf.imes.module.system.enums.customplateno.ResetModeEnum;
|
||||
import com.cf.imes.module.system.service.config.factory.service.AbstractSystemConfigServiceHandler;
|
||||
import com.cf.imes.module.system.service.dict.DictDataService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -35,7 +35,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
import static com.cf.imes.module.system.enums.ErrorCodeConstants.SYSTEM_CONFIG_CUSTOM_BOARD_NO_RULE_SAVE_CHECK_ERROR;
|
||||
import static com.cf.imes.module.system.enums.ErrorCodeConstants.SYSTEM_CONFIG_CUSTOM_PLATE_NO_RULE_SAVE_CHECK_ERROR;
|
||||
|
||||
/**
|
||||
* 自定义板编号服务处理器
|
||||
@@ -48,21 +48,19 @@ import static com.cf.imes.module.system.enums.ErrorCodeConstants.SYSTEM_CONFIG_C
|
||||
public class CustomPlateNoServiceHandler extends AbstractSystemConfigServiceHandler {
|
||||
|
||||
// 自定义板编号校验错误全部统一编号:1_002_040_003
|
||||
public static final ErrorCode CUSTOM_BOARD_NO_RULE_CHECK_RULECODE_EMPTY_ERROR = new ErrorCode(1_002_040_003, "规则编码不能为空");
|
||||
public static final ErrorCode CUSTOM_BOARD_NO_RULE_CHECK_RULECODE_NOT_MATCH_ERROR = new ErrorCode(1_002_040_003, "规则编码【{}】不合法,请检查配置规则");
|
||||
public static final ErrorCode CUSTOM_BOARD_NO_RULE_CHECK_DATE_TYPE_FORMAT_ERROR = new ErrorCode(1_002_040_003, "时间格式【{}】不合法,请检查配置规则");
|
||||
public static final ErrorCode CUSTOM_BOARD_NO_RULE_CHECK_RESETMODE_ERROR = new ErrorCode(1_002_040_003, "复位/清零模式【{}】不合法,请检查配置规则");
|
||||
public static final ErrorCode CUSTOM_BOARD_NO_RULE_CHECK_INT_TYPE_NO_EMPTY = new ErrorCode(1_002_040_003, "参数【{}】不能为空,请检查配置规则");
|
||||
public static final ErrorCode CUSTOM_BOARD_NO_RULE_CHECK_INT_TYPE_ERROR = new ErrorCode(1_002_040_003, "数值类型参数{}:【{}】转换异常,请检查配置规则");
|
||||
public static final ErrorCode CUSTOM_BOARD_NO_RULE_CHECK_BOL_TYPE_ERROR = new ErrorCode(1_002_040_003, "布尔类型参数{}:【{}】转换异常,请检查配置规则");
|
||||
public static final ErrorCode CUSTOM_PLATE_NO_RULE_CHECK_RULECODE_EMPTY_ERROR = new ErrorCode(1_002_040_003, "规则编码不能为空");
|
||||
public static final ErrorCode CUSTOM_PLATE_NO_RULE_CHECK_RULECODE_NOT_MATCH_ERROR = new ErrorCode(1_002_040_003, "规则编码【{}】不合法,请检查配置规则");
|
||||
public static final ErrorCode CUSTOM_PLATE_NO_RULE_CHECK_DATE_TYPE_FORMAT_ERROR = new ErrorCode(1_002_040_003, "时间格式【{}】不合法,请检查配置规则");
|
||||
public static final ErrorCode CUSTOM_PLATE_NO_RULE_CHECK_CUSTOM_VALUE_EMPTY_ERROR = new ErrorCode(1_002_040_003, "自定义字符值不能为空,请检查配置规则");
|
||||
public static final ErrorCode CUSTOM_PLATE_NO_RULE_CHECK_RESETMODE_ERROR = new ErrorCode(1_002_040_003, "规则【{}】复位/清零模式【{}】不合法,请检查配置规则");
|
||||
public static final ErrorCode CUSTOM_PLATE_NO_RULE_CHECK_INT_TYPE_NO_EMPTY = new ErrorCode(1_002_040_003, "参数【{}】不能为空,请检查配置规则");
|
||||
public static final ErrorCode CUSTOM_PLATE_NO_RULE_CHECK_INT_TYPE_ERROR = new ErrorCode(1_002_040_003, "数值类型参数{}:【{}】转换异常,请检查配置规则");
|
||||
public static final ErrorCode CUSTOM_PLATE_NO_RULE_CHECK_BOL_TYPE_ERROR = new ErrorCode(1_002_040_003, "布尔类型参数{}:【{}】转换异常,请检查配置规则");
|
||||
|
||||
|
||||
@Resource
|
||||
private DictDataService dictDataService;
|
||||
|
||||
@Resource
|
||||
private CustomPlateNoSeqMapper customPlateNoSeqMapper;
|
||||
|
||||
@Resource
|
||||
private SystemConfigMapper systemConfigMapper;
|
||||
|
||||
@@ -78,30 +76,30 @@ public class CustomPlateNoServiceHandler extends AbstractSystemConfigServiceHand
|
||||
public void checkValid(String setting) {
|
||||
// 字典中的时间格式
|
||||
List<DictDataDO> dateTypeFormatDictList = dictDataService.getDictDataList(CommonStatusEnum.ENABLE.getStatus(), "system_setting_date_type");
|
||||
// 字典中的复位模式
|
||||
List<DictDataDO> resetModeDictList = dictDataService.getDictDataList(CommonStatusEnum.ENABLE.getStatus(), "system_setting_rest_type");
|
||||
|
||||
try {
|
||||
JSONArray jsonArray = JSON.parseArray(setting);
|
||||
for (int i = 0; i < jsonArray.size(); i++) {
|
||||
JSONObject jsonObject = jsonArray.getJSONObject(i);
|
||||
String ruleCode = jsonObject.getString("ruleCode");
|
||||
// 1.校验code
|
||||
CustBoardRuleCodeEnum custBoardRuleCodeEnum = checkRoleCode(ruleCode);
|
||||
CustomPlateNoRuleCodeEnum custBoardRuleCodeEnum = checkRoleCode(ruleCode);
|
||||
|
||||
// 2.时间格式校验
|
||||
// 2.自定义格式校验
|
||||
checkCustom(custBoardRuleCodeEnum, jsonObject);
|
||||
|
||||
// 3.时间格式校验
|
||||
checkDateFormat(custBoardRuleCodeEnum, jsonObject.getString("value"), dateTypeFormatDictList);
|
||||
|
||||
// 3.序号类型校验数字和布尔类型
|
||||
// 4.序号类型校验数字和布尔类型
|
||||
checkNoType(custBoardRuleCodeEnum, jsonObject);
|
||||
|
||||
// 4.复位类型校验
|
||||
checkResetMode(custBoardRuleCodeEnum, jsonObject.getInteger("resetMode"), resetModeDictList);
|
||||
// 5.复位类型校验
|
||||
checkResetMode(custBoardRuleCodeEnum, jsonObject.getInteger("resetMode"), ruleCode);
|
||||
}
|
||||
} catch (ServiceException e) {
|
||||
throw e;
|
||||
} catch (Exception e) {
|
||||
ErrorCode systemConfigCustomPlateNoRuleSaveCheckError = SYSTEM_CONFIG_CUSTOM_BOARD_NO_RULE_SAVE_CHECK_ERROR;
|
||||
ErrorCode systemConfigCustomPlateNoRuleSaveCheckError = SYSTEM_CONFIG_CUSTOM_PLATE_NO_RULE_SAVE_CHECK_ERROR;
|
||||
log.error(systemConfigCustomPlateNoRuleSaveCheckError.getMsg(), e);
|
||||
throw new ServiceException(systemConfigCustomPlateNoRuleSaveCheckError);
|
||||
}
|
||||
@@ -112,13 +110,13 @@ public class CustomPlateNoServiceHandler extends AbstractSystemConfigServiceHand
|
||||
*
|
||||
* @param ruleCode 规则编码
|
||||
*/
|
||||
private CustBoardRuleCodeEnum checkRoleCode(String ruleCode) {
|
||||
private CustomPlateNoRuleCodeEnum checkRoleCode(String ruleCode) {
|
||||
if (StringUtils.isEmpty(ruleCode)) {
|
||||
throw new ServiceException(CUSTOM_BOARD_NO_RULE_CHECK_RULECODE_EMPTY_ERROR);
|
||||
throw new ServiceException(CUSTOM_PLATE_NO_RULE_CHECK_RULECODE_EMPTY_ERROR);
|
||||
}
|
||||
CustBoardRuleCodeEnum custBoardRuleCodeEnum = CustBoardRuleCodeEnum.match(ruleCode);
|
||||
CustomPlateNoRuleCodeEnum custBoardRuleCodeEnum = CustomPlateNoRuleCodeEnum.match(ruleCode);
|
||||
if (ObjectUtil.isNull(custBoardRuleCodeEnum)) {
|
||||
throw ServiceExceptionUtil.exception(CUSTOM_BOARD_NO_RULE_CHECK_RULECODE_NOT_MATCH_ERROR, ruleCode);
|
||||
throw ServiceExceptionUtil.exception(CUSTOM_PLATE_NO_RULE_CHECK_RULECODE_NOT_MATCH_ERROR, ruleCode);
|
||||
}
|
||||
return custBoardRuleCodeEnum;
|
||||
}
|
||||
@@ -129,11 +127,25 @@ public class CustomPlateNoServiceHandler extends AbstractSystemConfigServiceHand
|
||||
* @param custBoardRuleCodeEnum 规则编码枚举
|
||||
* @param format 格式
|
||||
*/
|
||||
private void checkDateFormat(CustBoardRuleCodeEnum custBoardRuleCodeEnum, String format, List<DictDataDO> dateTypeFormatDictList) {
|
||||
if (ObjectUtil.equal(CustBoardRuleCodeEnum.DATE, custBoardRuleCodeEnum) && StringUtils.isNotEmpty(format)) {
|
||||
private void checkDateFormat(CustomPlateNoRuleCodeEnum custBoardRuleCodeEnum, String format, List<DictDataDO> dateTypeFormatDictList) {
|
||||
if (ObjectUtil.equal(CustomPlateNoRuleCodeEnum.DATE, custBoardRuleCodeEnum) && StringUtils.isNotEmpty(format)) {
|
||||
Optional<DictDataDO> dateFormatDictDataOptional = dateTypeFormatDictList.stream().filter(d -> format.equals(d.getValue())).findAny();
|
||||
if (dateFormatDictDataOptional.isEmpty()) {
|
||||
throw ServiceExceptionUtil.exception(CUSTOM_BOARD_NO_RULE_CHECK_DATE_TYPE_FORMAT_ERROR, format);
|
||||
throw ServiceExceptionUtil.exception(CUSTOM_PLATE_NO_RULE_CHECK_DATE_TYPE_FORMAT_ERROR, format);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验自定义格式
|
||||
*
|
||||
* @param custBoardRuleCodeEnum
|
||||
* @param jsonObject
|
||||
*/
|
||||
private void checkCustom(CustomPlateNoRuleCodeEnum custBoardRuleCodeEnum, JSONObject jsonObject) {
|
||||
if (ObjectUtil.equal(CustomPlateNoRuleCodeEnum.CUSTOM, custBoardRuleCodeEnum)) {
|
||||
if (ObjectUtil.isEmpty(jsonObject.get("value"))) {
|
||||
throw ServiceExceptionUtil.exception(CUSTOM_PLATE_NO_RULE_CHECK_CUSTOM_VALUE_EMPTY_ERROR, jsonObject.get("ruleCode"));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -144,13 +156,13 @@ public class CustomPlateNoServiceHandler extends AbstractSystemConfigServiceHand
|
||||
* @param custBoardRuleCodeEnum
|
||||
* @param object
|
||||
*/
|
||||
private void checkNoType(CustBoardRuleCodeEnum custBoardRuleCodeEnum, JSONObject object) {
|
||||
private void checkNoType(CustomPlateNoRuleCodeEnum custBoardRuleCodeEnum, JSONObject object) {
|
||||
// 序号类型才校验
|
||||
if (ObjectUtil.equal(CustBoardRuleCodeEnum.ORDERNO, custBoardRuleCodeEnum)
|
||||
|| ObjectUtil.equal(CustBoardRuleCodeEnum.PLATENO, custBoardRuleCodeEnum)
|
||||
|| ObjectUtil.equal(CustBoardRuleCodeEnum.ROOMNO, custBoardRuleCodeEnum)
|
||||
|| ObjectUtil.equal(CustBoardRuleCodeEnum.BODYNO, custBoardRuleCodeEnum)
|
||||
|| ObjectUtil.equal(CustBoardRuleCodeEnum.PROCESSGROUP, custBoardRuleCodeEnum)) {
|
||||
if (ObjectUtil.equal(CustomPlateNoRuleCodeEnum.ORDERNO, custBoardRuleCodeEnum)
|
||||
|| ObjectUtil.equal(CustomPlateNoRuleCodeEnum.PLATENO, custBoardRuleCodeEnum)
|
||||
|| ObjectUtil.equal(CustomPlateNoRuleCodeEnum.ROOMNO, custBoardRuleCodeEnum)
|
||||
|| ObjectUtil.equal(CustomPlateNoRuleCodeEnum.BODYNO, custBoardRuleCodeEnum)
|
||||
) {
|
||||
Map<String, String> intTypeFieldMap = new HashMap<>() {{
|
||||
put("initValue", "起始值");
|
||||
put("length", "位数");
|
||||
@@ -173,10 +185,10 @@ public class CustomPlateNoServiceHandler extends AbstractSystemConfigServiceHand
|
||||
*/
|
||||
private void checkInt(Object intObj, String fieldName) {
|
||||
if (ObjectUtil.isNull(intObj)) {
|
||||
throw ServiceExceptionUtil.exception(CUSTOM_BOARD_NO_RULE_CHECK_INT_TYPE_NO_EMPTY, fieldName);
|
||||
throw ServiceExceptionUtil.exception(CUSTOM_PLATE_NO_RULE_CHECK_INT_TYPE_NO_EMPTY, fieldName);
|
||||
}
|
||||
if (!NumberUtil.isInteger(intObj.toString())) {
|
||||
throw ServiceExceptionUtil.exception(CUSTOM_BOARD_NO_RULE_CHECK_INT_TYPE_ERROR, fieldName, intObj);
|
||||
throw ServiceExceptionUtil.exception(CUSTOM_PLATE_NO_RULE_CHECK_INT_TYPE_ERROR, fieldName, intObj);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -188,10 +200,10 @@ public class CustomPlateNoServiceHandler extends AbstractSystemConfigServiceHand
|
||||
*/
|
||||
private void checkBol(Object bolObj, String fieldName) {
|
||||
if (ObjectUtil.isNull(bolObj)) {
|
||||
throw ServiceExceptionUtil.exception(CUSTOM_BOARD_NO_RULE_CHECK_INT_TYPE_NO_EMPTY, fieldName);
|
||||
throw ServiceExceptionUtil.exception(CUSTOM_PLATE_NO_RULE_CHECK_INT_TYPE_NO_EMPTY, fieldName);
|
||||
}
|
||||
if (!(bolObj instanceof Boolean)) {
|
||||
throw ServiceExceptionUtil.exception(CUSTOM_BOARD_NO_RULE_CHECK_BOL_TYPE_ERROR, fieldName, bolObj);
|
||||
throw ServiceExceptionUtil.exception(CUSTOM_PLATE_NO_RULE_CHECK_BOL_TYPE_ERROR, fieldName, bolObj);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -200,16 +212,22 @@ public class CustomPlateNoServiceHandler extends AbstractSystemConfigServiceHand
|
||||
*
|
||||
* @param resetMode
|
||||
*/
|
||||
private void checkResetMode(CustBoardRuleCodeEnum custBoardRuleCodeEnum, Integer resetMode, List<DictDataDO> resetModeDictList) {
|
||||
if (ObjectUtil.equal(CustBoardRuleCodeEnum.ORDERNO, custBoardRuleCodeEnum)
|
||||
|| ObjectUtil.equal(CustBoardRuleCodeEnum.PLATENO, custBoardRuleCodeEnum)
|
||||
|| ObjectUtil.equal(CustBoardRuleCodeEnum.ROOMNO, custBoardRuleCodeEnum)
|
||||
|| ObjectUtil.equal(CustBoardRuleCodeEnum.BODYNO, custBoardRuleCodeEnum)
|
||||
|| ObjectUtil.equal(CustBoardRuleCodeEnum.PROCESSGROUP, custBoardRuleCodeEnum)) {
|
||||
Optional<DictDataDO> resetModeDictDataOptional = resetModeDictList.stream().filter(d -> resetMode.toString().equals(d.getValue())).findAny();
|
||||
if (resetModeDictDataOptional.isEmpty()) {
|
||||
throw ServiceExceptionUtil.exception(CUSTOM_BOARD_NO_RULE_CHECK_RESETMODE_ERROR, resetMode);
|
||||
}
|
||||
private void checkResetMode(CustomPlateNoRuleCodeEnum custBoardRuleCodeEnum, Integer resetMode, String ruleCode) {
|
||||
boolean checkSuccess = true;
|
||||
if (ObjectUtil.equal(CustomPlateNoRuleCodeEnum.ORDERNO, custBoardRuleCodeEnum)) {
|
||||
checkSuccess = ObjectUtil.equal(resetMode, ResetModeEnum.DIGIT.getMode()) || ObjectUtil.equal(resetMode, ResetModeEnum.YEAR.getMode())
|
||||
|| ObjectUtil.equal(resetMode, ResetModeEnum.MONTH.getMode()) || ObjectUtil.equal(resetMode, ResetModeEnum.DAY.getMode());
|
||||
} else if (ObjectUtil.equal(CustomPlateNoRuleCodeEnum.PLATENO, custBoardRuleCodeEnum)) {
|
||||
checkSuccess = ObjectUtil.equal(resetMode, ResetModeEnum.ORDER.getMode()) || ObjectUtil.equal(resetMode, ResetModeEnum.YEAR.getMode())
|
||||
|| ObjectUtil.equal(resetMode, ResetModeEnum.MONTH.getMode()) || ObjectUtil.equal(resetMode, ResetModeEnum.ROOM.getMode())
|
||||
|| ObjectUtil.equal(resetMode, ResetModeEnum.BODY.getMode());
|
||||
} else if (ObjectUtil.equal(CustomPlateNoRuleCodeEnum.ROOMNO, custBoardRuleCodeEnum)) {
|
||||
checkSuccess = ObjectUtil.equal(resetMode, ResetModeEnum.ORDER.getMode());
|
||||
} else if (ObjectUtil.equal(CustomPlateNoRuleCodeEnum.BODYNO, custBoardRuleCodeEnum)) {
|
||||
checkSuccess = ObjectUtil.equal(resetMode, ResetModeEnum.ORDER.getMode()) || ObjectUtil.equal(resetMode, ResetModeEnum.ROOM.getMode());
|
||||
}
|
||||
if (!checkSuccess) {
|
||||
throw ServiceExceptionUtil.exception(CUSTOM_PLATE_NO_RULE_CHECK_RESETMODE_ERROR, ruleCode, resetMode);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -246,6 +264,11 @@ public class CustomPlateNoServiceHandler extends AbstractSystemConfigServiceHand
|
||||
.eq(SystemConfigDO::getType, SystemConfigTypeEnum.CUSTOM_PLATE_NO.getType())
|
||||
.le(SystemConfigDO::getVersion, minReserveVersion));
|
||||
}
|
||||
// 移除机构下的板编号配置缓存
|
||||
// 禁用配置移除缓存
|
||||
String redisKey = String.format("%s:%d:%s", RedisKeyConstants.SYSTEM_CONFIG, OrganContextHolder.getOrganId(), RedisKeyConstants.CUSTOM_PLATE_NO);
|
||||
Boolean delete = stringRedisTemplate.delete(redisKey);
|
||||
log.info("[CustomPlateNoGenerateService][afterUpdateStatus]key:{}缓存删除结果:{}", redisKey, delete);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+9
-9
@@ -1,6 +1,7 @@
|
||||
package com.cf.imes.module.system.service.config.factory.service.impl;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.cf.imes.framework.common.enums.CommonStatusEnum;
|
||||
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.ConfigDeleteReqVO;
|
||||
@@ -11,7 +12,6 @@ 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.enums.config.SystemConfigTypeEnum;
|
||||
import com.cf.imes.module.system.service.config.factory.service.AbstractSystemConfigServiceHandler;
|
||||
import com.google.common.collect.Lists;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -19,7 +19,6 @@ import javax.annotation.Resource;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -35,15 +34,16 @@ public class DefaultSystemConfigServiceHandler extends AbstractSystemConfigServi
|
||||
|
||||
@Override
|
||||
public List<SystemConfigDO> selectList(ConfigPageReqVO reqVO) {
|
||||
List<SystemConfigDO> systemConfigDOS = systemConfigMapper.selectList(new LambdaQueryWrapperX<SystemConfigDO>()
|
||||
.likeIfPresent(SystemConfigDO::getName, reqVO.getName())
|
||||
.eqIfPresent(SystemConfigDO::getStatus, reqVO.getStatus())
|
||||
.eqIfPresent(SystemConfigDO::getOrganId, OrganContextHolder.getOrganId())
|
||||
.orderByAsc(SystemConfigDO::getId));
|
||||
// todo 后续所有configTypeEnum中的类型需要上到列表补全时通过遍历enum来补充
|
||||
SystemConfigTypeEnum customplateNoEnum = SystemConfigTypeEnum.CUSTOM_PLATE_NO;
|
||||
CopyOnWriteArrayList<SystemConfigDO> configDOS = Lists.newCopyOnWriteArrayList(systemConfigDOS);
|
||||
Optional<SystemConfigDO> configDOOptional = configDOS.stream().filter(c -> ObjectUtil.equal(customplateNoEnum.getType(), c.getType())).findAny();
|
||||
List<SystemConfigDO> systemConfigDOS = systemConfigMapper.selectList(new LambdaQueryWrapperX<SystemConfigDO>()
|
||||
.likeIfPresent(SystemConfigDO::getName, reqVO.getName())
|
||||
.eq(SystemConfigDO::getStatus, CommonStatusEnum.ENABLE.getStatus())
|
||||
.eq(SystemConfigDO::getType, customplateNoEnum.getType())
|
||||
.eqIfPresent(SystemConfigDO::getOrganId, OrganContextHolder.getOrganId())
|
||||
.select(SystemConfigDO::getId, SystemConfigDO::getName, SystemConfigDO::getStatus, SystemConfigDO::getType)
|
||||
.orderByAsc(SystemConfigDO::getId));
|
||||
Optional<SystemConfigDO> configDOOptional = systemConfigDOS.stream().filter(c -> ObjectUtil.equal(customplateNoEnum.getType(), c.getType())).findAny();
|
||||
if (configDOOptional.isEmpty()) {
|
||||
SystemConfigDO initCustomPlateNoConfig = new SystemConfigDO().builder().id(null).name(customplateNoEnum.getName()).type(customplateNoEnum.getType()).build();
|
||||
return List.of(initCustomPlateNoConfig);
|
||||
|
||||
+7
@@ -15,4 +15,11 @@ public interface CustomPlateNoSeqService {
|
||||
* @return
|
||||
*/
|
||||
CustomPlateNoSeqDO getOrgCustomPlateNoSeq();
|
||||
|
||||
/**
|
||||
* 修改机构的自定义版编号序号
|
||||
*
|
||||
* @param seqDO
|
||||
*/
|
||||
Boolean modifyOrgCustomPlateNoSeq(CustomPlateNoSeqDO seqDO);
|
||||
}
|
||||
|
||||
+8
-1
@@ -24,4 +24,11 @@ public class CustomPlateNoSeqServiceImpl implements CustomPlateNoSeqService {
|
||||
return customPlateNoSeqMapper.selectOne(new LambdaQueryWrapperX<CustomPlateNoSeqDO>()
|
||||
.eq(CustomPlateNoSeqDO::getOrganId, OrganContextHolder.getOrganId()));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean modifyOrgCustomPlateNoSeq(CustomPlateNoSeqDO seqDO) {
|
||||
return customPlateNoSeqMapper.insertOrUpdate(seqDO);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user