Browse Source

项目超期滞留提醒修改

dev_shibei_match
zhaoqifeng 5 years ago
parent
commit
acfc7467c6
  1. 100
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java

100
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<ProjectDao, ProjectEntit
} }
//获取工作人员未处理的节点 //获取工作人员未处理的节点
List<StaffUnHandledDTO> unHandledList = projectStaffService.getStaffUnHandledList(customerId); List<StaffUnHandledDTO> unHandledList = projectStaffService.getStaffUnHandledList(customerId);
List<CostDayFormDTO> form = unHandledList.stream().map(item -> { if (CollectionUtils.isNotEmpty(unHandledList)) {
CostDayFormDTO dto = new CostDayFormDTO(); List<CostDayFormDTO> form = unHandledList.stream().map(item -> {
dto.setId(item.getId()); CostDayFormDTO dto = new CostDayFormDTO();
dto.setStaffId(item.getStaffId()); dto.setId(item.getId());
if (null != item.getUpdatedTime()) { dto.setStaffId(item.getStaffId());
dto.setStartDate(item.getUpdatedTime()); if (null != item.getUpdatedTime()) {
dto.setStartDate(item.getUpdatedTime());
} else {
dto.setStartDate(item.getCreatedTime());
}
dto.setEndDate(new Date());
return dto;
}).collect(Collectors.toList());
List<CostDayResultDTO> costDayList;
if (ParameterKeyConstant.WORK.equals(calculation)) {
//工作日计算
Result<List<CostDayResultDTO>> result = epmetCommonServiceOpenFeignClient.costWorkDays(form);
if (!result.success()) {
throw new RenException(result.getCode(), result.getMsg());
}
costDayList = result.getData();
} else { } else {
dto.setStartDate(item.getCreatedTime()); //日历日计算
} Result<List<CostDayResultDTO>> result = epmetCommonServiceOpenFeignClient.costCalendarDays(form);
dto.setEndDate(new Date()); if (!result.success()) {
return dto; throw new RenException(result.getCode(), result.getMsg());
}).collect(Collectors.toList()); }
List<CostDayResultDTO> costDayList; costDayList = result.getData();
if (ParameterKeyConstant.WORK.equals(calculation)) {
//工作日计算
Result<List<CostDayResultDTO>> result = epmetCommonServiceOpenFeignClient.costWorkDays(form);
if (!result.success()) {
throw new RenException(result.getCode(), result.getMsg());
} }
costDayList = result.getData(); //即将超期项目
} else { List<StaffUnHandledDTO> overdueList = new ArrayList<>();
//日历日计算 //滞留项目
Result<List<CostDayResultDTO>> result = epmetCommonServiceOpenFeignClient.costCalendarDays(form); List<StaffUnHandledDTO> delayList = new ArrayList<>();
if (!result.success()) { List<CostDayResultDTO> finalCostDayList = costDayList;
throw new RenException(result.getCode(), result.getMsg()); List<OverdueAndDelayDTO> 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<StaffUnHandledDTO> overdueList = new ArrayList<>();
//滞留项目
List<StaffUnHandledDTO> delayList = new ArrayList<>();
List<CostDayResultDTO> finalCostDayList = costDayList;
List<OverdueAndDelayDTO> 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);
} }
} }

Loading…
Cancel
Save