Browse Source

trace/projectdetail api修改

dev_shibei_match
zxc 5 years ago
parent
commit
6f9bbcfaa9
  1. 5
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectDetailFromDTO.java
  2. 2
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java
  3. 14
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSubProcessDao.java
  4. 8
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectSubProcessService.java
  5. 19
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
  6. 11
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSubProcessServiceImpl.java
  7. 1
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java
  8. 18
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSubProcessDao.xml

5
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectDetailFromDTO.java

@ -22,4 +22,9 @@ public class ProjectDetailFromDTO implements Serializable {
* 用户ID
*/
private String userId;
/**
* 客户ID
*/
private String customerId;
}

2
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java

@ -158,4 +158,6 @@ public interface ProjectConstant {
String INTERNAL = "internal";
String NOT_EXIST_PROJECT = "未查询带此项目信息......";
String EXTERNAL_SYSTEM = "external_system";
}

14
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSubProcessDao.java

@ -18,8 +18,12 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.ProjectSubProcessDTO;
import com.epmet.entity.ProjectSubProcessEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 节点事件关联表
@ -29,5 +33,13 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface ProjectSubProcessDao extends BaseDao<ProjectSubProcessEntity> {
/**
* @Description 查询最新记录
* @Param projectStaffIds
* @author zxc
* @date 2021/3/18 上午11:17
*/
ProjectSubProcessDTO selectSubProcess(@Param("projectStaffIds") List<String> projectStaffIds);
}

8
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectSubProcessService.java

@ -92,4 +92,12 @@ public interface ProjectSubProcessService extends BaseService<ProjectSubProcessE
* @date 2021-03-17
*/
void delete(String[] ids);
/**
* @Description 查询最新记录
* @Param projectStaffIds
* @author zxc
* @date 2021/3/18 上午11:14
*/
ProjectSubProcessDTO selectSubProcess(List<String> projectStaffIds);
}

19
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java

@ -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,15 @@ 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 (resultDTO.getIsSend()){
List<String> projectStaffIds = departmentList.stream().map(m -> m.getProjectStaffId()).distinct().collect(Collectors.toList());
ProjectSubProcessDTO projectSubProcessDTO = projectSubProcessService.selectSubProcess(projectStaffIds);
resultDTO.setProcessable((null == projectSubProcessDTO || projectSubProcessDTO.getInternalStatus().equals(ProjectConstant.CLOSED)) ? true : false);
}else {
resultDTO.setProcessable(false);
}
} else {
resultDTO.setProcessable(false);
}

11
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSubProcessServiceImpl.java

@ -97,4 +97,15 @@ public class ProjectSubProcessServiceImpl extends BaseServiceImpl<ProjectSubProc
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* @Description 查询最新记录
* @Param projectStaffIds
* @author zxc
* @date 2021/3/18 上午11:16
*/
@Override
public ProjectSubProcessDTO selectSubProcess(List<String> projectStaffIds) {
return null;
}
}

1
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java

@ -67,6 +67,7 @@ public class ProjectTraceServiceImpl implements ProjectTraceService {
@Override
public ProjectDetailResultDTO getProjectDetail(TokenDto tokenDto, ProjectDetailFromDTO fromDTO) {
fromDTO.setUserId(tokenDto.getUserId());
fromDTO.setCustomerId(tokenDto.getCustomerId());
return projectService.getProjectDetail(fromDTO);
}

18
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSubProcessDao.xml

@ -26,5 +26,23 @@
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<!-- 查询最新记录 -->
<select id="selectSubProcess" resultType="com.epmet.dto.ProjectSubProcessDTO">
SELECT
*
FROM
project_sub_process
WHERE
DEL_FLAG = '0'
AND (
<foreach collection="projectStaffIds" item="id" separator=" or ">
PROJECT_STAFF_ID = #{id}
</foreach>
)
ORDER BY CREATED_TIME DESC
LIMIT 1
</select>
</mapper>
Loading…
Cancel
Save