|
@@ -4,12 +4,17 @@ import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.convert.Convert;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
import com.alibaba.fastjson2.JSON;
|
|
|
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
|
|
import com.fjhx.tenant.entity.dict.po.DictCommonData;
|
|
|
+import com.fjhx.tenant.entity.dict.po.DictCommonType;
|
|
|
+import com.fjhx.tenant.entity.dict.po.DictTenantType;
|
|
|
import com.fjhx.tenant.entity.dict.vo.DictTenantDataVo;
|
|
|
import com.fjhx.tenant.service.dict.DictCommonDataService;
|
|
|
+import com.fjhx.tenant.service.dict.DictCommonTypeService;
|
|
|
import com.fjhx.tenant.service.dict.DictTenantDataService;
|
|
|
+import com.fjhx.tenant.service.dict.DictTenantTypeService;
|
|
|
import com.ruoyi.common.exception.ServiceException;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import lombok.Getter;
|
|
@@ -30,11 +35,15 @@ public class DictCodingService {
|
|
|
|
|
|
private final DictTenantDataService dictTenantDataService;
|
|
|
private final DictCommonDataService dictCommonDataService;
|
|
|
+ private final DictTenantTypeService dictTenantTypeService;
|
|
|
+ private final DictCommonTypeService dictCommonTypeService;
|
|
|
|
|
|
@Autowired
|
|
|
- public DictCodingService(DictTenantDataService dictTenantDataService, DictCommonDataService dictCommonDataService) {
|
|
|
+ public DictCodingService(DictTenantDataService dictTenantDataService, DictCommonDataService dictCommonDataService, DictTenantTypeService dictTenantTypeService, DictCommonTypeService dictCommonTypeService) {
|
|
|
this.dictTenantDataService = dictTenantDataService;
|
|
|
this.dictCommonDataService = dictCommonDataService;
|
|
|
+ this.dictTenantTypeService = dictTenantTypeService;
|
|
|
+ this.dictCommonTypeService = dictCommonTypeService;
|
|
|
}
|
|
|
|
|
|
@DSTransactional
|
|
@@ -42,9 +51,17 @@ public class DictCodingService {
|
|
|
StringBuilder codeBuilder = new StringBuilder();
|
|
|
|
|
|
DictTenantDataVo dictTenantDataVo = DictUtils.getDictDataMap(dictCode).get(dictKey);
|
|
|
+ String dictName;
|
|
|
+ if (dictTenantDataVo.getType() == 1) {
|
|
|
+ DictCommonType one = dictCommonTypeService.getOne(q -> q.eq(DictCommonType::getCode, dictCode));
|
|
|
+ dictName = one.getName();
|
|
|
+ } else {
|
|
|
+ DictTenantType one = dictTenantTypeService.getOne(q -> q.eq(DictTenantType::getCode, dictCode));
|
|
|
+ dictName = one.getName();
|
|
|
+ }
|
|
|
List<RuleVo> ruleVoList = JSON.parseArray(dictTenantDataVo.getRuleJson(), RuleVo.class);
|
|
|
- if (ObjectUtil.isEmpty(ruleVoList) && ruleVoList.size() == 0) {
|
|
|
- throw new ServiceException("客户类型编码生成规则为空,请先前往【业务字典】-【客户类型】配置编码生成规则!");
|
|
|
+ if (ObjectUtil.isEmpty(ruleVoList) || ruleVoList.size() == 0) {
|
|
|
+ throw new ServiceException(StrUtil.indexedFormat("{0}编码生成规则为空,请先前往【业务字典】-【{0}】配置编码生成规则!", dictName));
|
|
|
}
|
|
|
|
|
|
for (RuleVo ruleVo : ruleVoList) {
|