Browse Source

Merge branch 'develop' of http://git.elinkit.com.cn:7070/r/epmet-cloud into release_temp

dev
jianjun 4 years ago
parent
commit
3d8da0b084
  1. 3
      epmet-gateway/src/main/resources/bootstrap.yml
  2. 2
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/UserBaseInfoDao.java
  3. 10
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java
  4. 15
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/UserBaseInfoDao.xml
  5. 2
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceItemDictDao.java
  6. 7
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcServiceItemDictServiceImpl.java
  7. 13
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceItemDictDao.xml
  8. 3
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AgencydetailFormDTO.java
  9. 8
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java
  10. 4
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java
  11. 10
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java
  12. 5
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java
  13. 35
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java
  14. 1
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventDao.xml
  15. 4
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IndividualCategoryListResultDTO.java
  16. 13
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/SubTableJoinDTO.java
  17. 4
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java
  18. 2
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java
  19. 4
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormController.java
  20. 7
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java
  21. 2
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java
  22. 11
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java
  23. 34
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcIndividualCategoryManageServiceImpl.java
  24. 5
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml
  25. 4
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcIndividualCategoryManageDao.xml
  26. 6
      epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
  27. 21
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CategoryCountListFormDTO.java
  28. 20
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CategoryCountListResultDTO.java
  29. 6
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
  30. 2
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
  31. 5
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  32. 7
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StatsResiWarnController.java
  33. 4
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/StatsResiWarnService.java
  34. 610
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java
  35. 35
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
  36. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java
  37. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java
  38. 13
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsResiWarnServiceImpl.java
  39. 2
      epmet-user/epmet-user-server/src/main/resources/mapper/IcStatsResiWarnDao.xml
  40. 2
      epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml

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

@ -486,7 +486,8 @@ epmet:
- /data/aggregator/**
- /gov/voice/**
- /resi/voice/**
- /epmet/point/**
- /point/**
- /heart/**
# 内部认证url白名单(在白名单中的,就不会再校验登录了)
internalAuthUrlsWhiteList:

2
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/UserBaseInfoDao.java

@ -55,5 +55,5 @@ public interface UserBaseInfoDao extends BaseDao<UserBaseInfoEntity> {
* @Description 查询userId的身份证号在小程序用户中存在的多个userId值
* @author sun
*/
List<UserBaseInfoDTO> getUserBaseList(@Param("userId") String userId, @Param("customerId") String customerId);
List<UserBaseInfoDTO> getUserBaseList(@Param("customerId") String customerId, @Param("userId") String userId, @Param("idCard") String idCard);
}

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

@ -35,6 +35,8 @@ import com.epmet.dataaggre.entity.epmetuser.ResiUserBadgeEntity;
import com.epmet.dataaggre.entity.epmetuser.StaffRoleEntity;
import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity;
import com.epmet.dataaggre.service.datastats.DataStatsService;
import com.epmet.dataaggre.entity.epmetuser.*;
import com.epmet.dataaggre.service.datastats.DataStatsService;
import com.epmet.dataaggre.service.epmetuser.EpmetUserService;
import com.epmet.dataaggre.service.epmetuser.StaffPatrolDetailService;
import com.epmet.dataaggre.service.epmetuser.StaffPatrolRecordService;
@ -721,7 +723,13 @@ public class EpmetUserServiceImpl implements EpmetUserService {
*/
@Override
public List<UserBaseInfoDTO> getUserBaseList(String userId, String customerId) {
return userBaseInfoDao.getUserBaseList(userId, customerId);
List<UserBaseInfoDTO> resultList = new ArrayList<>();
List<UserBaseInfoDTO> list = userBaseInfoDao.getUserBaseList(customerId, userId, null);
if (!CollectionUtils.isEmpty(list) && StringUtils.isNotBlank(list.get(0).getIdNum())) {
return userBaseInfoDao.getUserBaseList(customerId, null, list.get(0).getIdNum());
}
resultList.addAll(list);
return resultList;
}
/**

15
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/UserBaseInfoDao.xml

@ -41,13 +41,24 @@
<select id="getUserBaseList" resultType="com.epmet.dto.UserBaseInfoDTO">
SELECT
*
customer_id,
user_id,
mobile,
real_name,
id_num,
gender,
head_img_url
FROM
user_base_info
WHERE
del_flag = '0'
AND id_num = ( SELECT id_num FROM user_base_info WHERE user_id = #{userId})
AND customer_id = #{customerId}
<if test='userId != "" and userId != null'>
AND user_id = #{userId}
</if>
<if test='idCard != "" and idCard != null'>
AND id_num = #{idCard}
</if>
</select>
</mapper>

2
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceItemDictDao.java

@ -34,4 +34,6 @@ import java.util.List;
public interface IcServiceItemDictDao extends BaseDao<IcServiceItemDictEntity> {
List<ServiceItemResultDTO> pageList(String customerId);
IcServiceItemDictEntity selectMax(String customerId);
}

7
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcServiceItemDictServiceImpl.java

@ -74,6 +74,7 @@ public class IcServiceItemDictServiceImpl extends BaseServiceImpl<IcServiceItemD
@Transactional(rollbackFor = Exception.class)
@Override
public void addOrUpdate(ServiceItemAddFormDTO formDTO) {
formDTO.setCategoryName(formDTO.getCategoryName().trim());
//分类名称是否唯一
LambdaQueryWrapper<IcServiceItemDictEntity> nameQuery = new LambdaQueryWrapper<>();
nameQuery.eq(IcServiceItemDictEntity::getCustomerId, formDTO.getCustomerId())
@ -90,10 +91,8 @@ public class IcServiceItemDictServiceImpl extends BaseServiceImpl<IcServiceItemD
baseDao.update(null, update);
return;
}
LambdaQueryWrapper<IcServiceItemDictEntity> maxQuery = new LambdaQueryWrapper<>();
maxQuery.eq(IcServiceItemDictEntity::getCustomerId, formDTO.getCustomerId())
.orderByDesc(IcServiceItemDictEntity::getCategoryCode).last("limit 1");
IcServiceItemDictEntity max = baseDao.selectOne(maxQuery);
//如果说当前查询的编码是1022,但是库里面1023已经存在且del_flag='0'。这个时候新增的编码为1023就会报错。
IcServiceItemDictEntity max = baseDao.selectMax(formDTO.getCustomerId());
// 获取编码
IcServiceItemDictEntity insert = new IcServiceItemDictEntity();
insert.setCustomerId(formDTO.getCustomerId());

13
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceItemDictDao.xml

@ -18,4 +18,17 @@
d.SORT DESC
</select>
<select id="selectMax" parameterType="java.lang.String" resultType="com.epmet.entity.IcServiceItemDictEntity">
SELECT
d.ID,
d.CATEGORY_CODE,
d.SORT
FROM
ic_service_item_dict d
WHERE
d.DEL_FLAG = '0'
AND d.CUSTOMER_ID = #{customerId}
order by CATEGORY_CODE desc
limit 1
</select>
</mapper>

3
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AgencydetailFormDTO.java

@ -17,6 +17,7 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@ -36,7 +37,7 @@ public class AgencydetailFormDTO implements Serializable {
/**
* 内部错误分组
* */
public interface AddUserInternalGroup{}
public interface AddUserInternalGroup extends CustomerClientShowGroup {}
/**
* 机关组织Id

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

@ -588,4 +588,12 @@ public interface GovOrgOpenFeignClient {
Result<List<CustomerStaffGridResultDTO>> getStaffGridList(@RequestParam("customerId") String customerId,
@RequestParam("orgId") String orgId,
@RequestParam("orgType") String orgType);
/**
* 查询单元
* @param id
* @return
*/
@GetMapping("/gov/org/icbuildingunit/{id}")
Result<IcBuildingUnitDTO> getUnitById(@PathVariable("id") String id);
}

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

@ -384,4 +384,8 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient {
public Result<List<CustomerStaffGridResultDTO>> getStaffGridList(String customerId, String orgId, String orgType) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getStaffGridList",customerId, orgId, orgType);
}
@Override
public Result<IcBuildingUnitDTO> getUnitById(String id) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getUnitById", id);
}
}

10
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java

@ -405,4 +405,14 @@ public class CustomerAgencyController {
return new Result<IcResiUserOrgMsgResultDTO>().ok(customerAgencyService.icResiUserOrgMsg(formDTO));
}
/**
* @Description根据组织Id查询扇形组织网格树
* @author sun
**/
@PostMapping("rootagencygridtree")
public Result<AgencyTreeResultDTO> rootAgencyGridTree(@RequestBody AgencydetailFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, AgencydetailFormDTO.AddUserInternalGroup.class);
return new Result<AgencyTreeResultDTO>().ok(customerAgencyService.rootAgencyGridTree(formDTO.getAgencyId()));
}
}

5
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java

@ -283,4 +283,9 @@ public interface CustomerAgencyService extends BaseService<CustomerAgencyEntity>
**/
IcResiUserOrgMsgResultDTO icResiUserOrgMsg(IcResiUserOrgMsgFormDTO formDTO);
/**
* @Description根据组织Id查询扇形组织网格树
* @author sun
**/
AgencyTreeResultDTO rootAgencyGridTree(String agencyId);
}

35
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java

@ -30,6 +30,8 @@ import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.CustomerAgencyConstant;
@ -1401,4 +1403,37 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
return resultDTO;
}
/**
* @Description根据组织Id查询扇形组织网格树
* @author sun
**/
@Override
public AgencyTreeResultDTO rootAgencyGridTree(String agencyId) {
AgencyTreeResultDTO result = new AgencyTreeResultDTO();
//1.查询组织缓存信息
AgencyInfoCache rootAgency = CustomerOrgRedis.getAgencyInfo(agencyId);
if (null == rootAgency) {
throw new RenException(String.format("查询组织信息失败%s", agencyId));
}
result.setPid(rootAgency.getPid());
result.setAgencyId(rootAgency.getId());
result.setAgencyName(rootAgency.getOrganizationName());
result.setLevel(rootAgency.getLevel());
result.setOrgLevel(rootAgency.getId().concat("-").concat(rootAgency.getLevel()));
result.setLongitude(rootAgency.getLongitude());
result.setLatitude(rootAgency.getLatitude());
String orgTreeCacheKey = RedisKeys.getOrgTreeCacheKey(rootAgency.getId());
Object o = redisUtils.get(orgTreeCacheKey);
if (o == null) {
ExtStaffPermissionResultDTO res = baseDao.selectAgencyAndGridById(rootAgency.getId());
convert2AgencyTreeResult(result, res.getSubAgencyList(), res.getGridList());
redisUtils.set(orgTreeCacheKey, result, RedisUtils.MINUTE_THIRTY_EXPIRE);
} else {
result = (AgencyTreeResultDTO) o;
}
return result;
}
}

1
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventDao.xml

@ -242,6 +242,7 @@
<foreach item="epmetUserId" collection="epmetUserIdList" open="AND (" separator="or" close=")" index="">
re.REPORT_USER_ID = #{epmetUserId}
</foreach>
order by re.CREATED_TIME desc
</select>
<resultMap id="resiEventListResultMap" type="com.epmet.dto.result.ResiEventListResultDTO">

4
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IndividualCategoryListResultDTO.java

@ -1,6 +1,7 @@
package com.epmet.dto.result;
import com.epmet.commons.tools.constant.NumConstant;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
@ -37,5 +38,8 @@ public class IndividualCategoryListResultDTO implements Serializable {
private String id;
@JsonIgnore
private String warnConfigId;
private Integer count = NumConstant.ZERO;
}

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
* @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)
public interface OperCustomizeOpenFeignClient {
@ -75,7 +75,7 @@ public interface OperCustomizeOpenFeignClient {
* @date 2021/11/1 1:07 下午
*/
@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)
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
public Result<List<String>> querySubTables(CustomerFormQueryDTO formDto) {
public Result<List<SubTableJoinDTO>> querySubTables(CustomerFormQueryDTO 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 下午
*/
@PostMapping(value = "querySubTables")
Result<List<String>> querySubTables(@RequestBody CustomerFormQueryDTO formQueryDTO){
Result<List<SubTableJoinDTO>> querySubTables(@RequestBody CustomerFormQueryDTO formQueryDTO){
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")

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

@ -18,10 +18,7 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.ColumnTableNameResultDTO;
import com.epmet.dto.result.ConditionResultDTO;
import com.epmet.dto.result.IcFormResColumnDTO;
import com.epmet.dto.result.TableHeaderResultDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.IcFormItemEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -62,7 +59,7 @@ public interface IcFormItemDao extends BaseDao<IcFormItemEntity> {
* @author yinzuomei
* @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);

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<String> querySubTables(String customerId, String formCode);
List<SubTableJoinDTO> querySubTables(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.metadata.IPage;
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.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.IcFormItemDao;
import com.epmet.dto.IcFormItemDTO;
import com.epmet.dto.form.CustomerFormQueryDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.IcFormItemEntity;
import com.epmet.service.IcFormItemService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.*;
import java.util.function.Function;
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
public List<String> querySubTables(String customerId, String formCode) {
public List<SubTableJoinDTO> querySubTables(String customerId, String formCode) {
return baseDao.querySubTables(customerId,formCode);
}

34
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcIndividualCategoryManageServiceImpl.java

@ -9,13 +9,11 @@ import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.IcIndividualCategoryManageDao;
import com.epmet.dto.IcResiCategoryStatsConfigDTO;
import com.epmet.dto.form.CategoryCountListFormDTO;
import com.epmet.dto.form.EditIndividualCategoryFormDTO;
import com.epmet.dto.form.IcResiCategoryStatsConfigFormDTO;
import com.epmet.dto.form.StatsResiListFormDTO;
import com.epmet.dto.result.IcStatsResiResultDTO;
import com.epmet.dto.result.IcStatsResiWarnBuildingResultDTO;
import com.epmet.dto.result.IndividualCategoryAllListResultDTO;
import com.epmet.dto.result.IndividualCategoryListResultDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.IcIndividualCategoryManageEntity;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.OperCustomizeOpenFeignClient;
@ -27,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* 个人分类管理
@ -54,28 +53,23 @@ public class IcIndividualCategoryManageServiceImpl extends BaseServiceImpl<IcInd
if (null == staffInfo){
throw new EpmetException(String.format("查询工作人员%s信息失败...",tokenDto.getUserId()));
}
StatsResiListFormDTO formDTO = new StatsResiListFormDTO();
formDTO.setId(staffInfo.getAgencyId());
formDTO.setLevel("agency");
formDTO.setCustomerId(tokenDto.getCustomerId());
Result<List<IcStatsResiResultDTO>> list = userOpenFeignClient.getPersonCategoryList(formDTO);
List<IndividualCategoryListResultDTO> result = baseDao.individualCategoryList(tokenDto.getUserId());
if (CollectionUtils.isEmpty(result)){
return new ArrayList<>();
}
CategoryCountListFormDTO formDTO = new CategoryCountListFormDTO();
formDTO.setConfigList(result.stream().map(m -> m.getWarnConfigId()).collect(Collectors.toList()));
formDTO.setOrgId(staffInfo.getAgencyId());
Result<List<CategoryCountListResultDTO>> list = userOpenFeignClient.getPersonCategoryList(formDTO);
if (!list.success()){
throw new EpmetException("查询人员分类下人数失败...");
}
List<IcStatsResiResultDTO> datas = list.getData();
List<IndividualCategoryListResultDTO> result = baseDao.individualCategoryList(tokenDto.getUserId());
if (CollectionUtils.isNotEmpty(datas) && CollectionUtils.isNotEmpty(result)){
result.forEach( r -> datas.stream().filter( d -> d.getId().equals(r.getId())).forEach(d -> r.setCount(d.getCount())));
return result;
List<CategoryCountListResultDTO> datas = list.getData();
if (CollectionUtils.isNotEmpty(datas)){
result.forEach( r -> datas.stream().filter( d -> d.getConfigId().equals(r.getWarnConfigId())).forEach(d -> r.setCount(d.getCount())));
}
if (CollectionUtils.isEmpty(datas) && CollectionUtils.isNotEmpty(result)){
return result;
}
if (CollectionUtils.isEmpty(result)){
return new ArrayList<>();
}
return new ArrayList<>();
}
/**
* @Description 人员分类管理个人分类修改(添加修改一个接口)

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

@ -113,9 +113,10 @@
</select>
<!-- 构造出所有子表关联语句 -->
<select id="querySubTables" parameterType="map" resultType="java.lang.String">
<select id="querySubTables" parameterType="map" resultType="com.epmet.dto.result.SubTableJoinDTO">
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 (
SELECT DISTINCT
m.TABLE_NAME

4
epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcIndividualCategoryManageDao.xml

@ -15,9 +15,11 @@
sc.LABEL,
sc.MANAGEMENT_ICON,
sc.COLUMN_NAME,
sc.id AS id
sc.id AS id,
wc.ID AS warnConfigId
FROM ic_individual_category_manage cm
INNER JOIN ic_resi_category_stats_config sc ON (sc.ID = cm.COLUMN_ID AND sc.DEL_FLAG = '0' AND `STATUS` = 'show')
INNER JOIN ic_resi_category_warn_config wc ON (sc.COLUMN_NAME = wc.COLUMN_NAME AND wc.DEL_FLAG = '0' AND wc.CUSTOMER_ID = sc.CUSTOMER_ID)
WHERE cm.DEL_FLAG = 0
AND cm.USER_ID = #{userId}
</select>

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

21
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CategoryCountListFormDTO.java

@ -0,0 +1,21 @@
package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Author zxc
* @DateTime 2022/1/21 1:43 下午
* @DESC
*/
@Data
public class CategoryCountListFormDTO implements Serializable {
private static final long serialVersionUID = 1563081091285509142L;
private List<String> configList;
private String orgId;
}

20
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CategoryCountListResultDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/1/21 1:44 下午
* @DESC
*/
@Data
public class CategoryCountListResultDTO implements Serializable {
private static final long serialVersionUID = -8441192101441016588L;
private String configId;
private Integer count;
}

6
epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java

@ -25,8 +25,8 @@ import java.util.Set;
* @author yinzuomei@elink-cn.com
* @date 2020/6/4 13:09
*/
@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallbackFactory = EpmetUserOpenFeignClientFallbackFactory.class, url = "localhost:8087")
//@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallbackFactory = EpmetUserOpenFeignClientFallbackFactory.class)
// @FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallbackFactory = EpmetUserOpenFeignClientFallbackFactory.class, url = "localhost:8087")
@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallbackFactory = EpmetUserOpenFeignClientFallbackFactory.class)
public interface EpmetUserOpenFeignClient {
/**
@ -710,6 +710,6 @@ public interface EpmetUserOpenFeignClient {
Result<RegisterRelationDTO> resiRelationInfo(@RequestParam("userId")String userId);
@PostMapping("/epmetuser/statsresiwarn/list2")
Result<List<IcStatsResiResultDTO>> getPersonCategoryList(@RequestBody StatsResiListFormDTO formDTO);
Result<List<CategoryCountListResultDTO>> getPersonCategoryList(@RequestBody CategoryCountListFormDTO formDTO);
}

2
epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java

@ -524,7 +524,7 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien
}
@Override
public Result<List<IcStatsResiResultDTO>> getPersonCategoryList(StatsResiListFormDTO formDTO) {
public Result<List<CategoryCountListResultDTO>> getPersonCategoryList(CategoryCountListFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getPersonCategoryList", formDTO);
}
}

5
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.setStaffId(tokenDto.getUserId());
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));
}
@ -343,7 +346,7 @@ public class IcResiUserController {
.collect(Collectors.toList());
List<Map<String, Object>> resiResultList = null;
pageFormDTO.setPageSize(NumConstant.FIVE_HUNDRED);
pageFormDTO.setPageSize(NumConstant.TEN_THOUSAND);
for (IcResiUserTableEnum tableEnum : resiTableList) {
String tableName = tableEnum.getTableName();
pageFormDTO.setPageNo(NumConstant.ONE);

7
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StatsResiWarnController.java

@ -22,9 +22,11 @@ import com.epmet.commons.tools.annotation.LoginUser;
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.CategoryCountListFormDTO;
import com.epmet.dto.form.StatsResiListFormDTO;
import com.epmet.dto.form.StatsResiWarnCountFormDTO;
import com.epmet.dto.form.StatsResiWarnFormDTO;
import com.epmet.dto.result.CategoryCountListResultDTO;
import com.epmet.dto.result.IcStatsResiResultDTO;
import com.epmet.dto.result.IcStatsResiWarnBuildingResultDTO;
import com.epmet.dto.result.IcStatsResiWarnUserResultDTO;
@ -74,9 +76,8 @@ public class StatsResiWarnController {
* @date 2022/1/20 2:11 下午
*/
@PostMapping("list2")
public Result<List<IcStatsResiResultDTO>> list2(@RequestBody StatsResiListFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO);
return new Result<List<IcStatsResiResultDTO>>().ok(statsResiWarnService.list2(formDTO));
public Result<List<CategoryCountListResultDTO>> list2(@RequestBody CategoryCountListFormDTO formDTO){
return new Result<List<CategoryCountListResultDTO>>().ok(statsResiWarnService.list2(formDTO));
}
@PostMapping("buildingwarnlist")

4
epmet-user/epmet-user-server/src/main/java/com/epmet/service/StatsResiWarnService.java

@ -17,7 +17,9 @@
package com.epmet.service;
import com.epmet.dto.form.CategoryCountListFormDTO;
import com.epmet.dto.form.StatsResiListFormDTO;
import com.epmet.dto.result.CategoryCountListResultDTO;
import com.epmet.dto.result.IcStatsResiResultDTO;
import com.epmet.dto.result.IcStatsResiWarnBuildingResultDTO;
import com.epmet.dto.result.IcStatsResiWarnUserResultDTO;
@ -39,7 +41,7 @@ public interface StatsResiWarnService{
List<IcStatsResiResultDTO> list(String customerId,String id, String level);
List<IcStatsResiResultDTO> list2(StatsResiListFormDTO formDTO);
List<CategoryCountListResultDTO> list2(CategoryCountListFormDTO formDTO);
void resiWarn(String customerId);

610
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java

@ -11,29 +11,35 @@ import com.epmet.bean.ResiImportResiCategoryChangedCache;
import com.epmet.bean.ResiImportChangedData;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.dto.result.OptionResultDTO;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.IcResiUserDao;
import com.epmet.dao.IcUserChangeDetailedDao;
import com.epmet.dao.IcUserChangeRecordDao;
import com.epmet.dao.IcUserTransferRecordDao;
import com.epmet.dto.*;
import com.epmet.dto.form.GridOptionFormDTO;
import com.epmet.dto.form.HouseFormDTO;
import com.epmet.dto.form.LoginUserDetailsFormDTO;
import com.epmet.dto.result.FormItemResult;
import com.epmet.dto.result.LoginUserDetailsResultDTO;
import com.epmet.dto.result.OptionDTO;
import com.epmet.dto.result.ResiCategoryItemResultDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.IcResiUserEntity;
import com.epmet.entity.IcUserChangeDetailedEntity;
import com.epmet.entity.IcUserChangeRecordEntity;
import com.epmet.entity.IcUserTransferRecordEntity;
import com.epmet.enums.IcResiUserTableEnum;
import com.epmet.excel.handler.DynamicEasyExcelListener;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.feign.OperCustomizeOpenFeignClient;
import com.epmet.service.IcResiUserImportService;
import com.epmet.service.*;
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
import lombok.Data;
@ -74,7 +80,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
/**
* 居民类别items列表
*/
public static final ThreadLocal<List<String>> resiCategoryItemsCache = new ThreadLocal<>();
public static final ThreadLocal<Map<String, String>> resiCategoryItemsCache = new ThreadLocal<>();
/**
* key: itemId
@ -103,6 +109,19 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
@Autowired
private OperCustomizeOpenFeignClient operCustomizeOpenFeignClient;
@Autowired
private IcUserChangeRecordDao icUserChangeRecordDao;
@Autowired
private IcUserChangeDetailedDao icUserChangeDetailedDao;
@Autowired
private IcUserTransferRecordDao icUserTransferRecordDao;
@Autowired
private UserService userService;
/**
* @description 列信息封装
*
@ -196,10 +215,11 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
userForm.setClient(loginUserClient);
userForm.setUserId(loginUserId);
LoginUserDetailsResultDTO loginUserDetails = getResultDataOrThrowsException(epmetUserOpenFeignClient.getLoginUserDetails(userForm), ServiceConstant.EPMET_USER_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), null, null);
String currUserAgencyId = loginUserDetails.getAgencyId();
String currUserAgencyId = userService.getLoginUserDetails(
loginUserUtil.getLoginUserApp(),
loginUserUtil.getLoginUserClient(),
loginUserUtil.getLoginUserId()).getAgencyId();
//String excelPathName = "/opt/test/基础信息表/resi_info.xls";
CustomerAgencyDTO agencyInfo = getResultDataOrThrowsException(govOrgOpenFeignClient.getAgencyById(currUserAgencyId), ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), null, null);
String customerId = agencyInfo.getCustomerId();
@ -230,9 +250,15 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
// 执行人员类别变更记录
Map<String, ResiImportCategoryData> newResis = categoryChangedResi.get().getNewResis();
// todo 此处没测试
Map<String, ResiImportChangedData> categoryChangedResis = categoryChangedResi.get().getCategoryChangedResis();
Map<String, ResiImportChangedData> transferedResis = categoryChangedResi.get().getTransferedResis();
//保存调动或者变更记录
saveNewResiCategoryRecord(newResis);
saveResiCategoryChangedRecord(categoryChangedResis);
saveTransferedResiRecord(transferedResis);
try {
downLoadResults(response);
} catch (IOException e) {
@ -275,8 +301,9 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
String.format("【居民信息导入】查询居民类别items失败,customerId:%s", customerId),
"居民信息导入失败");
List<String> l = resiCategoryItems.stream().map(ResiCategoryItemResultDTO::getColumnName).collect(Collectors.toList());
resiCategoryItemsCache.set(l);
Map<String, String> columnNameAndLabel = resiCategoryItems.stream().collect(Collectors.toMap((o) -> o.getColumnName(), (o) -> o.getLabel()));
resiCategoryItemsCache.set(columnNameAndLabel);
}
/**
@ -434,7 +461,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
columnAndValues.put("ID", UUID.randomUUID().toString().replace("-", ""));
icResiUserDao.add(tableName, columnAndValues);
Map<String, String> categories = resiCategoryItemsCache.get()
Map<String, String> categories = resiCategoryItemsCache.get().keySet()
.stream()
.filter((categoryColumnName) -> "1".equals(columnAndValues.get(categoryColumnName)))
.collect(Collectors.toMap((k) -> k, (k) -> columnAndValues.get(k)));
@ -507,19 +534,6 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
String icResiId = icResiUserBaseInfo.getId();
//if (CollectionUtils.isNotEmpty(icResiUserDao.selectSubTableRecords(customerId, icResiId, targetTableName))) {
// log.info("身份证号为【{}】的居民【{}】信息已存在,跳过导入", idCard, targetTableName);
//
// SkipedRow skipedRow = new SkipedRow();
// skipedRow.setName(columnAndValues.get("NAME"));
// skipedRow.setIdCard(columnAndValues.get("ID_CARD"));
// skipedRow.setInfo("信息已存在,跳过导入");
// skipedRow.setTableName(targetTableName);
// skipedRows.get().get(targetTableName).add(skipedRow);
//
// continue;
//}
columnAndValues.put("IC_RESI_USER", icResiId);
columnAndValues.put("CUSTOMER_ID", loginUserUtil.getLoginUserCustomerId());
columnAndValues.put("UPDATED_BY", currentUserId);
@ -543,6 +557,9 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
icResiUserDao.add(targetTableName, columnAndValues);
}
// 保存到类别变更缓存中
saveSubTableInfoToCategoryChangedResiCache(icResiId, Objects.requireNonNull(IcResiUserTableEnum.getObjectByTableName(targetTableName)).getMainTableFlagColumnName());
} catch (Exception e) {
String errorMsg;
if (e instanceof RenException) {
@ -1005,36 +1022,9 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
workbook.write(response.getOutputStream());
}
public ResiImportCategoryData generateResiImportChangeData(String agencyId, String gridId, String villageId, String buildId, String unitId,
String homeId , Map<String, String> categories) {
ResiImportCategoryData ricd = new ResiImportCategoryData();
ricd.setAgencyId(agencyId);
ricd.setBuildId(buildId);
ricd.setGridId(gridId);
ricd.setVillageId(villageId);
ricd.setUnitId(unitId);
ricd.setHomeId(homeId);
ricd.setCategories(categories);
return ricd;
}
///**
// * 判断是否有组织维度的变化
// * @param existingResiMap
// * @param newResiMap
// * @return
// */
//public boolean isOrgDimChanged(Map<String, String> existingResiMap, Map<String, String> newResiMap) {
// return !existingResiMap.get("AGENCY_ID").equals(newResiMap.get("AGENCY_ID"))
// || !existingResiMap.get("GRID_ID").equals(newResiMap.get("GRID_ID"))
// || !existingResiMap.get("VILLAGE_ID").equals(newResiMap.get("VILLAGE_ID"))
// || !existingResiMap.get("BUILD_ID").equals(newResiMap.get("BUILD_ID"))
// || !existingResiMap.get("UNIT_ID").equals(newResiMap.get("UNIT_ID"))
// || !existingResiMap.get("HOME_ID").equals(newResiMap.get("HOME_ID"))
//}
/**
* 生成导入调动数据
* 1.新老数据中只要状态是1的都放入缓存
* @param existingResiMap
* @param newResiMap
* @return
@ -1055,7 +1045,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
HashMap<String, String> existingResiCategories = new HashMap<>();
HashMap<String, String> newResiCategories = new HashMap<>();
for (String categoryColumnName : resiCategoryItemsCache.get()) {
for (String categoryColumnName : resiCategoryItemsCache.get().keySet()) {
String oldCategoryValue = existingResiMap.get(categoryColumnName);
String newCategoryValue = newResiMap.get(categoryColumnName);
@ -1077,7 +1067,8 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
existingResiMap.get("HOME_ID"),
existingResiCategories);
ResiImportCategoryData newOne = new ResiImportCategoryData(existingResiMap.get("AGENCY_ID"),
ResiImportCategoryData newOne = new ResiImportCategoryData(
existingResiMap.get("AGENCY_ID"),
newResiMap.get("GRID_ID"),
newResiMap.get("VILLAGE_ID"),
newResiMap.get("BUILD_ID"),
@ -1090,6 +1081,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
/**
* 类别变更的居民信息封装
* 1.
* @param existingResiMap
* @param newResiMap
* @return
@ -1099,7 +1091,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
HashMap<String, String> oldCategories = new HashMap<>();
HashMap<String, String> newCategories = new HashMap<>();
List<String> categoryColumnNames = resiCategoryItemsCache.get();
Set<String> categoryColumnNames = resiCategoryItemsCache.get().keySet();
for (String categoryColumnName : categoryColumnNames) {
String existingColumnValue = existingResiMap.get(categoryColumnName);
String newColumnValue = newResiMap.get(categoryColumnName);
@ -1107,19 +1099,16 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
if (StringUtils.isAllBlank(existingColumnValue, newColumnValue)) {
// 都为空,则没发生变化
continue;
} else if (StringUtils.isNoneBlank(existingColumnValue, newColumnValue)) {
// 都不为空,则执行比较
} else {
// 先转为0再对比
if (StringUtils.isBlank(existingColumnValue)) existingColumnValue = "0";
if (StringUtils.isBlank(newColumnValue)) newColumnValue = "0";
if (!existingColumnValue.equals(newColumnValue)) {
oldCategories.put(categoryColumnName, existingColumnValue);
newCategories.put(categoryColumnName, newColumnValue);
continue;
}
} else {
// 一个为空一个不为空,则发生变化
oldCategories.put(categoryColumnName, existingColumnValue);
newCategories.put(categoryColumnName, newColumnValue);
}
}
if (oldCategories.size() == 0) {
@ -1145,4 +1134,491 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
return new ResiImportChangedData(oldOne, newOne);
}
/**
*
* @param icResiId 居民id
* @param columnName 该项信息在主表的列名
*/
private void saveSubTableInfoToCategoryChangedResiCache(String icResiId, String columnName) {
ResiImportResiCategoryChangedCache cc = categoryChangedResi.get();
Map<String, ResiImportCategoryData> newResis = cc.getNewResis();
Map<String, ResiImportChangedData> categoryChangedResis = cc.getCategoryChangedResis();
Map<String, ResiImportChangedData> transferedResis = cc.getTransferedResis();
ResiImportCategoryData newResi = newResis.get(icResiId);
if (newResi != null) {
//说明是新增居民
newResi.getCategories().put(columnName, "1");
return;
}
ResiImportChangedData categoryChangedData = categoryChangedResis.get(icResiId);
if (categoryChangedData != null) {
// 说明是类别变更的居民
Map<String, String> oldCategories = categoryChangedData.getOldData().getCategories();
Map<String, String> newCategories = categoryChangedData.getNewData().getCategories();
if (!oldCategories.containsKey(columnName)) {
// 没有这个类别,说明旧数据中是0,新数据中也是0,新数据改成1
oldCategories.put(columnName, "0");
newCategories.put(columnName, "1");
} else {
// 有这个类别,说明旧数据中是1,新数据中是0,新数据改成1,最后保存的时候,需要判断,新旧都是1,那么不创建变更记录
newCategories.put(columnName, "1");
}
return;
}
ResiImportChangedData transferedData = transferedResis.get(icResiId);
if (transferedData != null) {
// 说明是发生调动的居民,旧数据不用管了,新数据改成1
Map<String, String> newCategories = transferedData.getNewData().getCategories();
newCategories.put(columnName, "1");
return;
}
// 非新增,非调动,那么就是居民类别变更的,只不过变更的数据不在主sheet中,而在附sheet中
ResiImportCategoryData oldOne = new ResiImportCategoryData();
ResiImportCategoryData newOne = new ResiImportCategoryData();
oldOne.getCategories().put(columnName, "0");
newOne.getCategories().put(columnName, "1");
ResiImportChangedData cd = new ResiImportChangedData(oldOne, newOne);
categoryChangedResis.put(icResiId, cd);
}
/**
* 居民类别变更record
*/
public void saveResiCategoryChangedRecord(Map<String, ResiImportChangedData> categoryChangedResis) {
Date now = new Date();
CustomerStaffInfoCacheResult operator = CustomerStaffRedis.getStaffInfo(loginUserUtil.getLoginUserCustomerId(), loginUserUtil.getLoginUserId());
// 循环当前居民的所有类别的map
for (Map.Entry<String, ResiImportChangedData> entry : categoryChangedResis.entrySet()) {
String resiId = entry.getKey();
ResiImportCategoryData oldData = entry.getValue().getOldData();
ResiImportCategoryData newData = entry.getValue().getNewData();
Map<String, String> oldCategories = oldData.getCategories();
Map<String, String> newCategories = newData.getCategories();
StringBuilder sbBefore = new StringBuilder("");
StringBuilder sbAfter = new StringBuilder("");
//主表的语言描述
for (Map.Entry<String, String> newEntry : newCategories.entrySet()) {
String columnName = newEntry.getKey();
String newColumnValue = newEntry.getValue();
String oldColumnValue = oldCategories.get(columnName);
if (newColumnValue.equals(oldColumnValue)) {
continue;
}
String beforeValueName = "0".equals(oldColumnValue) ? "否" : "是";
String newValueName = "0".equals(newColumnValue) ? "否" : "是";
String label = resiCategoryItemsCache.get().get(columnName);
sbBefore.append(label).append(":").append(beforeValueName).append("\n");
sbAfter.append(label).append(":").append(newValueName).append("\n");
}
// 生成changeRecord并存入
IcResiUserEntity resiInfo = icResiUserDao.selectById(resiId);
IcUserChangeRecordEntity changeRecord = fillChangeRecord(loginUserUtil.getLoginUserCustomerId(), resiId, resiInfo.getName(), null, loginUserUtil.getLoginUserId(),
operator.getRealName() , sbBefore.toString(), sbAfter.toString(), "category", "类别", "", now);
icUserChangeRecordDao.insert(changeRecord);
for (Map.Entry<String, String> columnEntry : newCategories.entrySet()) {
String newValue = columnEntry.getValue();
String oldValue = oldCategories.get(columnEntry.getKey());
oldValue = oldValue == null ? "0" : oldValue;
if (newValue.equals(oldValue)) {
// 新旧值相等,跳过
continue;
}
int value = newValue.equals("1") && oldValue.equals("0") ? 1 : -1;
IcUserChangeDetailedEntity newDetail = fillChangeDetail(loginUserUtil.getLoginUserCustomerId(), resiId, changeRecord.getId(), newData.getAgencyId(),
newData.getGridId(), newData.getVillageId(), newData.getBuildId(), newData.getUnitId(),
newData.getHomeId(), "category", "类别", columnEntry.getKey(), value, resiInfo.getPids());
icUserChangeDetailedDao.insert(newDetail);
}
}
}
/**
* 保存新增居民类别记录
* @param newResis
*/
public void saveNewResiCategoryRecord(Map<String, ResiImportCategoryData> newResis) {
Date now = new Date();
CustomerStaffInfoCacheResult operator = CustomerStaffRedis.getStaffInfo(loginUserUtil.getLoginUserCustomerId(), loginUserUtil.getLoginUserId());
for (Map.Entry<String, ResiImportCategoryData> resi : newResis.entrySet()) {
String resiId = resi.getKey();
ResiImportCategoryData data = resi.getValue();
IcResiUserEntity resiInfo = icResiUserDao.selectById(resiId);
// 插入changeRecord
IcUserChangeRecordEntity changeRecord = fillChangeRecord(loginUserUtil.getLoginUserCustomerId(), resiId, resiInfo.getName(), null,
loginUserUtil.getLoginUserId(), operator.getRealName(), "-", "-",
"add", "新增", "", now);
icUserChangeRecordDao.insert(changeRecord);
// 插入changeDetail
for (Map.Entry<String, String> column : data.getCategories().entrySet()) {
IcUserChangeDetailedEntity changedetail = fillChangeDetail(loginUserUtil.getLoginUserCustomerId(), resiId, changeRecord.getId(), data.getAgencyId(),
data.getGridId(), data.getVillageId(), data.getBuildId(), data.getUnitId(),
data.getHomeId(), "add", "新增", column.getKey(), 1, resiInfo.getPids());
icUserChangeDetailedDao.insert(changedetail);
}
}
}
/**
* 调动居民变更记录
* @param transferedResis
*/
public void saveTransferedResiRecord(Map<String, ResiImportChangedData> transferedResis) {
Date now = new Date();
for (Map.Entry<String, ResiImportChangedData> resi : transferedResis.entrySet()) {
String customerId = loginUserUtil.getLoginUserCustomerId();
String resiId = resi.getKey();
ResiImportCategoryData oldData = resi.getValue().getOldData();
ResiImportCategoryData newData = resi.getValue().getNewData();
StringBuilder sbBefore = new StringBuilder();
StringBuilder sbAfter = new StringBuilder();
String oldAgencyId = oldData.getAgencyId();
String oldGridId = oldData.getGridId();
String oldvillageId = oldData.getVillageId();
String oldBuildId = oldData.getBuildId();
String oldUnitId = oldData.getUnitId();
String oldHomeId = oldData.getHomeId();
//
String newAgencyId = newData.getAgencyId();
String newGridId = newData.getGridId();
String newvillageId = newData.getVillageId();
String newBuildId = newData.getBuildId();
String newUnitId = newData.getUnitId();
String newHomeId = newData.getHomeId();
IcResiUserOrgMsgFormDTO oldOrgFormDTO = new IcResiUserOrgMsgFormDTO();
oldOrgFormDTO.setCustomerId(customerId);
oldOrgFormDTO.setAgencyId(oldData.getAgencyId());
oldOrgFormDTO.setGridId(oldData.getGridId());
oldOrgFormDTO.setNeighborHoodId(oldData.getVillageId());
oldOrgFormDTO.setBuildingId(oldData.getBuildId());
oldOrgFormDTO.setBuildingUnitId(oldData.getUnitId());
oldOrgFormDTO.setHouseId(oldData.getHomeId());
Result<IcResiUserOrgMsgResultDTO> oldOrgInfoRst = govOrgOpenFeignClient.icResiUserOrgMsg(oldOrgFormDTO);
IcResiUserOrgMsgFormDTO newOrgInfo = new IcResiUserOrgMsgFormDTO();
newOrgInfo.setCustomerId(customerId);
newOrgInfo.setAgencyId(newData.getAgencyId());
newOrgInfo.setGridId(newData.getGridId());
newOrgInfo.setNeighborHoodId(newData.getVillageId());
newOrgInfo.setBuildingId(newData.getBuildId());
newOrgInfo.setBuildingUnitId(newData.getUnitId());
newOrgInfo.setHouseId(newData.getHomeId());
Result<IcResiUserOrgMsgResultDTO> newOrgInfoRst = govOrgOpenFeignClient.icResiUserOrgMsg(newOrgInfo);
IcResiUserOrgMsgResultDTO oldOrg = null;
IcResiUserOrgMsgResultDTO newOrg = null;
if (oldOrgInfoRst.success()) {
oldOrg = oldOrgInfoRst.getData();
}
if (newOrgInfoRst.success()) {
newOrg = newOrgInfoRst.getData();
}
// 生成中文描述
if (oldOrg != null) {
CustomerGridDTO gridDTO = oldOrg.getGridDTO();
IcNeighborHoodDTO neighborHoodDTO = oldOrg.getNeighborHoodDTO();
IcBuildingDTO buildingDTO = oldOrg.getBuildingDTO();
IcBuildingUnitDTO buildingUnitDTO = oldOrg.getBuildingUnitDTO();
IcHouseDTO houseDTO = oldOrg.getHouseDTO();
if (gridDTO != null) {
sbBefore.append(gridDTO.getGridName());
}
if (neighborHoodDTO != null) {
sbBefore.append("-").append(neighborHoodDTO.getNeighborHoodName());
}
if (buildingDTO != null) {
sbBefore.append("-").append(buildingDTO.getBuildingName());
}
if (buildingUnitDTO != null) {
sbBefore.append("-").append(buildingUnitDTO.getUnitName());
}
if (houseDTO != null) {
sbBefore.append("-").append(houseDTO.getHouseName());
}
}
if (newOrg != null) {
CustomerGridDTO gridDTO = newOrg.getGridDTO();
IcNeighborHoodDTO neighborHoodDTO = newOrg.getNeighborHoodDTO();
IcBuildingDTO buildingDTO = newOrg.getBuildingDTO();
IcBuildingUnitDTO buildingUnitDTO = newOrg.getBuildingUnitDTO();
IcHouseDTO houseDTO = newOrg.getHouseDTO();
if (gridDTO != null) {
sbAfter.append(gridDTO.getGridName());
}
if (neighborHoodDTO != null) {
sbAfter.append("-").append(neighborHoodDTO.getNeighborHoodName());
}
if (buildingDTO != null) {
sbAfter.append("-").append(buildingDTO.getBuildingName());
}
if (buildingUnitDTO != null) {
sbAfter.append("-").append(buildingUnitDTO.getUnitName());
}
if (houseDTO != null) {
sbAfter.append("-").append(houseDTO.getHouseName());
}
}
CustomerStaffInfoCacheResult operator = CustomerStaffRedis.getStaffInfo(customerId, loginUserUtil.getLoginUserId());
IcResiUserEntity resiInfo = icResiUserDao.selectById(resiId);
// 保存 transferRecord
IcUserTransferRecordEntity transferRecord = fillTransferRecord(resiInfo, operator, customerId, oldAgencyId, oldGridId,
oldvillageId, oldBuildId, oldUnitId, oldHomeId, customerId,
newAgencyId, newGridId, newvillageId, newBuildId, newUnitId, newHomeId, oldOrg, newOrg);
icUserTransferRecordDao.insert(transferRecord);
// 保存 changeRecord
IcUserChangeRecordEntity changeRecord = fillChangeRecord(customerId, resiId, resiInfo.getName(), transferRecord.getId(), operator.getStaffId(),
operator.getRealName(), sbBefore.toString(), sbAfter.toString(), "transfer", "调动", "", now);
icUserChangeRecordDao.insert(changeRecord);
// 保存 changeDetail
for (Map.Entry<String, String> oldCategories : oldData.getCategories().entrySet()) {
String key = oldCategories.getKey();
String value = oldCategories.getValue();
// 之前是这个类型,那这个类型需要-1
IcUserChangeDetailedEntity changeDetail = fillChangeDetail(customerId, resiId, changeRecord.getId(), oldData.getAgencyId(),
oldData.getGridId(), oldData.getVillageId(), oldData.getBuildId(), oldData.getUnitId(),
oldData.getHomeId(), "category", "调动", key, -1, resiInfo.getPids());
icUserChangeDetailedDao.insert(changeDetail);
}
for (Map.Entry<String, String> newCategories : newData.getCategories().entrySet()) {
String key = newCategories.getKey();
String value = newCategories.getValue();
// 现在是这个类型,这个类型要+1
IcUserChangeDetailedEntity changeDetail = fillChangeDetail(customerId, resiId, changeRecord.getId(), newData.getAgencyId(),
newData.getGridId(), newData.getVillageId(), newData.getBuildId(), newData.getUnitId(),
newData.getHomeId(), "category", "调动", key, 1, resiInfo.getPids());
icUserChangeDetailedDao.insert(changeDetail);
}
}
}
/**
* 填充变更明细
* @param customerId
* @param resiId
* @param changeRecordId
* @param agencyId
* @param gridId
* @param neighborhoodId
* @param buildingId
* @param initId
* @param houseId
* @param type
* @param typeName
* @param fieldName
* @param value
* @param pids
* @return
*/
private IcUserChangeDetailedEntity fillChangeDetail(String customerId, String resiId, String changeRecordId, String agencyId, String gridId,
String neighborhoodId, String buildingId, String initId, String houseId,
String type, String typeName, String fieldName, Integer value, String pids) {
IcUserChangeDetailedEntity detail = new IcUserChangeDetailedEntity();
detail.setCustomerId(customerId);
detail.setIcUserChangeRecordId(changeRecordId);
detail.setPids(pids);
detail.setAgencyId(agencyId);
detail.setGridId(gridId);
detail.setNeighborHoodId(neighborhoodId);
detail.setBuildingId(buildingId);
detail.setBuildingUnitId(initId);
detail.setHouseId(houseId);
detail.setIcUserId(resiId);
detail.setType(type);
detail.setTypeName(typeName);
detail.setFieldName(fieldName);
detail.setValue(value);
return detail;
}
/**
* 填充变更记录
* @param customerId
* @param resiId
* @param resiName
* @param transferRecordId
* @param operatorId
* @param operatorName
* @param beforeChangeName
* @param afterChangeName
* @param type
* @param typeName
* @param remark
* @param changeTime
* @return
*/
private IcUserChangeRecordEntity fillChangeRecord(String customerId, String resiId, String resiName, String transferRecordId,
String operatorId, String operatorName, String beforeChangeName, String afterChangeName,
String type, String typeName, String remark, Date changeTime) {
IcUserChangeRecordEntity changeRecord = new IcUserChangeRecordEntity();
changeRecord.setAfterChangeName(afterChangeName);
changeRecord.setBeforeChangeName(beforeChangeName);
changeRecord.setChangeTime(changeTime);
changeRecord.setCustomerId(customerId);
changeRecord.setIcUserId(resiId);
changeRecord.setIcUserName(resiName);
changeRecord.setIcUserTransferRecordId(transferRecordId);
changeRecord.setOperatorId(operatorId);
changeRecord.setOperatorName(operatorName);
changeRecord.setRemark(remark);
changeRecord.setType(type);
changeRecord.setTypeName(typeName);
return changeRecord;
}
/**
* 填充调动记录
* @param resiInfo
* @param operator
* @param oldCustomerId
* @param oldAgencyId
* @param oldGridId
* @param oldVillageId
* @param oldBuildId
* @param oldUnitId
* @param oldHomeId
* @param newCustomerId
* @param newAgencyId
* @param newGridId
* @param newVillageId
* @param newBuildId
* @param newUnitId
* @param newHomeId
* @return
*/
private IcUserTransferRecordEntity fillTransferRecord(IcResiUserEntity resiInfo, CustomerStaffInfoCacheResult operator, String oldCustomerId, String oldAgencyId, String oldGridId,
String oldVillageId, String oldBuildId, String oldUnitId, String oldHomeId, String newCustomerId,
String newAgencyId, String newGridId, String newVillageId, String newBuildId, String newUnitId,
String newHomeId, IcResiUserOrgMsgResultDTO oldOrg, IcResiUserOrgMsgResultDTO newOrg) {
IcUserTransferRecordEntity recordEntity = new IcUserTransferRecordEntity();
recordEntity.setIcUserId(resiInfo.getId());
recordEntity.setOperatorId(operator.getStaffId());
recordEntity.setIcUserName(resiInfo.getName());
recordEntity.setOperatorName(operator.getRealName());
recordEntity.setOldCustomerId(oldCustomerId);
recordEntity.setOldAgencyId(oldAgencyId);
recordEntity.setOldAgencyName(oldOrg != null ? oldOrg.getAgencyDTO().getOrganizationName() : "");
recordEntity.setOldGridId(oldGridId);
recordEntity.setOldGridName(oldOrg != null ? oldOrg.getGridDTO().getGridName() : "");
recordEntity.setOldNeighborHoodId(oldVillageId);
recordEntity.setOldNeighborHoodName(oldOrg != null ? oldOrg.getNeighborHoodDTO().getNeighborHoodName() : "");
recordEntity.setOldBuildingId(oldBuildId);
recordEntity.setOldBuildingName(oldOrg != null ? oldOrg.getBuildingDTO().getBuildingName() : "");
recordEntity.setOldBuildingUnitId(oldUnitId);
recordEntity.setOldBuildingUnitName(oldOrg != null ? oldOrg.getBuildingUnitDTO().getUnitName() : "");
recordEntity.setOldHouseId(oldHomeId);
recordEntity.setOldHouseName(oldOrg != null ? oldOrg.getHouseDTO().getHouseName() : "");
recordEntity.setTransferTime(new Date());
recordEntity.setRemark("");
recordEntity.setNewCustomerId(newCustomerId);
recordEntity.setNewAgencyId(newAgencyId);
recordEntity.setNewAgencyName(newOrg != null ? newOrg.getAgencyDTO().getOrganizationName(): "");
recordEntity.setNewGridId(newGridId);
recordEntity.setNewGridName(newOrg != null ? newOrg.getGridDTO().getGridName(): "");
recordEntity.setNewNeighborHoodId(newVillageId);
recordEntity.setNewNeighborHoodName(newOrg != null ? newOrg.getNeighborHoodDTO().getNeighborHoodName(): "");
recordEntity.setNewBuildingId(newBuildId);
recordEntity.setNewBuildingName(newOrg != null ? newOrg.getBuildingDTO().getBuildingName(): "");
recordEntity.setNewBuildingUnitId(newUnitId);
recordEntity.setNewBuildingUnitName(newOrg != null ? newOrg.getBuildingUnitDTO().getUnitName(): "");
recordEntity.setNewHouseId(newHomeId);
recordEntity.setNewHouseName(newOrg != null ? newOrg.getHouseDTO().getHouseName(): "");
return recordEntity;
}
//private IcUserTransferRecordEntity fillTransferRecord(String resiId, String resiName, String operatorId, String operatorName, String oldCustomerId,
// String oldAgencyId, String oldAgencyName, String oldGridId, String oldGridName, String neighborhoodId,
// String neighborhoodName, String oldBuildingId, String oldBuildingName, ) {
//IcUserTransferRecordEntity recordEntity = new IcUserTransferRecordEntity();
//recordEntity.setIcUserId();
//recordEntity.setOperatorId();
//recordEntity.setIcUserName();
//recordEntity.setOperatorName();
//recordEntity.setOldCustomerId();
//recordEntity.setOldAgencyId();
//recordEntity.setOldAgencyName();
//recordEntity.setOldGridId();
//recordEntity.setOldGridName();
//recordEntity.setOldNeighborHoodId();
//recordEntity.setOldNeighborHoodName();
//recordEntity.setOldBuildingId();
//recordEntity.setOldBuildingName();
//recordEntity.setOldBuildingUnitId();
//recordEntity.setOldBuildingUnitName();
//recordEntity.setOldHouseId();
//recordEntity.setOldHouseName();
//recordEntity.setTransferTime();
//recordEntity.setRemark();
//recordEntity.setNewCustomerId();
//recordEntity.setNewAgencyId();
//recordEntity.setNewAgencyName();
//recordEntity.setNewGridId();
//recordEntity.setNewGridName();
//recordEntity.setNewNeighborHoodId();
//recordEntity.setNewNeighborHoodName();
//recordEntity.setNewBuildingId();
//recordEntity.setNewBuildingName();
//recordEntity.setNewBuildingUnitId();
//recordEntity.setNewBuildingUnitName();
//recordEntity.setNewHouseId();
//recordEntity.setNewHouseName();
//}
}

35
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);
}
List<IcFormResColumnDTO> resultColumns = resultColumnRes.getData();
// 查询结果列对应的表:
Set<String> resultColumnTables=resultColumns.stream().map(IcFormResColumnDTO::getTableName).collect(Collectors.toSet());
// 查询列表展示项需要用到哪些子表
Result<List<String>> subTablesRes=operCustomizeOpenFeignClient.querySubTables(queryDTO1);
List<String> subTables =subTablesRes.getData();
Result<List<SubTableJoinDTO>> subTablesRes=operCustomizeOpenFeignClient.querySubTables(queryDTO1);
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<>();
if (null == formDTO.getPageFlag()||formDTO.getPageFlag()) {
//分页
@ -505,14 +525,15 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
formDTO.getFormCode(),
formDTO.getConditions(),
resultColumns,
subTables,
finalSubTables,
staffInfoCacheResult.getAgencyId(), finalStaffOrgPath,null, formDTO.getKeyword()));
}else{
List<Map<String,Object>> list=baseDao.selectListResiMap(formDTO.getCustomerId(),
formDTO.getFormCode(),
formDTO.getConditions(),
resultColumns,
subTables,staffInfoCacheResult.getAgencyId(),
finalSubTables,
staffInfoCacheResult.getAgencyId(),
staffOrgPath,null, formDTO.getKeyword());
pageInfo.setTotal(CollectionUtils.isEmpty(list)?NumConstant.ZERO:list.size());
pageInfo.setList(list);
@ -575,7 +596,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
}
resultMap.put(UserConstant.HOME_ID, neighBorName.concat(buildName).concat(unitName).concat(doorName));
resultMap.put("CATEGORY_NAME",queryUserDemandName(formDTO.getCustomerId(),(String) resultMap.get("icResiUserId")));
// resultMap.put("CATEGORY_NAME",queryUserDemandName(formDTO.getCustomerId(),(String) resultMap.get("icResiUserId")));
}
if (resultMap.containsKey(UserConstant.GENDER)) {
@ -672,10 +693,10 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
queryDTO.setCustomerId(customerId);
queryDTO.setFormCode(formCode);
//所有的子表
Result<List<String>> subTablesRes=operCustomizeOpenFeignClient.querySubTables(queryDTO);
Result<List<SubTableJoinDTO>> subTablesRes=operCustomizeOpenFeignClient.querySubTables(queryDTO);
List<String> subTables=new ArrayList<>();
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);
}

2
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java

@ -186,7 +186,7 @@ public class IcUserTransferRecordServiceImpl extends BaseServiceImpl<IcUserTrans
* @Author sun
* @Description 调动记录
**/
private IcUserTransferRecordEntity saveTransferRecord(CustomerStaffInfoCacheResult staffInfoCache, IcResiUserTransferFormDTO formDTO, IcResiUserDTO resiUserDTO, IcResiUserOrgMsgResultDTO result1, IcResiUserOrgMsgResultDTO result2) {
public IcUserTransferRecordEntity saveTransferRecord(CustomerStaffInfoCacheResult staffInfoCache, IcResiUserTransferFormDTO formDTO, IcResiUserDTO resiUserDTO, IcResiUserOrgMsgResultDTO result1, IcResiUserOrgMsgResultDTO result2) {
IcUserTransferRecordEntity recordEntity = new IcUserTransferRecordEntity();
recordEntity.setIcUserId(formDTO.getIcUserId());
recordEntity.setOperatorId(formDTO.getStaffId());

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

@ -199,7 +199,7 @@ public class StaffRoleServiceImpl extends BaseServiceImpl<StaffRoleDao, StaffRol
});
});
return new PageData<>(result,result.size());
return new PageData<>(result,count.get());
}
}

13
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsResiWarnServiceImpl.java

@ -9,6 +9,8 @@ import com.epmet.dao.IcResiUserDao;
import com.epmet.dao.IcStatsResiWarnDao;
import com.epmet.dto.IcResiCategoryStatsConfigDTO;
import com.epmet.dto.IcResiCategoryWarnConfigDTO;
import com.epmet.dto.PersonWarnLeftPieDTO;
import com.epmet.dto.form.CategoryCountListFormDTO;
import com.epmet.dto.form.IcResiCategoryStatsConfigFormDTO;
import com.epmet.dto.form.StatsResiListFormDTO;
import com.epmet.dto.result.*;
@ -195,8 +197,15 @@ public class StatsResiWarnServiceImpl implements StatsResiWarnService {
}
@Override
public List<IcStatsResiResultDTO> list2(StatsResiListFormDTO formDTO) {
return this.list(formDTO.getCustomerId(), formDTO.getId(), formDTO.getLevel());
public List<CategoryCountListResultDTO> list2(CategoryCountListFormDTO formDTO) {
if (CollectionUtils.isEmpty(formDTO.getConfigList())){
return new ArrayList<>();
}
List<PersonWarnLeftPieDTO> result = icStatsResiWarnDao.selectCategoryCount(formDTO.getConfigList(), formDTO.getOrgId());
if (CollectionUtils.isEmpty(result)){
return new ArrayList<>();
}
return ConvertUtils.sourceToTarget(result,CategoryCountListResultDTO.class);
}
/**

2
epmet-user/epmet-user-server/src/main/resources/mapper/IcStatsResiWarnDao.xml

@ -136,7 +136,7 @@
<select id="selectCategoryCount" resultType="com.epmet.dto.PersonWarnLeftPieDTO">
SELECT
CONFIG_ID,
COUNT(COUNT) AS count
SUM(COUNT) AS count
FROM ic_stats_resi_warn
WHERE DEL_FLAG = '0'
AND CONCAT(AGENCY_PIDS,':',AGENCY_ID) LIKE CONCAT('%',#{agencyId},'%')

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

@ -273,6 +273,7 @@
</select>
<select id="getStaffList" resultType="com.epmet.dto.result.CustomerGridStaffResultDTO">
SELECT
DISTINCT
cs.USER_ID,
cs.REAL_NAME userName,
cs.MOBILE,
@ -291,6 +292,7 @@
<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}

Loading…
Cancel
Save