认证清单-表头排序。

This commit is contained in:
wangzhijiang
2023-04-14 14:12:04 +08:00
parent df14341d24
commit 69c524d139
2 changed files with 127 additions and 0 deletions
@@ -222,4 +222,12 @@ public class ProjectCertificationInventoryEO implements Serializable {
@TableField(exist = false)
private String reasonForReturn;
//排序(1->正序, 2->倒序)
@TableField(exist = false)
private String orderBy;
//排序字段
@TableField(exist = false)
private String orderByField;
}
@@ -29,6 +29,7 @@ import com.jero.modules.document.controller.BussDocumentLibraryEOController;
import com.jero.modules.document.entity.BussDocumentLibraryEO;
import com.jero.modules.document.mapper.BussDocumentLibraryEOMapper;
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
import com.jero.modules.dummy.enums.OrderEnum;
import com.jero.modules.feishu.enums.TemplateInfoEnum2;
import com.jero.modules.feishu.service.IFeishuService;
import com.jero.modules.oss.entity.OSSFile;
@@ -83,6 +84,7 @@ import org.springframework.mock.web.MockMultipartFile;
import org.springframework.stereotype.Service;
import java.io.*;
import java.text.Collator;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@@ -1374,9 +1376,126 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
this.createQueryPermission(queryWrapper,roleCode);
IPage<ProjectCertificationInventoryEO> pageList = this.page(page, queryWrapper);
this.disposeData(pageList.getRecords(),cut);
List<ProjectCertificationInventoryEO> records = this.hearSort(projectCertificationInventoryEO, pageList.getRecords());
pageList.setRecords(records);
return pageList;
}
/**
* 表头排序
* @param pciEo
* @param datas
* @return
*/
private List<ProjectCertificationInventoryEO> hearSort(ProjectCertificationInventoryEO pciEo, List<ProjectCertificationInventoryEO> datas) {
String orderBy = pciEo.getOrderBy();
String orderByField = pciEo.getOrderByField();
if(ObjectUtils.isNotEmpty(orderByField)){
Collator comparator = Collator.getInstance(Locale.CHINESE);
// 类别 category
if(StringUtils.equals("category",orderByField)){
if(OrderEnum.POSITIVE.getValue().equals(orderBy)){
Collections.sort(datas,(e1, e2)->{
String e1Category = (StringUtils.isNotEmpty(e1.getCategory()) ? e1.getCategory() : "");
String e2Category = (StringUtils.isNotEmpty(e2.getCategory()) ? e2.getCategory() : "");
return comparator.compare(e1Category,e2Category);
});
}else if(OrderEnum.REVERSE.getValue().equals(orderBy)){
Collections.sort(datas,(e1,e2)->{
String e1Category = (StringUtils.isNotEmpty(e1.getCategory()) ? e1.getCategory() : "");
String e2Category = (StringUtils.isNotEmpty(e2.getCategory()) ? e2.getCategory() : "");
return comparator.compare(e2Category,e1Category);
});
}
}
// 检验项目 inspectionItem
if(StringUtils.equals("inspectionItem",orderByField)){
if(OrderEnum.POSITIVE.getValue().equals(orderBy)){
Collections.sort(datas,(e1, e2)->{
String e1InspectionItem = (StringUtils.isNotEmpty(e1.getInspectionItem()) ? e1.getInspectionItem() : "");
String e2InspectionItem = (StringUtils.isNotEmpty(e2.getInspectionItem()) ? e2.getInspectionItem() : "");
return comparator.compare(e1InspectionItem,e2InspectionItem);
});
}else if(OrderEnum.REVERSE.getValue().equals(orderBy)){
Collections.sort(datas,(e1,e2)->{
String e1InspectionItem = (StringUtils.isNotEmpty(e1.getInspectionItem()) ? e1.getInspectionItem() : "");
String e2InspectionItem = (StringUtils.isNotEmpty(e2.getInspectionItem()) ? e2.getInspectionItem() : "");
return comparator.compare(e2InspectionItem,e1InspectionItem);
});
}
}
// 标准编号 serialNumber
if(StringUtils.equals("serialNumber",orderByField)){
if(OrderEnum.POSITIVE.getValue().equals(orderBy)){
Collections.sort(datas,(e1, e2)->{
String e1SerialNumber = (StringUtils.isNotEmpty(e1.getSerialNumber()) ? e1.getSerialNumber() : "");
String e2SerialNumber = (StringUtils.isNotEmpty(e2.getSerialNumber()) ? e2.getSerialNumber() : "");
return comparator.compare(e1SerialNumber,e2SerialNumber);
});
}else if(OrderEnum.REVERSE.getValue().equals(orderBy)){
Collections.sort(datas,(e1,e2)->{
String e1SerialNumber = (StringUtils.isNotEmpty(e1.getSerialNumber()) ? e1.getSerialNumber() : "");
String e2SerialNumber = (StringUtils.isNotEmpty(e2.getSerialNumber()) ? e2.getSerialNumber() : "");
return comparator.compare(e2SerialNumber,e1SerialNumber);
});
}
}
// 交付物类型 deliverableTypeName
if(StringUtils.equals("deliverableTypeName",orderByField)){
if(OrderEnum.POSITIVE.getValue().equals(orderBy)){
Collections.sort(datas,(e1, e2)->{
String e1DeliverableTypeName = (StringUtils.isNotEmpty(e1.getDeliverableTypeName()) ? e1.getDeliverableTypeName() : "");
String e2DeliverableTypeName = (StringUtils.isNotEmpty(e2.getDeliverableTypeName()) ? e2.getDeliverableTypeName() : "");
return comparator.compare(e1DeliverableTypeName,e2DeliverableTypeName);
});
}else if(OrderEnum.REVERSE.getValue().equals(orderBy)){
Collections.sort(datas,(e1,e2)->{
String e1DeliverableTypeName = (StringUtils.isNotEmpty(e1.getDeliverableTypeName()) ? e1.getDeliverableTypeName() : "");
String e2DeliverableTypeName = (StringUtils.isNotEmpty(e2.getDeliverableTypeName()) ? e2.getDeliverableTypeName() : "");
return comparator.compare(e2DeliverableTypeName,e1DeliverableTypeName);
});
}
}
// 截止日期 endTime
if(StringUtils.equals("endTime",orderByField)){
if(OrderEnum.POSITIVE.getValue().equals(orderBy)){
Collections.sort(datas,(e1, e2)->{
String e1EndTime = (e1.getEndTime() != null ? DateUtils.formatDate(e1.getEndTime()) : "");
String e2EndTime = (e2.getEndTime() != null ? DateUtils.formatDate(e2.getEndTime()) : "");
return comparator.compare(e1EndTime,e2EndTime);
});
}else if(OrderEnum.REVERSE.getValue().equals(orderBy)){
Collections.sort(datas,(e1,e2)->{
String e1EndTime = (e1.getEndTime() != null ? DateUtils.formatDate(e1.getEndTime()) : "");
String e2EndTime = (e2.getEndTime() != null ? DateUtils.formatDate(e2.getEndTime()) : "");
return comparator.compare(e2EndTime,e1EndTime);
});
}
}
// 流程状态 flowStatusName
if(StringUtils.equals("flowStatusName",orderByField)){
if(OrderEnum.POSITIVE.getValue().equals(orderBy)){
Collections.sort(datas,(e1, e2)->{
String e1FlowStatusName = (StringUtils.isNotEmpty(e1.getFlowStatusName()) ? e1.getFlowStatusName() : "");
String e2FlowStatusName = (StringUtils.isNotEmpty(e2.getFlowStatusName()) ? e2.getFlowStatusName() : "");
return comparator.compare(e1FlowStatusName,e2FlowStatusName);
});
}else if(OrderEnum.REVERSE.getValue().equals(orderBy)){
Collections.sort(datas,(e1,e2)->{
String e1FlowStatusName = (StringUtils.isNotEmpty(e1.getFlowStatusName()) ? e1.getFlowStatusName() : "");
String e2FlowStatusName = (StringUtils.isNotEmpty(e2.getFlowStatusName()) ? e2.getFlowStatusName() : "");
return comparator.compare(e2FlowStatusName,e1FlowStatusName);
});
}
}
}
return datas;
}
@Override
public void createQueryPermission(QueryWrapper<ProjectCertificationInventoryEO> queryWrapper, String roleCode) {
/**