From 69c524d139452af3dea1b91b08d633eef5671e6b Mon Sep 17 00:00:00 2001 From: wangzhijiang Date: Fri, 14 Apr 2023 14:12:04 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A4=E8=AF=81=E6=B8=85=E5=8D=95-=E8=A1=A8?= =?UTF-8?q?=E5=A4=B4=E6=8E=92=E5=BA=8F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectCertificationInventoryEO.java | 8 ++ ...ctCertificationInventoryEOServiceImpl.java | 119 ++++++++++++++++++ 2 files changed, 127 insertions(+) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryEO.java index cb656f9c6..e31fbc852 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryEO.java @@ -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; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectCertificationInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectCertificationInventoryEOServiceImpl.java index a2580f34e..59bffd7d0 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectCertificationInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectCertificationInventoryEOServiceImpl.java @@ -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 pageList = this.page(page, queryWrapper); this.disposeData(pageList.getRecords(),cut); + List records = this.hearSort(projectCertificationInventoryEO, pageList.getRecords()); + pageList.setRecords(records); return pageList; } + /** + * 表头排序 + * @param pciEo + * @param datas + * @return + */ + private List hearSort(ProjectCertificationInventoryEO pciEo, List 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 queryWrapper, String roleCode) { /**