Browse Source

处理响应V2

master
sunyuchao 5 years ago
parent
commit
6d7bd70d9e
  1. 10
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectResponseFormDTO.java
  2. 13
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java
  3. 7
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java
  4. 7
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java
  5. 80
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
  6. 13
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java

10
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectResponseFormDTO.java

@ -5,6 +5,7 @@ import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
/**
* @author zhaoqifeng
@ -45,4 +46,13 @@ public class ProjectResponseFormDTO implements Serializable {
* 部门名
*/
private String departmentName;
/**
* 公开答复对应文件集合
*/
private List<FileDTO> publicFile;
/**
* 内部备注对应文件集合
*/
private List<FileDTO> internalFile;
}

13
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java

@ -306,5 +306,18 @@ public class ProjectTraceController {
return new Result();
}
/**
* @param tokenDTO fromDTO
* @Description 处理响应V2.0接口
* @author sun
*/
@PostMapping("response-v2")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_TRANSFER)
public Result responseV2(@LoginUser TokenDto tokenDTO, @RequestBody ProjectResponseFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
projectTraceService.responseV2(tokenDTO, formDTO);
return new Result();
}
}

7
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java

@ -261,4 +261,11 @@ public interface ProjectService extends BaseService<ProjectEntity> {
* @Description 项目退回V2.0接口
*/
void projectReturnV2(ReturnFromDTO fromDTO);
/**
* @param formDTO
* @Description 处理响应V2.0接口
* @author sun
*/
void responseV2(ProjectResponseFormDTO formDTO);
}

7
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java

@ -142,4 +142,11 @@ public interface ProjectTraceService {
* @author sun
*/
void projectReturnV2(TokenDto tokenDto, ReturnFromDTO fromDTO);
/**
* @param formDTO
* @Description 处理响应V2.0接口
* @author sun
*/
void responseV2(TokenDto tokenDto, ProjectResponseFormDTO formDTO);
}

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

@ -1760,4 +1760,84 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
}
}
/**
* @param formDTO
* @Description 处理响应V2.0接口
* @author sun
*/
@Override
public void responseV2(ProjectResponseFormDTO formDTO) {
//公开回复内容审核
if (com.alibaba.nacos.client.utils.StringUtils.isNotBlank(formDTO.getPublicReply())) {
TextScanParamDTO textScanParamDTO = new TextScanParamDTO();
TextTaskDTO taskDTO = new TextTaskDTO();
taskDTO.setDataId(UUID.randomUUID().toString().replace("-", ""));
taskDTO.setContent(formDTO.getPublicReply());
textScanParamDTO.getTasks().add(taskDTO);
Result<SyncScanResult> textSyncScanResult = ScanContentUtils.textSyncScan(scanApiUrl.concat(textSyncScanMethod), textScanParamDTO);
if (!textSyncScanResult.success()) {
throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode());
} else {
if (!textSyncScanResult.getData().isAllPass()) {
throw new RenException(EpmetErrorCode.TEXT_SCAN_FAILED.getCode());
}
}
}
//获取项目相关信息
ProjectEntity projectEntity = baseDao.selectById(formDTO.getProjectId());
if (ProjectConstant.CLOSED.equals(projectEntity.getStatus())) {
throw new RenException(EpmetErrorCode.PROJECT_IS_CLOSED.getCode());
}
ProjectStaffDTO projectStaff = projectStaffService.getLatestIdByProjectIdAndStaffId(formDTO.getProjectId(),formDTO.getUserId());
if(null == projectStaff){
log.error("com.epmet.service.impl.ProjectServiceImpl.response,project_staff表中没有与之对应的数据,传参:{}", JSON.toJSONString(formDTO));
throw new RenException("未找到项目相关人员记录");
}
if(StringUtils.isBlank(formDTO.getProjectStaffId())){
formDTO.setProjectStaffId(projectStaff.getId());
}
//处理响应记录加入项目进展表
ProjectProcessEntity projectProcessEntity = new ProjectProcessEntity();
projectProcessEntity.setProjectId(formDTO.getProjectId());
projectProcessEntity.setCustomerId(projectStaff.getCustomerId());
projectProcessEntity.setDepartmentName(formDTO.getDepartmentName());
projectProcessEntity.setOrgIdPath(projectStaff.getOrgIdPath());
projectProcessEntity.setGridId(projectStaff.getGridId());
projectProcessEntity.setDepartmentId(projectStaff.getDepartmentId());
projectProcessEntity.setAgencyId(projectStaff.getOrgId());
projectProcessEntity.setOperation(ProjectConstant.OPERATION_RESPONSES);
projectProcessEntity.setOperationName(ProjectConstant.OPERATION_RESPONSES_NAME);
projectProcessEntity.setPublicReply(formDTO.getPublicReply());
projectProcessEntity.setInternalRemark(formDTO.getInternalRemark());
projectProcessEntity.setStaffId(formDTO.getUserId());
projectProcessService.insert(projectProcessEntity);
//项目附件表新增数据 sun 2020.12.22
if (formDTO.getPublicFile().size() > NumConstant.ZERO || formDTO.getInternalFile().size() > NumConstant.ZERO) {
saveFile(formDTO.getPublicFile(), formDTO.getInternalFile(), projectStaff.getCustomerId(), formDTO.getProjectId(), projectProcessEntity.getId());
}//end
//项目节点历时
ProjectOrgRelationEntity relationEntity = relationDao.selectByProjectStaffId(formDTO.getProjectStaffId());
if(null != relationEntity){
ProjectOrgRelationEntity relationDto = new ProjectOrgRelationEntity();
relationDto.setProjectStaffId(relationEntity.getProjectStaffId());
if(null == relationEntity.getFirstDealtDate()){
Date current = new Date();
relationDto.setFirstDealtDate(current);
relationDto.setFirstReplyPeriod(calculateDelta_T(ProjectConstant.IMPRECISE_CALCULATION,
ProjectConstant.CALCULATION_TYPE_DEFAULT,projectStaff.getId(),
relationEntity.getInformedDate(),current));
relationDto.setOperation(ProjectConstant.OPERATION_RESPONSES);
relationDao.maintainTimePropertyConsistency(relationDto);
}
}else{
log.error("com.epmet.service.impl.ProjectServiceImpl#response,没有找到相关的节点耗时记录,参数:{}",JSON.toJSONString(formDTO));
throw new RenException("没有找到相关的节点耗时记录");
}
}
}

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

@ -168,7 +168,18 @@ public class ProjectTraceServiceImpl implements ProjectTraceService {
@Override
public void projectReturnV2(TokenDto tokenDto, ReturnFromDTO fromDTO) {
fromDTO.setUserId(tokenDto.getUserId());
projectService.projectReturn(fromDTO);
projectService.projectReturnV2(fromDTO);
}
/**
* @param formDTO
* @Description 处理响应V2.0接口
* @author sun
*/
@Override
public void responseV2(TokenDto tokenDto, ProjectResponseFormDTO formDTO) {
formDTO.setUserId(tokenDto.getUserId());
projectService.responseV2(formDTO);
}
}

Loading…
Cancel
Save