法规清单-表头排序
This commit is contained in:
+8
@@ -472,4 +472,12 @@ public class ProjectLawsInventoryEO implements Serializable {
|
||||
@ApiModelProperty(value = "调取虚拟清单中文档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.dummy.entity.DummyInventoryBaseEO;
|
||||
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.OrderEnum;
|
||||
import com.jero.modules.dummy.service.IDummyInventoryInfoEOService;
|
||||
import com.jero.modules.dummy.service.impl.DummyInventoryBaseEOServiceImpl;
|
||||
import com.jero.modules.dummy.util.DeepCopyListUtil;
|
||||
@@ -113,6 +115,7 @@ import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.*;
|
||||
import java.net.URLEncoder;
|
||||
import java.text.Collator;
|
||||
import java.text.DateFormat;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
@@ -868,9 +871,234 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
long startTime = System.currentTimeMillis();
|
||||
dataDictDispose(result,projectLawsInventoryEO.getCut());
|
||||
log.debug("处理数据字典消耗时间:" + (System.currentTimeMillis() - startTime));
|
||||
//表头排序
|
||||
result = hearSort(projectLawsInventoryEO, 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 返回值
|
||||
@@ -880,6 +1108,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
if(CollectionUtils.isNotEmpty(result)){
|
||||
List<SysDictItem> sysDictItems = sysDictItemServiceImpl.getBaseMapper().selectItemsAll();
|
||||
for (ProjectLawsInventoryEO projectLawsInventoryEO : result) {
|
||||
if(StringUtils.isBlank(projectLawsInventoryEO.getWvtaId())){
|
||||
projectLawsInventoryEO.setWvtaId("");
|
||||
}
|
||||
if(StringUtils.isBlank(projectLawsInventoryEO.getDutyTerritory_dictText())){
|
||||
projectLawsInventoryEO.setDutyTerritory_dictText("");
|
||||
}
|
||||
//处理适用地区
|
||||
String region = projectLawsInventoryEO.getRegion();
|
||||
if(StringUtils.isNotEmpty(region)){
|
||||
@@ -906,6 +1140,8 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
if(StringUtils.isNotEmpty(attestationRank)){
|
||||
String attestationRank_dictText = disposeShowDictItemValue(sysDictItems, attestationRank,cut,ProjectInventoryFieldEnum.ATTESTATION_RANK.getValue());
|
||||
projectLawsInventoryEO.setAttestationRank_dictText(attestationRank_dictText);
|
||||
}else{
|
||||
projectLawsInventoryEO.setAttestationRank_dictText("");
|
||||
}
|
||||
|
||||
//处理责任领域
|
||||
@@ -1093,14 +1329,20 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
//认证工程师id
|
||||
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getHomologationEngineerId())){
|
||||
userIdList.add(projectLawsInventoryEO.getHomologationEngineerId());
|
||||
}else{
|
||||
projectLawsInventoryEO.setHomologationEngineerName("");
|
||||
}
|
||||
//法规工程师id
|
||||
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getRegulationOwnerId())){
|
||||
userIdList.add(projectLawsInventoryEO.getRegulationOwnerId());
|
||||
}else{
|
||||
projectLawsInventoryEO.setRegulationOwnerName("");
|
||||
}
|
||||
//工程接口人id
|
||||
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getEngineeringInterfacePerson())){
|
||||
userIdList.add(projectLawsInventoryEO.getEngineeringInterfacePerson());
|
||||
}else{
|
||||
projectLawsInventoryEO.setEngineeringInterfacePersonName("");
|
||||
}
|
||||
|
||||
//设计符合性确认
|
||||
|
||||
Reference in New Issue
Block a user