Browse Source

工作人员调动

dev_shibei_match
zhaoqifeng 5 years ago
parent
commit
56c41e64d8
  1. 2
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
  2. 30
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/StaffTransferFormDTO.java
  3. 15
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java
  4. 12
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java
  5. 36
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java
  6. 16
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java
  7. 11
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java
  8. 20
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java
  9. 1
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java

2
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java

@ -77,6 +77,8 @@ public enum EpmetErrorCode {
CANNOT_DISABLE_YOURSELF(8405,"您不能禁用自己"),
NO_SET_GRID_COUNT(8406,"您还未设置创建网格数量上限,请联系管理员设置"),
GRID_COUNT_UP(8407,"您的创建网格数量已到达上限,请联系管理员设置"),
EXIT_PEND_PROJECT(8408,"该工作人员有项目尚在处理,处理完毕方可操作"),
EXIT_PUBLISHED_ACTIVITY(8409,"该工作人员有活动尚在进行,等活动完成方可操作"),
ALREADY_EVALUATE(8501,"您已评价"),
ALREADY_VOTE(8502,"您已表态"),

30
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/StaffTransferFormDTO.java

@ -0,0 +1,30 @@
package com.epmet.dto.form;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/8/27 16:05
*/
@NoArgsConstructor
@Data
public class StaffTransferFormDTO implements Serializable {
private static final long serialVersionUID = -9011669876505775874L;
/**
* 被调动工作人员Id
*/
private String staffId;
/**
* 调动后组织Id
*/
private String agencyId;
/**
* 备注说明
*/
private String remarks;
}

15
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java

@ -10,6 +10,7 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.StaffInfoFromDTO;
import com.epmet.dto.form.StaffSubmitFromDTO;
import com.epmet.dto.form.StaffTransferFormDTO;
import com.epmet.dto.form.StaffsInAgencyFromDTO;
import com.epmet.dto.result.*;
import com.epmet.service.StaffService;
@ -135,4 +136,18 @@ public class StaffController {
public Result<MineResultDTO> mine(@RequestBody StaffInfoFromDTO fromDTO){
return new Result<MineResultDTO>().ok(staffService.mine(fromDTO));
}
/**
* 工作人员调动
*
* @author zhaoqifeng
* @date 2020/8/27 16:12
* @param tokenDto
* @param fromDTO
* @return com.epmet.commons.tools.utils.Result
*/
@PostMapping("stafftransfer")
public Result staffTransfer(@LoginUser TokenDto tokenDto, @RequestBody StaffTransferFormDTO fromDTO){
return new Result();
}
}

12
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java

@ -4,6 +4,7 @@ import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.StaffInfoFromDTO;
import com.epmet.dto.form.StaffSubmitFromDTO;
import com.epmet.dto.form.StaffTransferFormDTO;
import com.epmet.dto.form.StaffsInAgencyFromDTO;
import com.epmet.dto.result.*;
@ -84,6 +85,7 @@ public interface StaffService {
/**
* 我的基本信息
*
* @author zhaoqifeng
* @date 2020/5/22 16:57
* @param fromDTO
@ -91,4 +93,14 @@ public interface StaffService {
*/
MineResultDTO mine(StaffInfoFromDTO fromDTO);
/**
* 工作人员调动
* @author zhaoqifeng
* @date 2020/8/27 16:13
* @param tokenDto
* @param fromDTO
* @return void
*/
void staffTransfer(TokenDto tokenDto, StaffTransferFormDTO fromDTO);
}

36
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java

@ -1,18 +1,19 @@
package com.epmet.service.impl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.CustomerStaffAgencyDTO;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.form.StaffInfoFromDTO;
import com.epmet.dto.form.StaffSubmitFromDTO;
import com.epmet.dto.form.StaffsInAgencyFromDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.entity.CustomerStaffAgencyEntity;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.feign.GovProjectOpenFeignClient;
import com.epmet.feign.OperCrmFeignClient;
import com.epmet.service.CustomerAgencyService;
import com.epmet.service.CustomerStaffAgencyService;
@ -40,6 +41,8 @@ public class StaffServiceImpl implements StaffService {
private CustomerAgencyService customerAgencyService;
@Autowired
private CustomerStaffAgencyService customerStaffAgencyService;
@Autowired
private GovProjectOpenFeignClient govProjectOpenFeignClient;
@Override
public Result<StaffsInAgencyResultDTO> getStaffInfoForHome(StaffsInAgencyFromDTO fromDTO) {
@ -183,4 +186,31 @@ public class StaffServiceImpl implements StaffService {
}
return result;
}
@Override
public void staffTransfer(TokenDto tokenDto, StaffTransferFormDTO fromDTO) {
//1.获取工作人员与机关关系
CustomerStaffAgencyDTO staffAgencyDTO = customerStaffAgencyService.getInfoByUserId(fromDTO.getStaffId());
String oldAgency = staffAgencyDTO.getAgencyId();
//2.查询是否有未处理项目
ProjectListFromDTO projectFromDTO = new ProjectListFromDTO();
projectFromDTO.setCustomerId(staffAgencyDTO.getCustomerId());
projectFromDTO.setUserId(fromDTO.getStaffId());
projectFromDTO.setPageNo(1);
projectFromDTO.setPageSize(10);
Result<List<PendProjectListResultDTO>> pendResult = govProjectOpenFeignClient.getPendProjectList(projectFromDTO);
if (!pendResult.success()) {
throw new RenException(pendResult.getCode(), pendResult.getMsg());
}
if (null != pendResult.getData() && pendResult.getData().size() > NumConstant.ZERO) {
throw new RenException(EpmetErrorCode.EXIT_PEND_PROJECT.getCode());
}
//3.查询是否有活动未结束
//4.修改人员所属组织
//5.逻辑删除工作人员原组织加入的部门、网格,组织人员总数旧的减1新的加1,部门、网格总人数减1
//6.操作记录表新增调动记录
}
}

16
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java

@ -1,9 +1,16 @@
package com.epmet.feign;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.ProjectListFromDTO;
import com.epmet.dto.result.PendProjectListResultDTO;
import org.springframework.cloud.openfeign.FeignClient;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.feign.fallback.GovProjectOpenFeignClientFallback;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* 本服务对外开放的API,其他服务通过引用此client调用该服务
@ -13,4 +20,13 @@ import com.epmet.feign.fallback.GovProjectOpenFeignClientFallback;
*/
@FeignClient(name = ServiceConstant.GOV_PROJECT_SERVER, fallback = GovProjectOpenFeignClientFallback.class)
public interface GovProjectOpenFeignClient {
/**
* 待处理项目列表
* @author zhaoqifeng
* @date 2020/8/27 16:56
* @param fromDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.result.PendProjectListResultDTO>>
*/
@PostMapping("gov/project/project/pendprojectlist")
Result<List<PendProjectListResultDTO>> getPendProjectList(@RequestBody ProjectListFromDTO fromDTO);
}

11
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java

@ -1,8 +1,15 @@
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.ProjectListFromDTO;
import com.epmet.dto.result.PendProjectListResultDTO;
import com.epmet.feign.GovProjectOpenFeignClient;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 本服务对外开放的API,其他服务通过引用此client调用该服务
*
@ -11,4 +18,8 @@ import org.springframework.stereotype.Component;
*/
@Component
public class GovProjectOpenFeignClientFallback implements GovProjectOpenFeignClient {
@Override
public Result<List<PendProjectListResultDTO>> getPendProjectList(ProjectListFromDTO fromDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "getPendProjectList", fromDTO);
}
}

20
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java

@ -17,7 +17,11 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.annotation.RequirePermission;
import com.epmet.commons.tools.enums.RequirePermissionEnum;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
@ -27,10 +31,12 @@ import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.form.LatestListFormDTO;
import com.epmet.dto.form.ProjectListFromDTO;
import com.epmet.dto.form.ShiftProjectFormDTO;
import com.epmet.dto.form.ShiftProjectsFromDTO;
import com.epmet.dto.result.IssueProjectResultDTO;
import com.epmet.dto.result.LatestListResultDTO;
import com.epmet.dto.result.PendProjectListResultDTO;
import com.epmet.dto.result.ShiftProjectResultDTO;
import com.epmet.excel.ProjectExcel;
import com.epmet.service.ProjectService;
@ -132,4 +138,18 @@ public class ProjectController {
return new Result<List<LatestListResultDTO>>().ok(projectService.getClosedProjectList(formDTO));
}
/**
* 获取待处理项目列表
* @author zhaoqifeng
* @date 2020/8/27 16:55
* @param fromDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.result.PendProjectListResultDTO>>
*/
@PostMapping("pendprojectlist")
public Result<List<PendProjectListResultDTO>> getPendProjectList(@RequestBody ProjectListFromDTO fromDTO) {
List<PendProjectListResultDTO> result = projectService.getPendProjectList(fromDTO);
return new Result<List<PendProjectListResultDTO>>().ok(result);
}
}

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

@ -106,6 +106,7 @@ public interface ProjectService extends BaseService<ProjectEntity> {
*/
List<PendProjectListResultDTO> getPendProjectList(ProjectListFromDTO fromDTO);
/**
* 我发起的项目列表
*

Loading…
Cancel
Save