法规清单-表头排序
This commit is contained in:
+8
@@ -472,4 +472,12 @@ public class ProjectLawsInventoryEO implements Serializable {
|
|||||||
@ApiModelProperty(value = "调取虚拟清单中文档ids")
|
@ApiModelProperty(value = "调取虚拟清单中文档ids")
|
||||||
private String dummyids;//调取虚拟清单中文档ids
|
private String dummyids;//调取虚拟清单中文档ids
|
||||||
|
|
||||||
|
//排序(1->正序, 2->倒序)
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String orderBy;
|
||||||
|
|
||||||
|
//排序字段
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String orderByField;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+242
@@ -31,7 +31,9 @@ import com.jero.modules.document.entity.BussDocumentLibraryEO;
|
|||||||
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
|
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
|
||||||
import com.jero.modules.dummy.entity.DummyInventoryBaseEO;
|
import com.jero.modules.dummy.entity.DummyInventoryBaseEO;
|
||||||
import com.jero.modules.dummy.entity.DummyInventoryInfoEO;
|
import com.jero.modules.dummy.entity.DummyInventoryInfoEO;
|
||||||
|
import com.jero.modules.dummy.enums.AttestationRankEnum;
|
||||||
import com.jero.modules.dummy.enums.DummyInventoryBaseFieldEnum;
|
import com.jero.modules.dummy.enums.DummyInventoryBaseFieldEnum;
|
||||||
|
import com.jero.modules.dummy.enums.OrderEnum;
|
||||||
import com.jero.modules.dummy.service.IDummyInventoryInfoEOService;
|
import com.jero.modules.dummy.service.IDummyInventoryInfoEOService;
|
||||||
import com.jero.modules.dummy.service.impl.DummyInventoryBaseEOServiceImpl;
|
import com.jero.modules.dummy.service.impl.DummyInventoryBaseEOServiceImpl;
|
||||||
import com.jero.modules.dummy.util.DeepCopyListUtil;
|
import com.jero.modules.dummy.util.DeepCopyListUtil;
|
||||||
@@ -113,6 +115,7 @@ import javax.servlet.http.HttpServletRequest;
|
|||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
|
import java.text.Collator;
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
@@ -868,9 +871,234 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
long startTime = System.currentTimeMillis();
|
long startTime = System.currentTimeMillis();
|
||||||
dataDictDispose(result,projectLawsInventoryEO.getCut());
|
dataDictDispose(result,projectLawsInventoryEO.getCut());
|
||||||
log.debug("处理数据字典消耗时间:" + (System.currentTimeMillis() - startTime));
|
log.debug("处理数据字典消耗时间:" + (System.currentTimeMillis() - startTime));
|
||||||
|
//表头排序
|
||||||
|
result = hearSort(projectLawsInventoryEO, result);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private List<ProjectLawsInventoryEO> hearSort(ProjectLawsInventoryEO projectLawsInventoryEO, List<ProjectLawsInventoryEO> result) {
|
||||||
|
// String orderBy = "1";
|
||||||
|
// String orderByField = "serialNumber";
|
||||||
|
String orderBy = projectLawsInventoryEO.getOrderBy();
|
||||||
|
String orderByField = projectLawsInventoryEO.getOrderByField();
|
||||||
|
if(ObjectUtils.isNotEmpty(orderByField)){
|
||||||
|
Collator comparator = Collator.getInstance(Locale.CHINESE);
|
||||||
|
//编号 serialNumber
|
||||||
|
if("serialNumber".equals(orderByField)){
|
||||||
|
if(OrderEnum.POSITIVE.getValue().equals(orderBy)){
|
||||||
|
Collections.sort(result,(e1, e2)->{
|
||||||
|
return comparator.compare(e1.getSerialNumber(),e2.getSerialNumber());
|
||||||
|
});
|
||||||
|
}else if(OrderEnum.REVERSE.getValue().equals(orderBy)){
|
||||||
|
Collections.sort(result,(e1,e2)->{
|
||||||
|
return comparator.compare(e2.getSerialNumber(),e1.getSerialNumber());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// WVTA ID wvtaId
|
||||||
|
if("wvtaId".equals(orderByField)){
|
||||||
|
if(OrderEnum.POSITIVE.getValue().equals(orderBy)){
|
||||||
|
Collections.sort(result,(e1, e2)->{
|
||||||
|
return comparator.compare(e1.getWvtaId(),e2.getWvtaId());
|
||||||
|
});
|
||||||
|
}else if(OrderEnum.REVERSE.getValue().equals(orderBy)){
|
||||||
|
Collections.sort(result,(e1,e2)->{
|
||||||
|
return comparator.compare(e2.getWvtaId(),e1.getWvtaId());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 责任领域 dutyTerritory_dictText
|
||||||
|
if("dutyTerritory".equals(orderByField)){
|
||||||
|
if(OrderEnum.POSITIVE.getValue().equals(orderBy)){
|
||||||
|
Collections.sort(result,(e1, e2)->{
|
||||||
|
return comparator.compare(e1.getDutyTerritory_dictText(),e2.getDutyTerritory_dictText());
|
||||||
|
});
|
||||||
|
}else if(OrderEnum.REVERSE.getValue().equals(orderBy)){
|
||||||
|
Collections.sort(result,(e1,e2)->{
|
||||||
|
return comparator.compare(e2.getDutyTerritory_dictText(),e1.getDutyTerritory_dictText());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 法规工程师 regulationOwnerName
|
||||||
|
if("regulationOwnerName".equals(orderByField)){
|
||||||
|
if(OrderEnum.POSITIVE.getValue().equals(orderBy)){
|
||||||
|
Collections.sort(result,(e1, e2)->{
|
||||||
|
return comparator.compare(e1.getRegulationOwnerName(),e2.getRegulationOwnerName());
|
||||||
|
});
|
||||||
|
}else if(OrderEnum.REVERSE.getValue().equals(orderBy)){
|
||||||
|
Collections.sort(result,(e1,e2)->{
|
||||||
|
return comparator.compare(e2.getRegulationOwnerName(),e1.getRegulationOwnerName());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 认证工程师 homologationEngineerName
|
||||||
|
if("homologationEngineerName".equals(orderByField)){
|
||||||
|
if(OrderEnum.POSITIVE.getValue().equals(orderBy)){
|
||||||
|
Collections.sort(result,(e1, e2)->{
|
||||||
|
return comparator.compare(e1.getHomologationEngineerName(),e2.getHomologationEngineerName());
|
||||||
|
});
|
||||||
|
}else if(OrderEnum.REVERSE.getValue().equals(orderBy)){
|
||||||
|
Collections.sort(result,(e1,e2)->{
|
||||||
|
return comparator.compare(e2.getHomologationEngineerName(),e1.getHomologationEngineerName());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 工程接口人 engineeringInterfacePersonName
|
||||||
|
if("engineeringInterfacePersonName".equals(orderByField)){
|
||||||
|
if(OrderEnum.POSITIVE.getValue().equals(orderBy)){
|
||||||
|
Collections.sort(result,(e1, e2)->{
|
||||||
|
return comparator.compare(e1.getEngineeringInterfacePersonName(),e2.getEngineeringInterfacePersonName());
|
||||||
|
});
|
||||||
|
}else if(OrderEnum.REVERSE.getValue().equals(orderBy)){
|
||||||
|
Collections.sort(result,(e1,e2)->{
|
||||||
|
return comparator.compare(e2.getEngineeringInterfacePersonName(),e1.getEngineeringInterfacePersonName());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
List<ProjectLawsInventoryEO> list = new LinkedList<>();
|
||||||
|
// 清单确认状态(未发起,法规待确认,认证待确认,接受,法规拒绝,认证拒绝) inventoryAffirmStatusName
|
||||||
|
//InventoryAffirmStatusEnum
|
||||||
|
if("inventoryAffirmStatusName".equals(orderByField)){
|
||||||
|
result = inventorySort(orderBy,orderByField,result,list);
|
||||||
|
}
|
||||||
|
// 任务确认状态(未发起,待确认,接受,拒绝) taskAffirmStatusName
|
||||||
|
//TaskAffirmStatusEnum
|
||||||
|
if("taskAffirmStatusName".equals(orderByField)){
|
||||||
|
result = taskSort(orderBy,orderByField,result,list);
|
||||||
|
}
|
||||||
|
// 认证级别(WVTA,Com.-VTA,Cert.-Market,Reg.-Market) attestationRank_dictText
|
||||||
|
if("attestationRank".equals(orderByField)){
|
||||||
|
result = attestationRankSort(orderBy,orderByField,result,list);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
//清单确认状态排序
|
||||||
|
private List<ProjectLawsInventoryEO> inventorySort(String orderBy, String orderByField,
|
||||||
|
List<ProjectLawsInventoryEO> dummyInventoryInfoEOList,
|
||||||
|
List<ProjectLawsInventoryEO> list) {
|
||||||
|
if(ObjectUtils.isNotEmpty(orderByField) && "inventoryAffirmStatusName".equals(orderByField)){
|
||||||
|
List<ProjectLawsInventoryEO> notStarted = dummyInventoryInfoEOList.stream()
|
||||||
|
.filter(e -> e.getInventoryAffirmStatusName().equals(InventoryAffirmStatusEnum.NOT_STARTED.getName())).collect(Collectors.toList());
|
||||||
|
List<ProjectLawsInventoryEO> regEngToConfirm = dummyInventoryInfoEOList.stream()
|
||||||
|
.filter(e -> e.getInventoryAffirmStatusName().equals(InventoryAffirmStatusEnum.REG_ENG_TO_CONFIRM.getName())).collect(Collectors.toList());
|
||||||
|
List<ProjectLawsInventoryEO> homoEngToConfirm = dummyInventoryInfoEOList.stream()
|
||||||
|
.filter(e -> e.getInventoryAffirmStatusName().equals(InventoryAffirmStatusEnum.HOMO_ENG_TO_CONFIRM.getName())).collect(Collectors.toList());
|
||||||
|
List<ProjectLawsInventoryEO> accepted = dummyInventoryInfoEOList.stream()
|
||||||
|
.filter(e -> e.getInventoryAffirmStatusName().equals(InventoryAffirmStatusEnum.ACCEPTED.getName())).collect(Collectors.toList());
|
||||||
|
List<ProjectLawsInventoryEO> regEngRejected = dummyInventoryInfoEOList.stream()
|
||||||
|
.filter(e -> e.getInventoryAffirmStatusName().equals(InventoryAffirmStatusEnum.REG_ENG_REJECTED.getName())).collect(Collectors.toList());
|
||||||
|
List<ProjectLawsInventoryEO> homoEngRejected = dummyInventoryInfoEOList.stream()
|
||||||
|
.filter(e -> e.getInventoryAffirmStatusName().equals(InventoryAffirmStatusEnum.HOMO_ENG_REJECTED.getName())).collect(Collectors.toList());
|
||||||
|
|
||||||
|
|
||||||
|
if (OrderEnum.POSITIVE.getValue().equals(orderBy)) {
|
||||||
|
//正序
|
||||||
|
list.addAll(notStarted);
|
||||||
|
list.addAll(regEngToConfirm);
|
||||||
|
list.addAll(homoEngToConfirm);
|
||||||
|
list.addAll(accepted);
|
||||||
|
list.addAll(regEngRejected);
|
||||||
|
list.addAll(homoEngRejected);
|
||||||
|
|
||||||
|
} else if (OrderEnum.REVERSE.getValue().equals(orderBy)) {
|
||||||
|
//倒序
|
||||||
|
list.addAll(homoEngRejected);
|
||||||
|
list.addAll(regEngRejected);
|
||||||
|
list.addAll(accepted);
|
||||||
|
list.addAll(homoEngToConfirm);
|
||||||
|
list.addAll(regEngToConfirm);
|
||||||
|
list.addAll(notStarted);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(ObjectUtils.isNotEmpty(list)){
|
||||||
|
return list;
|
||||||
|
}else{
|
||||||
|
return dummyInventoryInfoEOList;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 任务确认状态排序
|
||||||
|
private List<ProjectLawsInventoryEO> taskSort(String orderBy, String orderByField,
|
||||||
|
List<ProjectLawsInventoryEO> dummyInventoryInfoEOList,
|
||||||
|
List<ProjectLawsInventoryEO> list) {
|
||||||
|
if(ObjectUtils.isNotEmpty(orderByField) && "taskAffirmStatusName".equals(orderByField)){
|
||||||
|
List<ProjectLawsInventoryEO> notStarted = dummyInventoryInfoEOList.stream()
|
||||||
|
.filter(e -> e.getTaskAffirmStatusName().equals(TaskAffirmStatusEnum.NOT_STARTED.getName())).collect(Collectors.toList());
|
||||||
|
List<ProjectLawsInventoryEO> listToConfirm = dummyInventoryInfoEOList.stream()
|
||||||
|
.filter(e -> e.getTaskAffirmStatusName().equals(TaskAffirmStatusEnum.LIST_TO_CONFIRM.getName())).collect(Collectors.toList());
|
||||||
|
List<ProjectLawsInventoryEO> accepted = dummyInventoryInfoEOList.stream()
|
||||||
|
.filter(e -> e.getTaskAffirmStatusName().equals(TaskAffirmStatusEnum.ACCEPTED.getName())).collect(Collectors.toList());
|
||||||
|
List<ProjectLawsInventoryEO> rejected = dummyInventoryInfoEOList.stream()
|
||||||
|
.filter(e -> e.getTaskAffirmStatusName().equals(TaskAffirmStatusEnum.REJECTED.getName())).collect(Collectors.toList());
|
||||||
|
|
||||||
|
|
||||||
|
if (OrderEnum.POSITIVE.getValue().equals(orderBy)) {
|
||||||
|
//正序
|
||||||
|
list.addAll(notStarted);
|
||||||
|
list.addAll(listToConfirm);
|
||||||
|
list.addAll(accepted);
|
||||||
|
list.addAll(rejected);
|
||||||
|
|
||||||
|
} else if (OrderEnum.REVERSE.getValue().equals(orderBy)) {
|
||||||
|
//倒序
|
||||||
|
list.addAll(rejected);
|
||||||
|
list.addAll(accepted);
|
||||||
|
list.addAll(listToConfirm);
|
||||||
|
list.addAll(notStarted);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(ObjectUtils.isNotEmpty(list)){
|
||||||
|
return list;
|
||||||
|
}else{
|
||||||
|
return dummyInventoryInfoEOList;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//认证级别
|
||||||
|
private List<ProjectLawsInventoryEO> attestationRankSort(String orderBy, String orderByField,
|
||||||
|
List<ProjectLawsInventoryEO> dummyInventoryInfoEOList,
|
||||||
|
List<ProjectLawsInventoryEO> list) {
|
||||||
|
if(ObjectUtils.isNotEmpty(orderByField) && "attestationRank".equals(orderByField)){
|
||||||
|
List<ProjectLawsInventoryEO> wvta = dummyInventoryInfoEOList.stream()
|
||||||
|
.filter(e -> e.getAttestationRank_dictText().startsWith(AttestationRankEnum.WVTA.getValue())).collect(Collectors.toList());
|
||||||
|
List<ProjectLawsInventoryEO> vta = dummyInventoryInfoEOList.stream()
|
||||||
|
.filter(e -> e.getAttestationRank_dictText().startsWith(AttestationRankEnum.VTA.getValue())).collect(Collectors.toList());
|
||||||
|
List<ProjectLawsInventoryEO> market = dummyInventoryInfoEOList.stream()
|
||||||
|
.filter(e -> e.getAttestationRank_dictText().startsWith(AttestationRankEnum.MARKET.getValue())).collect(Collectors.toList());
|
||||||
|
List<ProjectLawsInventoryEO> regu = dummyInventoryInfoEOList.stream()
|
||||||
|
.filter(e -> e.getAttestationRank_dictText().startsWith(AttestationRankEnum.REGU.getValue())).collect(Collectors.toList());
|
||||||
|
List<ProjectLawsInventoryEO> na = dummyInventoryInfoEOList.stream()
|
||||||
|
.filter(e -> e.getAttestationRank_dictText().startsWith(AttestationRankEnum.NA.getValue())).collect(Collectors.toList());
|
||||||
|
|
||||||
|
|
||||||
|
if (OrderEnum.POSITIVE.getValue().equals(orderBy)) {
|
||||||
|
//正序
|
||||||
|
List<ProjectLawsInventoryEO> collect = dummyInventoryInfoEOList.stream().filter(e -> StringUtils.isBlank(e.getAttestationRank_dictText())).collect(Collectors.toList());
|
||||||
|
list.addAll(collect);
|
||||||
|
list.addAll(wvta);
|
||||||
|
list.addAll(vta);
|
||||||
|
list.addAll(market);
|
||||||
|
list.addAll(regu);
|
||||||
|
list.addAll(na);
|
||||||
|
|
||||||
|
} else if (OrderEnum.REVERSE.getValue().equals(orderBy)) {
|
||||||
|
//倒序
|
||||||
|
list.addAll(na);
|
||||||
|
list.addAll(regu);
|
||||||
|
list.addAll(market);
|
||||||
|
list.addAll(vta);
|
||||||
|
list.addAll(wvta);
|
||||||
|
List<ProjectLawsInventoryEO> collect = dummyInventoryInfoEOList.stream().filter(e -> StringUtils.isBlank(e.getAttestationRank_dictText())).collect(Collectors.toList());
|
||||||
|
list.addAll(collect);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(ObjectUtils.isNotEmpty(list)){
|
||||||
|
return list;
|
||||||
|
}else{
|
||||||
|
return dummyInventoryInfoEOList;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 数据字典数据处理方法
|
* 数据字典数据处理方法
|
||||||
* @param result 返回值
|
* @param result 返回值
|
||||||
@@ -880,6 +1108,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
if(CollectionUtils.isNotEmpty(result)){
|
if(CollectionUtils.isNotEmpty(result)){
|
||||||
List<SysDictItem> sysDictItems = sysDictItemServiceImpl.getBaseMapper().selectItemsAll();
|
List<SysDictItem> sysDictItems = sysDictItemServiceImpl.getBaseMapper().selectItemsAll();
|
||||||
for (ProjectLawsInventoryEO projectLawsInventoryEO : result) {
|
for (ProjectLawsInventoryEO projectLawsInventoryEO : result) {
|
||||||
|
if(StringUtils.isBlank(projectLawsInventoryEO.getWvtaId())){
|
||||||
|
projectLawsInventoryEO.setWvtaId("");
|
||||||
|
}
|
||||||
|
if(StringUtils.isBlank(projectLawsInventoryEO.getDutyTerritory_dictText())){
|
||||||
|
projectLawsInventoryEO.setDutyTerritory_dictText("");
|
||||||
|
}
|
||||||
//处理适用地区
|
//处理适用地区
|
||||||
String region = projectLawsInventoryEO.getRegion();
|
String region = projectLawsInventoryEO.getRegion();
|
||||||
if(StringUtils.isNotEmpty(region)){
|
if(StringUtils.isNotEmpty(region)){
|
||||||
@@ -906,6 +1140,8 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
if(StringUtils.isNotEmpty(attestationRank)){
|
if(StringUtils.isNotEmpty(attestationRank)){
|
||||||
String attestationRank_dictText = disposeShowDictItemValue(sysDictItems, attestationRank,cut,ProjectInventoryFieldEnum.ATTESTATION_RANK.getValue());
|
String attestationRank_dictText = disposeShowDictItemValue(sysDictItems, attestationRank,cut,ProjectInventoryFieldEnum.ATTESTATION_RANK.getValue());
|
||||||
projectLawsInventoryEO.setAttestationRank_dictText(attestationRank_dictText);
|
projectLawsInventoryEO.setAttestationRank_dictText(attestationRank_dictText);
|
||||||
|
}else{
|
||||||
|
projectLawsInventoryEO.setAttestationRank_dictText("");
|
||||||
}
|
}
|
||||||
|
|
||||||
//处理责任领域
|
//处理责任领域
|
||||||
@@ -1093,14 +1329,20 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
//认证工程师id
|
//认证工程师id
|
||||||
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getHomologationEngineerId())){
|
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getHomologationEngineerId())){
|
||||||
userIdList.add(projectLawsInventoryEO.getHomologationEngineerId());
|
userIdList.add(projectLawsInventoryEO.getHomologationEngineerId());
|
||||||
|
}else{
|
||||||
|
projectLawsInventoryEO.setHomologationEngineerName("");
|
||||||
}
|
}
|
||||||
//法规工程师id
|
//法规工程师id
|
||||||
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getRegulationOwnerId())){
|
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getRegulationOwnerId())){
|
||||||
userIdList.add(projectLawsInventoryEO.getRegulationOwnerId());
|
userIdList.add(projectLawsInventoryEO.getRegulationOwnerId());
|
||||||
|
}else{
|
||||||
|
projectLawsInventoryEO.setRegulationOwnerName("");
|
||||||
}
|
}
|
||||||
//工程接口人id
|
//工程接口人id
|
||||||
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getEngineeringInterfacePerson())){
|
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getEngineeringInterfacePerson())){
|
||||||
userIdList.add(projectLawsInventoryEO.getEngineeringInterfacePerson());
|
userIdList.add(projectLawsInventoryEO.getEngineeringInterfacePerson());
|
||||||
|
}else{
|
||||||
|
projectLawsInventoryEO.setEngineeringInterfacePersonName("");
|
||||||
}
|
}
|
||||||
|
|
||||||
//设计符合性确认
|
//设计符合性确认
|
||||||
|
|||||||
Reference in New Issue
Block a user