Browse Source

灵山项目:修改工作人员查询,可以通过人名、电话、工作方式检索;

master
luyan 3 years ago
parent
commit
172caad068
  1. 21
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/StaffsByOrgAndRolesFormDTO.java
  2. 38
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/StaffsByOrgAndRoleRstDTO.java
  3. 2
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java
  4. 6
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java
  5. 5
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/UserService.java
  6. 2
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java
  7. 6
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java
  8. 26
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/UserServiceImpl.java
  9. 39
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml
  10. 10
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java

21
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/StaffsByOrgAndRolesFormDTO.java

@ -16,6 +16,27 @@ public class StaffsByOrgAndRolesFormDTO {
*/
@NotBlank(message = "组织类型为必填项")
private String orgType;
/**
* 工作人员姓名
*/
private String name;
/**
* 工作人员电话
*/
private String mobile;
/**
* 工作人员角色 网格员grid_member网格长grid_manager
*/
private String roleType;
/**
* 工作类型专职fulltime 兼职parttime
*/
private String workType;
private int pageNo = 1;
private int pageSize = 10;

38
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/StaffsByOrgAndRoleRstDTO.java

@ -14,10 +14,48 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
public class StaffsByOrgAndRoleRstDTO {
/**
* 工作人员姓名
*/
private String staffName;
/**
* 工作人员ID
*/
private String staffId;
/**
* 电话
*/
private String mobile;
/**
* 性别 0.未知1男2.
*/
private String gender;
/**
* 文化程度灵山-红色待办0小学及文盲,1初中,2高中,3大专,4本科,5硕士,6博士,7中专
*/
private String culture;
/**
* 生日
*/
private String birthday;
/**
* 地址
*/
private String address;
/**
* 网格员类型专职fulltime 兼职parttime
*/
private String workType;
/**
* 头像
*/
private String headPhoto;
/**
* 身份证号码
*/
private String idCard;
}

2
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java

@ -314,7 +314,7 @@ public class EpmetUserController {
ValidatorUtils.validateEntity(form);
PageData<StaffsByOrgAndRoleRstDTO> pd = userService.listStaffByOrgAndRole(form.getOrgId(), form.getOrgType(), form.getPageNo(), form.getPageSize(), form.getRoleKeys());
PageData<StaffsByOrgAndRoleRstDTO> pd = userService.listStaffByOrgAndRole(form);
return new Result<PageData<StaffsByOrgAndRoleRstDTO>>().ok(pd);
}

6
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java

@ -114,5 +114,9 @@ public interface CustomerStaffDao extends BaseDao<CustomerStaffEntity> {
Integer countStaffQtyByStaffIdsAndRole(@Param("staffIds") Set<String> staffIds, @Param("roleId") String roleId);
// 给定的staffId种,具备某些角色的staffId列表
List<StaffsByOrgAndRoleRstDTO> staffsInRolesFromGivenStaffIds(@Param("staffIds") List<String> staffIds, @Param("roleKeys") List<String> roleKeys);
List<StaffsByOrgAndRoleRstDTO> staffsInRolesFromGivenStaffIds(@Param("staffIds") List<String> staffIds,
@Param("roleKeys") List<String> roleKeys,
@Param("name") String name,
@Param("mobile") String mobile,
@Param("workType") String workType);
}

5
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/UserService.java

@ -1,10 +1,9 @@
package com.epmet.dataaggre.service;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dataaggre.dto.epmetuser.form.StaffsByOrgAndRolesFormDTO;
import com.epmet.dataaggre.dto.epmetuser.result.StaffsByOrgAndRoleRstDTO;
import java.util.List;
public interface UserService {
PageData<StaffsByOrgAndRoleRstDTO> listStaffByOrgAndRole(String orgId, String orgType, Integer pageNo, Integer pageSize, List<String> roleKeys);
PageData<StaffsByOrgAndRoleRstDTO> listStaffByOrgAndRole(StaffsByOrgAndRolesFormDTO form);
}

2
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java

@ -276,5 +276,5 @@ public interface EpmetUserService {
*/
PageData<IcResiUserResultDTO> listIcResiUserByHouseId(Integer pageNo,Integer pageSize,List<String> houseIds);
PageData<StaffsByOrgAndRoleRstDTO> staffsInRolesFromGivenStaffIds(List<String> staffIdsUnderAgency, List<String> roleKeys, Integer pageNo, Integer pageSize);
PageData<StaffsByOrgAndRoleRstDTO> staffsInRolesFromGivenStaffIds(List<String> staffIdsUnderAgency, StaffsByOrgAndRolesFormDTO form);
}

6
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java

@ -1227,10 +1227,10 @@ public class EpmetUserServiceImpl implements EpmetUserService, ResultDataResolve
}
@Override
public PageData<StaffsByOrgAndRoleRstDTO> staffsInRolesFromGivenStaffIds(List<String> staffIdsUnderAgency, List<String> roleKeys, Integer pageNo, Integer pageSize) {
public PageData<StaffsByOrgAndRoleRstDTO> staffsInRolesFromGivenStaffIds(List<String> staffIdsUnderAgency, StaffsByOrgAndRolesFormDTO form) {
PageHelper.startPage(pageNo, pageSize);
List<StaffsByOrgAndRoleRstDTO> sl = customerStaffDao.staffsInRolesFromGivenStaffIds(staffIdsUnderAgency, roleKeys);
PageHelper.startPage(form.getPageNo(), form.getPageSize());
List<StaffsByOrgAndRoleRstDTO> sl = customerStaffDao.staffsInRolesFromGivenStaffIds(staffIdsUnderAgency, form.getRoleKeys(),form.getName(),form.getMobile(),form.getWorkType());
return new PageData<>(sl, new PageInfo<>(sl).getTotal());
}

26
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/UserServiceImpl.java

@ -5,6 +5,7 @@ import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.utils.PidUtils;
import com.epmet.constant.OrgInfoConstant;
import com.epmet.dataaggre.dto.epmetuser.form.StaffsByOrgAndRolesFormDTO;
import com.epmet.dataaggre.dto.epmetuser.result.StaffsByOrgAndRoleRstDTO;
import com.epmet.dataaggre.service.UserService;
import com.epmet.dataaggre.service.epmetuser.EpmetUserService;
@ -15,6 +16,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
@ -30,20 +32,20 @@ public class UserServiceImpl implements UserService {
private EpmetUserRemoteService epmetUserRemoteService;
@Override
public PageData<StaffsByOrgAndRoleRstDTO> listStaffByOrgAndRole(String orgId, String orgType, Integer pageNo, Integer pageSize, List<String> roleKeys) {
public PageData<StaffsByOrgAndRoleRstDTO> listStaffByOrgAndRole(StaffsByOrgAndRolesFormDTO form) {
String orgIdPath;
if (StringUtils.isAnyBlank(orgType, orgType)) {
if (StringUtils.isAnyBlank(form.getOrgId(), form.getOrgType())) {
// 这俩有一个不传,就用当前用户所属的
LoginUserDetailsResultDTO loginUserDetails = epmetUserRemoteService.getLoginUserDetails();
orgIdPath = loginUserDetails.getOrgIdPath();
orgId = loginUserDetails.getAgencyId();
orgType = OrgInfoConstant.AGENCY;
form.setOrgId(loginUserDetails.getAgencyId());
form.setOrgType(OrgInfoConstant.AGENCY);
} else {
// 取用户传递的
if (OrgInfoConstant.AGENCY.equals(orgType)) {
if (OrgInfoConstant.AGENCY.equals(form.getOrgType())) {
// 行政组织
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(orgId);
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(form.getOrgId());
orgIdPath = PidUtils.convertPid2OrgIdPath(agencyInfo.getId(), agencyInfo.getPids());
} else {
return null;
@ -51,9 +53,17 @@ public class UserServiceImpl implements UserService {
}
// 先通过org库查询出工作人员的id列表
List<String> staffIdsUnderAgency = govOrgService.listStaffIdsUnderAgency(orgIdPath, orgId);
List<String> staffIdsUnderAgency = govOrgService.listStaffIdsUnderAgency(orgIdPath, form.getOrgId());
//多处调用,判断是否传参
if (null == form.getRoleKeys() && form.getRoleKeys().size() == 0) {
//如果roleKeys是空,则无传参,判断roleType,如果不为空,添加查询参数
if (StringUtils.isNotEmpty(form.getRoleType())) {
List<String> roleKeys = new ArrayList<>();
roleKeys.add(form.getRoleType());
}
}
// 再通过这些id列表,去过滤角色,并且查出详细信息
return epmetUserService.staffsInRolesFromGivenStaffIds(staffIdsUnderAgency, roleKeys, pageNo, pageSize);
return epmetUserService.staffsInRolesFromGivenStaffIds(staffIdsUnderAgency, form);
}
}

39
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml

@ -217,25 +217,48 @@
<!--给定的staffId种,具备某些角色的staffId列表-->
<select id="staffsInRolesFromGivenStaffIds"
resultType="com.epmet.dataaggre.dto.epmetuser.result.StaffsByOrgAndRoleRstDTO">
select sr.STAFF_ID, cs.REAL_NAME as staffName, cs.MOBILE
from ( select distinct srr.STAFF_ID
from staff_role srr
inner join gov_staff_role gsr on (srr.ROLE_ID = gsr.ID)
where
SELECT
sr.STAFF_ID,
cs.REAL_NAME AS staffName,
cs.MOBILE,
cs.GENDER,
cs.CULTURE,
cs.BIRTHDAY,
cs.ADDRESS,
cs.WORK_TYPE AS workType,
cs.HEAD_PHOTO AS headPhoto
cs.ID_CARD AS idCard
FROM (
SELECT DISTINCT srr.STAFF_ID
FROM staff_role srr
INNER JOIN gov_staff_role gsr ON (srr.ROLE_ID = gsr.ID)
<where>
srr.DEL_FLAG = 0
<if test="staffIds != null and staffIds.size() > 0">
and srr.STAFF_ID in
AND srr.STAFF_ID IN
<foreach collection="staffIds" item="staffId" separator="," open="(" close=")">
#{staffId}
</foreach>
</if>
<if test="roleKeys != null and roleKeys.size() > 0">
and gsr.ROLE_KEY in
AND gsr.ROLE_KEY IN
<foreach collection="roleKeys" item="roleKey" separator="," open="(" close=")">
#{roleKey}
</foreach>
</if>
</where>
) sr
inner join customer_staff cs on (cs.USER_ID = sr.STAFF_ID and cs.DEL_FLAG = 0)
INNER JOIN customer_staff cs ON (
cs.USER_ID = sr.STAFF_ID AND cs.DEL_FLAG = 0
<if test="null != name and name != ''">
AND cs.REAL_NAME LIKE CONCAT('%',#{name},'%')
</if>
<if test="null != mobile and mobile != ''">
AND cs.MOBILE LIKE CONCAT('%',#{mobile},'%')
</if>
<if test="null != workType and workType != ''">
AND cs.WORK_TYPE = #{workType}
</if>
)
</select>
</mapper>

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

@ -1,7 +1,6 @@
package com.epmet.service.impl;
import com.alibaba.excel.EasyExcel;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
@ -13,7 +12,9 @@ import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.*;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.FileUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.OrgInfoConstant;
import com.epmet.constants.ImportTaskConstants;
import com.epmet.dao.CustomerStaffAgencyDao;
@ -151,6 +152,7 @@ public class StaffServiceImpl implements StaffService {
/**
* 人员添加页面初始化
* 备注2022.10.18运营端-统一认证也会调用此接口入参会给customerId
*
* @param fromDTO 参数
* @return
*/
@ -227,7 +229,6 @@ public class StaffServiceImpl implements StaffService {
}
/**
*
* @param tokenDto TokenDto tokenDto,
* @param fromDTO
* @return
@ -555,6 +556,7 @@ public class StaffServiceImpl implements StaffService {
/**
* 根据staffId查询用户基本信息
*
* @author sun
*/
@Override
@ -587,6 +589,7 @@ public class StaffServiceImpl implements StaffService {
/**
* 通讯录人员添加v2
*
* @author sun
*/
@Override
@ -849,6 +852,7 @@ public class StaffServiceImpl implements StaffService {
/**
* 批量持久化
*
* @param addStaffV2FromDTOList
*/
public void exportAdd(List<AddStaffV2FromDTO> addStaffV2FromDTOList, CustomerStaffImportListener listener) {

Loading…
Cancel
Save