diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessEvaluationHisServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessEvaluationHisServiceImpl.java index 7f32880b..b7bb3fa1 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessEvaluationHisServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessEvaluationHisServiceImpl.java @@ -2,6 +2,7 @@ package com.ydw.bat.wkflow.business_main.datas.service.impl; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; @@ -122,9 +123,40 @@ public class BusProcessEvaluationHisServiceImpl extends ServiceImpl evaluationHisList(String pid){ - QueryWrapper wrapper = new QueryWrapper(); - wrapper.eq("P_ID",pid); - wrapper.orderByDesc("CREATE_TIME","TASK_INFO"); - return this.baseMapper.selectList(wrapper); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(BusProcessEvaluationHis::getPId,pid); + wrapper.orderByDesc(BusProcessEvaluationHis::getCreateTime,BusProcessEvaluationHis::getTaskInfo); + List busProcessEvaluationHis = this.baseMapper.selectList(wrapper); + if(busProcessEvaluationHis.isEmpty()){ + return null; + } + Optional fushen = busProcessEvaluationHis.stream() + .filter(each -> "标准化复审".equals(each.getTaskInfo())) + .max(Comparator.comparing(BusProcessEvaluationHis::getCreateTime)); + Optional chongxinpinshen = busProcessEvaluationHis.stream() + .filter(each -> "重新技术委员会评审、评审意见修改".equals(each.getTaskInfo())) + .max(Comparator.comparing(BusProcessEvaluationHis::getCreateTime)); + Optional pinshen = busProcessEvaluationHis.stream() + .filter(each -> "技术委员会评审、评审意见修改".equals(each.getTaskInfo())) + .max(Comparator.comparing(BusProcessEvaluationHis::getCreateTime)); + Optional jinlishenhe = busProcessEvaluationHis.stream() + .filter(each -> "标准法规部高级经理审核".equals(each.getTaskInfo())) + .max(Comparator.comparing(BusProcessEvaluationHis::getCreateTime)); + List zhengqiuyijian = busProcessEvaluationHis.stream() + .filter(each -> "征求意见".equals(each.getTaskInfo())) + .collect(Collectors.toList()); + List finalEvaluationList = new ArrayList<>(); + if (chongxinpinshen.isPresent()) { + fushen.ifPresent(finalEvaluationList::add); + chongxinpinshen.ifPresent(finalEvaluationList::add); + jinlishenhe.ifPresent(finalEvaluationList::add); + finalEvaluationList.addAll(zhengqiuyijian); + } else { + fushen.ifPresent(finalEvaluationList::add); + pinshen.ifPresent(finalEvaluationList::add); + jinlishenhe.ifPresent(finalEvaluationList::add); + finalEvaluationList.addAll(zhengqiuyijian); + } + return finalEvaluationList; } }