diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java index 5fd9af0bd1..c6b5591ff0 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java @@ -98,4 +98,9 @@ public interface ServiceConstant { * 政府端项目跟踪(项目管理) */ String GOV_PROJECT_SERVER="gov-project-server"; + + /** + * 共通 + */ + String EPMET_COMMON_SERVICE = "epmet-common-service"; } 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 new file mode 100644 index 0000000000..29f755243b --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectClosedFromDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription 项目结案 + * @date 2020/5/11 15:44 + */ +@Data +public class ProjectClosedFromDTO implements Serializable { + + private static final long serialVersionUID = -7383213527369892832L; + /** + * 项目Id + */ + private String projectId; + /** + * 是否解决(已解决 resolved,未解决 unresolved) + */ + private String closedStatus; + /** + * 公开答复内容 + */ + private String publicReply; + /** + * 内部备注内容 + */ + private String internalRemark; +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectDetailFromDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectDetailFromDTO.java new file mode 100644 index 0000000000..28178701c5 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectDetailFromDTO.java @@ -0,0 +1,25 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription 项目详情入参 + * @date 2020/5/11 15:24 + */ +@Data +public class ProjectDetailFromDTO implements Serializable { + private static final long serialVersionUID = 1246868104866189698L; + + /** + * 项目Id + */ + private String projectId; + + /** + * 用户ID + */ + private String userId; +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectListFromDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectListFromDTO.java new file mode 100644 index 0000000000..d608acf068 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectListFromDTO.java @@ -0,0 +1,31 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/11 14:01 + */ +@Data +public class ProjectListFromDTO implements Serializable { + private static final long serialVersionUID = 1L; + /** + * 客户ID + */ + private String customerId; + /** + * 用户ID + */ + private String userId; + /** + * 页码 + */ + private Integer pageNo; + /** + * 每页显示数量 + */ + private Integer pageSize; +} 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 new file mode 100644 index 0000000000..12ec7137d1 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnFromDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription 项目退回 + * @date 2020/5/11 15:55 + */ +@Data +public class ReturnFromDTO implements Serializable { + + private static final long serialVersionUID = -8747667324909671154L; + /** + * 项目Id + */ + private String projectId; + /** + * 流程节点Id + */ + private String projectProcessId; + /** + * 公开答复内容 + */ + private String publicReply; + /** + * 内部流转意见 + */ + private String internalRemark; +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnListFromDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnListFromDTO.java new file mode 100644 index 0000000000..cd0aa2638a --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnListFromDTO.java @@ -0,0 +1,19 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription 可退回节点列表 + * @date 2020/5/11 15:49 + */ +@Data +public class ReturnListFromDTO implements Serializable { + private static final long serialVersionUID = 741782201514313323L; + /** + * 项目Id + */ + private String projectId; +} 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 new file mode 100644 index 0000000000..3481754cba --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/CreatedListResultDTO.java @@ -0,0 +1,42 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription 我发起的项目列表 + * @date 2020/5/11 15:57 + */ +@Data +public class CreatedListResultDTO implements Serializable { + + private static final long serialVersionUID = 5957826616179876849L; + /** + * 项目Id + */ + private String projectId; + /** + * 项目标题 + */ + private String projectTitle; + /** + * 项目创建时间 + */ + private Long projectTime; + /** + * 滞留天数 + */ + private String detentionDays; + /** + * 当前处理部门(组织-网格、组织-部门 ) + */ + private List departmentNameList; + /** + * 是否超期预警 + */ + private Boolean warningFlag; + +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/DepartmentResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/DepartmentResultDTO.java new file mode 100644 index 0000000000..d63091b73e --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/DepartmentResultDTO.java @@ -0,0 +1,23 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/12 16:29 + */ +@Data +public class DepartmentResultDTO implements Serializable { + private static final long serialVersionUID = 394316321928642799L; + /** + * 项目人员关联表ID + */ + private String projectStaffId; + /** + * 部门名 + */ + private String departmentName; +} 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 new file mode 100644 index 0000000000..39c552f9e5 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/InvolvedListResultDTO.java @@ -0,0 +1,41 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription 我参与的项目列表 + * @date 2020/5/11 16:06 + */ +@Data +public class InvolvedListResultDTO implements Serializable { + + private static final long serialVersionUID = 6050021263050922594L; + /** + * 项目Id + */ + private String projectId; + /** + * 项目标题 + */ + private String projectTitle; + /** + * 创建时间 + */ + private Long projectTime; + /** + * 滞留天数 + */ + private String detentionDays; + /** + * 当前处理部门(组织-网格、组织-部门 ) + */ + private List departmentNameList; + /** + * 是否超期预警 + */ + private Boolean warningFlag; +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/PendProjectListResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/PendProjectListResultDTO.java new file mode 100644 index 0000000000..a2fe308a27 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/PendProjectListResultDTO.java @@ -0,0 +1,36 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription 待处理项目列表 + * @date 2020/5/11 15:38 + */ +@Data +public class PendProjectListResultDTO implements Serializable { + + private static final long serialVersionUID = -7900117646827271573L; + /** + * 项目Id + */ + private String projectId; + /** + * 项目标题 + */ + private String projectTitle; + /** + * 项目创建时间 + */ + private Long projectTime; + /** + * 滞留天数 + */ + private String detentionDays; + /** + * 是否超期预警 + */ + private Boolean warningFlag; +} 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 new file mode 100644 index 0000000000..9c9425d36f --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailResultDTO.java @@ -0,0 +1,49 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/11 15:33 + */ +@Data +public class ProjectDetailResultDTO implements Serializable { + + private static final long serialVersionUID = -2969103790181586848L; + /** + * 项目Id + */ + private String projectId; + /** + * 来源 + */ + private String origin; + /** + * 来源Id + */ + private String originId; + /** + * 项目标题 + */ + private String projectTitle; + /** + * 项目方案 + */ + private String publicReply; + /** + * 内部备注 + */ + private String internalRemark; + /** + * 项目状态(待处理 pending,结案closed) + */ + private String projectStatus; + /** + * 处理状态(是否由我处理) + */ + private Boolean processable; + +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ReturnListResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ReturnListResultDTO.java new file mode 100644 index 0000000000..229f769753 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ReturnListResultDTO.java @@ -0,0 +1,23 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription 可退回节点列表 + * @date 2020/5/11 15:50 + */ +@Data +public class ReturnListResultDTO implements Serializable { + private static final long serialVersionUID = -7082368401375611559L; + /** + * 处理进展表Id + */ + private String projectProcessId; + /** + * 处理人名称(组织-部门-人员 组织-网格-人员 组织-人员) + */ + private String processor; +} diff --git a/epmet-module/gov-project/gov-project-server/pom.xml b/epmet-module/gov-project/gov-project-server/pom.xml index a1329fba1c..7fa15bd39f 100644 --- a/epmet-module/gov-project/gov-project-server/pom.xml +++ b/epmet-module/gov-project/gov-project-server/pom.xml @@ -60,6 +60,12 @@ feign-httpclient 10.3.0 + + com.epmet + common-service-client + 2.0.0 + compile + diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ParameterKeyConstant.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ParameterKeyConstant.java new file mode 100644 index 0000000000..502b895544 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ParameterKeyConstant.java @@ -0,0 +1,14 @@ +package com.epmet.constant; + +/** + * @author zhaoqifeng + * @dscription 客户定制参数key + * @date 2020/5/12 11:02 + */ +public interface ParameterKeyConstant { + + /** + * 可滞留天数 + */ + String DETENTION_DAYS = "detention_days"; +} diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java new file mode 100644 index 0000000000..e9b81ef0f9 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java @@ -0,0 +1,71 @@ +package com.epmet.constant; + +/** + * @author zhaoqifeng + * @dscription 项目相关常量 + * @date 2020/5/12 10:47 + */ +public interface ProjectConstant { + /** + * 项目来源-议题 + */ + String ISSUE = "issue"; + /** + * 状态-待处理 + */ + String PENDING = "pending"; + /** + * 状态-结案 + */ + String CLOSED = "closed"; + /** + * 结案状态-已解决 + */ + String RESOLVED = "resolved"; + /** + * 结案状态-未解决 + */ + String UNRESOLVED = "unresolved"; + + /** + * 处理-结案 + */ + String OPERATION_CLOSE = "close"; + /** + * 处理名-结案 + */ + String OPERATION_CLOSE_NAME = "结案"; + /** + * 处理-退回 + */ + String OPERATION_RETURN = "return"; + /** + * 处理名-退回 + */ + String OPERATION_RETURN_NAME = "退回"; + /** + * 处理-部门流转 + */ + String OPERATION_TRANSFER = "transfer"; + /** + * 处理名-部门流转 + */ + String OPERATION_TRANSFER_NAME = "部门流转"; + /** + * 处理-转项目 + */ + String OPERATION_CREATED = "created"; + /** + * 处理名-转项目 + */ + String OPERATION_CREATED_NAME = "转项目"; + + /** + * 是否处理-未处理 + */ + String UNHANDLED = "unhandled"; + /** + * 是否处理-已处理 + */ + String HANDLE = "handle"; +} diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java index 6d7d98ba0f..b862ba1085 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java @@ -6,9 +6,10 @@ import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.dto.form.ProcessListFormDTO; -import com.epmet.dto.result.ProcesslistResultDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; import com.epmet.service.ProjectProcessService; +import com.epmet.service.ProjectTraceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -26,8 +27,116 @@ import java.util.List; @RequestMapping("trace") public class ProjectTraceController { - @Autowired - private ProjectProcessService projectProcessService; + @Autowired + private ProjectTraceService projectTraceService; + + @Autowired + private ProjectProcessService projectProcessService; + + /** + * 待处理项目列表 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2020/5/11 16:14 + */ + @PostMapping("pendprojectlist") + public Result> getPendProjectList(@LoginUser TokenDto tokenDto, @RequestBody ProjectListFromDTO fromDTO) { + List result = projectTraceService.getPendProjectList(tokenDto, fromDTO); + return new Result>().ok(result); + } + + /** + * 我发起的项目列表 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2020/5/11 16:19 + */ + @PostMapping("createdlist") + public Result> getCreatedList(@LoginUser TokenDto tokenDto, @RequestBody ProjectListFromDTO fromDTO) { + List result = projectTraceService.getCreatedList(tokenDto, fromDTO); + return new Result>().ok(result); + } + + /** + * 我参与的项目列表 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2020/5/11 16:21 + */ + @PostMapping("involvedlist") + public Result> getInvolvedList(@LoginUser TokenDto tokenDto, @RequestBody ProjectListFromDTO fromDTO) { + List result = projectTraceService.getInvolvedList(tokenDto, fromDTO); + return new Result>().ok(result); + } + + /** + * 项目详情 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2020/5/11 16:25 + */ + @PostMapping("projectdetail") + public Result getProjectDetail(@LoginUser TokenDto tokenDto, @RequestBody ProjectDetailFromDTO fromDTO) { + ProjectDetailResultDTO result = projectTraceService.getProjectDetail(tokenDto, fromDTO); + return new Result().ok(result); + } + + /** + * 项目结案 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2020/5/11 16:27 + */ + @PostMapping("closeproject") + public Result closed(@LoginUser TokenDto tokenDto, @RequestBody ProjectClosedFromDTO fromDTO) { + projectTraceService.closed(tokenDto, fromDTO); + return new Result(); + } + + /** + * 可退回节点列表 + * + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2020/5/11 16:30 + */ + @PostMapping("returnablelist") + public Result> getReturnableList(@RequestBody ReturnListFromDTO fromDTO) { + List result = projectTraceService.getReturnableList(fromDTO); + return new Result>().ok(result); + } + + /** + * 项目退回 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2020/5/11 16:32 + */ + @PostMapping("return") + public Result projectReturn(@LoginUser TokenDto tokenDto, @RequestBody ReturnFromDTO fromDTO) { + projectTraceService.projectReturn(tokenDto, fromDTO); + return new Result(); + } + /** * @param formDTO diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/CustomerProjectParameterDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/CustomerProjectParameterDao.java index 715945aaca..c94ad69046 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/CustomerProjectParameterDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/CustomerProjectParameterDao.java @@ -20,6 +20,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.entity.CustomerProjectParameterEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 项目客户参数订制表 @@ -29,5 +30,13 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface CustomerProjectParameterDao extends BaseDao { + /** + * 根据key查找value + * @author zhaoqifeng + * @date 2020/5/12 10:39 + * @param entity 参数 + * @return java.lang.String + */ + String selectParameterValueByKey(CustomerProjectParameterEntity entity); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java index e7ba5bd385..c84c8d6f2d 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java @@ -18,8 +18,15 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.ProjectDTO; +import com.epmet.dto.form.ProjectListFromDTO; +import com.epmet.dto.result.DepartmentResultDTO; +import com.epmet.dto.result.ProjectDetailResultDTO; import com.epmet.entity.ProjectEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 项目表 @@ -29,5 +36,53 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ProjectDao extends BaseDao { - + /** + * 待处理项目列表 + * + * @param fromDTO 参数 + * @return java.util.List + * @author zhaoqifeng + * @date 2020/5/11 17:04 + **/ + List selectPendList(ProjectListFromDTO fromDTO); + + /** + * 我发起的项目列表 + * + * @param fromDTO 参数 + * @return java.util.List + * @author zhaoqifeng + * @date 2020/5/12 13:59 + */ + List selectCreatedList(ProjectListFromDTO fromDTO); + + /** + * 我参与的项目列表 + * + * @param fromDTO 参数 + * @return java.util.List + * @author zhaoqifeng + * @date 2020/5/12 14:16 + */ + List selectInvolvedList(ProjectListFromDTO fromDTO); + + /** + * 当前处理部门 + * + * @param dto 参数 + * @return java.util.List + * @author zhaoqifeng + * @date 2020/5/12 14:47 + */ + List selectDepartmentNameList(ProjectDTO dto); + + /** + * 获取项目详情 + * @author zhaoqifeng + * @date 2020/5/12 15:18 + * @param id + * @return com.epmet.dto.ProjectDTO + */ + ProjectDetailResultDTO selectProjectDetail(@Param("id") String id); + } \ 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 e78229e0f5..b93b670473 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 @@ -18,9 +18,13 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.ProjectStaffDTO; +import com.epmet.dto.result.DepartmentResultDTO; import com.epmet.entity.ProjectStaffEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 项目人员关联表 * @@ -29,5 +33,15 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ProjectStaffDao extends BaseDao { - + + /** + * 未处理部门列表 + * + * @param dto 参数 + * @return java.util.List + * @author zhaoqifeng + * @date 2020/5/12 16:40 + */ + List selectDepartmentNameList(ProjectStaffDTO dto); + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/CommonFeignClient.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/CommonFeignClient.java new file mode 100644 index 0000000000..10ed3733c3 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/CommonFeignClient.java @@ -0,0 +1,23 @@ +package com.epmet.feign; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.WorkDayFormDTO; +import com.epmet.dto.result.WorkDayResultDTO; +import com.epmet.feign.fallback.CommonFeignClientFallBack; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/12 15:48 + */ +@FeignClient(name = ServiceConstant.EPMET_COMMON_SERVICE, fallback = CommonFeignClientFallBack.class) +public interface CommonFeignClient { + @PostMapping("commonservice/workday/detentiondays") + Result> detentionDays(@RequestBody List formDTO); +} diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/CommonFeignClientFallBack.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/CommonFeignClientFallBack.java new file mode 100644 index 0000000000..0d7aa93769 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/CommonFeignClientFallBack.java @@ -0,0 +1,24 @@ +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.WorkDayFormDTO; +import com.epmet.dto.result.WorkDayResultDTO; +import com.epmet.feign.CommonFeignClient; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/12 15:51 + */ +@Component +public class CommonFeignClientFallBack implements CommonFeignClient { + @Override + public Result> detentionDays(List formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "detentionDays", formDTO); + } +} diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/CustomerProjectParameterService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/CustomerProjectParameterService.java index ba787d4171..87664dc583 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/CustomerProjectParameterService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/CustomerProjectParameterService.java @@ -92,4 +92,13 @@ public interface CustomerProjectParameterService extends BaseService { - /** - * 默认分页 - * - * @param params - * @return PageData - * @author generator - * @date 2020-05-11 - */ - PageData page(Map params); + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2020-05-11 + */ + PageData page(Map params); - /** - * 默认查询 - * - * @param params - * @return java.util.List - * @author generator - * @date 2020-05-11 - */ - List list(Map params); + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2020-05-11 + */ + List list(Map params); - /** - * 单条查询 - * - * @param id - * @return ProjectDTO - * @author generator - * @date 2020-05-11 - */ - ProjectDTO get(String id); + /** + * 单条查询 + * + * @param id + * @return ProjectDTO + * @author generator + * @date 2020-05-11 + */ + ProjectDTO get(String id); - /** - * 默认保存 - * - * @param dto - * @return void - * @author generator - * @date 2020-05-11 - */ - void save(ProjectDTO dto); + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2020-05-11 + */ + void save(ProjectDTO dto); - /** - * 默认更新 - * - * @param dto - * @return void - * @author generator - * @date 2020-05-11 - */ - void update(ProjectDTO dto); + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2020-05-11 + */ + void update(ProjectDTO dto); - /** - * 批量删除 - * - * @param ids - * @return void - * @author generator - * @date 2020-05-11 - */ - void delete(String[] ids); + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2020-05-11 + */ + void delete(String[] ids); + + /** + * 待处理项目列表 + * + * @param fromDTO 参数 + * @return java.util.List + * @author zhaoqifeng + * @date 2020/5/12 10:23 + */ + List getPendProjectList(ProjectListFromDTO fromDTO); + + /** + * 我发起的项目列表 + * + * @param fromDTO 参数 + * @return java.util.List + * @author zhaoqifeng + * @date 2020/5/12 13:58 + */ + List getCreatedList(ProjectListFromDTO fromDTO); + + /** + * 我参与的项目列表 + * + * @param fromDTO 参数 + * @return java.util.List + * @author zhaoqifeng + * @date 2020/5/12 14:57 + */ + List getInvolvedList(ProjectListFromDTO fromDTO); + + /** + * 项目详情 + * + * @param fromDTO 参数 + * @return com.epmet.dto.result.ProjectDetailResultDTO + * @author zhaoqifeng + * @date 2020/5/12 15:13 + */ + ProjectDetailResultDTO getProjectDetail(ProjectDetailFromDTO 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 30b07ac3b1..62d3b66965 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 @@ -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.ProjectStaffDTO; +import com.epmet.dto.result.DepartmentResultDTO; import com.epmet.entity.ProjectStaffEntity; import java.util.List; @@ -92,4 +93,14 @@ public interface ProjectStaffService extends BaseService { * @date 2020-05-11 */ void delete(String[] ids); + + /** + * 未处理部门列表 + * + * @param dto 参数 + * @return java.util.List + * @author zhaoqifeng + * @date 2020/5/12 16:40 + */ + List getDepartmentNameList(ProjectStaffDTO dto); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java new file mode 100644 index 0000000000..f91afc3c3a --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java @@ -0,0 +1,91 @@ +package com.epmet.service; + +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; + +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription 项目追踪 + * @date 2020/5/11 16:34 + */ +public interface ProjectTraceService { + /** + * 待处理项目列表 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2020/5/11 16:14 + */ + List getPendProjectList(TokenDto tokenDto, ProjectListFromDTO fromDTO); + + /** + * 我发起的项目列表 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2020/5/11 16:19 + */ + List getCreatedList(TokenDto tokenDto, ProjectListFromDTO fromDTO); + + /** + * 我参与的项目列表 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2020/5/11 16:21 + */ + List getInvolvedList(TokenDto tokenDto, ProjectListFromDTO fromDTO); + + /** + * 项目详情 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2020/5/11 16:25 + */ + ProjectDetailResultDTO getProjectDetail(TokenDto tokenDto, ProjectDetailFromDTO fromDTO); + + /** + * 项目结案 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2020/5/11 16:27 + */ + void closed(TokenDto tokenDto, ProjectClosedFromDTO fromDTO); + + /** + * 可退回节点列表 + * + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2020/5/11 16:30 + */ + List getReturnableList(ReturnListFromDTO fromDTO); + + /** + * 项目退回 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2020/5/11 16:32 + */ + void projectReturn(TokenDto tokenDto, ReturnFromDTO fromDTO); +} diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/CustomerProjectParameterServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/CustomerProjectParameterServiceImpl.java index a3942c0295..3df0971eb3 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/CustomerProjectParameterServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/CustomerProjectParameterServiceImpl.java @@ -101,4 +101,10 @@ public class CustomerProjectParameterServiceImpl extends BaseServiceImpl implements ProjectService { - @Autowired - private ProjectRedis projectRedis; - - @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, ProjectDTO.class); - } - - @Override - public List list(Map params) { - List entityList = baseDao.selectList(getWrapper(params)); - - return ConvertUtils.sourceToTarget(entityList, ProjectDTO.class); - } - - private QueryWrapper getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); - - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); - - return wrapper; - } - - @Override - public ProjectDTO get(String id) { - ProjectEntity entity = baseDao.selectById(id); - return ConvertUtils.sourceToTarget(entity, ProjectDTO.class); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void save(ProjectDTO dto) { - ProjectEntity entity = ConvertUtils.sourceToTarget(dto, ProjectEntity.class); - insert(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(ProjectDTO dto) { - ProjectEntity entity = ConvertUtils.sourceToTarget(dto, ProjectEntity.class); - updateById(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(String[] ids) { - // 逻辑删除(@TableLogic 注解) - baseDao.deleteBatchIds(Arrays.asList(ids)); - } + @Autowired + private ProjectRedis projectRedis; + @Autowired + private CustomerProjectParameterService parameterService; + @Autowired + private CommonFeignClient commonFeignClient; + @Autowired + private ProjectStaffService projectStaffService; + + private final static String ONE_DAY = "<1"; + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, ProjectDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, ProjectDTO.class); + } + + private QueryWrapper getWrapper(Map params) { + String id = (String) params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public ProjectDTO get(String id) { + ProjectEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, ProjectDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(ProjectDTO dto) { + ProjectEntity entity = ConvertUtils.sourceToTarget(dto, ProjectEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(ProjectDTO dto) { + ProjectEntity entity = ConvertUtils.sourceToTarget(dto, ProjectEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + @Override + public List getPendProjectList(ProjectListFromDTO fromDTO) { + List list = new ArrayList<>(); + + List projectList = baseDao.selectPendList(fromDTO); + //获取客户定制的可滞留天数 + Integer finalDays = getDays(fromDTO); + projectList.forEach(p -> { + PendProjectListResultDTO pend = new PendProjectListResultDTO(); + pend.setProjectId(p.getId()); + pend.setProjectTitle(p.getTitle()); + pend.setProjectTime(p.getCreatedTime().getTime()); + String detentionDays = getDetentionDays(p); + if (!ONE_DAY.equals(detentionDays) && Integer.parseInt(detentionDays) > finalDays) { + pend.setWarningFlag(true); + pend.setDetentionDays(detentionDays); + } else { + pend.setDetentionDays(detentionDays); + pend.setWarningFlag(false); + } + list.add(pend); + }); + + return list; + } + + @Override + public List getCreatedList(ProjectListFromDTO fromDTO) { + List list = new ArrayList<>(); + List projectList = baseDao.selectCreatedList(fromDTO); + //获取客户定制的可滞留天数 + Integer finalDays = getDays(fromDTO); + projectList.forEach(p -> { + CreatedListResultDTO created = new CreatedListResultDTO(); + created.setProjectId(p.getId()); + created.setProjectTitle(p.getTitle()); + created.setProjectTime(p.getCreatedTime().getTime()); + String detentionDays = getDetentionDays(p); + if (!ONE_DAY.equals(detentionDays) && Integer.parseInt(detentionDays) > finalDays) { + created.setWarningFlag(true); + created.setDetentionDays(detentionDays); + } else { + created.setDetentionDays(detentionDays); + created.setWarningFlag(false); + } + //获取当前处理部门 + List departmentNameList = new ArrayList<>(); + if (ProjectConstant.CLOSED.equals(p.getStatus())) { + created.setDepartmentNameList(departmentNameList); + } else { + departmentNameList = baseDao.selectDepartmentNameList(p); + created.setDepartmentNameList(departmentNameList); + } + list.add(created); + }); + return list; + } + + @Override + public List getInvolvedList(ProjectListFromDTO fromDTO) { + List list = new ArrayList<>(); + List projectList = baseDao.selectCreatedList(fromDTO); + //获取客户定制的可滞留天数 + Integer finalDays = getDays(fromDTO); + projectList.forEach(p -> { + InvolvedListResultDTO involved = new InvolvedListResultDTO(); + involved.setProjectId(p.getId()); + involved.setProjectTitle(p.getTitle()); + involved.setProjectTime(p.getCreatedTime().getTime()); + String detentionDays = getDetentionDays(p); + if (!ONE_DAY.equals(detentionDays) && Integer.parseInt(detentionDays) > finalDays) { + involved.setWarningFlag(true); + involved.setDetentionDays(detentionDays); + } else { + involved.setDetentionDays(detentionDays); + involved.setWarningFlag(false); + } + //获取当前处理部门 + List departmentNameList = new ArrayList<>(); + if (ProjectConstant.CLOSED.equals(p.getStatus())) { + involved.setDepartmentNameList(departmentNameList); + } else { + departmentNameList = baseDao.selectDepartmentNameList(p); + involved.setDepartmentNameList(departmentNameList); + } + list.add(involved); + }); + return list; + } + + @Override + public ProjectDetailResultDTO getProjectDetail(ProjectDetailFromDTO fromDTO) { + ProjectDetailResultDTO resultDTO = baseDao.selectProjectDetail(fromDTO.getProjectId()); + if (ProjectConstant.CLOSED.equals(resultDTO.getProjectStatus())) { + resultDTO.setProcessable(true); + } else { + //获取我未处理的部门 + ProjectStaffDTO projectStaffDTO = new ProjectStaffDTO(); + projectStaffDTO.setProjectId(fromDTO.getProjectId()); + projectStaffDTO.setStaffId(fromDTO.getUserId()); + List departmentList = projectStaffService.getDepartmentNameList(projectStaffDTO); + if (null != departmentList && departmentList.size() > 0) { + resultDTO.setProcessable(false); + } else { + resultDTO.setProcessable(true); + } + } + + return resultDTO; + } + + /** + * 获取客户定制的可滞留天数 + * + * @param fromDTO + * @return java.lang.Integer + * @author zhaoqifeng + * @date 2020/5/12 16:20 + */ + private Integer getDays(ProjectListFromDTO fromDTO) { + //获取客户定制的可滞留天数 + CustomerProjectParameterDTO dto = new CustomerProjectParameterDTO(); + dto.setCustomerId(fromDTO.getCustomerId()); + dto.setParameterKey(ParameterKeyConstant.DETENTION_DAYS); + String value = parameterService.getParameterValueByKey(dto); + Integer days = 5; + if (value != null) { + days = Integer.valueOf(value); + } + return days; + } + + /** + * 工作日计算 + * + * @param projectDTO + * @return java.lang.String + * @author zhaoqifeng + * @date 2020/5/12 16:20 + */ + private String getDetentionDays(ProjectDTO projectDTO) { + SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + + List list = new ArrayList<>(); + WorkDayFormDTO workDayFormDTO = new WorkDayFormDTO(); + workDayFormDTO.setId(projectDTO.getId()); + workDayFormDTO.setStartDate(format.format(projectDTO.getCreatedTime())); + workDayFormDTO.setEndDate(format.format(new Date())); + Result> detentionDays = commonFeignClient.detentionDays(list); + return detentionDays.getData().get(0).getDetentionDays(); + } } \ No newline at end of file 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 0eea5ed1fc..bfab5baef5 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 @@ -25,6 +25,7 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.dao.ProjectStaffDao; import com.epmet.dto.ProjectStaffDTO; +import com.epmet.dto.result.DepartmentResultDTO; import com.epmet.entity.ProjectStaffEntity; import com.epmet.redis.ProjectStaffRedis; import com.epmet.service.ProjectStaffService; @@ -101,4 +102,9 @@ public class ProjectStaffServiceImpl extends BaseServiceImpl getDepartmentNameList(ProjectStaffDTO dto) { + return baseDao.selectDepartmentNameList(dto); + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java new file mode 100644 index 0000000000..d7ff474a5d --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java @@ -0,0 +1,60 @@ +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.ProjectService; +import com.epmet.service.ProjectTraceService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/11 16:35 + */ +@Service +public class ProjectTraceServiceImpl implements ProjectTraceService { + @Autowired + private ProjectService projectService; + + @Override + public List getPendProjectList(TokenDto tokenDto, ProjectListFromDTO fromDTO) { + fromDTO.setUserId(tokenDto.getUserId()); + return projectService.getPendProjectList(fromDTO); + } + + @Override + public List getCreatedList(TokenDto tokenDto, ProjectListFromDTO fromDTO) { + fromDTO.setUserId(tokenDto.getUserId()); + return projectService.getCreatedList(fromDTO); + } + + @Override + public List getInvolvedList(TokenDto tokenDto, ProjectListFromDTO fromDTO) { + fromDTO.setUserId(tokenDto.getUserId()); + return projectService.getInvolvedList(fromDTO); + } + + @Override + public ProjectDetailResultDTO getProjectDetail(TokenDto tokenDto, ProjectDetailFromDTO fromDTO) { + return null; + } + + @Override + public void closed(TokenDto tokenDto, ProjectClosedFromDTO fromDTO) { + + } + + @Override + public List getReturnableList(ReturnListFromDTO fromDTO) { + return null; + } + + @Override + public void projectReturn(TokenDto tokenDto, ReturnFromDTO fromDTO) { + + } +} diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/CustomerProjectParameterDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/CustomerProjectParameterDao.xml index 5883ac863f..25a30d23a9 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/CustomerProjectParameterDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/CustomerProjectParameterDao.xml @@ -17,6 +17,15 @@ + \ No newline at end of file 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 e14269cbb7..9b8fd485ff 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 @@ -19,6 +19,95 @@ + + + + + \ 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 eb733d0eb7..736a87d3ae 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 @@ -20,6 +20,18 @@ + \ No newline at end of file