|
|
@ -107,6 +107,8 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit |
|
|
|
private ProjectProcessAttachmentService projectProcessAttachmentService; |
|
|
|
@Autowired |
|
|
|
private GovIssueOpenFeignClient govIssueOpenFeignClient; |
|
|
|
@Autowired |
|
|
|
private ProjectSubProcessService projectSubProcessService; |
|
|
|
|
|
|
|
private final static String ONE_DAY = "<1"; |
|
|
|
|
|
|
@ -281,7 +283,12 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit |
|
|
|
@Override |
|
|
|
public ProjectDetailResultDTO getProjectDetail(ProjectDetailFromDTO fromDTO) { |
|
|
|
//TODO 获取 customer_project_parameter表key值external_system的value,如果为0,isSend为false,值为1则跟processable的值一样
|
|
|
|
CustomerProjectParameterDTO customerProjectParameterDTO = new CustomerProjectParameterDTO(); |
|
|
|
customerProjectParameterDTO.setCustomerId(fromDTO.getCustomerId()); |
|
|
|
customerProjectParameterDTO.setParameterKey(ProjectConstant.EXTERNAL_SYSTEM); |
|
|
|
String parameterValue = parameterService.getParameterValueByKey(customerProjectParameterDTO); |
|
|
|
ProjectDetailResultDTO resultDTO = baseDao.selectProjectDetail(fromDTO.getProjectId()); |
|
|
|
resultDTO.setIsSend((StringUtils.isEmpty(parameterValue) || parameterValue.equals(NumConstant.ZERO_STR)) ? false : resultDTO.getProcessable()); |
|
|
|
if (ProjectConstant.CLOSED.equals(resultDTO.getProjectStatus())) { |
|
|
|
resultDTO.setProcessable(false); |
|
|
|
resultDTO.setReturnable(false); |
|
|
@ -292,9 +299,23 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit |
|
|
|
projectStaffDTO.setStaffId(fromDTO.getUserId()); |
|
|
|
List<DepartmentResultDTO> departmentList = projectStaffService.getDepartmentNameList(projectStaffDTO); |
|
|
|
if (null != departmentList && departmentList.size() > NumConstant.ZERO) { |
|
|
|
//TODO external_system值为1时,根据departmentList里的projectStaffId在project_sub_process表找最新的一条记录,如果没有记录或者INTERNAL_STATUS是closed,processable
|
|
|
|
// 的值为true
|
|
|
|
resultDTO.setProcessable(true); |
|
|
|
//TODO external_system值为1时,根据departmentList里的projectStaffId在project_sub_process表找最新的一条记录,
|
|
|
|
// 如果没有记录或者INTERNAL_STATUS是closed,processable的值为true
|
|
|
|
if (parameterValue.equals(NumConstant.ONE_STR)) { |
|
|
|
List<String> projectStaffIds = departmentList.stream().map(m -> m.getProjectStaffId()).distinct().collect(Collectors.toList()); |
|
|
|
// 根据departmentList里的projectStaffId在project_sub_process表找最新的一条记录
|
|
|
|
ProjectSubProcessDTO projectSubProcessDTO = projectSubProcessService.selectSubProcess(projectStaffIds); |
|
|
|
if (null == projectSubProcessDTO || projectSubProcessDTO.getInternalStatus().equals(ProjectConstant.CLOSED)) { |
|
|
|
resultDTO.setProcessable(true); |
|
|
|
resultDTO.setIsSend(true); |
|
|
|
} else { |
|
|
|
resultDTO.setProcessable(false); |
|
|
|
resultDTO.setIsSend(false); |
|
|
|
} |
|
|
|
} else { |
|
|
|
resultDTO.setProcessable(true); |
|
|
|
resultDTO.setIsSend(false); |
|
|
|
} |
|
|
|
} else { |
|
|
|
resultDTO.setProcessable(false); |
|
|
|
} |
|
|
|