Browse Source

Merge branch 'dev_thirdplatform' of http://git.elinkit.com.cn:7070/r/epmet-cloud into dev_thirdplatform

dev_shibei_match
wxz 5 years ago
parent
commit
21c7ee5a0e
  1. 5
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectProcessDTO.java
  2. 5
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectDetailFromDTO.java
  3. 6
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProcessListV2ResultDTO.java
  4. 1
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/SubProcessDTO.java
  5. 2
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java
  6. 23
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSubProcessDao.java
  7. 5
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessEntity.java
  8. 17
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectSubProcessService.java
  9. 27
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
  10. 23
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSubProcessServiceImpl.java
  11. 16
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java
  12. 3
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml
  13. 54
      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/ProjectProcessDTO.java

@ -134,4 +134,9 @@ public class ProjectProcessDTO implements Serializable {
*/
private String orgIdPath;
/**
* 是否发送到外部系统
*/
private Integer isSend;
}

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;
}

6
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProcessListV2ResultDTO.java

@ -44,6 +44,11 @@ public class ProcessListV2ResultDTO implements Serializable {
*/
private String publicReply;
/**
* 是否发送到外部系统 0否 1是
*/
private Integer isSend;
/**
* 内部备注
*/
@ -73,5 +78,6 @@ public class ProcessListV2ResultDTO implements Serializable {
this.internalRemark = "";
this.publicFile = new ArrayList<>();
this.internalFile = new ArrayList<>();
this.subProcess = new ArrayList<>();
}
}

1
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/SubProcessDTO.java

@ -29,6 +29,7 @@ public class SubProcessDTO implements Serializable {
* 处理人
*/
private String handleUserName;
private String subId;
/**
* 处理内容
*/

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";
}

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

@ -18,8 +18,13 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.ProjectSubProcessDTO;
import com.epmet.dto.result.SubProcessDTO;
import com.epmet.entity.ProjectSubProcessEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 节点事件关联表
@ -29,5 +34,21 @@ 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);
/**
* @Description 查询进展和附件
* @Param processId
* @author zxc
* @date 2021/3/18 下午2:57
*/
List<SubProcessDTO> selectSubProcessAndAttachment(@Param("processId") String processId);
}

5
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessEntity.java

@ -108,4 +108,9 @@ public class ProjectProcessEntity extends BaseEpmetEntity {
*/
private String orgIdPath;
/**
* 是否发送到外部系统
*/
private Integer isSend;
}

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

@ -20,6 +20,7 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.ProjectSubProcessDTO;
import com.epmet.dto.result.SubProcessDTO;
import com.epmet.entity.ProjectSubProcessEntity;
import java.util.List;
@ -92,4 +93,20 @@ 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);
/**
* @Description 查询进展和附件
* @Param processId
* @author zxc
* @date 2021/3/18 下午2:57
*/
List<SubProcessDTO> selectSubProcessAndAttachment(String processId);
}

27
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,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);
}

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

@ -25,6 +25,7 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.ProjectSubProcessDao;
import com.epmet.dto.ProjectSubProcessDTO;
import com.epmet.dto.result.SubProcessDTO;
import com.epmet.entity.ProjectSubProcessEntity;
import com.epmet.service.ProjectSubProcessService;
import org.apache.commons.lang3.StringUtils;
@ -97,4 +98,26 @@ 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 baseDao.selectSubProcess(projectStaffIds);
}
/**
* @Description 查询进展和附件
* @Param processId
* @author zxc
* @date 2021/3/18 下午2:57
*/
@Override
public List<SubProcessDTO> selectSubProcessAndAttachment(String processId) {
return baseDao.selectSubProcessAndAttachment(processId);
}
}

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

@ -1,5 +1,6 @@
package com.epmet.service.impl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
@ -11,10 +12,7 @@ import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.ProjectStaffEntity;
import com.epmet.feign.GovOrgFeignClient;
import com.epmet.service.ProjectProcessService;
import com.epmet.service.ProjectService;
import com.epmet.service.ProjectStaffService;
import com.epmet.service.ProjectTraceService;
import com.epmet.service.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -45,6 +43,8 @@ public class ProjectTraceServiceImpl implements ProjectTraceService {
private ProjectProcessDao projectProcessDao;
@Autowired
private ProjectProcessAttachmentDao attachmentDao;
@Autowired
private ProjectSubProcessService projectSubProcessService;
@Override
public List<PendProjectListResultDTO> getPendProjectList(TokenDto tokenDto, ProjectListFromDTO fromDTO) {
@ -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);
}
@ -143,6 +144,13 @@ public class ProjectTraceServiceImpl implements ProjectTraceService {
log.warn(ProjectConstant.NOT_EXIST_PROJECT);
return new ArrayList<>();
}
// 是否发送到外部系统 0否 1是
processList.forEach(p -> {
if (p.getIsSend().equals(NumConstant.ONE)){
p.setSubProcess(projectSubProcessService.selectSubProcessAndAttachment(p.getProcessId()));
}
});
// 查询进展附件列表
List<PublicAndInternalFileResultDTO> files = attachmentDao.selectAttachByProjectId(formDTO.getProjectId());
if (!CollectionUtils.isEmpty(files)){

3
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml

@ -94,7 +94,8 @@
UNIX_TIMESTAMP(created_time) AS processTime,
DEPARTMENT_NAME,
PUBLIC_REPLY,
INTERNAL_REMARK
INTERNAL_REMARK,
IS_SEND
FROM project_process
WHERE DEL_FLAG = '0'
AND PROJECT_ID = #{projectId}

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

@ -26,5 +26,59 @@
<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>
<resultMap id="subProcess" type="com.epmet.dto.result.SubProcessDTO">
<result property="platformName" column="platformName"/>
<result property="externalStatus" column="externalStatus"/>
<result property="processTime" column="processTime"/>
<result property="handleUserName" column="handleUserName"/>
<result property="result" column="result"/>
<result property="subId" column="subId"/>
<collection property="subFile" column="subId" select="selectAtt" ofType="com.epmet.dto.result.PublicAndInternalFileResultDTO"/>
</resultMap>
<!-- 查询进展和附件 -->
<select id="selectSubProcessAndAttachment" resultMap="subProcess">
SELECT psp.id as subId,
psp.PLATFORM_NAME as platformName,
psp.EXTERNAL_STATUS as externalStatus,
psp.CREATED_TIME AS processTime,
psp.HANDLE_USER_NAME as handleUserName,
psp.RESULT as result
FROM project_sub_process psp
WHERE psp.DEL_FLAG = 0
AND psp.PROCESS_ID = #{processId}
</select>
<select id="selectAtt" resultType="com.epmet.dto.result.PublicAndInternalFileResultDTO">
SELECT
psa.ATTACHMENT_NAME AS name,
psa.ATTACHMENT_URL AS url,
psa.ATTACHMENT_TYPE AS type,
psa.ATTACHMENT_FORMAT AS format,
IFNULL(psa.ATTACHMENT_SIZE,0) AS size,
IFNULL(psa.DURATION,0) AS duration
FROM project_sub_attachment psa
WHERE psa.DEL_FLAG = '0'
AND psa.SUB_ID = #{subId}
order by psa.sort
</select>
</mapper>
Loading…
Cancel
Save