Browse Source

项目结案,退回

dev
zhaoqifeng 5 years ago
parent
commit
bcbcc0d822
  1. 5
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java
  2. 2
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectStaffDTO.java
  3. 17
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectClosedFromDTO.java
  4. 17
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnFromDTO.java
  5. 8
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/CreatedListResultDTO.java
  6. 8
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/InvolvedListResultDTO.java
  7. 5
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailResultDTO.java
  8. 2
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java
  9. 10
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java
  10. 5
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessEntity.java
  11. 2
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectStaffEntity.java
  12. 10
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java
  13. 9
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java
  14. 7
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java
  15. 8
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java
  16. 11
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java
  17. 20
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java
  18. 10
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java
  19. 39
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java
  20. 105
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
  21. 5
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java
  22. 14
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java
  23. 86
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml
  24. 11
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml
  25. 8
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml
  26. 4
      epmet-module/resi-hall/resi-hall-client/resi-hall-client.iml
  27. 4
      epmet-module/resi-hall/resi-hall-server/resi-hall-server.iml
  28. 4
      epmet-module/resi-hall/resi-hall.iml
  29. 5
      epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml

5
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
*/

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

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

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

8
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;
/**
* 项目创建时间
*/

8
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;
/**
* 创建时间
*/

5
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<String> departmentNameList;
}

2
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java

@ -41,4 +41,6 @@ public interface ProjectProcessDao extends BaseDao<ProjectProcessEntity> {
* @Description 根据项目Id查询项目处理进展列表
**/
List<ProcesslistResultDTO> getProcessListByProjectId(@Param("projectId") String projectId);
List<ProjectProcessEntity> selectReturnableList(@Param("projectId") String projectId);
}

10
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<ProjectStaffEntity> {
* @date 2020/5/12 16:40
*/
List<DepartmentResultDTO> selectDepartmentNameList(ProjectStaffDTO dto);
/**
* 获取节点处理人信息
* @author zhaoqifeng
* @date 2020/5/13 15:08
* @param processId
* @return com.epmet.dto.ProjectStaffDTO
*/
ProjectStaffDTO selectProjectStaffInfo(@Param("processId") String processId);
}

5
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;
/**
* 部门名
*/

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

10
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<List<UserResiInfoResultDTO>> getUserResiInfoList(@RequestBody UserResiInfoListFormDTO userResiInfoListFormDTO);
/**
* 工作人员列表
* @param fromDTO
* @return
*/
@PostMapping("/epmetuser/customerstaff/stafflist")
Result<List<StaffInfoResultDTO>> getStaffList(@RequestBody StaffsInAgencyFromDTO fromDTO);
}

9
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<CustomerAgencyDTO> getAgencyById(@PathVariable("agencyId") String agencyId);
/**
* @param agencyId
* @return

7
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<List<UserResiInfoResultDTO>> getUserResiInfoList(UserResiInfoListFormDTO userResiInfoListFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserResiInfoList", userResiInfoListFormDTO);
}
@Override
public Result<List<StaffInfoResultDTO>> getStaffList(StaffsInAgencyFromDTO fromDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getStaffList", fromDTO);
}
}

8
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<CustomerAgencyDTO> getAgencyById(String agencyId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getAgencyById", agencyId);
}
@Override
public Result<DepartmentStaffListResultDTO> departmentStaffList(String agencyId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "departmentStaffList", agencyId);

11
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<ProjectProcessEntity>
* @Description 项目跟踪-项目处理进展列表
**/
List<ProcesslistResultDTO> progressList(ProcessListFormDTO formDTO);
/**
* 可退回节点列表
* @author zhaoqifeng
* @date 2020/5/13 13:42
* @param fromDTO
* @return java.util.List<com.epmet.dto.result.ReturnListResultDTO>
*/
List<ReturnListResultDTO> getReturnableList(ReturnListFromDTO fromDTO);
}

20
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<ProjectEntity> {
* @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);
}

10
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<ProjectStaffEntity> {
*/
List<DepartmentResultDTO> 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

39
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<ProjectProcessDao
private ProjectStaffDao projectStaffDao;
@Autowired
private GovOrgFeignClient govOrgFeignClient;
@Autowired
private EpmetUserFeignClient epmetUserFeignClient;
@Autowired
private ProjectService projectService;
@Override
public PageData<ProjectProcessDTO> page(Map<String, Object> params) {
@ -119,4 +133,29 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl<ProjectProcessDao
return baseDao.getProcessListByProjectId(formDTO.getProjectId());
}
@Override
public List<ReturnListResultDTO> getReturnableList(ReturnListFromDTO fromDTO) {
List<ProjectProcessEntity> list = baseDao.selectReturnableList(fromDTO.getProjectId());
//遍历获取所有的userId
List<String> userIds = list.stream().map(ProjectProcessEntity::getStaffId).collect(Collectors.toList());
//获取项目信息
ProjectEntity projectEntity = projectService.selectById(fromDTO.getProjectId());
//获取组织信息
Result<CustomerAgencyDTO> customerAgency = govOrgFeignClient.getAgencyById(projectEntity.getAgencyId());
//获取人员信息
StaffsInAgencyFromDTO staffsInAgencyFromDTO = new StaffsInAgencyFromDTO();
staffsInAgencyFromDTO.setCustomerId(customerAgency.getData().getCustomerId());
staffsInAgencyFromDTO.setStaffList(userIds);
List<StaffInfoResultDTO> staffList = epmetUserFeignClient.getStaffList(staffsInAgencyFromDTO).getData();
//合成返回值
List<ReturnListResultDTO> 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;
}
}

105
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<ProjectDao, ProjectEntit
private CommonFeignClient commonFeignClient;
@Autowired
private ProjectStaffService projectStaffService;
@Autowired
private ProjectProcessService projectProcessService;
private final static String ONE_DAY = "<1";
@ -124,6 +128,10 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
public List<PendProjectListResultDTO> getPendProjectList(ProjectListFromDTO fromDTO) {
List<PendProjectListResultDTO> list = new ArrayList<>();
//查询条件
int pageIndex = (fromDTO.getPageNo() - NumConstant.ONE) * fromDTO.getPageSize();
fromDTO.setPageNo(pageIndex);
List<ProjectDTO> projectList = baseDao.selectPendList(fromDTO);
//获取客户定制的可滞留天数
Integer finalDays = getDays(fromDTO);
@ -149,6 +157,11 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
@Override
public List<CreatedListResultDTO> getCreatedList(ProjectListFromDTO fromDTO) {
List<CreatedListResultDTO> list = new ArrayList<>();
//查询条件
int pageIndex = (fromDTO.getPageNo() - NumConstant.ONE) * fromDTO.getPageSize();
fromDTO.setPageNo(pageIndex);
List<ProjectDTO> projectList = baseDao.selectCreatedList(fromDTO);
//获取客户定制的可滞留天数
Integer finalDays = getDays(fromDTO);
@ -156,6 +169,8 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
CreatedListResultDTO created = new CreatedListResultDTO();
created.setProjectId(p.getId());
created.setProjectTitle(p.getTitle());
created.setProjectStatus(p.getStatus());
created.setPublicReply(p.getPublicReply());
created.setProjectTime(p.getCreatedTime().getTime());
String detentionDays = getDetentionDays(p);
if (!ONE_DAY.equals(detentionDays) && Integer.parseInt(detentionDays) > finalDays) {
@ -181,6 +196,11 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
@Override
public List<InvolvedListResultDTO> getInvolvedList(ProjectListFromDTO fromDTO) {
List<InvolvedListResultDTO> list = new ArrayList<>();
//查询条件
int pageIndex = (fromDTO.getPageNo() - NumConstant.ONE) * fromDTO.getPageSize();
fromDTO.setPageNo(pageIndex);
List<ProjectDTO> projectList = baseDao.selectCreatedList(fromDTO);
//获取客户定制的可滞留天数
Integer finalDays = getDays(fromDTO);
@ -188,6 +208,8 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
InvolvedListResultDTO involved = new InvolvedListResultDTO();
involved.setProjectId(p.getId());
involved.setProjectTitle(p.getTitle());
involved.setProjectStatus(p.getStatus());
involved.setPublicReply(p.getPublicReply());
involved.setProjectTime(p.getCreatedTime().getTime());
String detentionDays = getDetentionDays(p);
if (!ONE_DAY.equals(detentionDays) && Integer.parseInt(detentionDays) > finalDays) {
@ -228,13 +250,84 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
}
}
//获取当前跟进部门
List<String> 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<ProjectDao, ProjectEntit
/**
* 工作日计算
*
* @param projectDTO
* @param projectDTO 参数
* @return java.lang.String
* @author zhaoqifeng
* @date 2020/5/12 16:20
@ -266,7 +359,7 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
List<WorkDayFormDTO> 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<List<WorkDayResultDTO>> detentionDays = commonFeignClient.detentionDays(list);
return detentionDays.getData().get(0).getDetentionDays();

5
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<ProjectStaffDao, Pr
return baseDao.selectDepartmentNameList(dto);
}
@Override
public ProjectStaffDTO getProjectStaffInfo(String projectProcessId) {
return baseDao.selectProjectStaffInfo(projectProcessId);
}
@Override
public DepartmentStaffListResultDTO departmentStaffList(DepartmentStaffListFormDTO formDTO) {
//1:调用gov-org服务,分别查询组织下人员,组织下部门人员,组织下网格人员列表信息

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

@ -3,6 +3,7 @@ package com.epmet.service.impl;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.service.ProjectProcessService;
import com.epmet.service.ProjectService;
import com.epmet.service.ProjectTraceService;
import org.springframework.beans.factory.annotation.Autowired;
@ -19,6 +20,8 @@ import java.util.List;
public class ProjectTraceServiceImpl implements ProjectTraceService {
@Autowired
private ProjectService projectService;
@Autowired
private ProjectProcessService projectProcessService;
@Override
public List<PendProjectListResultDTO> 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<ReturnListResultDTO> getReturnableList(ReturnListFromDTO fromDTO) {
return null;
return projectProcessService.getReturnableList(fromDTO);
}
@Override
public void projectReturn(TokenDto tokenDto, ReturnFromDTO fromDTO) {
fromDTO.setUserId(tokenDto.getUserId());
projectService.projectReturn(fromDTO);
}
}

86
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}
</select>
<select id="selectCreatedList" resultType="com.epmet.dto.ProjectDTO" parameterType="com.epmet.dto.form.ProjectListFromDTO">
SELECT distinct
p.ID,
p.TITLE,
p.STATUS,
psp.CREATED_TIME
IFNULL(pp.PUBLIC_REPLY, "") AS PUBLIC_REPLY,
p.CREATED_TIME,
ps.CREATED_TIME AS UPDATED_TIME
FROM project p
INNER JOIN (SELECT
ps.PROJECT_ID,
MAX(ps.CREATED_TIME) AS CREATED_TIME
FROM
project_staff ps
INNER JOIN project_process pp ON ps.PROCESS_ID = pp.ID AND pp.DEL_FLAG = '0'
AND pp.OPERATION = 'created'
WHERE
ps.DEL_FLAG = '0'
AND ps.IS_HANDLE = 'handle'
AND ps.STAFF_ID = #{userId}
GROUP BY ps.PROJECT_ID) psp ON p.ID = psp.PROJECT_ID
INNER JOIN (SELECT DISTINCT
ps.PROJECT_ID
FROM
project_staff ps
INNER JOIN project_process pp ON ps.PROCESS_ID = pp.ID AND pp.DEL_FLAG = '0'
AND pp.OPERATION = 'created'
WHERE
ps.DEL_FLAG = '0'
AND ps.IS_HANDLE = 'handle'
AND ps.STAFF_ID = #{userId}
GROUP BY ps.PROJECT_ID) psp ON p.ID = psp.PROJECT_ID
INNER JOIN (
SELECT DISTINCT
PROJECT_ID,
MIN(CREATED_TIME) AS CREATED_TIME
FROM
project_staff
WHERE DEL_FLAG = '0'
AND IS_HANDLE = 'unhandled'
GROUP BY PROJECT_ID) ps ON p.ID = ps.PROJECT_ID
LEFT JOIN project_process pp ON p.ID = pp.PROJECT_ID AND pp.OPERATION = 'close'
WHERE p.DEL_FLAG = '0'
ORDER BY psp.CREATED_TIME ASC
ORDER BY p.CREATED_TIME ASC
LIMIT #{pageNo}, #{pageSize}
</select>
<select id="selectInvolvedList" resultType="com.epmet.dto.ProjectDTO" parameterType="com.epmet.dto.form.ProjectListFromDTO">
SELECT distinct
p.ID,
p.TITLE,
p.STATUS,
psp.CREATED_TIME
IFNULL(pp.PUBLIC_REPLY, "") AS PUBLIC_REPLY,
p.CREATED_TIME,
ps.CREATED_TIME AS UPDATED_TIME
FROM project p
INNER JOIN (SELECT
ps.PROJECT_ID,
MAX(ps.CREATED_TIME) AS CREATED_TIME
FROM
project_staff ps
INNER JOIN project_process pp ON ps.PROCESS_ID = pp.ID AND pp.DEL_FLAG = '0'
AND pp.OPERATION != 'created'
WHERE
ps.DEL_FLAG = '0'
AND ps.IS_HANDLE = 'handle'
AND ps.STAFF_ID = #{userId}
GROUP BY ps.PROJECT_ID) psp ON p.ID = psp.PROJECT_ID
INNER JOIN (SELECT
ps.PROJECT_ID
FROM
project_staff ps
INNER JOIN project_process pp ON ps.PROCESS_ID = pp.ID AND pp.DEL_FLAG = '0'
AND pp.OPERATION != 'created'
WHERE
ps.DEL_FLAG = '0'
AND ps.IS_HANDLE = 'handle'
AND ps.STAFF_ID = #{userId}
GROUP BY ps.PROJECT_ID) psp ON p.ID = psp.PROJECT_ID
INNER JOIN (
SELECT DISTINCT
PROJECT_ID,
MIN(CREATED_TIME) AS CREATED_TIME
FROM
project_staff
WHERE DEL_FLAG = '0'
AND IS_HANDLE = 'unhandled'
GROUP BY PROJECT_ID) ps ON p.ID = ps.PROJECT_ID
LEFT JOIN project_process pp ON p.ID = pp.PROJECT_ID AND pp.OPERATION = 'close'
WHERE p.DEL_FLAG = '0'
ORDER BY psp.CREATED_TIME ASC
ORDER BY p.CREATED_TIME ASC
LIMIT #{pageNo}, #{pageSize}
</select>
<select id="selectDepartmentNameList" resultType="java.lang.String" parameterType="com.epmet.dto.ProjectDTO">
SELECT DISTINCT

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

@ -19,6 +19,15 @@
AND project_id = #{projectId}
ORDER BY created_time DESC
</select>
<select id="selectReturnableList" resultType="com.epmet.entity.ProjectProcessEntity">
SELECT
*
FROM
project_process
WHERE
DEL_FLAG = '0'
AND PROJECT_ID = #{projectId}
ORDER BY CREATED_TIME DESC
</select>
</mapper>

8
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml

@ -32,6 +32,14 @@
AND IS_HANDLE = 'unhandled'
</select>
<select id="selectProjectStaffInfo" resultType="com.epmet.dto.ProjectStaffDTO">
SELECT ps.* FROM project_staff ps
INNER JOIN project_process pp ON ps.DEPARTMENT_NAME = pp.DEPARTMENT_NAME AND ps.STAFF_ID = pp.STAFF_ID
WHERE ps.DEL_FLAG = '0'
AND pp.DEL_FLAG = '0'
AND pp.ID = #{processId}
LIMIT 1
</select>
</mapper>

4
epmet-module/resi-hall/resi-hall-client/resi-hall-client.iml

@ -14,6 +14,8 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" scope="TEST" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
<orderEntry type="module" module-name="epmet-commons-tools" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.1.11.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.1.12.RELEASE" level="project" />
@ -139,7 +141,5 @@
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.1.12.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.1.12.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.6.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
</component>
</module>

4
epmet-module/resi-hall/resi-hall-server/resi-hall-server.iml

@ -20,6 +20,8 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" scope="TEST" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
<orderEntry type="module" module-name="resi-hall-client" />
<orderEntry type="module" module-name="epmet-commons-tools" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.1.11.RELEASE" level="project" />
@ -190,7 +192,5 @@
<orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.1.12.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.6.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
</component>
</module>

4
epmet-module/resi-hall/resi-hall.iml

@ -8,6 +8,8 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" scope="TEST" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.1.11.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter:2.1.11.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot:2.1.11.RELEASE" level="project" />
@ -45,7 +47,5 @@
<orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-jcl:5.1.12.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.1.12.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.6.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
</component>
</module>

5
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
<foreach item="userId" collection="staffList" separator="," open="(" close=")" index="">
#{userId}
<foreach item="userId" collection="staffList" separator="OR" open="AND (" close=")" index="">
cs.USER_ID = #{userId}
</foreach>
ORDER BY convert(cs.REAL_NAME using gbk) ASC
</select>

Loading…
Cancel
Save