Browse Source

联建单位、社会自组织取消同步操作

dev
sunyuchao 3 years ago
parent
commit
3661de73e3
  1. 5
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CheckStaffInfoFormDTO.java
  2. 21
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/DepartmentController.java
  3. 4
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/DepartmentService.java
  4. 68
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/DepartmentServiceImpl.java
  5. 2
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java
  6. 5
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java
  7. 8
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java
  8. 1
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java
  9. 9
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
  10. 12
      epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml

5
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CheckStaffInfoFormDTO.java

@ -34,7 +34,7 @@ public class CheckStaffInfoFormDTO implements Serializable {
/**
* 联建单位社会自组织Id
*/
@NotBlank(message = "id不能为空", groups = CheckAdd.class)
@NotBlank(message = "id不能为空", groups = {CheckAdd.class, CheckEdit.class})
private String id;
/**
* 部门名称
@ -55,7 +55,7 @@ public class CheckStaffInfoFormDTO implements Serializable {
* 联建单位: party_unit
* 社会自组织: community_org
*/
@NotBlank(message = "部门类型不能为空", groups = CheckAdd.class)
@NotBlank(message = "部门类型不能为空", groups = {CheckAdd.class, CheckEdit.class})
private String deptType;
/**
* 部门Id [取消同步时必填]
@ -65,6 +65,7 @@ public class CheckStaffInfoFormDTO implements Serializable {
/**
* 部门下工作人员Id
*/
@NotBlank(message = "工作人员Id不能为空", groups = CheckEdit.class)
private String deptStaffId;
//token中信息

21
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/DepartmentController.java

@ -178,9 +178,24 @@ public class DepartmentController {
* @Author sun
* @Description 联建单位社会自组织同步到通讯录操作
*/
@PostMapping("addoreditdeptorstaff")
public Result<CheckStaffInfoResultDTO> addOrEditDeptOrStaff(@RequestBody CheckStaffInfoFormDTO formDTO) {
return new Result<CheckStaffInfoResultDTO>().ok(departmentService.addOrEditDeptOrStaff(formDTO));
@PostMapping("syncdept")
public Result<CheckStaffInfoResultDTO> syncDept(@LoginUser TokenDto tokenDTO, @RequestBody CheckStaffInfoFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, CheckStaffInfoFormDTO.CheckAdd.class);
formDTO.setCustomerId(tokenDTO.getCustomerId());
formDTO.setUserId(tokenDTO.getUserId());
return new Result<CheckStaffInfoResultDTO>().ok(departmentService.syncDept(formDTO));
}
/**
* @Author sun
* @Description 联建单位社会自组织取消同步
*/
@PostMapping("notsyncdept")
public Result<CheckStaffInfoResultDTO> notSyncDept(@LoginUser TokenDto tokenDTO, @RequestBody CheckStaffInfoFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, CheckStaffInfoFormDTO.CheckEdit.class);
formDTO.setCustomerId(tokenDTO.getCustomerId());
formDTO.setUserId(tokenDTO.getUserId());
return new Result<CheckStaffInfoResultDTO>().ok(departmentService.notSyncDept(formDTO));
}

4
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/DepartmentService.java

@ -104,5 +104,7 @@ public interface DepartmentService {
CheckStaffInfoResultDTO checkStaffInfo(CheckStaffInfoFormDTO formDTO);
CheckStaffInfoResultDTO addOrEditDeptOrStaff(CheckStaffInfoFormDTO formDTO);
CheckStaffInfoResultDTO syncDept(CheckStaffInfoFormDTO formDTO);
CheckStaffInfoResultDTO notSyncDept(CheckStaffInfoFormDTO formDTO);
}

68
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/DepartmentServiceImpl.java

@ -34,16 +34,14 @@ import com.epmet.dao.CustomerAgencyDao;
import com.epmet.dao.CustomerDepartmentDao;
import com.epmet.dao.CustomerStaffDepartmentDao;
import com.epmet.dao.StaffOrgRelationDao;
import com.epmet.dto.CustomerDepartmentDTO;
import com.epmet.dto.CustomerIdDTO;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.CustomerStaffDepartmentDTO;
import com.epmet.dto.*;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.*;
import com.epmet.feign.EpmetHeartOpenFeignClient;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.GovProjectOpenFeignClient;
import com.epmet.service.*;
import com.epmet.util.ModuleConstant;
import org.apache.commons.lang3.StringUtils;
@ -56,6 +54,7 @@ import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
@ -93,6 +92,8 @@ public class DepartmentServiceImpl implements DepartmentService {
private StaffOrgRelationService staffOrgRelationService;
@Autowired
private EpmetHeartOpenFeignClient epmetHeartOpenFeignClient;
@Autowired
private GovProjectOpenFeignClient govProjectOpenFeignClient;
/**
* @param formDTO
@ -364,7 +365,8 @@ public class DepartmentServiceImpl implements DepartmentService {
}
@Override
public CheckStaffInfoResultDTO addOrEditDeptOrStaff(CheckStaffInfoFormDTO formDTO) {
@Transactional(rollbackFor = Exception.class)
public CheckStaffInfoResultDTO syncDept(CheckStaffInfoFormDTO formDTO) {
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId());
if (null == staffInfo) {
throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId()));
@ -438,9 +440,11 @@ public class DepartmentServiceImpl implements DepartmentService {
if(("agency".equals(resultDTO.getOrgType()))){
//一、更新人员基础数据[姓名 手机号信息]
CustomerStaffDTO staffDTO = new CustomerStaffDTO();
staffDTO.setCustomerId(formDTO.getCustomerId());
staffDTO.setUserId(resultDTO.getStaffId());
staffDTO.setRealName(formDTO.getPersonName());
staffDTO.setMobile(formDTO.getMobile());
staffDTO.setUpdatedTime(new Date());
staffDTO.setUpdatedBy(resultDTO.getUserId());
Result result = epmetUserOpenFeignClient.editToStaff(staffDTO);
if (!result.success()) {
@ -474,5 +478,59 @@ public class DepartmentServiceImpl implements DepartmentService {
return resultDTO;
}
@Override
@Transactional(rollbackFor = Exception.class)
public CheckStaffInfoResultDTO notSyncDept(CheckStaffInfoFormDTO formDTO) {
CheckStaffInfoResultDTO resultDTO = new CheckStaffInfoResultDTO();
//1.校验当前部门下工作人员是否有代办项目
ProjectListFromDTO project = new ProjectListFromDTO();
project.setUserId(formDTO.getDeptStaffId());
Result<List<ProjectDTO>> projectResult = govProjectOpenFeignClient.staffPendingProject(project);
if (!projectResult.success()) {
throw new RenException("获取工作人员代办项目数据失败" + projectResult.getMsg());
}
if(projectResult.getData().size()>NumConstant.ZERO){
String msg = String.format("当前%s下负责人存在未办结的项目,请先将待处理项目办结后再操作",("party_unit".equals(formDTO.getDeptType())?"联建单位":"社会自组织"));
resultDTO.setMsg(msg);
}
//2.无代办项目的则删除部门、工作人员信息、修改联建单位/社会自组织业务数据
//2-1.删除部门
customerDepartmentDao.deleteById(formDTO.getId());
//2-2.删除部门人员关系数据
LambdaQueryWrapper<CustomerStaffDepartmentEntity> query = new LambdaQueryWrapper<>();
query.eq(CustomerStaffDepartmentEntity::getDepartmentId, formDTO.getDeptId());
query.eq(CustomerStaffDepartmentEntity::getUserId, formDTO.getDeptStaffId());
customerStaffDepartmentDao.delete(query);
//2-3.删除人员注册关系数据
LambdaQueryWrapper<StaffOrgRelationEntity> StaffOrgRelation = new LambdaQueryWrapper<>();
StaffOrgRelation.eq(StaffOrgRelationEntity::getOrgId, formDTO.getDeptId());
StaffOrgRelation.eq(StaffOrgRelationEntity::getStaffId, formDTO.getDeptStaffId());
staffOrgRelationDao.delete(StaffOrgRelation);
//2-4.删除工作人员数据
CustomerStaffDTO staffDTO = new CustomerStaffDTO();
staffDTO.setCustomerId(formDTO.getCustomerId());
staffDTO.setUserId(formDTO.getDeptStaffId());
staffDTO.setDelFlag(1);
staffDTO.setUpdatedTime(new Date());
staffDTO.setUpdatedBy(formDTO.getUserId());
Result result = epmetUserOpenFeignClient.editToStaff(staffDTO);
if (!result.success()) {
throw new RenException("更新工作人员基础信息失败" + result.getMsg());
}
//2-5.修改联建单位/社会自组织业务数据
resultDTO.setId(formDTO.getId());
resultDTO.setDeptId(formDTO.getDeptId());
resultDTO.setDeptType(formDTO.getDeptType());
resultDTO.setDeptStaffId(formDTO.getDeptStaffId());
resultDTO.setSyncType("not_sync");
Result heartResult = epmetHeartOpenFeignClient.editPartyOrCommunity(resultDTO);
if (!heartResult.success()) {
throw new RenException("修改联建单位/社会自组织业务数据失败" + heartResult.getMsg());
}
resultDTO.setType(true);
return resultDTO;
}
}

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

@ -175,5 +175,7 @@ public interface GovProjectOpenFeignClient {
@PostMapping("gov/project/icEvent/closeprojectordemand")
Result closeProjectOrDemand(@RequestBody ColseProjectOrDemandFormDTO formDTO);
@PostMapping("gov/project/project/staffpendingproject")
Result<List<ProjectDTO>> staffPendingProject(@RequestBody ProjectListFromDTO formDTO);
}

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

@ -169,4 +169,9 @@ public class GovProjectOpenFeignClientFallback implements GovProjectOpenFeignCli
public Result closeProjectOrDemand(ColseProjectOrDemandFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "closeProjectOrDemand",formDTO);
}
@Override
public Result<List<ProjectDTO>> staffPendingProject(ProjectListFromDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "staffPendingProject",formDTO);
}
}

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

@ -379,4 +379,12 @@ public class ProjectController {
ValidatorUtils.validateEntity(formDTO, SatisfactionEvaluationListFormDTO.SatisfactionEvaluationListForm.class);
return new Result<PageData>().ok(projectService.satisfactionEvaluationList(formDTO));
}
/**
* Desc: 查询客户下工作人员是否有代办项目
*/
@PostMapping("staffpendingproject")
public Result<List<ProjectDTO>> staffPendingProject(@RequestBody ProjectListFromDTO fromDTO){
return new Result<List<ProjectDTO>>().ok(projectService.staffPendingProject(fromDTO));
}
}

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

@ -395,4 +395,5 @@ public interface ProjectService extends BaseService<ProjectEntity> {
*/
void projectListExport(HttpServletResponse response,ProjectManageListFormDTO formDTO) throws IOException;
List<ProjectDTO> staffPendingProject(ProjectListFromDTO fromDTO);
}

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

@ -3445,4 +3445,13 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
return simpleDateFormat.format(date);
}
@Override
public List<ProjectDTO> staffPendingProject(ProjectListFromDTO fromDTO) {
fromDTO.setPageNo(0);
fromDTO.setPageSize(1);
List<ProjectDTO> projectList = baseDao.selectPendList(fromDTO);
return projectList;
}
}

12
epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml

@ -458,12 +458,16 @@
<update id="edit">
UPDATE customer_staff
SET real_name = #{realName},
mobile = #{mobile},
updated_time = NOW(),
updated_by = #{updatedBy}
<set>
<if test ='null != realName and "" != realName'>real_name = #{realName},</if>
<if test ='null != mobile and "" != mobile'>mobile = #{mobile},</if>
<if test ='null != updatedBy and "" != updatedBy'>updated_by = #{updatedBy},</if>
<if test ='null != updatedTime'>updated_time = #{updatedTime},</if>
<if test ='null != delFlag and "" != delFlag'>del_flag = #{delFlag}</if>
</set>
WHERE
del_flag = '0'
AND customer_id = #{customerId}
AND user_id = #{userId}
</update>

Loading…
Cancel
Save