diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java index d2c8daf6ed..356bff7769 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java @@ -63,6 +63,11 @@ public class ProjectDTO implements Serializable { */ private String status; + /** + * 结案说明 + */ + private String publicReply; + /** * 结案状态:已解决 resolved,未解决 unresolved */ diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectStaffDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectStaffDTO.java index ea0ef88350..7e4e7d2dce 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectStaffDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectStaffDTO.java @@ -84,7 +84,7 @@ public class ProjectStaffDTO implements Serializable { private String departmentName; /** - * 是否处理:未处理unhandle,已处理handle + * 是否处理:未处理unhandled,已处理handle */ private String isHandle; diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectClosedFromDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectClosedFromDTO.java index 29f755243b..4b9e9a5ff6 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectClosedFromDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectClosedFromDTO.java @@ -1,7 +1,9 @@ package com.epmet.dto.form; import lombok.Data; +import org.hibernate.validator.constraints.Length; +import javax.validation.constraints.NotBlank; import java.io.Serializable; /** @@ -13,6 +15,10 @@ import java.io.Serializable; public class ProjectClosedFromDTO implements Serializable { private static final long serialVersionUID = -7383213527369892832L; + /** + * 用户Id + */ + private String userId; /** * 项目Id */ @@ -24,9 +30,20 @@ public class ProjectClosedFromDTO implements Serializable { /** * 公开答复内容 */ + @NotBlank(message = "结案说明不能为空") + @Length(max = 1000, message = "结案说明不能超过1000个字符") private String publicReply; /** * 内部备注内容 */ + @Length(max = 1000, message = "内部备注不能超过1000个字符") private String internalRemark; + /** + * 项目人员关联表ID + */ + private String projectStaffId; + /** + * 部门名 + */ + private String departmentName; } diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnFromDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnFromDTO.java index 12ec7137d1..8b36b5ddcd 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnFromDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnFromDTO.java @@ -1,7 +1,9 @@ package com.epmet.dto.form; import lombok.Data; +import org.hibernate.validator.constraints.Length; +import javax.validation.constraints.NotBlank; import java.io.Serializable; /** @@ -13,6 +15,10 @@ import java.io.Serializable; public class ReturnFromDTO implements Serializable { private static final long serialVersionUID = -8747667324909671154L; + /** + * 用户Id + */ + private String userId; /** * 项目Id */ @@ -24,9 +30,20 @@ public class ReturnFromDTO implements Serializable { /** * 公开答复内容 */ + @Length(max = 1000, message = "公开答复不能超过1000个字符") private String publicReply; /** * 内部流转意见 */ + @NotBlank(message = "内部备注不能为空") + @Length(max = 1000, message = "内部备注不能超过1000个字符") private String internalRemark; + /** + * 项目人员关联表ID + */ + private String projectStaffId; + /** + * 部门名 + */ + private String departmentName; } diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/CreatedListResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/CreatedListResultDTO.java index 3481754cba..ed225dc760 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/CreatedListResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/CreatedListResultDTO.java @@ -22,6 +22,14 @@ public class CreatedListResultDTO implements Serializable { * 项目标题 */ private String projectTitle; + /** + * 项目状态 + */ + private String projectStatus; + /** + * 结案说明 + */ + private String publicReply; /** * 项目创建时间 */ diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/InvolvedListResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/InvolvedListResultDTO.java index 39c552f9e5..1d22d0b0b3 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/InvolvedListResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/InvolvedListResultDTO.java @@ -22,6 +22,14 @@ public class InvolvedListResultDTO implements Serializable { * 项目标题 */ private String projectTitle; + /** + * 项目状态 + */ + private String projectStatus; + /** + * 结案说明 + */ + private String publicReply; /** * 创建时间 */ diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailResultDTO.java index 9c9425d36f..f44973bcea 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailResultDTO.java @@ -3,6 +3,7 @@ package com.epmet.dto.result; import lombok.Data; import java.io.Serializable; +import java.util.List; /** * @author zhaoqifeng @@ -45,5 +46,9 @@ public class ProjectDetailResultDTO implements Serializable { * 处理状态(是否由我处理) */ private Boolean processable; + /** + * 当前跟进部门 + */ + private List departmentNameList; } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java index 825918297a..71f0b72b72 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java @@ -41,4 +41,6 @@ public interface ProjectProcessDao extends BaseDao { * @Description 根据项目Id查询项目处理进展列表 **/ List getProcessListByProjectId(@Param("projectId") String projectId); + + List selectReturnableList(@Param("projectId") String projectId); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java index b93b670473..27b5165246 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java @@ -22,6 +22,7 @@ import com.epmet.dto.ProjectStaffDTO; import com.epmet.dto.result.DepartmentResultDTO; import com.epmet.entity.ProjectStaffEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -43,5 +44,14 @@ public interface ProjectStaffDao extends BaseDao { * @date 2020/5/12 16:40 */ List selectDepartmentNameList(ProjectStaffDTO dto); + + /** + * 获取节点处理人信息 + * @author zhaoqifeng + * @date 2020/5/13 15:08 + * @param processId + * @return com.epmet.dto.ProjectStaffDTO + */ + ProjectStaffDTO selectProjectStaffInfo(@Param("processId") String processId); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessEntity.java index 0890e5dec8..e9ae924698 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessEntity.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessEntity.java @@ -43,11 +43,6 @@ public class ProjectProcessEntity extends BaseEpmetEntity { */ private String projectId; - /** - * 项目处理进展ID - */ - private String processId; - /** * 部门名 */ diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectStaffEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectStaffEntity.java index dc8e798090..3184a68a34 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectStaffEntity.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectStaffEntity.java @@ -79,7 +79,7 @@ public class ProjectStaffEntity extends BaseEpmetEntity { private String departmentName; /** - * 是否处理:未处理unhandle,已处理handle + * 是否处理:未处理unhandled,已处理handle */ private String isHandle; diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java index 11f0f28937..bf4458e68b 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java @@ -2,7 +2,9 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.StaffsInAgencyFromDTO; import com.epmet.dto.form.UserResiInfoListFormDTO; +import com.epmet.dto.result.StaffInfoResultDTO; import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.feign.fallback.EpmetUserFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; @@ -26,4 +28,12 @@ public interface EpmetUserFeignClient { **/ @PostMapping("/epmetuser/userresiinfo/getuserresiinfolist") Result> getUserResiInfoList(@RequestBody UserResiInfoListFormDTO userResiInfoListFormDTO); + + /** + * 工作人员列表 + * @param fromDTO + * @return + */ + @PostMapping("/epmetuser/customerstaff/stafflist") + Result> getStaffList(@RequestBody StaffsInAgencyFromDTO fromDTO); } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java index 27a818330e..503ee6d58c 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java @@ -3,6 +3,8 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.CustomerAgencyDTO; +import com.epmet.commons.tools.utils.Result; import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.feign.fallback.GovOrgFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; @@ -17,6 +19,13 @@ import org.springframework.web.bind.annotation.PostMapping; @FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgFeignClientFallBack.class) public interface GovOrgFeignClient { + /** + * 根据Id查询agency + * @param agencyId + * @return + */ + @PostMapping("/gov/org/agency/agencybyid/{agencyId}") + Result getAgencyById(@PathVariable("agencyId") String agencyId); /** * @param agencyId * @return diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java index 88e9590eaf..94a52d75f0 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java @@ -3,7 +3,9 @@ package com.epmet.feign.fallback; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.StaffsInAgencyFromDTO; import com.epmet.dto.form.UserResiInfoListFormDTO; +import com.epmet.dto.result.StaffInfoResultDTO; import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.feign.EpmetUserFeignClient; import org.springframework.stereotype.Component; @@ -21,4 +23,9 @@ public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient { public Result> getUserResiInfoList(UserResiInfoListFormDTO userResiInfoListFormDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserResiInfoList", userResiInfoListFormDTO); } + + @Override + public Result> getStaffList(StaffsInAgencyFromDTO fromDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getStaffList", fromDTO); + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java index b75b3c8b1d..318975d5c9 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java @@ -1,5 +1,9 @@ package com.epmet.feign.fallback; +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.CustomerAgencyDTO; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; @@ -14,6 +18,10 @@ import org.springframework.stereotype.Component; @Component public class GovOrgFeignClientFallBack implements GovOrgFeignClient { + @Override + public Result getAgencyById(String agencyId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getAgencyById", agencyId); + } @Override public Result departmentStaffList(String agencyId) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "departmentStaffList", agencyId); diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java index ce4889776a..ebfc0e83ca 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java @@ -21,7 +21,9 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.ProjectProcessDTO; import com.epmet.dto.form.ProcessListFormDTO; +import com.epmet.dto.form.ReturnListFromDTO; import com.epmet.dto.result.ProcesslistResultDTO; +import com.epmet.dto.result.ReturnListResultDTO; import com.epmet.entity.ProjectProcessEntity; import java.util.List; @@ -102,4 +104,13 @@ public interface ProjectProcessService extends BaseService * @Description 项目跟踪-项目处理进展列表 **/ List progressList(ProcessListFormDTO formDTO); + + /** + * 可退回节点列表 + * @author zhaoqifeng + * @date 2020/5/13 13:42 + * @param fromDTO + * @return java.util.List + */ + List getReturnableList(ReturnListFromDTO fromDTO); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java index 99e0b34b68..cb39927bf0 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java @@ -21,8 +21,10 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.ProjectDTO; +import com.epmet.dto.form.ProjectClosedFromDTO; import com.epmet.dto.form.ProjectDetailFromDTO; import com.epmet.dto.form.ProjectListFromDTO; +import com.epmet.dto.form.ReturnFromDTO; import com.epmet.dto.result.CreatedListResultDTO; import com.epmet.dto.result.InvolvedListResultDTO; import com.epmet.dto.result.PendProjectListResultDTO; @@ -139,4 +141,22 @@ public interface ProjectService extends BaseService { * @date 2020/5/12 15:13 */ ProjectDetailResultDTO getProjectDetail(ProjectDetailFromDTO fromDTO); + + /** + * 项目结案 + * @author zhaoqifeng + * @date 2020/5/13 9:54 + * @param fromDTO 参数 + * @return void + */ + void closed(ProjectClosedFromDTO fromDTO); + + /** + * 项目退回 + * @author zhaoqifeng + * @date 2020/5/13 14:35 + * @param fromDTO 参数 + * @return void + */ + void projectReturn(ReturnFromDTO fromDTO); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java index 605cc05f06..ba73f3a7de 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java @@ -22,6 +22,7 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.dto.ProjectStaffDTO; import com.epmet.dto.form.DepartmentStaffListFormDTO; import com.epmet.dto.result.DepartmentResultDTO; +import com.epmet.entity.ProjectProcessEntity; import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.entity.ProjectStaffEntity; @@ -106,6 +107,15 @@ public interface ProjectStaffService extends BaseService { */ List getDepartmentNameList(ProjectStaffDTO dto); + /** + * 获取节点处理人信息 + * @author zhaoqifeng + * @date 2020/5/13 15:06 + * @param projectProcessId 项目处理进展ID + * @return com.epmet.dto.ProjectStaffDTO + */ + ProjectStaffDTO getProjectStaffInfo(String projectProcessId); + /** * @param formDTO * @return diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java index 6c45ca75e9..78ea0dc5b0 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java @@ -23,21 +23,31 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.Result; import com.epmet.dao.ProjectProcessDao; import com.epmet.dao.ProjectStaffDao; +import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.ProjectProcessDTO; import com.epmet.dto.form.ProcessListFormDTO; +import com.epmet.dto.form.ReturnListFromDTO; +import com.epmet.dto.form.StaffsInAgencyFromDTO; import com.epmet.dto.result.ProcesslistResultDTO; +import com.epmet.dto.result.ReturnListResultDTO; +import com.epmet.dto.result.StaffInfoResultDTO; +import com.epmet.entity.ProjectEntity; import com.epmet.entity.ProjectProcessEntity; +import com.epmet.feign.EpmetUserFeignClient; import com.epmet.feign.GovOrgFeignClient; import com.epmet.redis.ProjectProcessRedis; import com.epmet.service.ProjectProcessService; +import com.epmet.service.ProjectService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.stream.Collectors; /** * 项目处理进展表 @@ -54,6 +64,10 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl page(Map params) { @@ -119,4 +133,29 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl getReturnableList(ReturnListFromDTO fromDTO) { + List list = baseDao.selectReturnableList(fromDTO.getProjectId()); + //遍历获取所有的userId + List userIds = list.stream().map(ProjectProcessEntity::getStaffId).collect(Collectors.toList()); + //获取项目信息 + ProjectEntity projectEntity = projectService.selectById(fromDTO.getProjectId()); + //获取组织信息 + Result customerAgency = govOrgFeignClient.getAgencyById(projectEntity.getAgencyId()); + //获取人员信息 + StaffsInAgencyFromDTO staffsInAgencyFromDTO = new StaffsInAgencyFromDTO(); + staffsInAgencyFromDTO.setCustomerId(customerAgency.getData().getCustomerId()); + staffsInAgencyFromDTO.setStaffList(userIds); + List staffList = epmetUserFeignClient.getStaffList(staffsInAgencyFromDTO).getData(); + //合成返回值 + List resultList = + list.stream().flatMap(process -> staffList.stream().filter(staff -> process.getStaffId().equals(staff.getStaffId())).map(userInfo ->{ + ReturnListResultDTO resultDTO = new ReturnListResultDTO(); + resultDTO.setProjectProcessId(process.getId()); + resultDTO.setProcessor(process.getDepartmentName().concat("-").concat(userInfo.getStaffName())); + return resultDTO; + })).collect(Collectors.toList()); + return resultList; + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index fcb7ee4416..a9aa55a296 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -20,6 +20,7 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; @@ -30,14 +31,15 @@ import com.epmet.dao.ProjectDao; import com.epmet.dto.CustomerProjectParameterDTO; import com.epmet.dto.ProjectDTO; import com.epmet.dto.ProjectStaffDTO; -import com.epmet.dto.form.ProjectDetailFromDTO; -import com.epmet.dto.form.ProjectListFromDTO; -import com.epmet.dto.form.WorkDayFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.ProjectEntity; +import com.epmet.entity.ProjectProcessEntity; +import com.epmet.entity.ProjectStaffEntity; import com.epmet.feign.CommonFeignClient; import com.epmet.redis.ProjectRedis; import com.epmet.service.CustomerProjectParameterService; +import com.epmet.service.ProjectProcessService; import com.epmet.service.ProjectService; import com.epmet.service.ProjectStaffService; import org.apache.commons.lang3.StringUtils; @@ -65,6 +67,8 @@ public class ProjectServiceImpl extends BaseServiceImpl getPendProjectList(ProjectListFromDTO fromDTO) { List list = new ArrayList<>(); + //查询条件 + int pageIndex = (fromDTO.getPageNo() - NumConstant.ONE) * fromDTO.getPageSize(); + fromDTO.setPageNo(pageIndex); + List projectList = baseDao.selectPendList(fromDTO); //获取客户定制的可滞留天数 Integer finalDays = getDays(fromDTO); @@ -149,6 +157,11 @@ public class ProjectServiceImpl extends BaseServiceImpl getCreatedList(ProjectListFromDTO fromDTO) { List list = new ArrayList<>(); + + //查询条件 + int pageIndex = (fromDTO.getPageNo() - NumConstant.ONE) * fromDTO.getPageSize(); + fromDTO.setPageNo(pageIndex); + List projectList = baseDao.selectCreatedList(fromDTO); //获取客户定制的可滞留天数 Integer finalDays = getDays(fromDTO); @@ -156,6 +169,8 @@ public class ProjectServiceImpl extends BaseServiceImpl finalDays) { @@ -181,6 +196,11 @@ public class ProjectServiceImpl extends BaseServiceImpl getInvolvedList(ProjectListFromDTO fromDTO) { List list = new ArrayList<>(); + + //查询条件 + int pageIndex = (fromDTO.getPageNo() - NumConstant.ONE) * fromDTO.getPageSize(); + fromDTO.setPageNo(pageIndex); + List projectList = baseDao.selectCreatedList(fromDTO); //获取客户定制的可滞留天数 Integer finalDays = getDays(fromDTO); @@ -188,6 +208,8 @@ public class ProjectServiceImpl extends BaseServiceImpl finalDays) { @@ -228,13 +250,84 @@ public class ProjectServiceImpl extends BaseServiceImpl departmentNameList = new ArrayList<>(); + if (ProjectConstant.CLOSED.equals(resultDTO.getProjectStatus())) { + //项目已结案,跟进部门为空 + resultDTO.setDepartmentNameList(departmentNameList); + } else { + //项目未结案,找出所有跟进部门 + ProjectDTO projectDTO = new ProjectDTO(); + projectDTO.setId(fromDTO.getProjectId()); + departmentNameList = baseDao.selectDepartmentNameList(projectDTO); + resultDTO.setDepartmentNameList(departmentNameList); + } + return resultDTO; } + @Override + @Transactional(rollbackFor = Exception.class) + public void closed(ProjectClosedFromDTO fromDTO) { + //更新项目表状态 + ProjectEntity projectEntity = baseDao.selectById(fromDTO.getProjectId()); + projectEntity.setStatus(ProjectConstant.CLOSED); + projectEntity.setClosedStatus(fromDTO.getClosedStatus()); + baseDao.updateById(projectEntity); + + //更新项目关联表 + ProjectStaffEntity projectStaffEntity = new ProjectStaffEntity(); + projectStaffEntity.setId(fromDTO.getProjectStaffId()); + projectStaffEntity.setIsHandle(ProjectConstant.HANDLE); + projectStaffService.updateById(projectStaffEntity); + + //结案记录加入项目进展表 + ProjectProcessEntity projectProcessEntity = new ProjectProcessEntity(); + projectProcessEntity.setProjectId(fromDTO.getProjectId()); + projectProcessEntity.setDepartmentName(fromDTO.getDepartmentName()); + projectProcessEntity.setEndTime(new Date()); + projectProcessEntity.setOperation(ProjectConstant.OPERATION_CLOSE); + projectProcessEntity.setOperationName(ProjectConstant.OPERATION_CLOSE_NAME); + projectProcessEntity.setPublicReply(fromDTO.getPublicReply()); + projectProcessEntity.setInternalRemark(fromDTO.getInternalRemark()); + projectProcessEntity.setStaffId(fromDTO.getUserId()); + projectProcessEntity.setCostWorkdays(getDetentionDays(ConvertUtils.sourceToTarget(projectEntity, ProjectDTO.class))); + projectProcessService.insert(projectProcessEntity); + } + + @Override + public void projectReturn(ReturnFromDTO fromDTO) { + //更新项目关联表 + ProjectStaffEntity projectStaffEntity = new ProjectStaffEntity(); + projectStaffEntity.setId(fromDTO.getProjectStaffId()); + projectStaffEntity.setIsHandle(ProjectConstant.HANDLE); + projectStaffService.updateById(projectStaffEntity); + + //结案记录加入项目进展表 + ProjectProcessEntity projectProcessEntity = new ProjectProcessEntity(); + projectProcessEntity.setProjectId(fromDTO.getProjectId()); + projectProcessEntity.setDepartmentName(fromDTO.getDepartmentName()); + projectProcessEntity.setOperation(ProjectConstant.OPERATION_RETURN); + projectProcessEntity.setOperationName(ProjectConstant.OPERATION_RETURN_NAME); + projectProcessEntity.setPublicReply(fromDTO.getPublicReply()); + projectProcessEntity.setInternalRemark(fromDTO.getInternalRemark()); + projectProcessEntity.setStaffId(fromDTO.getUserId()); + projectProcessService.insert(projectProcessEntity); + + //将人员关系添加到项目关联表 + ProjectStaffDTO projectStaffDTO = projectStaffService.getProjectStaffInfo(fromDTO.getProjectProcessId()); + ProjectStaffEntity projectStaff = ConvertUtils.sourceToTarget(projectStaffDTO, ProjectStaffEntity.class); + projectStaff.setId(null); + projectStaff.setIsHandle(ProjectConstant.UNHANDLED); + projectStaffService.insert(projectStaff); + + //TODO 通知 + } + /** * 获取客户定制的可滞留天数 * - * @param fromDTO + * @param fromDTO 参数 * @return java.lang.Integer * @author zhaoqifeng * @date 2020/5/12 16:20 @@ -255,7 +348,7 @@ public class ProjectServiceImpl extends BaseServiceImpl list = new ArrayList<>(); WorkDayFormDTO workDayFormDTO = new WorkDayFormDTO(); workDayFormDTO.setId(projectDTO.getId()); - workDayFormDTO.setStartDate(format.format(projectDTO.getCreatedTime())); + workDayFormDTO.setStartDate(format.format(projectDTO.getUpdatedTime())); workDayFormDTO.setEndDate(format.format(new Date())); Result> detentionDays = commonFeignClient.detentionDays(list); return detentionDays.getData().get(0).getDetentionDays(); diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java index b6518c8684..03b6c60045 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java @@ -113,6 +113,11 @@ public class ProjectStaffServiceImpl extends BaseServiceImpl getPendProjectList(TokenDto tokenDto, ProjectListFromDTO fromDTO) { @@ -40,21 +43,24 @@ public class ProjectTraceServiceImpl implements ProjectTraceService { @Override public ProjectDetailResultDTO getProjectDetail(TokenDto tokenDto, ProjectDetailFromDTO fromDTO) { - return null; + fromDTO.setProjectId(tokenDto.getUserId()); + return projectService.getProjectDetail(fromDTO); } @Override public void closed(TokenDto tokenDto, ProjectClosedFromDTO fromDTO) { - + fromDTO.setUserId(tokenDto.getUserId()); + projectService.closed(fromDTO); } @Override public List getReturnableList(ReturnListFromDTO fromDTO) { - return null; + return projectProcessService.getReturnableList(fromDTO); } @Override public void projectReturn(TokenDto tokenDto, ReturnFromDTO fromDTO) { - + fromDTO.setUserId(tokenDto.getUserId()); + projectService.projectReturn(fromDTO); } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml index 9b8fd485ff..e7cc041e78 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml @@ -23,7 +23,8 @@ SELECT distinct p.ID, p.TITLE, - psp.CREATED_TIME + p.CREATED_TIME, + psp.CREATED_TIME AS UPDATED_TIME FROM project p INNER JOIN (SELECT ps.PROJECT_ID, @@ -37,51 +38,76 @@ GROUP BY ps.PROJECT_ID) psp ON p.ID = psp.PROJECT_ID WHERE p.DEL_FLAG = '0' AND p.status = 'pending' - ORDER BY psp.CREATED_TIME ASC + ORDER BY p.CREATED_TIME ASC + LIMIT #{pageNo}, #{pageSize} - + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml index 736a87d3ae..bb19e5068a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml @@ -32,6 +32,14 @@ AND IS_HANDLE = 'unhandled' + \ No newline at end of file diff --git a/epmet-module/resi-hall/resi-hall-client/resi-hall-client.iml b/epmet-module/resi-hall/resi-hall-client/resi-hall-client.iml index f1936e17be..6f6a140623 100644 --- a/epmet-module/resi-hall/resi-hall-client/resi-hall-client.iml +++ b/epmet-module/resi-hall/resi-hall-client/resi-hall-client.iml @@ -14,6 +14,8 @@ + + @@ -139,7 +141,5 @@ - - \ No newline at end of file diff --git a/epmet-module/resi-hall/resi-hall-server/resi-hall-server.iml b/epmet-module/resi-hall/resi-hall-server/resi-hall-server.iml index 9b122af4a2..4e6ad803c2 100644 --- a/epmet-module/resi-hall/resi-hall-server/resi-hall-server.iml +++ b/epmet-module/resi-hall/resi-hall-server/resi-hall-server.iml @@ -20,6 +20,8 @@ + + @@ -190,7 +192,5 @@ - - \ No newline at end of file diff --git a/epmet-module/resi-hall/resi-hall.iml b/epmet-module/resi-hall/resi-hall.iml index 0d9345ff78..2837671944 100644 --- a/epmet-module/resi-hall/resi-hall.iml +++ b/epmet-module/resi-hall/resi-hall.iml @@ -8,6 +8,8 @@ + + @@ -45,7 +47,5 @@ - - \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml index 9b1dbc5c54..8f762dbe01 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml @@ -118,9 +118,8 @@ WHERE cs.DEL_FLAG = '0' AND cs.CUSTOMER_ID = #{customerId} - AND cs.USER_ID in - - #{userId} + + cs.USER_ID = #{userId} ORDER BY convert(cs.REAL_NAME using gbk) ASC