From 8b4b4d7e43596abf0629f1be2e94bdcad5bb7077 Mon Sep 17 00:00:00 2001 From: wangzhijiang Date: Thu, 13 Apr 2023 09:53:08 +0800 Subject: [PATCH] =?UTF-8?q?UAT=E9=97=AE=E9=A2=98=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=8C71=E8=A1=8C=EF=BC=8C=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E6=B3=95=E8=A7=84=E4=BB=BB=E5=8A=A1=E5=BE=85=E5=8A=9E?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=E8=A1=A8=E5=A4=B4=E6=8E=92=E5=BA=8F=E4=B8=89?= =?UTF-8?q?=E4=B8=AA=E5=AD=97=E6=AE=B5=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ProcessInfoEOServiceImpl.java | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java index 528087f1c..7fef4fd26 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java @@ -9,6 +9,8 @@ import com.jero.common.constant.enums.CutEnum; import com.jero.common.exception.JeroBootException; import com.jero.common.system.vo.DictModel; import com.jero.common.system.vo.LoginUser; +import com.jero.common.util.DateUtils; +import com.jero.modules.dummy.enums.OrderEnum; import com.jero.modules.lawsOpinionGather.entity.LawsOpinionGatherEO; import com.jero.modules.lawsOpinionGather.service.ILawsOpinionGatherEOService; import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationEO; @@ -47,6 +49,7 @@ import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.text.Collator; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @@ -236,9 +239,88 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl result = this.baseMapper.queryProjectProcessTodoTaskListList(page,params); this.disposeData(result.getRecords(),cut,TaskStatusEnum.NOT_DONE.getValue()); + result = this.hearSort(params, result); return result; } + /** + * 表头排序 + * @param params + * @param resultPage + * @return + */ + private IPage hearSort(Map params, IPage resultPage) { + String orderBy = (String) params.get("orderBy"); + String orderByField = (String) params.get("orderByField"); + + if(StringUtils.isNotEmpty(orderByField)){ + List result = resultPage.getRecords(); + + Collator comparator = Collator.getInstance(Locale.CHINESE); + // 流程类型 flow_type + if("flow_type".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(result,(e1, e2)->{ + if(e1.getFlowTypeShow() != null && e2.getFlowTypeShow() != null){ + return comparator.compare(e1.getFlowTypeShow(),e2.getFlowTypeShow()); + } + return -1; + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(result,(e1,e2)->{ + if(e1.getFlowTypeShow() != null && e2.getFlowTypeShow() != null){ + return comparator.compare(e2.getFlowTypeShow(),e1.getFlowTypeShow()); + } + return -1; + }); + } + } + + // 任务节点 task_definition_key + if("task_definition_key".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(result,(e1, e2)->{ + if(e1.getTaskDefinitionKeyName() != null && e2.getTaskDefinitionKeyName() != null){ + return comparator.compare(e1.getTaskDefinitionKeyName(),e2.getTaskDefinitionKeyName()); + } + return -1; + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(result,(e1,e2)->{ + if(e1.getTaskDefinitionKeyName() != null && e2.getTaskDefinitionKeyName() != null){ + return comparator.compare(e2.getTaskDefinitionKeyName(),e1.getTaskDefinitionKeyName()); + } + return -1; + }); + } + } + + // 截止时间 endTime + if("endTime".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(result,(e1, e2)->{ + if(e1.getEndTime() != null && e2.getEndTime() != null){ + String e1EndTime = DateUtils.formatDate(e1.getEndTime()); + String e2EndTime = DateUtils.formatDate(e2.getEndTime()); + return comparator.compare(e1EndTime,e2EndTime); + } + return -1; + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(result,(e1,e2)->{ + if(e1.getEndTime() != null && e2.getEndTime() != null){ + String e1EndTime = DateUtils.formatDate(e1.getEndTime()); + String e2EndTime = DateUtils.formatDate(e2.getEndTime()); + return comparator.compare(e2EndTime,e1EndTime); + } + return -1; + }); + } + } + } + return resultPage; + } + @Override public IPage projectProcessDoneProcess(Map params) { Integer pageNo = Integer.parseInt(params.get("pageNo").toString());