虚拟清单-查询列表优化。
This commit is contained in:
+39
-13
@@ -81,21 +81,27 @@ public class DummyInventoryInfoEO 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 = 15, dicCode = "apply_scope")
|
||||
@ApiModelProperty(value = "适用范围")
|
||||
@Dict(dicCode ="apply_scope")
|
||||
//@Dict(dicCode ="apply_scope")
|
||||
private java.lang.String shi4Yong4Fan4Wei2;
|
||||
@TableField(exist = false)
|
||||
private String shi4Yong4Fan4Wei2_dictText;
|
||||
|
||||
/**状态*/
|
||||
@Excel(name = "状态", width = 15,dicCode ="state")
|
||||
@ApiModelProperty(value = "状态")
|
||||
@Dict(dicCode ="state")
|
||||
//@Dict(dicCode ="state")
|
||||
private java.lang.String state;
|
||||
@TableField(exist = false)
|
||||
private String state_dictText;
|
||||
|
||||
/**对应标准*/
|
||||
@Excel(name = "对应标准", width = 15)
|
||||
@@ -107,8 +113,10 @@ public class DummyInventoryInfoEO implements Serializable {
|
||||
/**实施类别*/
|
||||
@Excel(name = "实施类别", width = 15,dicCode ="implement_type")
|
||||
@ApiModelProperty(value = "实施类别")
|
||||
@Dict(dicCode ="implement_type")
|
||||
//@Dict(dicCode ="implement_type")
|
||||
private java.lang.String implementType;
|
||||
@TableField(exist = false)
|
||||
private String implementType_dictText;
|
||||
|
||||
/**新车型实施日期*/
|
||||
@Excel(name = "新车型实施日期", width = 15,format = "yyyy-MM-dd")
|
||||
@@ -138,14 +146,18 @@ public class DummyInventoryInfoEO implements Serializable {
|
||||
/**认证类型*/
|
||||
@Excel(name = "认证类型", width = 15,dicCode ="attestation_type")
|
||||
@ApiModelProperty(value = "认证类型")
|
||||
@Dict(dicCode ="attestation_type")
|
||||
//@Dict(dicCode ="attestation_type")
|
||||
private java.lang.String attestationType;
|
||||
@TableField(exist = false)
|
||||
private String attestationType_dictText;
|
||||
|
||||
/**认证级别*/
|
||||
@Excel(name = "认证级别", width = 15,dicCode ="attestation_rank")
|
||||
@ApiModelProperty(value = "认证级别")
|
||||
@Dict(dicCode ="attestation_rank")
|
||||
//@Dict(dicCode ="attestation_rank")
|
||||
private java.lang.String attestationRank;
|
||||
@TableField(exist = false)
|
||||
private String attestationRank_dictText;
|
||||
|
||||
/**适用增补件*/
|
||||
@ApiModelProperty(value = "适用增补件")
|
||||
@@ -163,8 +175,10 @@ public class DummyInventoryInfoEO implements Serializable {
|
||||
/**责任领域*/
|
||||
@Excel(name = "责任领域", width = 15,dicCode ="duty_territory")
|
||||
@ApiModelProperty(value = "责任领域")
|
||||
@Dict(dicCode ="duty_territory")
|
||||
//@Dict(dicCode ="duty_territory")
|
||||
private java.lang.String dutyTerritory;
|
||||
@TableField(exist = false)
|
||||
private String dutyTerritory_dictText;
|
||||
|
||||
/**备注*/
|
||||
@Excel(name = "备注", width = 15)
|
||||
@@ -192,14 +206,18 @@ public class DummyInventoryInfoEO implements Serializable {
|
||||
/**设计符合性确认-发起人*/
|
||||
@Excel(name = "设计-发起人", width = 15,dicCode ="fa1_qi3_ren2")
|
||||
@ApiModelProperty(value = "设计符合性确认-发起人")
|
||||
@Dict(dicCode ="fa1_qi3_ren2")
|
||||
//@Dict(dicCode ="fa1_qi3_ren2")
|
||||
private java.lang.String designInitiator;
|
||||
@TableField(exist = false)
|
||||
private String designInitiator_dictText;
|
||||
|
||||
/**设计符合性确认-责任人*/
|
||||
@Excel(name = "设计-责任人", width = 15,dicCode ="ze2_ren4_ren2")
|
||||
@ApiModelProperty(value = "设计符合性确认-责任人")
|
||||
@Dict(dicCode ="ze2_ren4_ren2")
|
||||
//@Dict(dicCode ="ze2_ren4_ren2")
|
||||
private java.lang.String designDuty;
|
||||
@TableField(exist = false)
|
||||
private String designDuty_dictText;
|
||||
|
||||
//交付物说明
|
||||
@Excel(name = "设计符合性确认-交付物说明", width = 20)
|
||||
@@ -226,14 +244,18 @@ public class DummyInventoryInfoEO implements Serializable {
|
||||
/**prehomo确认-发起人*/
|
||||
@Excel(name = "Prehomo-发起人", width = 15,dicCode ="fa1_qi3_ren2")
|
||||
@ApiModelProperty(value = "prehomo确认-发起人")
|
||||
@Dict(dicCode ="fa1_qi3_ren2")
|
||||
//@Dict(dicCode ="fa1_qi3_ren2")
|
||||
private java.lang.String prehomoInitiator;
|
||||
@TableField(exist = false)
|
||||
private String prehomoInitiator_dictText;
|
||||
|
||||
/**prehomo确认-责任人*/
|
||||
@Excel(name = "Prehomo-责任人", width = 15,dicCode ="ze2_ren4_ren2")
|
||||
@ApiModelProperty(value = "prehomo确认-责任人")
|
||||
@Dict(dicCode ="ze2_ren4_ren2")
|
||||
//@Dict(dicCode ="ze2_ren4_ren2")
|
||||
private java.lang.String prehomoDuty;
|
||||
@TableField(exist = false)
|
||||
private String prehomoDuty_dictText;
|
||||
|
||||
//prehomo确认-交付物说明
|
||||
@Excel(name = "prehomo确认-交付物说明", width = 20)
|
||||
@@ -259,14 +281,18 @@ public class DummyInventoryInfoEO implements Serializable {
|
||||
/**验证符合性确认-发起人*/
|
||||
@Excel(name = "验证-发起人", width = 15,dicCode ="fa1_qi3_ren2")
|
||||
@ApiModelProperty(value = "验证符合性确认-发起人")
|
||||
@Dict(dicCode ="fa1_qi3_ren2")
|
||||
//@Dict(dicCode ="fa1_qi3_ren2")
|
||||
private java.lang.String verifyInitiator;
|
||||
@TableField(exist = false)
|
||||
private String verifyInitiator_dictText;
|
||||
|
||||
/**验证符合性确认-责任人*/
|
||||
@Excel(name = "验证-责任人", width = 15,dicCode ="ze2_ren4_ren2")
|
||||
@ApiModelProperty(value = "验证符合性确认-责任人")
|
||||
@Dict(dicCode ="ze2_ren4_ren2")
|
||||
//@Dict(dicCode ="ze2_ren4_ren2")
|
||||
private java.lang.String verifyDuty;
|
||||
@TableField(exist = false)
|
||||
private String verifyDuty_dictText;
|
||||
|
||||
//验证备注
|
||||
@Excel(name = "验证符合性确认-交付物说明", width = 20)
|
||||
|
||||
+2
-1
@@ -35,6 +35,7 @@ public enum DummyInventoryBaseFieldEnum {
|
||||
VERIFY_DELIVERABLE_TEMPLATE("验证符合性确认-交付物模板", "verify_deliverable_template","Deliverable template"),
|
||||
VERIFY_INITIATOR("验证符合性确认-发起人", "fa1_qi3_ren2","Initiator"),
|
||||
VERIFY_DUTY("验证符合性确认-责任人", "ze2_ren4_ren2","Assignee"),
|
||||
STATE("状态", "state","state"),
|
||||
;
|
||||
|
||||
|
||||
@@ -71,4 +72,4 @@ public enum DummyInventoryBaseFieldEnum {
|
||||
public void setEnName(String enName) {
|
||||
this.enName = enName;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+157
@@ -34,6 +34,7 @@ import com.jero.modules.system.mapper.SysCategoryMapper;
|
||||
import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
|
||||
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
@@ -72,6 +73,7 @@ import static com.jero.modules.document.service.impl.BussDocumentLibraryEOServic
|
||||
* @Date: 2022-04-11
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryInfoEOMapper, DummyInventoryInfoEO> implements IDummyInventoryInfoEOService {
|
||||
|
||||
@@ -329,16 +331,171 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
|
||||
*/
|
||||
@Override
|
||||
public List<DummyInventoryInfoEO> queryList(DummyInventoryInfoEO dummyInventoryInfoEO,HttpServletRequest req) {
|
||||
long startTime = System.currentTimeMillis();
|
||||
QueryWrapper<DummyInventoryInfoEO> queryWrapper = QueryGenerator.initQueryWrapper(dummyInventoryInfoEO,req.getParameterMap());
|
||||
// queryWrapper.in("dummy_inventory_base_id",dummyInventoryInfoEO.getDummyInventoryBaseId());
|
||||
queryWrapper.orderByDesc("create_time","serial_number");
|
||||
|
||||
List<DummyInventoryInfoEO> dummyInventoryInfoEOList = this.list(queryWrapper);
|
||||
log.info("一阶段消耗时间:" + (System.currentTimeMillis() - startTime));
|
||||
//技术领域处理
|
||||
treeDict(dummyInventoryInfoEO, dummyInventoryInfoEOList);
|
||||
log.info("二阶段消耗时间:" + (System.currentTimeMillis() - startTime));
|
||||
this.dataDicDispose(dummyInventoryInfoEOList,dummyInventoryInfoEO.getCut());
|
||||
log.info("三阶段消耗时间:" + (System.currentTimeMillis() - startTime));
|
||||
return dummyInventoryInfoEOList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 数据字典数据处理方法 -> 虚拟清单使用@Dict翻译效率太慢了,200条数据需要处理1分钟。
|
||||
* @param datas
|
||||
* @param cut
|
||||
*/
|
||||
public void dataDicDispose(List<DummyInventoryInfoEO> datas, String cut){
|
||||
if(CollectionUtils.isNotEmpty(datas)){
|
||||
List<SysDictItem> sysDictItems = this.sysDictItemServiceImpl.getBaseMapper().selectItemsAll();
|
||||
|
||||
for (DummyInventoryInfoEO data : datas) {
|
||||
// 适用地区
|
||||
String region = data.getRegion();
|
||||
if(StringUtils.isNotEmpty(region)){
|
||||
String region_dictText = this.disposeShowDictItemValue(sysDictItems, region,cut, DummyInventoryBaseFieldEnum.REGION.getValue());
|
||||
data.setRegion_dictText(region_dictText);
|
||||
}
|
||||
|
||||
// 适用范围
|
||||
String shi4Yong4Fan4Wei2 = data.getShi4Yong4Fan4Wei2();
|
||||
if(StringUtils.isNotEmpty(shi4Yong4Fan4Wei2)){
|
||||
String shi4Yong4Fan4Wei2_dictText = this.disposeShowDictItemValue(sysDictItems, shi4Yong4Fan4Wei2,cut, DummyInventoryBaseFieldEnum.SHI4_YONG4_FAN4_WEI2.getValue());
|
||||
data.setShi4Yong4Fan4Wei2_dictText(shi4Yong4Fan4Wei2_dictText);
|
||||
}
|
||||
|
||||
// 状态
|
||||
String state = data.getState();
|
||||
if(StringUtils.isNotEmpty(state)){
|
||||
String state_dictText = this.disposeShowDictItemValue(sysDictItems, state,cut, DummyInventoryBaseFieldEnum.STATE.getValue());
|
||||
data.setState_dictText(state_dictText);
|
||||
}
|
||||
|
||||
// 实施类别
|
||||
String implementType = data.getImplementType();
|
||||
if(StringUtils.isNotEmpty(implementType)){
|
||||
String implementType_dictText = this.disposeShowDictItemValue(sysDictItems, implementType,cut, DummyInventoryBaseFieldEnum.IMPLEMENT_TYPE.getValue());
|
||||
data.setImplementType_dictText(implementType_dictText);
|
||||
}
|
||||
|
||||
// 认证类别
|
||||
String attestationType = data.getAttestationType();
|
||||
if(StringUtils.isNotEmpty(attestationType)){
|
||||
String attestationType_dictText = this.disposeShowDictItemValue(sysDictItems, attestationType,cut, DummyInventoryBaseFieldEnum.ATTESTATION_TYPE.getValue());
|
||||
data.setAttestationType_dictText(attestationType_dictText);
|
||||
}
|
||||
|
||||
// 认证级别
|
||||
String attestationRank = data.getAttestationRank();
|
||||
if(StringUtils.isNotEmpty(attestationRank)){
|
||||
String attestationRank_dictText = this.disposeShowDictItemValue(sysDictItems, attestationRank,cut, DummyInventoryBaseFieldEnum.ATTESTATION_RANK.getValue());
|
||||
data.setAttestationRank_dictText(attestationRank_dictText);
|
||||
}
|
||||
|
||||
// 责任领域
|
||||
String dutyTerritory = data.getDutyTerritory();
|
||||
if(StringUtils.isNotEmpty(dutyTerritory)){
|
||||
String dutyTerritory_dictText = this.disposeShowDictItemValue(sysDictItems, dutyTerritory,cut, DummyInventoryBaseFieldEnum.DUTY_TERRITORY.getValue());
|
||||
data.setDutyTerritory_dictText(dutyTerritory_dictText);
|
||||
}
|
||||
|
||||
// 设计符合性-发起人
|
||||
String designInitiator = data.getDesignInitiator();
|
||||
if(StringUtils.isNotEmpty(designInitiator)){
|
||||
String designInitiator_dictText = this.disposeShowDictItemValue(sysDictItems, designInitiator,cut, DummyInventoryBaseFieldEnum.DESIGN_INITIATOR.getValue());
|
||||
data.setDesignInitiator_dictText(designInitiator_dictText);
|
||||
}
|
||||
|
||||
// 设计符合性-责任人
|
||||
String designDuty = data.getDesignDuty();
|
||||
if(StringUtils.isNotEmpty(designDuty)){
|
||||
String designDuty_dictText = this.disposeShowDictItemValue(sysDictItems, designDuty,cut, DummyInventoryBaseFieldEnum.DESIGN_DUTY.getValue());
|
||||
data.setDesignDuty_dictText(designDuty_dictText);
|
||||
}
|
||||
|
||||
// preHomo-发起人
|
||||
String prehomoInitiator = data.getPrehomoInitiator();
|
||||
if(StringUtils.isNotEmpty(prehomoInitiator)){
|
||||
String prehomoInitiator_dictText = this.disposeShowDictItemValue(sysDictItems, prehomoInitiator,cut, DummyInventoryBaseFieldEnum.PREHOMO_INITIATOR.getValue());
|
||||
data.setPrehomoInitiator_dictText(prehomoInitiator_dictText);
|
||||
}
|
||||
|
||||
// preHomo-责任人
|
||||
String prehomoDuty = data.getPrehomoDuty();
|
||||
if(StringUtils.isNotEmpty(prehomoDuty)){
|
||||
String prehomoDuty_dictText = this.disposeShowDictItemValue(sysDictItems, prehomoDuty,cut, DummyInventoryBaseFieldEnum.PREHOMO_DUTY.getValue());
|
||||
data.setPrehomoDuty_dictText(prehomoDuty_dictText);
|
||||
}
|
||||
|
||||
// 验证符合性-发起人
|
||||
String verifyInitiator = data.getVerifyInitiator();
|
||||
if(StringUtils.isNotEmpty(verifyInitiator)){
|
||||
String verifyInitiator_dictText = this.disposeShowDictItemValue(sysDictItems, verifyInitiator,cut, DummyInventoryBaseFieldEnum.VERIFY_INITIATOR.getValue());
|
||||
data.setVerifyInitiator_dictText(verifyInitiator_dictText);
|
||||
}
|
||||
|
||||
// 验证符合性-责任人
|
||||
String verifyDuty = data.getVerifyDuty();
|
||||
if(StringUtils.isNotEmpty(verifyDuty)){
|
||||
String verifyDuty_dictText = this.disposeShowDictItemValue(sysDictItems, verifyDuty,cut, DummyInventoryBaseFieldEnum.VERIFY_DUTY.getValue());
|
||||
data.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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 复制
|
||||
|
||||
Reference in New Issue
Block a user