From daf17a71d238d07add2619f67dd21a616f7860f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E5=B5=A9?= Date: Tue, 27 Jun 2023 19:29:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A1=B9=E7=9B=AE=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E7=9C=8B=E6=9D=BF=20=E9=A6=96=E5=85=88=E6=8E=92?= =?UTF-8?q?=E5=BA=8F-=E8=AE=A4=E8=AF=81=E6=89=B9=E5=87=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ProjectStatusBoardServiceImpl.java | 66 ++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectStatusBoardServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectStatusBoardServiceImpl.java index 34514e2a4..792951058 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectStatusBoardServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectStatusBoardServiceImpl.java @@ -15,6 +15,7 @@ import com.jero.modules.cert.collect.entity.ParamsManifestEO; import com.jero.modules.cert.collect.enums.CollectManifestStatisticsStateEnum; import com.jero.modules.cert.collect.service.IParamsCollectManifestEOService; import com.jero.modules.cert.collect.service.IParamsManifestEOService; +import com.jero.modules.cert.report.entity.ParamsReportConfigDataEO; import com.jero.modules.cert.template.enums.ControlTypeEnum; import com.jero.modules.project.entity.*; import com.jero.modules.project.enums.*; @@ -50,6 +51,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; import java.text.DecimalFormat; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.CountDownLatch; @@ -171,7 +173,8 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService projectLibraryBaseLinkedList.addAll(projectLibraryBaseListTemp); } } - Collections.sort(projectLibraryBaseList); + //Collections.sort(projectLibraryBaseList); + List dictItemList = sysDictItemServiceImpl.selectItemsByDictCode("region"); for (ProjectLibraryBase libraryBase : projectLibraryBaseList) { @@ -194,6 +197,67 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService } } } + Collections.sort(result, new Comparator>() { + @Override + public int compare(Map o1, Map o2) { + ProjectLibraryBase p1 = (ProjectLibraryBase) o1.get("projectInfo"); + ProjectLibraryBase p2 = (ProjectLibraryBase) o2.get("projectInfo"); + Date defaultTime = null; + try { + defaultTime = sdf.parse("2099-01-01"); + } catch (ParseException e) { + e.printStackTrace(); + } + Date HomoKoTime1 = defaultTime; + List> tnvList1 = (List>) o1.get("data"); + if (CollectionUtils.isNotEmpty(tnvList1)) { + List tnList1 = tnvList1.get(0); + if (CollectionUtils.isNotEmpty(tnList1)) { + for (TimeNodeVO tnv1 : tnList1) { + if (tnv1.getName().equals(ProjectTaskPlanningNameEnum.ATTESTATION_END_TIME.getName()) + || tnv1.getName().equals(ProjectTaskPlanningNameEnum.ATTESTATION_END_TIME.getValue())) { + HomoKoTime1 = tnv1.getTime(); + } + } + } + } + Date HomoKoTime2 = defaultTime; + List> tnvList2 = (List>) o2.get("data"); + if (CollectionUtils.isNotEmpty(tnvList2)) { + List tnList2 = tnvList2.get(0); + if (CollectionUtils.isNotEmpty(tnList2)) { + for (TimeNodeVO tnv2 : tnList2) { + if (tnv2.getName().equals(ProjectTaskPlanningNameEnum.ATTESTATION_END_TIME.getName()) + || tnv2.getName().equals(ProjectTaskPlanningNameEnum.ATTESTATION_END_TIME.getValue())) { + HomoKoTime2 = tnv2.getTime(); + } + } + } + } + + //首先排序-认证批准 + if(!HomoKoTime1.equals(HomoKoTime2)){ + return HomoKoTime1.compareTo(HomoKoTime2);//升序 + } + if (!p1.getProjectName().equals(p2.getProjectName())) { + return p1.getProjectName().compareTo(p2.getProjectName());//升序 + } + if (!p1.getYearName().equals(p2.getYearName())) { + if (p1.getYearName().length() != p2.getYearName().length()) { + return p1.getYearName().length() - p2.getYearName().length(); + } else { + return p1.getYearName().compareTo(p2.getYearName());//升序 + } + } + if (!p1.getTargetMarket().equals(p2.getTargetMarket())) { + return p1.getTargetMarket().compareTo(p2.getTargetMarket());//升序 + } + if (!p1.getProjectVersion().equals(p2.getProjectVersion())) { + return Integer.valueOf(p1.getProjectVersion()) - Integer.valueOf(p2.getProjectVersion());//升序 + } + return 0; + } + }); return result; }