From acfc7467c6a198f008c6854b017dc6d94fc521c0 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 6 Nov 2020 16:34:35 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=B6=85=E6=9C=9F=E6=BB=9E?= =?UTF-8?q?=E7=95=99=E6=8F=90=E9=86=92=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ProjectServiceImpl.java | 100 +++++++++--------- 1 file changed, 51 insertions(+), 49 deletions(-) diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index 09c5e74377..e6c94525bc 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -954,58 +954,60 @@ public class ProjectServiceImpl extends BaseServiceImpl unHandledList = projectStaffService.getStaffUnHandledList(customerId); - List form = unHandledList.stream().map(item -> { - CostDayFormDTO dto = new CostDayFormDTO(); - dto.setId(item.getId()); - dto.setStaffId(item.getStaffId()); - if (null != item.getUpdatedTime()) { - dto.setStartDate(item.getUpdatedTime()); + if (CollectionUtils.isNotEmpty(unHandledList)) { + List form = unHandledList.stream().map(item -> { + CostDayFormDTO dto = new CostDayFormDTO(); + dto.setId(item.getId()); + dto.setStaffId(item.getStaffId()); + if (null != item.getUpdatedTime()) { + dto.setStartDate(item.getUpdatedTime()); + } else { + dto.setStartDate(item.getCreatedTime()); + } + dto.setEndDate(new Date()); + return dto; + }).collect(Collectors.toList()); + List costDayList; + if (ParameterKeyConstant.WORK.equals(calculation)) { + //工作日计算 + Result> result = epmetCommonServiceOpenFeignClient.costWorkDays(form); + if (!result.success()) { + throw new RenException(result.getCode(), result.getMsg()); + } + costDayList = result.getData(); } else { - dto.setStartDate(item.getCreatedTime()); - } - dto.setEndDate(new Date()); - return dto; - }).collect(Collectors.toList()); - List costDayList; - if (ParameterKeyConstant.WORK.equals(calculation)) { - //工作日计算 - Result> result = epmetCommonServiceOpenFeignClient.costWorkDays(form); - if (!result.success()) { - throw new RenException(result.getCode(), result.getMsg()); + //日历日计算 + Result> result = epmetCommonServiceOpenFeignClient.costCalendarDays(form); + if (!result.success()) { + throw new RenException(result.getCode(), result.getMsg()); + } + costDayList = result.getData(); } - costDayList = result.getData(); - } else { - //日历日计算 - Result> result = epmetCommonServiceOpenFeignClient.costCalendarDays(form); - if (!result.success()) { - throw new RenException(result.getCode(), result.getMsg()); + //即将超期项目 + List overdueList = new ArrayList<>(); + //滞留项目 + List delayList = new ArrayList<>(); + List finalCostDayList = costDayList; + List list = new ArrayList<>(); + int finalDetentionDays = detentionDays; + int finalRemindTime = remindTime; + unHandledList.forEach(unHandle -> finalCostDayList.stream().filter(cost -> + unHandle.getId().equals(cost.getId())).forEach(item -> { + int diff = finalDetentionDays - item.getDetentionDays(); + OverdueAndDelayDTO dto = new OverdueAndDelayDTO(); + if (diff < 0) { + dto.setStaffId(unHandle.getStaffId()); + list.add(dto); + delayList.add(unHandle); + } else if (diff <= finalRemindTime) { + dto.setStaffId(unHandle.getStaffId()); + overdueList.add(unHandle); + list.add(dto); + } + })); + if (CollectionUtils.isNotEmpty(list)) { + setMessage(customerId, overdueList, delayList, list); } - costDayList = result.getData(); - } - //即将超期项目 - List overdueList = new ArrayList<>(); - //滞留项目 - List delayList = new ArrayList<>(); - List finalCostDayList = costDayList; - List list = new ArrayList<>(); - int finalDetentionDays = detentionDays; - int finalRemindTime = remindTime; - unHandledList.forEach(unHandle -> finalCostDayList.stream().filter(cost -> - unHandle.getId().equals(cost.getId())).forEach(item -> { - int diff = finalDetentionDays - item.getDetentionDays(); - OverdueAndDelayDTO dto = new OverdueAndDelayDTO(); - if (diff < 0) { - dto.setStaffId(unHandle.getStaffId()); - list.add(dto); - delayList.add(unHandle); - } else if (diff <= finalRemindTime) { - dto.setStaffId(unHandle.getStaffId()); - overdueList.add(unHandle); - list.add(dto); - } - })); - if (CollectionUtils.isNotEmpty(list)) { - setMessage(customerId, overdueList, delayList, list); } }