Browse Source

Merge branches 'dev' and 'dev_ic_diaodong' of http://121.42.41.42:7070/r/epmet-cloud into dev_ic_diaodong

 Conflicts:
	epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java
	epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java
	epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java
	epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
dev
yinzuomei 4 years ago
parent
commit
714b14470e
  1. 5
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/PageFormDTO.java
  2. 4
      epmet-gateway/src/main/resources/bootstrap.yml
  3. 32
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerGridStaffResultDTO.java
  4. 32
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerStaffGridResultDTO.java
  5. 5
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java
  6. 5
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java
  7. 13
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java
  8. 7
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java
  9. 12
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java
  10. 6
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java
  11. 22
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml
  12. 13
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/SubTableJoinDTO.java
  13. 4
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java
  14. 2
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java
  15. 4
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormController.java
  16. 7
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java
  17. 2
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java
  18. 11
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java
  19. 5
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml
  20. 6
      epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
  21. 56
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GridStaffFormDTO.java
  22. 3
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  23. 22
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java
  24. 11
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java
  25. 76
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java
  26. 36
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
  27. 113
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java
  28. 31
      epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml

5
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/PageFormDTO.java

@ -4,6 +4,7 @@ import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.io.Serializable;
/** /**
* 分页通用类 * 分页通用类
@ -12,7 +13,9 @@ import javax.validation.constraints.NotNull;
* @date 2020/11/20 17:02 * @date 2020/11/20 17:02
*/ */
@Data @Data
public class PageFormDTO { public class PageFormDTO implements Serializable {
private static final long serialVersionUID = -4145040961294503137L;
public interface AddUserInternalGroup { public interface AddUserInternalGroup {
} }

4
epmet-gateway/src/main/resources/bootstrap.yml

@ -486,7 +486,8 @@ epmet:
- /data/aggregator/** - /data/aggregator/**
- /gov/voice/** - /gov/voice/**
- /resi/voice/** - /resi/voice/**
- /epmet/point/** - /point/**
- /heart/**
# 内部认证url白名单(在白名单中的,就不会再校验登录了) # 内部认证url白名单(在白名单中的,就不会再校验登录了)
internalAuthUrlsWhiteList: internalAuthUrlsWhiteList:
@ -523,6 +524,7 @@ epmet:
- /third/private-epmet/push-component-access-token - /third/private-epmet/push-component-access-token
- /data/stats/plugins/ofs/** - /data/stats/plugins/ofs/**
- /data/stats/plugins/workrecord/** - /data/stats/plugins/workrecord/**
- /epmetuser/staffrole/getGridStaffList #py获取网格员 网格长
# 对外开放接口认证白名单 # 对外开放接口认证白名单

32
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerGridStaffResultDTO.java

@ -0,0 +1,32 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* desc:客户下网格工作人员结果
* @Author zxc
* @DateTime 2021/6/8 3:23 下午
* @DESC
*/
@Data
public class CustomerGridStaffResultDTO implements Serializable {
private static final long serialVersionUID = -5910427385795368242L;
private String userId;
private String userName;
private String mobile;
private Integer gender;
private String gridId;
private String gridName;
private String agencyId;
}

32
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerStaffGridResultDTO.java

@ -0,0 +1,32 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @author 在网格中的工作人员
* @dscription
* @date 2020/4/23 16:08
*/
@Data
public class CustomerStaffGridResultDTO implements Serializable {
private static final long serialVersionUID = 1301415104939403933L;
/**
* 用户ID
*/
private String userId;
/**
* 网格Id
*/
private String gridId;
/**
* 网格名称
*/
private String gridName;
/**
* 组织Id
*/
private String agencyId;
}

5
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java

@ -577,6 +577,11 @@ public interface GovOrgOpenFeignClient {
@PostMapping("/gov/org/customeragency/configcustomerareacode") @PostMapping("/gov/org/customeragency/configcustomerareacode")
Result configCustomerAreaCode(@RequestBody CustomerAreaCodeFormDTO formDTO); Result configCustomerAreaCode(@RequestBody CustomerAreaCodeFormDTO formDTO);
@PostMapping("/gov/org/customergrid/getstaffgridlist")
Result<List<CustomerStaffGridResultDTO>> getStaffGridList(@RequestParam("customerId") String customerId,
@RequestParam("orgId") String orgId,
@RequestParam("orgType") String orgType);
/** /**
* @Author sun * @Author sun
* @Description 查询组织网格小区楼栋单元房屋信息 * @Description 查询组织网格小区楼栋单元房屋信息

5
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java

@ -370,6 +370,11 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "configCustomerAreaCode", formDTO); return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "configCustomerAreaCode", formDTO);
} }
@Override
public Result<List<CustomerStaffGridResultDTO>> getStaffGridList(String customerId, String orgId, String orgType) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getStaffGridList",customerId, orgId, orgType);
}
/** /**
* @Author sun * @Author sun
* @Description 查询组织网格小区楼栋单元房屋信息 * @Description 查询组织网格小区楼栋单元房屋信息

13
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java

@ -330,4 +330,17 @@ public class CustomerGridController {
return new Result<List<AgencyGridList>>().ok(customerGridService.gridListByAgencyId(agencyId)); return new Result<List<AgencyGridList>>().ok(customerGridService.gridListByAgencyId(agencyId));
} }
/**
* @Description 获取工作人员所在的网格列表
* @author sun
**/
@PostMapping("getstaffgridlist")
Result<List<CustomerStaffGridResultDTO>> getStaffGridList(@RequestParam("customerId")String customerId,
@RequestParam("orgId")String orgId,
@RequestParam("orgType")String orgType) {
//tokenDto.setCustomerId("45687aa479955f9d06204d415238f7cc");
List<CustomerStaffGridResultDTO> staffGridList = customerGridService.getStaffGridList(customerId, orgId, orgType);
return new Result<List<CustomerStaffGridResultDTO>>().ok(staffGridList);
}
} }

7
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java

@ -156,8 +156,8 @@ public interface CustomerGridDao extends BaseDao<CustomerGridEntity> {
List<AllGridsByUserIdResultDTO> selectGridByIds(@Param("gridIdList") List<String> gridIdList); List<AllGridsByUserIdResultDTO> selectGridByIds(@Param("gridIdList") List<String> gridIdList);
/** /**
* @Description 查询网格名 不限制是否同步条件 SYNC_FLAG
* @param gridIdList * @param gridIdList
* @Description 查询网格名 不限制是否同步条件 SYNC_FLAG
* @author zxc * @author zxc
* @date 2022/1/12 9:42 上午 * @date 2022/1/12 9:42 上午
*/ */
@ -284,7 +284,7 @@ public interface CustomerGridDao extends BaseDao<CustomerGridEntity> {
* @author zxc * @author zxc
* @date 2021/7/16 9:52 上午 * @date 2021/7/16 9:52 上午
*/ */
String selectPidsByGridId(@Param("gridId")String gridId); String selectPidsByGridId(@Param("gridId") String gridId);
/** /**
* @Description 查询网格名字 * @Description 查询网格名字
@ -361,7 +361,8 @@ public interface CustomerGridDao extends BaseDao<CustomerGridEntity> {
CustomerGridDTO gridAgencyByGrid(@Param("gridId") String gridId); CustomerGridDTO gridAgencyByGrid(@Param("gridId") String gridId);
int updateSubGridAreaCode(@Param("customerId") String customerId, int updateSubGridAreaCode(@Param("customerId") String customerId,
@Param("agencyId")String agencyId, @Param("agencyId") String agencyId,
@Param("operateUserId") String operateUserId); @Param("operateUserId") String operateUserId);
List<CustomerStaffGridResultDTO> getStaffGridList(@Param("customerId") String customerId, @Param("orgId") String orgId, @Param("orgType") String orgType);
} }

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

@ -362,4 +362,16 @@ public interface CustomerGridService extends BaseService<CustomerGridEntity> {
* @Description 查询组织直属网格列表 * @Description 查询组织直属网格列表
**/ **/
List<AgencyGridList> gridListByAgencyId(String agencyId); List<AgencyGridList> gridListByAgencyId(String agencyId);
/**
* desc: 获取组织及网格下 工作人员网格关系列表
*
* @param customerId
* @param orgId
* @param orgType
* @return java.util.List<com.epmet.dto.result.CustomerStaffGridResultDTO>
* @author LiuJanJun
* @date 2022/1/17 3:50 下午
*/
List<CustomerStaffGridResultDTO> getStaffGridList(String customerId, String orgId, String orgType);
} }

6
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java

@ -42,7 +42,6 @@ import com.epmet.dao.CustomerStaffGridDao;
import com.epmet.dto.*; import com.epmet.dto.*;
import com.epmet.dto.form.*; import com.epmet.dto.form.*;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.entity.CustomerGridEntity; import com.epmet.entity.CustomerGridEntity;
import com.epmet.feign.EpmetAdminOpenFeignClient; import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.feign.EpmetMessageOpenFeignClient;
@ -931,4 +930,9 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
return result; return result;
} }
@Override
public List<CustomerStaffGridResultDTO> getStaffGridList(String customerId, String orgId, String orgType) {
return baseDao.getStaffGridList(customerId,orgId,orgType);
}
} }

22
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml

@ -783,5 +783,27 @@
where customer_id=#{customerId} where customer_id=#{customerId}
AND pids LIKE concat('%',#{agencyId}, '%' ) AND pids LIKE concat('%',#{agencyId}, '%' )
</update> </update>
<select id="getStaffGridList" resultType="com.epmet.dto.result.CustomerStaffGridResultDTO">
SELECT
csg.USER_ID,
csg.GRID_ID,
cg.GRID_NAME,
cg.PID agencyId
from customer_staff_grid csg
INNER JOIN customer_grid cg ON cg.ID = csg.GRID_ID
WHERE cg.DEL_FLAG = '0'
AND csg.DEL_FLAG = '0'
AND cg.CUSTOMER_ID = #{customerId}
<if test="orgType != null and orgType != ''">
<choose>
<when test="orgType == 'grid'">
AND cg.ID = #{orgId}
</when>
<otherwise>
AND cg.PIDS like concat('%', #{orgId},'%')
</otherwise>
</choose>
</if>
</select>
</mapper> </mapper>

13
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/SubTableJoinDTO.java

@ -0,0 +1,13 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
@Data
public class SubTableJoinDTO implements Serializable {
private static final long serialVersionUID = 8243764437194993736L;
private String tableName;
private String joinTableSql;
}

4
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java

@ -25,7 +25,7 @@ import java.util.Set;
* @author yinzuomei@elink-cn.com * @author yinzuomei@elink-cn.com
* @date 2020/6/4 13:16 * @date 2020/6/4 13:16
*/ */
//@FeignClient(name = ServiceConstant.OPER_CUSTOMIZE_SERVER, fallbackFactory = OperCustomizeOpenFeignClientFallbackFactory.class,url = "http://localhost:8089") // @FeignClient(name = ServiceConstant.OPER_CUSTOMIZE_SERVER, fallbackFactory = OperCustomizeOpenFeignClientFallbackFactory.class,url = "http://localhost:8089")
@FeignClient(name = ServiceConstant.OPER_CUSTOMIZE_SERVER, fallbackFactory = OperCustomizeOpenFeignClientFallbackFactory.class) @FeignClient(name = ServiceConstant.OPER_CUSTOMIZE_SERVER, fallbackFactory = OperCustomizeOpenFeignClientFallbackFactory.class)
public interface OperCustomizeOpenFeignClient { public interface OperCustomizeOpenFeignClient {
@ -75,7 +75,7 @@ public interface OperCustomizeOpenFeignClient {
* @date 2021/11/1 1:07 下午 * @date 2021/11/1 1:07 下午
*/ */
@PostMapping(value = "/oper/customize/icform/querySubTables", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) @PostMapping(value = "/oper/customize/icform/querySubTables", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result<List<String>> querySubTables(@RequestBody CustomerFormQueryDTO queryDTO); Result<List<SubTableJoinDTO>> querySubTables(@RequestBody CustomerFormQueryDTO queryDTO);
@PostMapping(value = "/oper/customize/icform/queryIcResiSubTables", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) @PostMapping(value = "/oper/customize/icform/queryIcResiSubTables", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result<Set<String>> queryIcResiSubTables(@RequestBody CustomerFormQueryDTO queryDTO); Result<Set<String>> queryIcResiSubTables(@RequestBody CustomerFormQueryDTO queryDTO);

2
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java

@ -61,7 +61,7 @@ public class OperCustomizeOpenFeignClientFallback implements OperCustomizeOpenFe
} }
@Override @Override
public Result<List<String>> querySubTables(CustomerFormQueryDTO formDto) { public Result<List<SubTableJoinDTO>> querySubTables(CustomerFormQueryDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "querySubTables", formDto); return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "querySubTables", formDto);
} }

4
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormController.java

@ -133,9 +133,9 @@ public class IcFormController {
* @date 2021/11/1 1:25 下午 * @date 2021/11/1 1:25 下午
*/ */
@PostMapping(value = "querySubTables") @PostMapping(value = "querySubTables")
Result<List<String>> querySubTables(@RequestBody CustomerFormQueryDTO formQueryDTO){ Result<List<SubTableJoinDTO>> querySubTables(@RequestBody CustomerFormQueryDTO formQueryDTO){
ValidatorUtils.validateEntity(formQueryDTO,CustomerFormQueryDTO.AddUserInternalGroup.class); ValidatorUtils.validateEntity(formQueryDTO,CustomerFormQueryDTO.AddUserInternalGroup.class);
return new Result<List<String>>().ok(icFormItemService.querySubTables(formQueryDTO.getCustomerId(),formQueryDTO.getFormCode())); return new Result<List<SubTableJoinDTO>>().ok(icFormItemService.querySubTables(formQueryDTO.getCustomerId(),formQueryDTO.getFormCode()));
} }
@PostMapping(value = "queryIcResiSubTables") @PostMapping(value = "queryIcResiSubTables")

7
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java

@ -18,10 +18,7 @@
package com.epmet.dao; package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.ColumnTableNameResultDTO; import com.epmet.dto.result.*;
import com.epmet.dto.result.ConditionResultDTO;
import com.epmet.dto.result.IcFormResColumnDTO;
import com.epmet.dto.result.TableHeaderResultDTO;
import com.epmet.entity.IcFormItemEntity; import com.epmet.entity.IcFormItemEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -62,7 +59,7 @@ public interface IcFormItemDao extends BaseDao<IcFormItemEntity> {
* @author yinzuomei * @author yinzuomei
* @date 2021/11/1 1:25 下午 * @date 2021/11/1 1:25 下午
*/ */
List<String> querySubTables(@Param("customerId") String customerId, @Param("formCode")String formCode); List<SubTableJoinDTO> querySubTables(@Param("customerId") String customerId, @Param("formCode")String formCode);
Set<String> queryIcResiSubTables(@Param("customerId") String customerId, @Param("formCode")String formCode); Set<String> queryIcResiSubTables(@Param("customerId") String customerId, @Param("formCode")String formCode);

2
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java

@ -46,7 +46,7 @@ public interface IcFormItemService extends BaseService<IcFormItemEntity> {
List<IcFormResColumnDTO> queryConditions(String customerId,String formCode); List<IcFormResColumnDTO> queryConditions(String customerId,String formCode);
List<String> querySubTables(String customerId, String formCode); List<SubTableJoinDTO> querySubTables(String customerId, String formCode);
Set<String> queryIcResiSubTables(String customerId, String formCode); Set<String> queryIcResiSubTables(String customerId, String formCode);

11
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java

@ -21,24 +21,21 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.IcFormItemDao; import com.epmet.dao.IcFormItemDao;
import com.epmet.dto.IcFormItemDTO;
import com.epmet.dto.form.CustomerFormQueryDTO; import com.epmet.dto.form.CustomerFormQueryDTO;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
import com.epmet.entity.IcFormItemEntity; import com.epmet.entity.IcFormItemEntity;
import com.epmet.service.IcFormItemService; import com.epmet.service.IcFormItemService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.util.*; import java.util.*;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
/** /**
* 表单项 * 表单项
@ -100,7 +97,7 @@ public class IcFormItemServiceImpl extends BaseServiceImpl<IcFormItemDao, IcForm
} }
@Override @Override
public List<String> querySubTables(String customerId, String formCode) { public List<SubTableJoinDTO> querySubTables(String customerId, String formCode) {
return baseDao.querySubTables(customerId,formCode); return baseDao.querySubTables(customerId,formCode);
} }

5
epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml

@ -113,9 +113,10 @@
</select> </select>
<!-- 构造出所有子表关联语句 --> <!-- 构造出所有子表关联语句 -->
<select id="querySubTables" parameterType="map" resultType="java.lang.String"> <select id="querySubTables" parameterType="map" resultType="com.epmet.dto.result.SubTableJoinDTO">
select select
CONCAT('left join ',temp.TABLE_NAME, ' on ( ic_resi_user.ID=',temp.TABLE_NAME,'.IC_RESI_USER and ',temp.TABLE_NAME,'.del_flag="0" )') as subTables temp.TABLE_NAME as tableName,
CONCAT('left join ',temp.TABLE_NAME, ' on ( ic_resi_user.ID=',temp.TABLE_NAME,'.IC_RESI_USER and ',temp.TABLE_NAME,'.del_flag="0" )') as joinTableSql
from ( from (
SELECT DISTINCT SELECT DISTINCT
m.TABLE_NAME m.TABLE_NAME

6
epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java

@ -94,7 +94,7 @@ public class IssueServiceImpl implements IssueService {
issueDetailResult.setTopicInfo(topicInfoDTOResult == null ? new TopicInfoDTO() : topicInfoDTOResult); issueDetailResult.setTopicInfo(topicInfoDTOResult == null ? new TopicInfoDTO() : topicInfoDTOResult);
} }
/*if("branch".equals(topicInfoDTOResult.getGroupType())){//支部小组话题发起人显示真实姓名 if (null != topicInfoDTOResult && "branch".equals(topicInfoDTOResult.getGroupType())) {//支部小组话题发起人显示真实姓名
List<String> userIdList = new ArrayList<>(); List<String> userIdList = new ArrayList<>();
userIdList.add(issueResult.getUserId()); userIdList.add(issueResult.getUserId());
Result<List<UserBaseInfoResultDTO>> result = epmetUserOpenFeignClient.queryUserBaseInfo(userIdList); Result<List<UserBaseInfoResultDTO>> result = epmetUserOpenFeignClient.queryUserBaseInfo(userIdList);
@ -118,8 +118,8 @@ public class IssueServiceImpl implements IssueService {
IssueInitiatorResultDTO initiatorResult = userFeignClient.selectIssueInitiator(initiatorFormDTO).getData(); IssueInitiatorResultDTO initiatorResult = userFeignClient.selectIssueInitiator(initiatorFormDTO).getData();
issueDetailResult.setIssueInitiator(initiatorResult == null ? HallConstat.NULL_CHARACTER_STRING : initiatorResult.getIssueInitiator()); issueDetailResult.setIssueInitiator(initiatorResult == null ? HallConstat.NULL_CHARACTER_STRING : initiatorResult.getIssueInitiator());
} }
}*/ }
issueDetailResult.setIssueInitiator(topicInfoDTOResult.getPublishedUser()); //issueDetailResult.setIssueInitiator(topicInfoDTOResult.getPublishedUser());
//判断是否投票 //判断是否投票
CheckVoteFormDTO formDTO = new CheckVoteFormDTO(); CheckVoteFormDTO formDTO = new CheckVoteFormDTO();

56
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GridStaffFormDTO.java

@ -0,0 +1,56 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.List;
/**
* DESC:网格下的工作人员 查询
* @author liujianjun
*/
@Data
public class GridStaffFormDTO extends PageFormDTO {
/**
* 客户Id
*/
@NotBlank(message = "客户Id不能为空", groups = {DefaultGroup.class})
private String customerId;
/**
* 工作人员Id
*/
private String userId;
/**
* 工作人员姓名
*/
private String userName;
/**
* 手机号
*/
private String mobile;
/**
* 角色key
*/
@NotEmpty(message = "角色Key不能为空", groups = {DefaultGroup.class})
private List<String> roleKeyList;
/**
* 组织ID
*/
@NotBlank(message = "组织ID不能为空", groups = {DefaultGroup.class})
private String orgId;
/**
* 组织类型 agency or grid
*/
@NotBlank(message = "组织类型不能为空", groups = {DefaultGroup.class})
private String orgType;
}

3
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java

@ -254,6 +254,9 @@ public class IcResiUserController {
pageFormDTO.setCustomerId(tokenDto.getCustomerId()); pageFormDTO.setCustomerId(tokenDto.getCustomerId());
pageFormDTO.setStaffId(tokenDto.getUserId()); pageFormDTO.setStaffId(tokenDto.getUserId());
ValidatorUtils.validateEntity(pageFormDTO, IcResiUserPageFormDTO.AddUserInternalGroup.class); ValidatorUtils.validateEntity(pageFormDTO, IcResiUserPageFormDTO.AddUserInternalGroup.class);
if(null==pageFormDTO.getConditions()){
pageFormDTO.setConditions(new ArrayList<>());
}
return new Result<PageData<Map<String, Object>>>().ok(icResiUserService.pageResiMap(pageFormDTO)); return new Result<PageData<Map<String, Object>>>().ok(icResiUserService.pageResiMap(pageFormDTO));
} }

22
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java

@ -2,8 +2,10 @@ package com.epmet.controller;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.epmet.commons.mybatis.entity.DataScope; import com.epmet.commons.mybatis.entity.DataScope;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.GovStaffRoleDTO; import com.epmet.dto.GovStaffRoleDTO;
import com.epmet.dto.StaffRoleDTO; import com.epmet.dto.StaffRoleDTO;
import com.epmet.dto.form.*; import com.epmet.dto.form.*;
@ -11,6 +13,7 @@ import com.epmet.dto.result.*;
import com.epmet.entity.GovStaffRoleEntity; import com.epmet.entity.GovStaffRoleEntity;
import com.epmet.service.GovStaffRoleService; import com.epmet.service.GovStaffRoleService;
import com.epmet.service.StaffRoleService; import com.epmet.service.StaffRoleService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -195,4 +198,23 @@ public class StaffRoleController {
ValidatorUtils.validateEntity(formDTO,RoleStaffIdFormDTO.AddUserInternalGroup.class); ValidatorUtils.validateEntity(formDTO,RoleStaffIdFormDTO.AddUserInternalGroup.class);
return new Result<Set<String>>().ok(staffRoleService.queryRoleStaffIds(formDTO)); return new Result<Set<String>>().ok(staffRoleService.queryRoleStaffIds(formDTO));
} }
/**
* desc: 根据角色用户名手机号 组织获取网格下的工作人员 精确匹配
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.Set<java.lang.String>>
* @author LiuJanJun
* @date 2022/1/17 2:26 下午
*/
@PostMapping("getGridStaffList")
Result<PageData<CustomerGridStaffResultDTO>> getGridStaffList(@RequestHeader(value = "customerId",required = false) String customerId, @RequestBody GridStaffFormDTO formDTO){
//tokenDto.setCustomerId("45687aa479955f9d06204d415238f7cc");
if (StringUtils.isBlank(formDTO.getCustomerId())){
formDTO.setCustomerId(customerId);
}
ValidatorUtils.validateEntity(formDTO, DefaultGroup.class);
return new Result<PageData<CustomerGridStaffResultDTO>>().ok(staffRoleService.getGridStaffList(formDTO));
}
} }

11
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java

@ -23,6 +23,7 @@ import com.epmet.dto.StaffRoleDTO;
import com.epmet.dto.form.CommonUserFormDTO; import com.epmet.dto.form.CommonUserFormDTO;
import com.epmet.dto.form.CustomerStaffRoleListFormDTO; import com.epmet.dto.form.CustomerStaffRoleListFormDTO;
import com.epmet.dto.form.GetRoleKeyListFormDTO; import com.epmet.dto.form.GetRoleKeyListFormDTO;
import com.epmet.dto.form.GridStaffFormDTO;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
import com.epmet.entity.StaffRoleEntity; import com.epmet.entity.StaffRoleEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -169,4 +170,14 @@ public interface StaffRoleDao extends BaseDao<StaffRoleEntity> {
* @Description 事件网格员服务电话 * @Description 事件网格员服务电话
**/ **/
List<GridMobileListResultDTO.Role> staffRoleList(@Param("staffIds") List<String> staffIds); List<GridMobileListResultDTO.Role> staffRoleList(@Param("staffIds") List<String> staffIds);
/**
* desc: 条件获取工作人员list
*
* @param formDTO
* @return java.util.List<com.epmet.dto.result.CustomerStaffResultDTO>
* @author LiuJanJun
* @date 2022/1/17 2:45 下午
*/
List<CustomerGridStaffResultDTO> getStaffList(GridStaffFormDTO formDTO);
} }

76
epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java

@ -22,15 +22,11 @@ import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.StaffRoleDTO; import com.epmet.dto.StaffRoleDTO;
import com.epmet.dto.form.CommonUserFormDTO; import com.epmet.dto.form.*;
import com.epmet.dto.form.CustomerStaffRoleListFormDTO;
import com.epmet.dto.form.RoleStaffIdFormDTO;
import com.epmet.dto.form.RolesUsersListFormDTO;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
import com.epmet.entity.StaffRoleEntity; import com.epmet.entity.StaffRoleEntity;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Set; import java.util.Set;
/** /**
@ -41,66 +37,6 @@ import java.util.Set;
*/ */
public interface StaffRoleService extends BaseService<StaffRoleEntity> { public interface StaffRoleService extends BaseService<StaffRoleEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<StaffRoleDTO>
* @author generator
* @date 2020-04-22
*/
PageData<StaffRoleDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<StaffRoleDTO>
* @author generator
* @date 2020-04-22
*/
List<StaffRoleDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return StaffRoleDTO
* @author generator
* @date 2020-04-22
*/
StaffRoleDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2020-04-22
*/
void save(StaffRoleDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2020-04-22
*/
void update(StaffRoleDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2020-04-22
*/
void delete(String[] ids);
/** /**
* 查询具有某角色的staff列表 * 查询具有某角色的staff列表
* @param roleKey * @param roleKey
@ -176,4 +112,14 @@ public interface StaffRoleService extends BaseService<StaffRoleEntity> {
* @date 2021/8/19 11:14 上午 * @date 2021/8/19 11:14 上午
*/ */
Set<String> queryRoleStaffIds(RoleStaffIdFormDTO formDTO); Set<String> queryRoleStaffIds(RoleStaffIdFormDTO formDTO);
/**
* desc: 条件获取 网格工作人员信息
*
* @param formDTO
* @return com.epmet.commons.tools.page.PageData<com.epmet.dto.result.CustomerStaffResultDTO>
* @author LiuJanJun
* @date 2022/1/17 2:37 下午
*/
PageData<CustomerGridStaffResultDTO> getGridStaffList(GridStaffFormDTO formDTO);
} }

36
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java

@ -493,9 +493,29 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
return new PageData(new ArrayList(), NumConstant.ZERO); return new PageData(new ArrayList(), NumConstant.ZERO);
} }
List<IcFormResColumnDTO> resultColumns = resultColumnRes.getData(); List<IcFormResColumnDTO> resultColumns = resultColumnRes.getData();
// 查询结果列对应的表:
Set<String> resultColumnTables=resultColumns.stream().map(IcFormResColumnDTO::getTableName).collect(Collectors.toSet());
// 查询列表展示项需要用到哪些子表 // 查询列表展示项需要用到哪些子表
Result<List<String>> subTablesRes=operCustomizeOpenFeignClient.querySubTables(queryDTO1); Result<List<SubTableJoinDTO>> subTablesRes=operCustomizeOpenFeignClient.querySubTables(queryDTO1);
List<String> subTables =subTablesRes.getData(); List<SubTableJoinDTO> subTables =subTablesRes.getData();
log.info("1、所有的子表subTables:"+JSON.toJSONString(subTables,true));
//关联哪些子表:查询条件用到的表名+查询的列对应的表 并集去重
Set<String> whereConditionTables=formDTO.getConditions().stream().map(ResiUserQueryValueDTO::getTableName).collect(Collectors.toSet());
Set<String> tables=new HashSet<>();
tables.addAll(whereConditionTables);
tables.addAll(resultColumnTables);
log.info("2、查询条件+查询列对应的tables并集去重:"+ JSON.toJSONString(tables,true));
//最终关联的子表对应的sql:
List<String> finalSubTables =new ArrayList<>();
subTables.forEach(subTable->{
if(tables.contains(subTable.getTableName())){
finalSubTables.add(subTable.getJoinTableSql());
}
});
PageInfo<Map<String, Object>> pageInfo=new PageInfo<>(); PageInfo<Map<String, Object>> pageInfo=new PageInfo<>();
if (null == formDTO.getPageFlag()||formDTO.getPageFlag()) { if (null == formDTO.getPageFlag()||formDTO.getPageFlag()) {
//分页 //分页
@ -505,15 +525,17 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
formDTO.getFormCode(), formDTO.getFormCode(),
formDTO.getConditions(), formDTO.getConditions(),
resultColumns, resultColumns,
subTables, finalSubTables,
staffInfoCacheResult.getAgencyId(), finalStaffOrgPath,null, formDTO.getKeyword())); staffInfoCacheResult.getAgencyId(), finalStaffOrgPath,null, formDTO.getKeyword()));
}else{ }else{
List<Map<String,Object>> list=baseDao.selectListResiMap(formDTO.getCustomerId(), List<Map<String,Object>> list=baseDao.selectListResiMap(formDTO.getCustomerId(),
formDTO.getFormCode(), formDTO.getFormCode(),
formDTO.getConditions(), formDTO.getConditions(),
resultColumns, resultColumns,
subTables,staffInfoCacheResult.getAgencyId(), finalSubTables,
staffOrgPath,null, formDTO.getKeyword()); staffInfoCacheResult.getAgencyId(),
staffOrgPath,null,
formDTO.getKeyword());
pageInfo.setTotal(CollectionUtils.isEmpty(list)?NumConstant.ZERO:list.size()); pageInfo.setTotal(CollectionUtils.isEmpty(list)?NumConstant.ZERO:list.size());
pageInfo.setList(list); pageInfo.setList(list);
} }
@ -672,10 +694,10 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
queryDTO.setCustomerId(customerId); queryDTO.setCustomerId(customerId);
queryDTO.setFormCode(formCode); queryDTO.setFormCode(formCode);
//所有的子表 //所有的子表
Result<List<String>> subTablesRes=operCustomizeOpenFeignClient.querySubTables(queryDTO); Result<List<SubTableJoinDTO>> subTablesRes=operCustomizeOpenFeignClient.querySubTables(queryDTO);
List<String> subTables=new ArrayList<>(); List<String> subTables=new ArrayList<>();
if(subTablesRes.success()&&CollectionUtils.isNotEmpty(subTablesRes.getData())){ if(subTablesRes.success()&&CollectionUtils.isNotEmpty(subTablesRes.getData())){
subTables =subTablesRes.getData(); subTables =subTablesRes.getData().stream().map(SubTableJoinDTO::getJoinTableSql).collect(Collectors.toList());
} }
return baseDao.dynamicQuery(customerId,resultTableName,conditions,subTables,currentStaffAgencyId,staffOrgPath); return baseDao.dynamicQuery(customerId,resultTableName,conditions,subTables,currentStaffAgencyId,staffOrgPath);
} }

113
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java

@ -17,30 +17,29 @@
package com.epmet.service.impl; package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.entity.DataScope; import com.epmet.commons.mybatis.entity.DataScope;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.StaffRoleDao; import com.epmet.dao.StaffRoleDao;
import com.epmet.dto.StaffRoleDTO; import com.epmet.dto.StaffRoleDTO;
import com.epmet.dto.form.CommonUserFormDTO; import com.epmet.dto.form.*;
import com.epmet.dto.form.CustomerStaffRoleListFormDTO;
import com.epmet.dto.form.RoleStaffIdFormDTO;
import com.epmet.dto.form.RolesUsersListFormDTO;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
import com.epmet.entity.StaffRoleEntity; import com.epmet.entity.StaffRoleEntity;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.service.StaffRoleService; import com.epmet.service.StaffRoleService;
import org.apache.commons.lang3.StringUtils; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.util.*; import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
/** /**
* 工作人员-角色关系表 * 工作人员-角色关系表
@ -48,61 +47,12 @@ import java.util.*;
* @author generator generator@elink-cn.com * @author generator generator@elink-cn.com
* @since v1.0.0 2020-04-22 * @since v1.0.0 2020-04-22
*/ */
@Slf4j
@Service @Service
public class StaffRoleServiceImpl extends BaseServiceImpl<StaffRoleDao, StaffRoleEntity> implements StaffRoleService { public class StaffRoleServiceImpl extends BaseServiceImpl<StaffRoleDao, StaffRoleEntity> implements StaffRoleService {
@Override @Autowired
public PageData<StaffRoleDTO> page(Map<String, Object> params) { private GovOrgOpenFeignClient govOrgOpenFeignClient;
IPage<StaffRoleEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, StaffRoleDTO.class);
}
@Override
public List<StaffRoleDTO> list(Map<String, Object> params) {
List<StaffRoleEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, StaffRoleDTO.class);
}
private QueryWrapper<StaffRoleEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<StaffRoleEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public StaffRoleDTO get(String id) {
StaffRoleEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, StaffRoleDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(StaffRoleDTO dto) {
StaffRoleEntity entity = ConvertUtils.sourceToTarget(dto, StaffRoleEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(StaffRoleDTO dto) {
StaffRoleEntity entity = ConvertUtils.sourceToTarget(dto, StaffRoleEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/** /**
* 查询具有某角色的staff列表 * 查询具有某角色的staff列表
* @param roleKey * @param roleKey
@ -209,4 +159,47 @@ public class StaffRoleServiceImpl extends BaseServiceImpl<StaffRoleDao, StaffRol
return baseDao.selectRoleStaffIds(formDTO.getCustomerId(),formDTO.getRoleIds()); return baseDao.selectRoleStaffIds(formDTO.getCustomerId(),formDTO.getRoleIds());
} }
@Override
public PageData<CustomerGridStaffResultDTO> getGridStaffList(GridStaffFormDTO formDTO) {
//有这些条件 优先查询用户信息
List<CustomerGridStaffResultDTO> staffList = baseDao.getStaffList(formDTO);
if (CollectionUtils.isEmpty(staffList)){
log.warn("getGridStaffList getStaffList return empty,param:{}", JSON.toJSONString(formDTO));
return new PageData<>(null,NumConstant.ZERO);
}
//继续查询 在网格里的人
Result<List<CustomerStaffGridResultDTO>> staffGridResult = govOrgOpenFeignClient.getStaffGridList(formDTO.getCustomerId(),formDTO.getOrgId(),formDTO.getOrgType());
if (staffGridResult == null || !staffGridResult.success() || CollectionUtils.isEmpty(staffGridResult.getData())){
log.warn("getGridStaffList getStaffGridList return empty,param orgId:{},orgType:{}",formDTO.getOrgId(),formDTO.getOrgType());
return new PageData<>(null,NumConstant.ZERO);
}
Map<String, List<CustomerStaffGridResultDTO>> userGridListMap = staffGridResult.getData().stream()
.collect(Collectors.groupingBy(CustomerStaffGridResultDTO::getUserId));
List<CustomerGridStaffResultDTO> result = new ArrayList<>();
Integer offset = formDTO.getOffset();
Integer pageSize = formDTO.getPageSize();
AtomicInteger count = new AtomicInteger();
staffList.forEach(staff->{
List<CustomerStaffGridResultDTO> dtoList = userGridListMap.get(staff.getUserId());
if (dtoList == null){
return;
}
dtoList.forEach(grid-> {
CustomerGridStaffResultDTO staffNew = ConvertUtils.sourceToTarget(staff, CustomerGridStaffResultDTO.class);
staffNew.setGridId(grid.getGridId());
staffNew.setGridName(grid.getGridName());
staffNew.setAgencyId(grid.getAgencyId());
if (count.intValue() >= offset && result.size() < pageSize) {
result.add(staffNew);
}
count.getAndIncrement();
});
});
return new PageData<>(result,count.get());
}
} }

31
epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml

@ -271,5 +271,36 @@
</foreach> </foreach>
ORDER BY sr.staff_id, gsr.role_key ORDER BY sr.staff_id, gsr.role_key
</select> </select>
<select id="getStaffList" resultType="com.epmet.dto.result.CustomerGridStaffResultDTO">
SELECT
DISTINCT
cs.USER_ID,
cs.REAL_NAME userName,
cs.MOBILE,
cs.GENDER
FROM
customer_staff cs
INNER JOIN staff_role sr ON sr.STAFF_ID = cs.USER_ID
INNER JOIN gov_staff_role gsr ON sr.role_id = gsr.id
WHERE 1=1
<if test="userId != null and userId != ''">
AND cs.USER_ID = #{userId}
</if>
<if test="userName != null and userName != ''">
AND cs.REAL_NAME = #{userName}
</if>
<if test="mobile != null and mobile != ''">
AND cs.mobile = #{mobile}
</if>
AND cs.CUSTOMER_ID = #{customerId}
AND gsr.role_key IN
<foreach collection="roleKeyList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
AND cs.DEL_FLAG = '0'
AND sr.del_flag = '0'
AND gsr.del_flag = '0'
ORDER BY cs.CREATED_TIME DESC
</select>
</mapper> </mapper>

Loading…
Cancel
Save