任务清单-表头排序
This commit is contained in:
+12
@@ -120,6 +120,8 @@ public class ProjectTaskInventoryEO implements Serializable {
|
||||
@ApiModelProperty(value = "认证进度")
|
||||
@Dict(dicCode = "certification_progress")
|
||||
private String certificationProgress;
|
||||
@TableField(exist = false)
|
||||
private String certificationProgressName;
|
||||
|
||||
/**认证进度备注*/
|
||||
@Excel(name = "认证进度备注", width = 15)
|
||||
@@ -150,6 +152,8 @@ public class ProjectTaskInventoryEO implements Serializable {
|
||||
@Dict(dicCode ="duty_territory")
|
||||
@Excel(name = "责任领域", width = 20)
|
||||
private String dutyTerritory;
|
||||
@TableField(exist = false)
|
||||
private String dutyTerritoryName;
|
||||
|
||||
/**设计符合性 待办id**/
|
||||
@TableField(exist = false)
|
||||
@@ -337,4 +341,12 @@ public class ProjectTaskInventoryEO implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String prehomoDutyId;
|
||||
|
||||
//排序(1->正序, 2->倒序)
|
||||
@TableField(exist = false)
|
||||
private String orderBy;
|
||||
|
||||
//排序字段
|
||||
@TableField(exist = false)
|
||||
private String orderByField;
|
||||
|
||||
}
|
||||
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
package com.jero.modules.project.enums;
|
||||
|
||||
/**
|
||||
* 当前状态枚举类
|
||||
*/
|
||||
public enum ColourEnum {
|
||||
|
||||
RED("红色","1"), // 未完成
|
||||
YELLOW("黄色","2"), // 已完成
|
||||
GREEN("绿色","3"), // 展示数据
|
||||
BLUE("蓝色","4") // 展示数据
|
||||
;
|
||||
|
||||
|
||||
String name;
|
||||
String value;
|
||||
|
||||
private ColourEnum(String name, String value) {
|
||||
this.name = name;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public void setValue(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public static String getTextByValue(String value) {
|
||||
ColourEnum[] values = values();
|
||||
for (ColourEnum taskStatusEnum : values) {
|
||||
if (taskStatusEnum.value.equals(value)) {
|
||||
return taskStatusEnum.name;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
+282
@@ -14,6 +14,7 @@ import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.document.entity.BussDocumentLibraryEO;
|
||||
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
|
||||
import com.jero.modules.dummy.enums.OrderEnum;
|
||||
import com.jero.modules.feishu.service.IFeishuService;
|
||||
import com.jero.modules.feishu.vo.FeishuMsg2Vo;
|
||||
import com.jero.modules.feishu.vo.FeishuMsgVo;
|
||||
@@ -51,6 +52,7 @@ import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.text.Collator;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -289,9 +291,263 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
|
||||
).collect(Collectors.toList());
|
||||
disposeData(result,projectTaskInventoryEO.getCut());
|
||||
}
|
||||
result = hearSort(projectTaskInventoryEO, result);
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private List<ProjectTaskInventoryEO> hearSort(ProjectTaskInventoryEO projectTaskInventoryEO, List<ProjectTaskInventoryEO> result) {
|
||||
//标准信息 serialNumber
|
||||
// String orderBy = "1";
|
||||
// String orderByField = "projectStatusAssess";
|
||||
String orderBy = projectTaskInventoryEO.getOrderBy();
|
||||
String orderByField = projectTaskInventoryEO.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());
|
||||
});
|
||||
}
|
||||
}
|
||||
// 责任领域 dutyTerritoryName
|
||||
if("dutyTerritory".equals(orderByField)){
|
||||
if(OrderEnum.POSITIVE.getValue().equals(orderBy)){
|
||||
Collections.sort(result,(e1, e2)->{
|
||||
return comparator.compare(e1.getDutyTerritoryName(),e2.getDutyTerritoryName());
|
||||
});
|
||||
}else if(OrderEnum.REVERSE.getValue().equals(orderBy)){
|
||||
Collections.sort(result,(e1,e2)->{
|
||||
return comparator.compare(e2.getDutyTerritoryName(),e1.getDutyTerritoryName());
|
||||
});
|
||||
}
|
||||
}
|
||||
// 认证进度 certificationProgressName
|
||||
if("certificationProgressName".equals(orderByField)){
|
||||
if(OrderEnum.POSITIVE.getValue().equals(orderBy)){
|
||||
Collections.sort(result,(e1, e2)->{
|
||||
return comparator.compare(e1.getCertificationProgressName(),e2.getCertificationProgressName());
|
||||
});
|
||||
}else if(OrderEnum.REVERSE.getValue().equals(orderBy)){
|
||||
Collections.sort(result,(e1,e2)->{
|
||||
return comparator.compare(e2.getCertificationProgressName(),e1.getCertificationProgressName());
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
List<ProjectTaskInventoryEO> list = new LinkedList<>();
|
||||
// 设计符合性确认 designFlowTaskStatus ReviewResultEnum
|
||||
result = designSort(result, orderBy, orderByField, list);
|
||||
|
||||
// Pre-Homo确认 prehomoFlowTaskStatus ReviewResultEnum
|
||||
result = preSort(result, orderBy, orderByField, list);
|
||||
|
||||
// 验证符合性确认 verifyFlowTaskStatus ReviewResultEnum
|
||||
result = verifySort(result, orderBy, orderByField, list);
|
||||
|
||||
// 当前状态 projectStatusAssess
|
||||
result = colourSort(result, orderBy, orderByField, list);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private List<ProjectTaskInventoryEO> designSort(List<ProjectTaskInventoryEO> result,
|
||||
String orderBy,
|
||||
String orderByField,
|
||||
List<ProjectTaskInventoryEO> list) {
|
||||
if(ObjectUtils.isNotEmpty(orderByField) && "designFlowTaskStatus".equals(orderByField)){
|
||||
List<ProjectTaskInventoryEO> conformity = result.stream()
|
||||
.filter(e -> ReviewResultEnum.CONFORMITY.getValue().equals(e.getDesignFlowTaskStatus())).collect(Collectors.toList());
|
||||
List<ProjectTaskInventoryEO> inconformity = result.stream()
|
||||
.filter(e -> ReviewResultEnum.INCONFORMITY.getValue().equals(e.getDesignFlowTaskStatus())).collect(Collectors.toList());
|
||||
List<ProjectTaskInventoryEO> toTrack = result.stream()
|
||||
.filter(e -> ReviewResultEnum.TO_TRACK.getValue().equals(e.getDesignFlowTaskStatus())).collect(Collectors.toList());
|
||||
List<ProjectTaskInventoryEO> uninvolved = result.stream()
|
||||
.filter(e -> ReviewResultEnum.UNINVOLVED.getValue().equals(e.getDesignFlowTaskStatus())).collect(Collectors.toList());
|
||||
List<ProjectTaskInventoryEO> toBeConfirmed = result.stream()
|
||||
.filter(e -> ReviewResultEnum.TO_BE_CONFIRMED.getValue().equals(e.getDesignFlowTaskStatus())).collect(Collectors.toList());
|
||||
List<ProjectTaskInventoryEO> terminationOfTask = result.stream()
|
||||
.filter(e -> ReviewResultEnum.TERMINATION_OF_TASK.getValue().equals(e.getDesignFlowTaskStatus())).collect(Collectors.toList());
|
||||
|
||||
if (OrderEnum.POSITIVE.getValue().equals(orderBy)) {
|
||||
//正序
|
||||
//状态为空的
|
||||
List<ProjectTaskInventoryEO> collect = result.stream()
|
||||
.filter(e -> StringUtils.isBlank(e.getDesignFlowTaskStatus())).collect(Collectors.toList());
|
||||
list.addAll(collect);
|
||||
list.addAll(toBeConfirmed);
|
||||
list.addAll(conformity);
|
||||
list.addAll(inconformity);
|
||||
list.addAll(toTrack);
|
||||
list.addAll(uninvolved);
|
||||
list.addAll(terminationOfTask);
|
||||
|
||||
} else if (OrderEnum.REVERSE.getValue().equals(orderBy)) {
|
||||
//倒序
|
||||
list.addAll(terminationOfTask);
|
||||
list.addAll(uninvolved);
|
||||
list.addAll(toTrack);
|
||||
list.addAll(inconformity);
|
||||
list.addAll(conformity);
|
||||
list.addAll(toBeConfirmed);
|
||||
List<ProjectTaskInventoryEO> collect = result.stream()
|
||||
.filter(e -> StringUtils.isBlank(e.getDesignFlowTaskStatus())).collect(Collectors.toList());
|
||||
list.addAll(collect);
|
||||
}
|
||||
}
|
||||
if(ObjectUtils.isEmpty(list)){
|
||||
return result;
|
||||
}else{
|
||||
return list;
|
||||
}
|
||||
}
|
||||
private List<ProjectTaskInventoryEO> preSort(List<ProjectTaskInventoryEO> result,
|
||||
String orderBy,
|
||||
String orderByField,
|
||||
List<ProjectTaskInventoryEO> list) {
|
||||
if(ObjectUtils.isNotEmpty(orderByField) && "prehomoFlowTaskStatus".equals(orderByField)){
|
||||
List<ProjectTaskInventoryEO> conformity = result.stream()
|
||||
.filter(e -> ReviewResultEnum.CONFORMITY.getValue().equals(e.getPrehomoFlowTaskStatus())).collect(Collectors.toList());
|
||||
List<ProjectTaskInventoryEO> inconformity = result.stream()
|
||||
.filter(e -> ReviewResultEnum.INCONFORMITY.getValue().equals(e.getPrehomoFlowTaskStatus())).collect(Collectors.toList());
|
||||
List<ProjectTaskInventoryEO> toTrack = result.stream()
|
||||
.filter(e -> ReviewResultEnum.TO_TRACK.getValue().equals(e.getPrehomoFlowTaskStatus())).collect(Collectors.toList());
|
||||
List<ProjectTaskInventoryEO> uninvolved = result.stream()
|
||||
.filter(e -> ReviewResultEnum.UNINVOLVED.getValue().equals(e.getPrehomoFlowTaskStatus())).collect(Collectors.toList());
|
||||
List<ProjectTaskInventoryEO> toBeConfirmed = result.stream()
|
||||
.filter(e -> ReviewResultEnum.TO_BE_CONFIRMED.getValue().equals(e.getPrehomoFlowTaskStatus())).collect(Collectors.toList());
|
||||
List<ProjectTaskInventoryEO> terminationOfTask = result.stream()
|
||||
.filter(e -> ReviewResultEnum.TERMINATION_OF_TASK.getValue().equals(e.getPrehomoFlowTaskStatus())).collect(Collectors.toList());
|
||||
|
||||
if (OrderEnum.POSITIVE.getValue().equals(orderBy)) {
|
||||
//正序
|
||||
List<ProjectTaskInventoryEO> collect = result.stream()
|
||||
.filter(e -> StringUtils.isBlank(e.getPrehomoFlowTaskStatus())).collect(Collectors.toList());
|
||||
list.addAll(collect);
|
||||
list.addAll(toBeConfirmed);
|
||||
list.addAll(conformity);
|
||||
list.addAll(inconformity);
|
||||
list.addAll(toTrack);
|
||||
list.addAll(uninvolved);
|
||||
list.addAll(terminationOfTask);
|
||||
|
||||
} else if (OrderEnum.REVERSE.getValue().equals(orderBy)) {
|
||||
//倒序
|
||||
list.addAll(terminationOfTask);
|
||||
list.addAll(uninvolved);
|
||||
list.addAll(toTrack);
|
||||
list.addAll(inconformity);
|
||||
list.addAll(conformity);
|
||||
list.addAll(toBeConfirmed);
|
||||
List<ProjectTaskInventoryEO> collect = result.stream()
|
||||
.filter(e -> StringUtils.isBlank(e.getPrehomoFlowTaskStatus())).collect(Collectors.toList());
|
||||
list.addAll(collect);
|
||||
}
|
||||
}
|
||||
if(ObjectUtils.isEmpty(list)){
|
||||
return result;
|
||||
}else{
|
||||
return list;
|
||||
}
|
||||
}
|
||||
private List<ProjectTaskInventoryEO> verifySort(List<ProjectTaskInventoryEO> result,
|
||||
String orderBy,
|
||||
String orderByField,
|
||||
List<ProjectTaskInventoryEO> list) {
|
||||
if(ObjectUtils.isNotEmpty(orderByField) && "verifyFlowTaskStatus".equals(orderByField)){
|
||||
List<ProjectTaskInventoryEO> conformity = result.stream()
|
||||
.filter(e -> ReviewResultEnum.CONFORMITY.getValue().equals(e.getVerifyFlowTaskStatus())).collect(Collectors.toList());
|
||||
List<ProjectTaskInventoryEO> inconformity = result.stream()
|
||||
.filter(e -> ReviewResultEnum.INCONFORMITY.getValue().equals(e.getVerifyFlowTaskStatus())).collect(Collectors.toList());
|
||||
List<ProjectTaskInventoryEO> toTrack = result.stream()
|
||||
.filter(e -> ReviewResultEnum.TO_TRACK.getValue().equals(e.getVerifyFlowTaskStatus())).collect(Collectors.toList());
|
||||
List<ProjectTaskInventoryEO> uninvolved = result.stream()
|
||||
.filter(e -> ReviewResultEnum.UNINVOLVED.getValue().equals(e.getVerifyFlowTaskStatus())).collect(Collectors.toList());
|
||||
List<ProjectTaskInventoryEO> toBeConfirmed = result.stream()
|
||||
.filter(e -> ReviewResultEnum.TO_BE_CONFIRMED.getValue().equals(e.getVerifyFlowTaskStatus())).collect(Collectors.toList());
|
||||
List<ProjectTaskInventoryEO> terminationOfTask = result.stream()
|
||||
.filter(e -> ReviewResultEnum.TERMINATION_OF_TASK.getValue().equals(e.getVerifyFlowTaskStatus())).collect(Collectors.toList());
|
||||
|
||||
if (OrderEnum.POSITIVE.getValue().equals(orderBy)) {
|
||||
//正序
|
||||
List<ProjectTaskInventoryEO> collect = result.stream()
|
||||
.filter(e -> StringUtils.isBlank(e.getVerifyFlowTaskStatus())).collect(Collectors.toList());
|
||||
list.addAll(collect);
|
||||
list.addAll(toBeConfirmed);
|
||||
list.addAll(conformity);
|
||||
list.addAll(inconformity);
|
||||
list.addAll(toTrack);
|
||||
list.addAll(uninvolved);
|
||||
list.addAll(terminationOfTask);
|
||||
|
||||
} else if (OrderEnum.REVERSE.getValue().equals(orderBy)) {
|
||||
//倒序
|
||||
list.addAll(terminationOfTask);
|
||||
list.addAll(uninvolved);
|
||||
list.addAll(toTrack);
|
||||
list.addAll(inconformity);
|
||||
list.addAll(conformity);
|
||||
list.addAll(toBeConfirmed);
|
||||
List<ProjectTaskInventoryEO> collect = result.stream()
|
||||
.filter(e -> StringUtils.isBlank(e.getVerifyFlowTaskStatus())).collect(Collectors.toList());
|
||||
list.addAll(collect);
|
||||
}
|
||||
}
|
||||
if(ObjectUtils.isEmpty(list)){
|
||||
return result;
|
||||
}else{
|
||||
return list;
|
||||
}
|
||||
}
|
||||
private List<ProjectTaskInventoryEO> colourSort(List<ProjectTaskInventoryEO> result,
|
||||
String orderBy,
|
||||
String orderByField,
|
||||
List<ProjectTaskInventoryEO> list) {
|
||||
if(ObjectUtils.isNotEmpty(orderByField) && "projectStatusAssess".equals(orderByField)){
|
||||
List<ProjectTaskInventoryEO> red = result.stream()
|
||||
.filter(e -> e.getProjectStatusAssess().equals(ColourEnum.RED.getValue())).collect(Collectors.toList());
|
||||
List<ProjectTaskInventoryEO> yellow = result.stream()
|
||||
.filter(e -> e.getProjectStatusAssess().equals(ColourEnum.YELLOW.getValue())).collect(Collectors.toList());
|
||||
List<ProjectTaskInventoryEO> green = result.stream()
|
||||
.filter(e -> e.getProjectStatusAssess().equals(ColourEnum.GREEN.getValue())).collect(Collectors.toList());
|
||||
List<ProjectTaskInventoryEO> blue = result.stream()
|
||||
.filter(e -> e.getProjectStatusAssess().equals(ColourEnum.BLUE.getValue())).collect(Collectors.toList());
|
||||
|
||||
if (OrderEnum.POSITIVE.getValue().equals(orderBy)) {
|
||||
//正序
|
||||
List<ProjectTaskInventoryEO> collect = result.stream()
|
||||
.filter(e -> StringUtils.isBlank(e.getProjectStatusAssess())).collect(Collectors.toList());
|
||||
list.addAll(collect);
|
||||
list.addAll(green);
|
||||
list.addAll(yellow);
|
||||
list.addAll(red);
|
||||
list.addAll(blue);
|
||||
|
||||
} else if (OrderEnum.REVERSE.getValue().equals(orderBy)) {
|
||||
//倒序
|
||||
list.addAll(blue);
|
||||
list.addAll(red);
|
||||
list.addAll(yellow);
|
||||
list.addAll(green);
|
||||
List<ProjectTaskInventoryEO> collect = result.stream()
|
||||
.filter(e -> StringUtils.isBlank(e.getProjectStatusAssess())).collect(Collectors.toList());
|
||||
list.addAll(collect);
|
||||
}
|
||||
}
|
||||
if(ObjectUtils.isEmpty(list)){
|
||||
return result;
|
||||
}else{
|
||||
return list;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<?> processCall(JSONObject jsonObject) {
|
||||
String requestSource = jsonObject.getString("requestSource");
|
||||
@@ -1341,7 +1597,33 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
|
||||
*/
|
||||
public void disposeData(List<ProjectTaskInventoryEO> result,String cut){
|
||||
if(CollectionUtils.isNotEmpty(result)){
|
||||
List<SysDictItem> dictItemList = sysDictItemServiceImpl.selectItemsByDictCode("duty_territory");
|
||||
List<SysDictItem> certificationProgress = sysDictItemServiceImpl.selectItemsByDictCode("certification_progress");
|
||||
for (ProjectTaskInventoryEO projectTaskInventoryEO : result) {
|
||||
//责任领域
|
||||
if(StringUtils.isNotEmpty(projectTaskInventoryEO.getDutyTerritory())){
|
||||
List<SysDictItem> collect = dictItemList.stream()
|
||||
.filter(dict -> StringUtils.equals(dict.getItemValue(), projectTaskInventoryEO.getDutyTerritory())).collect(Collectors.toList());
|
||||
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
|
||||
projectTaskInventoryEO.setDutyTerritoryName(collect.get(0).getItemText());
|
||||
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||
projectTaskInventoryEO.setDutyTerritoryName(collect.get(0).getEnName());
|
||||
}
|
||||
}else{
|
||||
projectTaskInventoryEO.setDutyTerritoryName("");
|
||||
}
|
||||
//认证进度 certificationProgress
|
||||
if(StringUtils.isNotEmpty(projectTaskInventoryEO.getCertificationProgress())){
|
||||
List<SysDictItem> collect = certificationProgress.stream()
|
||||
.filter(dict -> StringUtils.equals(dict.getItemValue(), projectTaskInventoryEO.getCertificationProgress())).collect(Collectors.toList());
|
||||
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
|
||||
projectTaskInventoryEO.setCertificationProgressName(collect.get(0).getItemText());
|
||||
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||
projectTaskInventoryEO.setCertificationProgressName(collect.get(0).getEnName());
|
||||
}
|
||||
}else{
|
||||
projectTaskInventoryEO.setCertificationProgressName("");
|
||||
}
|
||||
if(StringUtils.isNotEmpty(projectTaskInventoryEO.getDesignStatus())){
|
||||
String textByValue = DesignComplianceStatusEnum.getTextByValue(projectTaskInventoryEO.getDesignStatus(), cut);
|
||||
projectTaskInventoryEO.setDesignStatus(textByValue);
|
||||
|
||||
Reference in New Issue
Block a user