法规清单列表查询优化-列表查询转换字典值方式修改

This commit is contained in:
wangzhijiang
2022-07-01 14:02:32 +08:00
parent 278f60a0f0
commit 37d1d71f22
2 changed files with 203 additions and 14 deletions
@@ -101,10 +101,13 @@ public class ProjectLawsInventoryEO implements Serializable {
/**适用地区*/
@ApiModelProperty(value = "适用地区")
@Dict(dicCode ="region")
//@Dict(dicCode ="region")
@Excel(name = "适用地区", width = 15, dicCode = "region")
private java.lang.String region;
@TableField(exist = false)
private String region_dictText;
/**对应标准*/
@Excel(name = "对应标准", width = 20)
@ApiModelProperty(value = "对应标准")
@@ -113,8 +116,10 @@ public class ProjectLawsInventoryEO implements Serializable {
/**实施类别*/
@Excel(name = "实施类别", width = 20,dicCode ="implement_type")
@ApiModelProperty(value = "实施类别")
@Dict(dicCode ="implement_type")
//@Dict(dicCode ="implement_type")
private String implementType;
@TableField(exist = false)
private String implementType_dictText;
/**新车型实施日期*/
@Excel(name = "新车型实施日期", width = 20, format = "yyyy-MM-dd")
@@ -139,14 +144,18 @@ public class ProjectLawsInventoryEO implements Serializable {
/**认证类型*/
@Excel(name = "认证类型", width = 20,dicCode ="attestation_type")
@ApiModelProperty(value = "认证类型")
@Dict(dicCode ="attestation_type")
//@Dict(dicCode ="attestation_type")
private String attestationType;
@TableField(exist = false)
private String attestationType_dictText;
/**认证级别*/
@Excel(name = "认证级别", width = 20,dicCode ="attestation_rank")
@ApiModelProperty(value = "认证级别")
@Dict(dicCode ="attestation_rank")
//@Dict(dicCode ="attestation_rank")
private String attestationRank;
@TableField(exist = false)
private String attestationRank_dictText;
//适用增补件
@Excel(name = "适用增补件", width = 20)
@@ -160,8 +169,10 @@ public class ProjectLawsInventoryEO implements Serializable {
/**责任领域*/
@Excel(name = "责任领域", width = 20,dicCode ="duty_territory")
@ApiModelProperty(value = "责任领域")
@Dict(dicCode ="duty_territory")
//@Dict(dicCode ="duty_territory")
private String dutyTerritory;
@TableField(exist = false)
private String dutyTerritory_dictText;
/**法规工程师id*/
@ApiModelProperty(value = "法规工程师id")
@@ -198,10 +209,12 @@ public class ProjectLawsInventoryEO implements Serializable {
/**设计符合性确认-交付物类型*/
@Excel(name = "设计符合性确认-交付物类型", width = 20,dicCode ="deliverable_template")
@ApiModelProperty(value = "设计符合性确认-交付物类型")
@Dict(dicCode ="deliverable_template")
//@Dict(dicCode ="deliverable_template")
private String designDeliverableType;
@TableField(exist = false)
private String designDeliverableTypeName;
@TableField(exist = false)
private String designDeliverableType_dictText;
/**设计符合性确认-交付物模板*/
@ApiModelProperty(value = "设计符合性确认-交付物模板")
@@ -214,8 +227,10 @@ public class ProjectLawsInventoryEO implements Serializable {
/**设计符合性确认-发起人角色*/
@ApiModelProperty(value = "设计符合性确认-发起人角色")
@Dict(dicCode ="fa1_qi3_ren2")
//@Dict(dicCode ="fa1_qi3_ren2")
private String designInitiator;
@TableField(exist = false)
private String designInitiator_dictText;
/**设计符合性确认-发起人id*/
//@TableField(updateStrategy = FieldStrategy.IGNORED)
@@ -229,8 +244,10 @@ public class ProjectLawsInventoryEO implements Serializable {
/**设计符合性确认-责任人角色*/
@ApiModelProperty(value = "设计符合性确认-责任人角色")
@Dict(dicCode ="ze2_ren4_ren2")
//@Dict(dicCode ="ze2_ren4_ren2")
private String designDuty;
@TableField(exist = false)
private String designDuty_dictText;
/**设计符合性确认-责任人id*/
@ApiModelProperty(value = "设计符合性确认-责任人id")
@@ -259,8 +276,10 @@ public class ProjectLawsInventoryEO implements Serializable {
/**prehomo确认-交付物类型*/
@Excel(name = "prehomo确认-交付物类型", width = 20,dicCode ="deliverable_template")
@ApiModelProperty(value = "prehomo确认-1")
@Dict(dicCode ="deliverable_template")
////@Dict(dicCode ="deliverable_template")
private String prehomoDeliverableType;
@TableField(exist = false)
private String prehomoDeliverableType_dictText;
@TableField(exist = false)
private String prehomoDeliverableTypeName;
@@ -275,8 +294,10 @@ public class ProjectLawsInventoryEO implements Serializable {
/**prehomo确认-发起人角色*/
@ApiModelProperty(value = "prehomo确认-发起人角色")
@Dict(dicCode ="fa1_qi3_ren2")
//@Dict(dicCode ="fa1_qi3_ren2")
private String prehomoInitiator;
@TableField(exist = false)
private String prehomoInitiator_dictText;
/**prehomo确认-发起人id*/
@ApiModelProperty(value = "prehomo确认-发起人id")
@@ -290,8 +311,10 @@ public class ProjectLawsInventoryEO implements Serializable {
/**prehomo确认-责任人角色*/
@ApiModelProperty(value = "prehomo确认-责任人角色")
@Dict(dicCode ="ze2_ren4_ren2")
//@Dict(dicCode ="ze2_ren4_ren2")
private String prehomoDuty;
@TableField(exist = false)
private String prehomoDuty_dictText;
/**prehomo确认-责任人id*/
@ApiModelProperty(value = "prehomo确认-责任人id")
@@ -320,8 +343,10 @@ public class ProjectLawsInventoryEO implements Serializable {
/**验证符合性确认-交付物类型*/
@Excel(name = "验证符合性确认-交付物类型", width = 20,dicCode ="deliverable_template")
@ApiModelProperty(value = "验证符合性确认-交付物类型")
@Dict(dicCode ="deliverable_template")
//@Dict(dicCode ="deliverable_template")
private String verifyDeliverableType;
@TableField(exist = false)
private String verifyDeliverableType_dictText;
@TableField(exist = false)
private String verifyDeliverableTypeName;
@@ -336,8 +361,10 @@ public class ProjectLawsInventoryEO implements Serializable {
/**验证符合性确认-发起人角色*/
@ApiModelProperty(value = "验证符合性确认-发起人角色")
@Dict(dicCode ="fa1_qi3_ren2")
//@Dict(dicCode ="fa1_qi3_ren2")
private String verifyInitiator;
@TableField(exist = false)
private String verifyInitiator_dictText;
/**验证符合性确认-发起人id*/
@ApiModelProperty(value = "验证符合性确认-发起人id")
@@ -351,8 +378,10 @@ public class ProjectLawsInventoryEO implements Serializable {
/**验证符合性确认-责任人角色*/
@ApiModelProperty(value = "验证符合性确认-责任人角色")
@Dict(dicCode ="ze2_ren4_ren2")
//@Dict(dicCode ="ze2_ren4_ren2")
private String verifyDuty;
@TableField(exist = false)
private String verifyDuty_dictText;
/**验证符合性确认-责任人id*/
@ApiModelProperty(value = "验证符合性确认-责任人id")
@@ -646,6 +646,166 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
}
List<ProjectLawsInventoryEO> result = super.baseMapper.selectList(projectLawsInventoryEOQueryWrapper);
dataDispose(result,currentUser,isProjectRole,projectLawsInventoryEO.getCut());
long startTime = System.currentTimeMillis();
dataDictDispose(result,projectLawsInventoryEO.getCut());
log.debug("处理数据字典消耗时间:" + (System.currentTimeMillis() - startTime));
return result;
}
/**
* 数据字典数据处理方法
* @param result 返回值
* @param cut 中英文切换
*/
public void dataDictDispose(List<ProjectLawsInventoryEO> result,String cut){
if(CollectionUtils.isNotEmpty(result)){
List<SysDictItem> sysDictItems = sysDictItemServiceImpl.getBaseMapper().selectItemsAll();
for (ProjectLawsInventoryEO projectLawsInventoryEO : result) {
//处理适用地区
String region = projectLawsInventoryEO.getRegion();
if(StringUtils.isNotEmpty(region)){
String region_dictText = disposeShowDictItemValue(sysDictItems, region,cut,ProjectInventoryFieldEnum.REGION.getValue());
projectLawsInventoryEO.setRegion_dictText(region_dictText);
}
//处理实施类别
String implementType = projectLawsInventoryEO.getImplementType();
if(StringUtils.isNotEmpty(implementType)){
String implementType_dictText = disposeShowDictItemValue(sysDictItems, implementType,cut,ProjectInventoryFieldEnum.IMPLEMENT_TYPE.getValue());
projectLawsInventoryEO.setImplementType_dictText(implementType_dictText);
}
//处理认证类型
String attestationType = projectLawsInventoryEO.getAttestationType();
if(StringUtils.isNotEmpty(attestationType)){
String attestationType_dictText = disposeShowDictItemValue(sysDictItems, attestationType,cut,ProjectInventoryFieldEnum.ATTESTATION_TYPE.getValue());
projectLawsInventoryEO.setAttestationType_dictText(attestationType_dictText);
}
//处理认证级别
String attestationRank = projectLawsInventoryEO.getAttestationRank();
if(StringUtils.isNotEmpty(attestationRank)){
String attestationRank_dictText = disposeShowDictItemValue(sysDictItems, attestationRank,cut,ProjectInventoryFieldEnum.ATTESTATION_RANK.getValue());
projectLawsInventoryEO.setAttestationRank_dictText(attestationRank_dictText);
}
//处理责任领域
String dutyTerritory = projectLawsInventoryEO.getDutyTerritory();
if(StringUtils.isNotEmpty(dutyTerritory)){
String dutyTerritory_dictText = disposeShowDictItemValue(sysDictItems, dutyTerritory,cut,ProjectInventoryFieldEnum.DUTY_TERRITORY.getValue());
projectLawsInventoryEO.setDutyTerritory_dictText(dutyTerritory_dictText);
}
//处理设计符合性确认-交付物类型
String designDeliverableType = projectLawsInventoryEO.getDesignDeliverableType();
if(StringUtils.isNotEmpty(designDeliverableType)){
String designDeliverableType_dictText = disposeShowDictItemValue(sysDictItems, designDeliverableType,cut,ProjectInventoryFieldEnum.DESIGN_DELIVERABLE_TYPE.getValue());
projectLawsInventoryEO.setDesignDeliverableType_dictText(designDeliverableType_dictText);
}
//处理设计符合性确认-发起人角色
String designInitiator = projectLawsInventoryEO.getDesignInitiator();
if(StringUtils.isNotEmpty(designInitiator)){
String designInitiator_dictText = disposeShowDictItemValue(sysDictItems, designInitiator,cut,ProjectInventoryFieldEnum.DESIGN_INITIATOR.getValue());
projectLawsInventoryEO.setDesignInitiator_dictText(designInitiator_dictText);
}
//处理设计符合性确认-责任人角色
String designDuty = projectLawsInventoryEO.getDesignDuty();
if(StringUtils.isNotEmpty(designDuty)){
String designDuty_dictText = disposeShowDictItemValue(sysDictItems, designDuty,cut,ProjectInventoryFieldEnum.DESIGN_DUTY.getValue());
projectLawsInventoryEO.setDesignDuty_dictText(designDuty_dictText);
}
//处理prehomo确认-交付物类型
String prehomoDeliverableType = projectLawsInventoryEO.getPrehomoDeliverableType();
if(StringUtils.isNotEmpty(prehomoDeliverableType)){
String prehomoDeliverableType_dictText = disposeShowDictItemValue(sysDictItems, prehomoDeliverableType,cut,ProjectInventoryFieldEnum.PREHOMO_DELIVERABLE_TYPE.getValue());
projectLawsInventoryEO.setPrehomoDeliverableType_dictText(prehomoDeliverableType_dictText);
}
//处理prehomo确认-发起人角色
String prehomoInitiator = projectLawsInventoryEO.getPrehomoInitiator();
if(StringUtils.isNotEmpty(prehomoInitiator)){
String prehomoInitiator_dictText = disposeShowDictItemValue(sysDictItems, prehomoInitiator,cut,ProjectInventoryFieldEnum.PREHOMO_INITIATOR.getValue());
projectLawsInventoryEO.setPrehomoInitiator_dictText(prehomoInitiator_dictText);
}
//处理prehomo确认-责任人角色
String prehomoDuty = projectLawsInventoryEO.getPrehomoDuty();
if(StringUtils.isNotEmpty(prehomoDuty)){
String prehomoDuty_dictText = disposeShowDictItemValue(sysDictItems, prehomoDuty,cut,ProjectInventoryFieldEnum.PREHOMO_DUTY.getValue());
projectLawsInventoryEO.setPrehomoDuty_dictText(prehomoDuty_dictText);
}
//处理验证符合性确认-交付物类型
String verifyDeliverableType = projectLawsInventoryEO.getVerifyDeliverableType();
if(StringUtils.isNotEmpty(verifyDeliverableType)){
String verifyDeliverableType_dictText = disposeShowDictItemValue(sysDictItems, verifyDeliverableType,cut,ProjectInventoryFieldEnum.VERIFY_DELIVERABLE_TYPE.getValue());
projectLawsInventoryEO.setVerifyDeliverableType_dictText(verifyDeliverableType_dictText);
}
//处理验证符合性确认-发起人角色
String verifyInitiator = projectLawsInventoryEO.getVerifyInitiator();
if(StringUtils.isNotEmpty(verifyInitiator)){
String verifyInitiator_dictText = disposeShowDictItemValue(sysDictItems, verifyInitiator,cut,ProjectInventoryFieldEnum.VERIFY_INITIATOR.getValue());
projectLawsInventoryEO.setVerifyInitiator_dictText(verifyInitiator_dictText);
}
//处理验证符合性确认-责任人角色
String verifyDuty = projectLawsInventoryEO.getVerifyDuty();
if(StringUtils.isNotEmpty(verifyDuty)){
String verifyDuty_dictText = disposeShowDictItemValue(sysDictItems, verifyDuty,cut,ProjectInventoryFieldEnum.VERIFY_DUTY.getValue());
projectLawsInventoryEO.setVerifyDuty_dictText(verifyDuty_dictText);
}
}
}
}
/**
* 处理展示数据字典值
* @param sysDictItems 所有的数据字典项
* @param fieldValues 字段值
* @param cut 中英文切换标识
* @param dicCode 数据字典code码
* @return
*/
public String disposeShowDictItemValue(List<SysDictItem> sysDictItems,String fieldValues,String cut,String dicCode){
String result = "";
List<SysDictItem> sysDictItemList = sysDictItems.stream().filter(e -> {
boolean flag = false;
if(StringUtils.equals(e.getDictCode(),dicCode)){
flag = true;
}
return flag;
}).distinct().collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(sysDictItemList)){
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
result = sysDictItemList.stream().filter(e -> {
boolean flag = false;
List<String> fieldValueStrList = Arrays.asList(fieldValues.split(","));
for (String fieldValueStr : fieldValueStrList) {
if(StringUtils.equals(fieldValueStr,e.getItemValue())){
flag = true;
break;
}
}
return flag;
}).map(SysDictItem::getItemText).collect(Collectors.joining(","));
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
result = sysDictItemList.stream().filter(e -> {
boolean flag = false;
List<String> fieldValueStrList = Arrays.asList(fieldValues.split(","));
for (String fieldValueStr : fieldValueStrList) {
if(StringUtils.equals(fieldValueStr,e.getItemValue())){
flag = true;
break;
}
}
return flag;
}).map(SysDictItem::getEnName).collect(Collectors.joining(","));
}
}
return result;
}