Browse Source

Merge remote-tracking branch 'origin/dev_party_mange' into dev_party_mange

dev
wanggongfeng 3 years ago
parent
commit
f1e435d3a0
  1. 38
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/IcHouseFormDTO.java
  2. 37
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/PartyOrgTypeEnum.java
  3. 61
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/PartyPostEnum.java
  4. 11
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonGovOrgFeignClient.java
  5. 15
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonGovOrgFeignClientFallback.java
  6. 34
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerIcHouseRedis.java
  7. 92
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/HouseInfoCache.java
  8. 22
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/PartyTypepercentFormDTO.java
  9. 55
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/PartyUnitListbriefFormDTO.java
  10. 33
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/PartyTypepercentResultDTO.java
  11. 46
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/PartyUnitListbrieResultDTO.java
  12. 59
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyUnitController.java
  13. 29
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcPartyUnitDao.java
  14. 23
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcPartyUnitService.java
  15. 105
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyUnitServiceImpl.java
  16. 49
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcPartyUnitDao.xml
  17. 29
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/OrgTreeByUserAndTypeFormDTO.java
  18. 44
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/PartyOrgTreeResultDTO.java
  19. 12
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java
  20. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java
  21. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java
  22. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java
  23. 73
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java
  24. 19
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml
  25. 9
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java
  26. 12
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java
  27. 15
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormItemOptionsController.java
  28. 12
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/IcPartyOrgDTO.java
  29. 91
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/result/IcPartyOrgTreeDTO.java
  30. 10
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/IcPartyMemberDTO.java
  31. 84
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/form/IcPartyMemberFromDTO.java
  32. 34
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/form/PartyMemberPointEchoFormDTO.java
  33. 82
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/IcPartyMemberResultDTO.java
  34. 57
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/PartyMemberPointEchoResultDTO.java
  35. 10
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/feign/ResiPartyMemberOpenFeignClient.java
  36. 14
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/feign/fallback/ResiPartyMemberOpenFeignClientFallback.java
  37. 12
      epmet-module/resi-partymember/resi-partymember-server/pom.xml
  38. 22
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/controller/IcPartyOrgController.java
  39. 12
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/dao/IcPartyOrgDao.java
  40. 13
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/IcPartyOrgService.java
  41. 65
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/impl/IcPartyOrgServiceImpl.java
  42. 19
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberController.java
  43. 19
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberPointController.java
  44. 14
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/dao/IcPartyMemberDao.java
  45. 6
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/dao/IcPartyMemberPointDao.java
  46. 11
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/IcPartyMemberPointService.java
  47. 19
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/IcPartyMemberService.java
  48. 29
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartyMemberPointServiceImpl.java
  49. 149
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartyMemberServiceImpl.java
  50. 24
      epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partyOrg/IcPartyOrgDao.xml
  51. 89
      epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/IcPartyMemberDao.xml
  52. 22
      epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/IcPartyMemberPointDao.xml
  53. 80
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVolunteerPolyCategoryDTO.java
  54. 99
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVolunteerPolyDTO.java
  55. 23
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VolunteerPolyMapDataFormDTO.java
  56. 65
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/VolunteerPolyMapDataResultDTO.java
  57. 91
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVolunteerPolyController.java
  58. 16
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVolunteerPolyCategoryDao.java
  59. 26
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVolunteerPolyDao.java
  60. 46
      epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVolunteerPolyCategoryEntity.java
  61. 69
      epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVolunteerPolyEntity.java
  62. 78
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVolunteerPolyCategoryService.java
  63. 90
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVolunteerPolyService.java
  64. 7
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java
  65. 121
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
  66. 83
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVolunteerPolyCategoryServiceImpl.java
  67. 121
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVolunteerPolyServiceImpl.java
  68. 22
      epmet-user/epmet-user-server/src/main/resources/mapper/IcVolunteerPolyCategoryDao.xml
  69. 47
      epmet-user/epmet-user-server/src/main/resources/mapper/IcVolunteerPolyDao.xml

38
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/IcHouseFormDTO.java

@ -0,0 +1,38 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.commons.tools.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* epmet-user端调用gov-org端的入参
* @author sun
*/
@Data
public class IcHouseFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
private String customerId;
private String houseId;
}

37
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/PartyOrgTypeEnum.java

@ -0,0 +1,37 @@
package com.epmet.commons.tools.enums;
public enum PartyOrgTypeEnum {
PROVINCIAL("0", "省委"),
MUNICIPAL("1", "市委"),
DISTRICT("2", "区委"),
WORKING("3", "党工委"),
PARTY("4", "党委"),
BRANCH("5", "支部");
private String code;
private String name;
PartyOrgTypeEnum(String code, String name) {
this.code = code;
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

61
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/PartyPostEnum.java

@ -0,0 +1,61 @@
package com.epmet.commons.tools.enums;
import java.util.Objects;
/**
* @author Administrator
*/
public enum PartyPostEnum {
//党员职务
PTDY("0", "普通党员"),
ZBSJ("1", "支部书记"),
ZBWY("2", "支部委员"),
DWWY("3", "党委委员"),
UN_KNOWN("8", "未知");
private String code;
private String name;
PartyPostEnum(String code, String name) {
this.code = code;
this.name = name;
}
public static String getName(String code) {
PartyPostEnum[] partyPostEnums = values();
for (PartyPostEnum partyPostEnum : partyPostEnums) {
if (Objects.equals(partyPostEnum.getCode(), code)) {
return partyPostEnum.getName();
}
}
return PartyPostEnum.UN_KNOWN.getName();
}
public static String getCode(String name) {
PartyPostEnum[] partyPostEnums = values();
for (PartyPostEnum partyPostEnum : partyPostEnums) {
if (partyPostEnum.getName().equals(name)) {
return partyPostEnum.getCode();
}
}
return null;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

11
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonGovOrgFeignClient.java

@ -2,8 +2,10 @@ package com.epmet.commons.tools.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.dto.form.CustomerGridFormDTO;
import com.epmet.commons.tools.dto.form.IcHouseFormDTO;
import com.epmet.commons.tools.feign.fallback.CommonGovOrgFeignClientFallBackFactory;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.redis.common.bean.HouseInfoCache;
import com.epmet.commons.tools.utils.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
@ -26,4 +28,13 @@ public interface CommonGovOrgFeignClient {
@PostMapping("/gov/org/grid/getbaseinfo")
Result<GridInfoCache> getGridInfo(@RequestBody CustomerGridFormDTO customerGridFormDTO);
/**
* @Description 查询房屋信息
* @Param houseInfo
* @Return {@link Result<HouseInfoCache>}
* @Author zhaoqifeng
* @Date 2022/5/18 14:29
*/
@PostMapping("/gov/org/house/getHouseInfoCache")
Result<HouseInfoCache> getHouseInfoCache(@RequestBody IcHouseFormDTO houseInfo);
}

15
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonGovOrgFeignClientFallback.java

@ -2,8 +2,10 @@ package com.epmet.commons.tools.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.dto.form.CustomerGridFormDTO;
import com.epmet.commons.tools.dto.form.IcHouseFormDTO;
import com.epmet.commons.tools.feign.CommonGovOrgFeignClient;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.redis.common.bean.HouseInfoCache;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import org.springframework.stereotype.Component;
@ -22,5 +24,18 @@ public class CommonGovOrgFeignClientFallback implements CommonGovOrgFeignClient
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGridInfo", customerGridFormDTO);
}
/**
* @param houseInfo
* @Description 查询房屋信息
* @Param houseInfo
* @Return {@link Result< HouseInfoCache >}
* @Author zhaoqifeng
* @Date 2022/5/18 14:29
*/
@Override
public Result<HouseInfoCache> getHouseInfoCache(IcHouseFormDTO houseInfo) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getHouseInfoCache", houseInfo);
}
}

34
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerIcHouseRedis.java

@ -1,11 +1,14 @@
package com.epmet.commons.tools.redis.common;
import cn.hutool.core.bean.BeanUtil;
import com.epmet.commons.tools.dto.form.IcHouseFormDTO;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.feign.CommonAggFeignClient;
import com.epmet.commons.tools.feign.CommonGovOrgFeignClient;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.redis.common.bean.BuildingInfoCache;
import com.epmet.commons.tools.redis.common.bean.HouseInfoCache;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import lombok.extern.slf4j.Slf4j;
@ -28,6 +31,8 @@ public class CustomerIcHouseRedis {
private RedisUtils redisUtils;
@Autowired
private CommonAggFeignClient commonAggFeignClient;
@Autowired
private CommonGovOrgFeignClient govOrgFeignClient;
private static CustomerIcHouseRedis customerIcHouseRedis;
@PostConstruct
@ -62,6 +67,35 @@ public class CustomerIcHouseRedis {
return buildInfoResult.getData();
}
/**
* @Description 获取房屋信息
* @Param customerId
* @Param houseId
* @Return {@link HouseInfoCache}
* @Author zhaoqifeng
* @Date 2022/5/18 14:37
*/
public static HouseInfoCache getHouseInfo(String customerId, String houseId){
String key = RedisKeys.getHouseInfoCacheKey(houseId,customerId);
Map<String, Object> house = customerIcHouseRedis.redisUtils.hGetAll(key);
if (!MapUtils.isEmpty(house)) {
return ConvertUtils.mapToEntity(house, HouseInfoCache.class);
}
IcHouseFormDTO formDTO = new IcHouseFormDTO();
formDTO.setCustomerId(customerId);
formDTO.setHouseId(houseId);
Result<HouseInfoCache> houseInfoResult = customerIcHouseRedis.govOrgFeignClient.getHouseInfoCache(formDTO);
if (!houseInfoResult.success()){
throw new RenException("查询房屋信息失败...");
}
if (null == houseInfoResult.getData()){
return null;
}
Map<String, Object> map = BeanUtil.beanToMap(houseInfoResult.getData(), false, true);
customerIcHouseRedis.redisUtils.hMSet(key, map);
return houseInfoResult.getData();
}
public static void delBuildingInfo(String buildingId){
String key = RedisKeys.getBuildingInfoKey(buildingId);
customerIcHouseRedis.redisUtils.delete(key);

92
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/HouseInfoCache.java

@ -0,0 +1,92 @@
package com.epmet.commons.tools.redis.common.bean;
import lombok.Data;
import java.io.Serializable;
/**
* 房屋信息缓存
* @author Administrator
*/
@Data
public class HouseInfoCache implements Serializable {
/**
* 所属家庭Id
*/
private String homeId;
/**
* 小区详细地址
*/
private String neighborAddress;
/**
* 小区id
*/
private String neighborHoodId;
/**
* 小区名称
*/
private String neighborHoodName;
/**
* 所属楼栋id
*/
private String buildingId;
/**
* 楼栋名称
*/
private String buildingName;
/**
* 所属单元id
*/
private String buildingUnitId;
/**
* 单元名
*/
private String unitName;
/**
* 门牌号
*/
private String doorName;
/**
* 房屋类型1楼房2平房3别墅
*/
private String houseType;
private String houseName;
/**
* 楼的经度
*/
private String buildingLongitude;
/**
* 楼的纬度
*/
private String buildingLatitude;
/**
* 小区名+楼栋名+单元名+房屋名
*/
private String allName;
private String customerId;
/**
* 小区所在的组织id
*/
private String agencyId;
/**
* eg市北区-阜新路街道-南宁社区
*/
private String agencyPathName;
/**
* 组织的area_code
*/
private String areaCode;
}

22
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/PartyTypepercentFormDTO.java

@ -0,0 +1,22 @@
package com.epmet.dto.form;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PartyTypepercentFormDTO {
private static final long serialVersionUID = -3833404131164761022L;
/**
* 组织id
*/
@NotBlank(message = "组织id不能为空")
private String agencyId;
}

55
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/PartyUnitListbriefFormDTO.java

@ -0,0 +1,55 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PartyUnitListbriefFormDTO extends PageFormDTO implements Serializable {
private static final long serialVersionUID = -2776705671944626707L;
/**
* 网格id
*/
private String gridId;
/**
* 组织id
*/
@NotBlank(message = "组织id不能为空")
private String agencyId;
/**
* 单位名称
*/
private String unitName;
/**
* 服务事项
*/
private String serviceMatter;
/**
* 分类
*/
private String type;
/**
* 联系人
*/
private String contact;
/**
* 联系人电话
*/
private String contactMobile;
}

33
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/PartyTypepercentResultDTO.java

@ -0,0 +1,33 @@
package com.epmet.dto.result;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PartyTypepercentResultDTO {
private static final long serialVersionUID = -5256798094892121661L;
/**
* 联建单位类型
*/
private String label;
/**
* 数量
*/
private Integer value;
/**
* 联建单位编码
*/
private String code;
/**
* 联建单位数量占比(%)
*/
private String percent;
}

46
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/PartyUnitListbrieResultDTO.java

@ -0,0 +1,46 @@
package com.epmet.dto.result;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PartyUnitListbrieResultDTO implements Serializable {
private static final long serialVersionUID = -300315089751537091L;
/**
* id
*/
private String id;
/**
* 所属网格
*/
private String gridName;
/**
* 所属网格id
*/
private String gridId;
/**
* 分类
*/
private String type;
/**
* 服务事项
*/
private String serviceMatter;
/**
* 单位名称
*/
private String unitName;
}

59
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyUnitController.java

@ -33,12 +33,12 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.constants.ImportTaskConstants;
import com.epmet.dto.IcPartyUnitDTO;
import com.epmet.dto.form.ImportTaskCommonFormDTO;
import com.epmet.dto.form.PartyActivityFormDTO;
import com.epmet.dto.form.PartyUnitFormDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.form.demand.ServiceQueryFormDTO;
import com.epmet.dto.result.ImportTaskCommonResultDTO;
import com.epmet.dto.result.PartyTypepercentResultDTO;
import com.epmet.dto.result.PartyUnitDistributionResultDTO;
import com.epmet.dto.result.PartyUnitListbrieResultDTO;
import com.epmet.dto.result.demand.OptionDTO;
import com.epmet.excel.IcPartyUnitExcel;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
@ -53,6 +53,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.nio.file.Path;
import java.util.ArrayList;
@ -85,14 +86,14 @@ public class IcPartyUnitController {
@PostMapping("list")
public Result<PageData<IcPartyUnitDTO>> search(@LoginUser TokenDto tokenDto, @RequestBody PartyUnitFormDTO formDTO){
public Result<PageData<IcPartyUnitDTO>> search(@LoginUser TokenDto tokenDto, @RequestBody PartyUnitFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId());
PageData<IcPartyUnitDTO> page = icPartyUnitService.search(formDTO);
return new Result<PageData<IcPartyUnitDTO>>().ok(page);
}
@PostMapping("detail")
public Result<IcPartyUnitDTO> get(@RequestBody IcPartyUnitDTO formDTO){
public Result<IcPartyUnitDTO> get(@RequestBody IcPartyUnitDTO formDTO) {
AssertUtils.isBlank(formDTO.getId(), "id");
IcPartyUnitDTO data = icPartyUnitService.get(formDTO.getId());
return new Result<IcPartyUnitDTO>().ok(data);
@ -100,7 +101,7 @@ public class IcPartyUnitController {
@PostMapping("save")
@NoRepeatSubmit
public Result save(@LoginUser TokenDto tokenDto, @RequestBody IcPartyUnitDTO dto){
public Result save(@LoginUser TokenDto tokenDto, @RequestBody IcPartyUnitDTO dto) {
//效验数据
dto.setCustomerId(tokenDto.getCustomerId());
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
@ -109,7 +110,7 @@ public class IcPartyUnitController {
}
@PostMapping("delete")
public Result delete(@RequestBody IcPartyUnitDTO dto){
public Result delete(@RequestBody IcPartyUnitDTO dto) {
//效验数据
AssertUtils.isBlank(dto.getId(), "id");
icPartyUnitService.delete(dto.getId());
@ -149,21 +150,22 @@ public class IcPartyUnitController {
* @return
*/
@PostMapping("servicelist")
public Result<List<OptionDTO>> queryServiceList(@LoginUser TokenDto tokenDto, @RequestBody ServiceQueryFormDTO formDTO){
public Result<List<OptionDTO>> queryServiceList(@LoginUser TokenDto tokenDto, @RequestBody ServiceQueryFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setStaffId(tokenDto.getUserId());
ValidatorUtils.validateEntity(formDTO,ServiceQueryFormDTO.AddUserInternalGroup.class);
ValidatorUtils.validateEntity(formDTO, ServiceQueryFormDTO.AddUserInternalGroup.class);
return new Result<List<OptionDTO>>().ok(icPartyUnitService.queryServiceList(formDTO));
}
@PostMapping("option")
public Result<List<OptionDTO>> option(@RequestBody IcPartyUnitDTO dto){
public Result<List<OptionDTO>> option(@RequestBody IcPartyUnitDTO dto) {
AssertUtils.isBlank(dto.getAgencyId(), "agencyId");
return new Result<List<OptionDTO>>().ok(icPartyUnitService.option(dto));
}
/**
* 数据导入
*
* @Param tokenDto
* @Param response
* @Param file
@ -215,7 +217,7 @@ public class IcPartyUnitController {
* @Date 2021/12/8 14:52
*/
@PostMapping("typestatistics")
public Result<List<OptionDataResultDTO>> typeStatistics(@RequestBody PartyActivityFormDTO formDTO){
public Result<List<OptionDataResultDTO>> typeStatistics(@RequestBody PartyActivityFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return new Result<List<OptionDataResultDTO>>().ok(icPartyUnitService.typeStatistics(formDTO));
}
@ -228,11 +230,40 @@ public class IcPartyUnitController {
* @Date 2021/12/9 10:11
*/
@PostMapping("distribution")
public Result<List<PartyUnitDistributionResultDTO>> distribution(@RequestBody PartyActivityFormDTO formDTO){
public Result<List<PartyUnitDistributionResultDTO>> distribution(@RequestBody PartyActivityFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return new Result<List<PartyUnitDistributionResultDTO>>().ok(icPartyUnitService.distribution(formDTO));
}
/**
* 联建单位-简要信息列表
*
* @param form
* @return com.epmet.commons.tools.utils.Result<com.epmet.commons.tools.page.PageData>
* @author LZN
* @date 2022/5/18 13:54
*/
@PostMapping("/listbrief")
public Result<PageData> getListbrief(@RequestBody PartyUnitListbriefFormDTO form, @LoginUser TokenDto tokenDto) {
ValidatorUtils.validateEntity(form);
PageData data = icPartyUnitService.getListbrief(form, tokenDto);
return new Result<PageData>().ok(data);
}
/**
* 联建单位-按分类统计数量及占比
*
* @param form
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.dto.result.PartyTypepercentResultDTO>>
* @author LZN
* @date 2022/5/18 16:42
*/
@PostMapping("/statistics/typepercent")
public Result<List<PartyTypepercentResultDTO>> getTypepercent(@RequestBody PartyTypepercentFormDTO form) {
ValidatorUtils.validateEntity(form);
List<PartyTypepercentResultDTO> dto = icPartyUnitService.getTypepercent(form);
return new Result<List<PartyTypepercentResultDTO>>().ok(dto);
}
/**
* 计算区域化党建单位的群众满意度
@ -241,8 +272,8 @@ public class IcPartyUnitController {
* @return
*/
@PostMapping("cal-partyunit-satisfation")
public Result calPartyUnitSatisfation(@RequestBody ServerSatisfactionCalFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO,ServerSatisfactionCalFormDTO.AddUserInternalGroup.class);
public Result calPartyUnitSatisfation(@RequestBody ServerSatisfactionCalFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, ServerSatisfactionCalFormDTO.AddUserInternalGroup.class);
icPartyUnitService.calPartyUnitSatisfation(formDTO);
return new Result();
}

29
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcPartyUnitDao.java

@ -19,7 +19,11 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.commons.tools.dto.result.OptionDataResultDTO;
import com.epmet.dto.form.PartyTypepercentFormDTO;
import com.epmet.dto.form.PartyUnitListbriefFormDTO;
import com.epmet.dto.result.PartyTypepercentResultDTO;
import com.epmet.dto.result.PartyUnitDistributionResultDTO;
import com.epmet.dto.result.PartyUnitListbrieResultDTO;
import com.epmet.dto.result.demand.OptionDTO;
import com.epmet.entity.IcPartyUnitEntity;
import org.apache.ibatis.annotations.Mapper;
@ -39,22 +43,24 @@ public interface IcPartyUnitDao extends BaseDao<IcPartyUnitEntity> {
/**
* 需求指派选择区域化党建单位调用此接口
*
* @param agencyIds
* @param unitName
* @return
*/
List<OptionDTO> selectListByAgencyId(@Param("agencyIds") List<String> agencyIds,
@Param("unitName") String unitName,
@Param("customerId")String customerId);
@Param("customerId") String customerId);
/**
* 单位分类统计
*
* @Param agencyId
* @Return {@link java.util.List<com.epmet.commons.tools.dto.result.OptionDataResultDTO>}
* @Author zhaoqifeng
* @Date 2021/12/8 15:25
*/
List<OptionDataResultDTO> getTypeStatistics(@Param("agencyId")String agencyId);
List<OptionDataResultDTO> getTypeStatistics(@Param("agencyId") String agencyId);
/**
* @Description 联建单位分布
@ -63,7 +69,24 @@ public interface IcPartyUnitDao extends BaseDao<IcPartyUnitEntity> {
* @Author zhaoqifeng
* @Date 2021/12/9 14:24
*/
List<PartyUnitDistributionResultDTO> getDistribution(@Param("agencyId")String agencyId);
List<PartyUnitDistributionResultDTO> getDistribution(@Param("agencyId") String agencyId);
int updateSatisfaction(@Param("partyUnitId") String serverId, @Param("satisfaction") BigDecimal satisfaction);
/**
* 联建单位-简要信息列表
*
* @param form
* @return java.util.List<com.epmet.dto.result.PartyUnitListbrieResultDTO>
* @author LZN
* @date 2022/5/18 13:54
*/
List<PartyUnitListbrieResultDTO> getListbrief(PartyUnitListbriefFormDTO form, String customerId);
/**
* 联建单位-按分类统计数量及占比
*
* @param agencyId
*/
List<PartyTypepercentResultDTO> getTypepercent(@Param("agencyId") String agencyId);
}

23
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcPartyUnitService.java

@ -24,9 +24,13 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.IcPartyUnitDTO;
import com.epmet.dto.form.PartyActivityFormDTO;
import com.epmet.dto.form.PartyTypepercentFormDTO;
import com.epmet.dto.form.PartyUnitFormDTO;
import com.epmet.dto.form.PartyUnitListbriefFormDTO;
import com.epmet.dto.form.demand.ServiceQueryFormDTO;
import com.epmet.dto.result.PartyTypepercentResultDTO;
import com.epmet.dto.result.PartyUnitDistributionResultDTO;
import com.epmet.dto.result.PartyUnitListbrieResultDTO;
import com.epmet.dto.result.demand.OptionDTO;
import com.epmet.entity.IcPartyUnitEntity;
import org.springframework.web.multipart.MultipartFile;
@ -81,7 +85,7 @@ public interface IcPartyUnitService extends BaseService<IcPartyUnitEntity> {
* @author generator
* @date 2021-11-19
*/
void save(TokenDto tokenDto, IcPartyUnitDTO dto);
void save(TokenDto tokenDto, IcPartyUnitDTO dto);
/**
@ -124,6 +128,7 @@ public interface IcPartyUnitService extends BaseService<IcPartyUnitEntity> {
/**
* 导入数据
*
* @Param tokenDto
* @Param response
* @Param file
@ -144,6 +149,7 @@ public interface IcPartyUnitService extends BaseService<IcPartyUnitEntity> {
/**
* 联建单位分布
*
* @Param formDTO
* @Return {@link List< PartyUnitDistributionResultDTO>}
* @Author zhaoqifeng
@ -153,9 +159,24 @@ public interface IcPartyUnitService extends BaseService<IcPartyUnitEntity> {
/**
* 计算区域化党建单位的群众满意度
*
* @param formDTO
*/
void calPartyUnitSatisfation(ServerSatisfactionCalFormDTO formDTO);
List<IcPartyUnitEntity> queryListById(List<String> partyUnitIds);
/**
* 联建单位-简要信息列表
*
* @param form
*/
PageData getListbrief(PartyUnitListbriefFormDTO form, TokenDto tokenDto);
/**
* 联建单位-按分类统计数量及占比
*
* @param form
*/
List<PartyTypepercentResultDTO> getTypepercent(PartyTypepercentFormDTO form);
}

105
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyUnitServiceImpl.java

@ -39,7 +39,9 @@ import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
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.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.ExcelPoiUtils;
@ -48,11 +50,11 @@ import com.epmet.constant.UserDemandConstant;
import com.epmet.constants.ImportTaskConstants;
import com.epmet.dao.IcPartyUnitDao;
import com.epmet.dto.IcPartyUnitDTO;
import com.epmet.dto.form.ImportTaskCommonFormDTO;
import com.epmet.dto.form.PartyActivityFormDTO;
import com.epmet.dto.form.PartyUnitFormDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.form.demand.ServiceQueryFormDTO;
import com.epmet.dto.result.PartyTypepercentResultDTO;
import com.epmet.dto.result.PartyUnitDistributionResultDTO;
import com.epmet.dto.result.PartyUnitListbrieResultDTO;
import com.epmet.dto.result.UploadImgResultDTO;
import com.epmet.dto.result.demand.OptionDTO;
import com.epmet.dto.result.demand.ServiceStatDTO;
@ -126,10 +128,10 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl<IcPartyUnitDao, IcPa
List<IcPartyUnitEntity> list = baseDao.selectList(wrapper);
PageInfo<IcPartyUnitEntity> pageInfo = new PageInfo<>(list);
List<IcPartyUnitDTO> dtoList = ConvertUtils.sourceToTarget(list, IcPartyUnitDTO.class);
Result<Map<String, String>> unitTypeMap = epmetAdminOpenFeignClient.dictMap(DictTypeEnum.PARTY_UNIT_TYPE.getCode());
Result<Map<String, String>> unitTypeMap = epmetAdminOpenFeignClient.dictMap(DictTypeEnum.PARTY_UNIT_TYPE.getCode());
//服务事项列表从需求分类中抽离出来,改为查询ic_service_item_dict表
List<OptionDTO> serviceItemList=icServiceItemDictService.queryDictList(formDTO.getCustomerId());
Map<String, String> categoryMap=serviceItemList.stream().collect(Collectors.toMap(OptionDTO::getValue, OptionDTO::getLabel));
List<OptionDTO> serviceItemList = icServiceItemDictService.queryDictList(formDTO.getCustomerId());
Map<String, String> categoryMap = serviceItemList.stream().collect(Collectors.toMap(OptionDTO::getValue, OptionDTO::getLabel));
//获取单位积分
Map<String, Integer> pointMap = icUserDemandRecService.getServicePoint(formDTO.getCustomerId(), UserDemandConstant.PARTY_UNIT);
dtoList.forEach(item -> {
@ -140,12 +142,12 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl<IcPartyUnitDao, IcPa
} else {
item.setServiceMatterList(new ArrayList<>());
}
if(StringUtils.isBlank(item.getSatisfaction())){
if (StringUtils.isBlank(item.getSatisfaction())) {
item.setSatisfaction(StrConstant.HYPHEN);
}else{
item.setSatisfaction(new BigDecimal(item.getSatisfaction()).setScale(2,BigDecimal.ROUND_HALF_UP).toString());
} else {
item.setSatisfaction(new BigDecimal(item.getSatisfaction()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
}
item.setScore(null == pointMap.get(item.getId())?NumConstant.ZERO:pointMap.get(item.getId()));
item.setScore(null == pointMap.get(item.getId()) ? NumConstant.ZERO : pointMap.get(item.getId()));
});
return new PageData<>(dtoList, pageInfo.getTotal());
}
@ -162,10 +164,10 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl<IcPartyUnitDao, IcPa
wrapper.orderByDesc(IcPartyUnitEntity::getUpdatedTime);
List<IcPartyUnitEntity> list = baseDao.selectList(wrapper);
List<IcPartyUnitDTO> dtoList = ConvertUtils.sourceToTarget(list, IcPartyUnitDTO.class);
Result<Map<String, String>> unitTypeMap = epmetAdminOpenFeignClient.dictMap(DictTypeEnum.PARTY_UNIT_TYPE.getCode());
Result<Map<String, String>> unitTypeMap = epmetAdminOpenFeignClient.dictMap(DictTypeEnum.PARTY_UNIT_TYPE.getCode());
//服务事项列表从需求分类中抽离出来,改为查询ic_service_item_dict表
List<OptionDTO> serviceItemList=icServiceItemDictService.queryDictList(formDTO.getCustomerId());
Map<String, String> categoryMap=serviceItemList.stream().collect(Collectors.toMap(OptionDTO::getValue, OptionDTO::getLabel));
List<OptionDTO> serviceItemList = icServiceItemDictService.queryDictList(formDTO.getCustomerId());
Map<String, String> categoryMap = serviceItemList.stream().collect(Collectors.toMap(OptionDTO::getValue, OptionDTO::getLabel));
//获取单位积分
Map<String, Integer> pointMap = icUserDemandRecService.getServicePoint(formDTO.getCustomerId(), UserDemandConstant.PARTY_UNIT);
dtoList.forEach(item -> {
@ -176,13 +178,13 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl<IcPartyUnitDao, IcPa
} else {
item.setServiceMatterList(new ArrayList<>());
}
item.setScore(null == pointMap.get(item.getId())?NumConstant.ZERO:pointMap.get(item.getId()));
item.setScore(null == pointMap.get(item.getId()) ? NumConstant.ZERO : pointMap.get(item.getId()));
});
return dtoList;
}
private QueryWrapper<IcPartyUnitEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
private QueryWrapper<IcPartyUnitEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<IcPartyUnitEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
@ -198,14 +200,14 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl<IcPartyUnitDao, IcPa
//获取单位积分
Map<String, Integer> pointMap = icUserDemandRecService.getServicePoint(entity.getCustomerId(), UserDemandConstant.PARTY_UNIT);
dto.setServiceMatterList(Arrays.asList(dto.getServiceMatter().split(StrConstant.COMMA)));
dto.setScore(null == pointMap.get(id)?NumConstant.ZERO:pointMap.get(id));
dto.setScore(null == pointMap.get(id) ? NumConstant.ZERO : pointMap.get(id));
}
return dto;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(TokenDto tokenDto, IcPartyUnitDTO dto) {
public void save(TokenDto tokenDto, IcPartyUnitDTO dto) {
IcPartyUnitEntity entity = ConvertUtils.sourceToTarget(dto, IcPartyUnitEntity.class);
CustomerStaffInfoCacheResult staff = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId());
entity.setAgencyId(staff.getAgencyId());
@ -217,7 +219,7 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl<IcPartyUnitDao, IcPa
wrapper.eq(IcPartyUnitEntity::getAgencyId, entity.getAgencyId());
wrapper.eq(IcPartyUnitEntity::getUnitName, entity.getUnitName());
List<IcPartyUnitEntity> list = baseDao.selectList(wrapper);
if(StringUtils.isBlank(entity.getId())) {
if (StringUtils.isBlank(entity.getId())) {
if (CollectionUtils.isNotEmpty(list)) {
throw new EpmetException(EpmetErrorCode.PARTY_UNIT_NAME_EXITED.getCode(), EpmetErrorCode.PARTY_UNIT_NAME_EXITED.getMsg(), EpmetErrorCode.PARTY_UNIT_NAME_EXITED.getMsg());
}
@ -256,19 +258,19 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl<IcPartyUnitDao, IcPa
if (StringUtils.isNotBlank(staffInfoCacheResult.getAgencyPIds()) && !NumConstant.ZERO_STR.equals(staffInfoCacheResult.getAgencyPIds())) {
if (staffInfoCacheResult.getAgencyPIds().contains(StrConstant.COLON)) {
agencyIds.addAll(Arrays.asList(staffInfoCacheResult.getAgencyPIds().split(StrConstant.COLON)));
}else{
} else {
//当前用户属于第二级组织的人,不会有:
agencyIds.add(staffInfoCacheResult.getAgencyPIds());
}
}
agencyIds.add(staffInfoCacheResult.getAgencyId());
resultList=baseDao.selectListByAgencyId(agencyIds,formDTO.getServiceName(),formDTO.getCustomerId());
resultList = baseDao.selectListByAgencyId(agencyIds, formDTO.getServiceName(), formDTO.getCustomerId());
return resultList;
}
/**
* @Description 获取组织下单位列表
* @param dto
* @Description 获取组织下单位列表
* @Return {@link List< OptionDTO>}
* @Author zhaoqifeng
* @Date 2021/11/22 14:35
@ -345,8 +347,8 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl<IcPartyUnitDao, IcPa
if (null == staffInfoCache) {
throw new EpmetException(8000, "获取用户缓存失败");
}
List<OptionDTO> serviceItemList=icServiceItemDictService.queryDictList(tokenDto.getCustomerId());
Map<String, String> categoryMap=serviceItemList.stream().collect(Collectors.toMap(OptionDTO::getValue, OptionDTO::getLabel));
List<OptionDTO> serviceItemList = icServiceItemDictService.queryDictList(tokenDto.getCustomerId());
Map<String, String> categoryMap = serviceItemList.stream().collect(Collectors.toMap(OptionDTO::getValue, OptionDTO::getLabel));
//1.数据校验
Iterator<IcPartyUnitImportExcel> iterator = result.iterator();
while (iterator.hasNext()) {
@ -517,6 +519,7 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl<IcPartyUnitDao, IcPa
throw new RenException(result.getInternalMsg());
}
}
/**
* @param formDTO
* @Description 按类型统计单位数量
@ -541,7 +544,7 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl<IcPartyUnitDao, IcPa
OptionDataResultDTO dto = new OptionDataResultDTO();
dto.setLabel(item.getLabel());
dto.setCode(item.getValue());
dto.setValue(null == map.get(item.getValue())?NumConstant.ZERO_STR:map.get(item.getValue()));
dto.setValue(null == map.get(item.getValue()) ? NumConstant.ZERO_STR : map.get(item.getValue()));
return dto;
}).collect(Collectors.toList());
}
@ -557,7 +560,7 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl<IcPartyUnitDao, IcPa
*/
@Override
public List<PartyUnitDistributionResultDTO> distribution(PartyActivityFormDTO formDTO) {
Result<Map<String, String>> unitTypeMap = epmetAdminOpenFeignClient.dictMap(DictTypeEnum.PARTY_UNIT_TYPE.getCode());
Result<Map<String, String>> unitTypeMap = epmetAdminOpenFeignClient.dictMap(DictTypeEnum.PARTY_UNIT_TYPE.getCode());
List<PartyUnitDistributionResultDTO> list = baseDao.getDistribution(formDTO.getAgencyId());
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyList();
@ -571,29 +574,73 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl<IcPartyUnitDao, IcPa
/**
* 计算区域化党建单位的群众满意度
* 总分需求个数
*
* @param formDTO
*/
@Transactional(rollbackFor = Exception.class)
@Override
public void calPartyUnitSatisfation(ServerSatisfactionCalFormDTO formDTO) {
log.info("收到消息内容啦...." + JSON.toJSONString(formDTO));
List<ServiceStatDTO> list = icUserDemandRecService.groupByServer(formDTO.getCustomerId(), formDTO.getServerId(),formDTO.getServiceType());
List<ServiceStatDTO> list = icUserDemandRecService.groupByServer(formDTO.getCustomerId(), formDTO.getServerId(), formDTO.getServiceType());
for (ServiceStatDTO serviceStatDTO : list) {
if (0 != serviceStatDTO.getDemandCount()) {
BigDecimal result = serviceStatDTO.getTotalScore().divide(new BigDecimal(serviceStatDTO.getDemandCount()), 4, BigDecimal.ROUND_HALF_UP);
baseDao.updateSatisfaction(serviceStatDTO.getServerId(),result);
baseDao.updateSatisfaction(serviceStatDTO.getServerId(), result);
}
}
}
@Override
public List<IcPartyUnitEntity> queryListById(List<String> partyUnitIds) {
if(CollectionUtils.isNotEmpty(partyUnitIds)){
if (CollectionUtils.isNotEmpty(partyUnitIds)) {
return baseDao.selectBatchIds(partyUnitIds);
}
return Collections.EMPTY_LIST;
}
@Override
public PageData getListbrief(PartyUnitListbriefFormDTO form, TokenDto tokenDto) {
PageHelper.startPage(form.getPageNo(), form.getPageSize());
List<PartyUnitListbrieResultDTO> dto = baseDao.getListbrief(form, tokenDto.getCustomerId());
// 获取gridName
for (PartyUnitListbrieResultDTO item : dto) {
if (StringUtils.isNotEmpty(item.getGridId())) {
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(item.getGridId());
if (null != gridInfo) {
item.setGridName(gridInfo.getGridName());
}
}
}
PageInfo<PartyUnitListbrieResultDTO> info = new PageInfo<>(dto);
return new PageData<>(dto, info.getTotal());
}
@Override
public List<PartyTypepercentResultDTO> getTypepercent(PartyTypepercentFormDTO form) {
DictListFormDTO dictFromDTO = new DictListFormDTO();
dictFromDTO.setDictType(DictTypeEnum.PARTY_UNIT_TYPE.getCode());
Result<List<DictListResultDTO>> dictResult = epmetAdminOpenFeignClient.dictList(dictFromDTO);
if (!dictResult.success()) {
throw new EpmetException(dictResult.getCode());
}
List<PartyTypepercentResultDTO> result = baseDao.getTypepercent(form.getAgencyId());
Map<String, Integer> map = result.stream().collect(Collectors.toMap(PartyTypepercentResultDTO::getCode, PartyTypepercentResultDTO::getValue));
int sum = result.stream().mapToInt(PartyTypepercentResultDTO::getValue).sum();
return dictResult.getData().stream().map(item -> {
PartyTypepercentResultDTO dto = new PartyTypepercentResultDTO();
dto.setLabel(item.getLabel());
dto.setCode(item.getValue());
dto.setValue(null == map.get(item.getValue()) ? NumConstant.ZERO : map.get(item.getValue()));
dto.setPercent((Integer.parseInt(item.getValue()) * 100) / sum + "%");
return dto;
}).collect(Collectors.toList());
}
private String getServiceMatter(Map<String, String> map, String matter) {
List<String> matters = Arrays.asList(matter.split(StrConstant.COLON));
List<String> list = matters.stream().map(map::get).collect(Collectors.toList());

49
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcPartyUnitDao.xml

@ -73,6 +73,55 @@
ORDER BY
ID
</select>
<select id="getListbrief" resultType="com.epmet.dto.result.PartyUnitListbrieResultDTO">
SELECT
a.id,
b.GRID_ID,
a.UNIT_NAME,
a.type,
a.SERVICE_MATTER
FROM
ic_party_unit a
LEFT JOIN ic_party_activity b ON a.id = b.UNIT_ID
AND b.DEL_FLAG = '0'
<where>
a.DEL_FLAG = '0'
AND a.AGENCY_ID = #{agencyId}
AND a.CUSTOMER_ID = #{customerId}
<if test="gridId != null and gridId != ''">
AND b.GRID_ID = #{gridId}
</if>
<if test="unitName != null and unitName != ''">
AND a.UNIT_NAME = #{unitName}
</if>
<if test="serviceMatter != null and serviceMatter != ''">
AND a.SERVICE_MATTER = #{serviceMatter}
</if>
<if test="type != null and type != ''">
AND a.type = #{type}
</if>
<if test="contact != null and contact != ''">
AND a.CONTACT = #{contact}
</if>
<if test="contactMobile != null and contactMobile != ''">
AND a.CONTACT_MOBILE = #{contactMobile}
</if>
</where>
order by
a.CREATED_TIME
</select>
<select id="getTypepercent" resultType="com.epmet.dto.result.PartyTypepercentResultDTO">
SELECT
count( a.id ) AS value,
a.type AS CODE
FROM
ic_party_unit a
WHERE
a.DEL_FLAG = '0'
AND a.AGENCY_ID = #{agencyId}
GROUP BY
a.type
</select>
<update id="updateSatisfaction" parameterType="map">
update ic_party_unit

29
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/OrgTreeByUserAndTypeFormDTO.java

@ -0,0 +1,29 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* @program: epmet-cloud
* @description:
* @author: wangtong
* @create: 2022-05-18 16:46
**/
@Data
public class OrgTreeByUserAndTypeFormDTO implements Serializable {
@NotNull(message ="组织id不可为空")
private String agencyId;
/**
* 党组织类型 0省委,1市委,2区委,3党工委,4党委
*/
@NotNull(message ="组织类型不可为空")
private String orgType;
private List<String> orgTypeList;
}

44
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/PartyOrgTreeResultDTO.java

@ -0,0 +1,44 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @program: epmet-cloud
* @description:
* @author: wangtong
* @create: 2022-05-18 16:48
**/
@Data
public class PartyOrgTreeResultDTO implements Serializable {
/**
* 行政组织id
*/
private String id;
/**
* 行政组织pid
*/
private String pid;
/**
* 行政组织名称
*/
private String name;
/**
* 行政组织等级
*/
private String level;
/**
* 行政组织父ids
*/
private String pids;
private List<PartyOrgTreeResultDTO> children = new ArrayList<>();
}

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

@ -313,6 +313,18 @@ public class CustomerAgencyController {
return new Result<ExtStaffPermissionResultDTO>().ok(customerAgencyService.staffPermissionExt(tokenDto.getUserId()));
}
/**
* @describe: 通过用户所属的行政组织和行政类型查询下级的组织树
* @author wangtong
* @date 2022/5/18 16:50
* @params [formDto]
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.result.PartyOrgTreeResultDTO>>
*/
@GetMapping("getOrgTreeByUserAndType")
Result<List<PartyOrgTreeResultDTO>> getOrgTreeByUserAndType(OrgTreeByUserAndTypeFormDTO formDto){
return customerAgencyService.getOrgTreeByUserAndType(formDto);
}
/**
* @Description 根据组织或网格或吧部门获取组织信息
* @Param formDTO

9
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java

@ -30,11 +30,14 @@ import com.epmet.commons.tools.annotation.MaskResponse;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.dto.form.IcHouseFormDTO;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.bean.HouseInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.poi.excel.handler.ExcelFillCellMergeStrategy;
@ -288,6 +291,12 @@ public class HouseController implements ResultDataResolver {
return new Result<HouseInfoDTO>().ok(houseService.getHouseInfoDTO(tokenDto.getCustomerId(), houseId));
}
@PostMapping("getHouseInfoCache")
public Result<HouseInfoCache> getHouseInfoCache(@RequestBody IcHouseFormDTO houseInfo) {
HouseInfoDTO house = houseService.getHouseInfoDTO(houseInfo.getCustomerId(), houseInfo.getHouseId());
return new Result<HouseInfoCache>().ok(ConvertUtils.sourceToTarget(house, HouseInfoCache.class));
}
/**
* @Author sun
* @Description 人房房屋总数饼图

9
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java

@ -19,6 +19,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.form.OrgTreeByUserAndTypeFormDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerAgencyEntity;
import org.apache.ibatis.annotations.Mapper;
@ -316,5 +317,13 @@ public interface CustomerAgencyDao extends BaseDao<CustomerAgencyEntity> {
*/
List<CommunityListResultDTO> getCommunityList(@Param("customerId")String customerId, @Param("agencyId")String agencyId);
/**
* @describe: 通过用户所属的行政组织和行政类型查询下级的组织树
* @author wangtong
* @date 2022/5/18 17:23
* @params [formDto]
* @return java.util.List<com.epmet.dto.result.PartyOrgTreeResultDTO>
*/
List<PartyOrgTreeResultDTO> getOrgTreeByUserAndType(OrgTreeByUserAndTypeFormDTO formDto);
}

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

@ -288,4 +288,13 @@ public interface CustomerAgencyService extends BaseService<CustomerAgencyEntity>
* @author sun
**/
AgencyTreeResultDTO rootAgencyGridTree(String agencyId);
/**
* @describe: 通过用户所属的行政组织和行政类型查询下级的组织树
* @author wangtong
* @date 2022/5/18 16:53
* @params [formDto]
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.result.PartyOrgTreeResultDTO>>
*/
Result<List<PartyOrgTreeResultDTO>> getOrgTreeByUserAndType(OrgTreeByUserAndTypeFormDTO formDto);
}

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

@ -24,6 +24,7 @@ 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.StrConstant;
import com.epmet.commons.tools.enums.PartyOrgTypeEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException;
@ -44,6 +45,7 @@ import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.entity.CustomerDepartmentEntity;
import com.epmet.entity.CustomerGridEntity;
import com.epmet.entity.CustomerOrgParameterEntity;
import com.epmet.enums.OrgLevelEnums;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient;
@ -1442,4 +1444,75 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
return result;
}
@Override
public Result<List<PartyOrgTreeResultDTO>> getOrgTreeByUserAndType(OrgTreeByUserAndTypeFormDTO formDto) {
List<String> orgTypeList = new ArrayList<>();
//根据组织类型筛选,例如本账号所属市北区,但只筛选市北区下面的的街道组织
if(PartyOrgTypeEnum.PROVINCIAL.getCode().equals(formDto.getOrgType())){
//省委
CollectionUtils.addAll(orgTypeList,
OrgLevelEnums.PROVINCE.getLevel(),
OrgLevelEnums.CITY.getLevel(),
OrgLevelEnums.DISTRICT.getLevel(),
OrgLevelEnums.STREET.getLevel(),
OrgLevelEnums.COMMUNITY.getLevel(),
OrgLevelEnums.GRID.getLevel());
}else if(PartyOrgTypeEnum.MUNICIPAL.getCode().equals(formDto.getOrgType())){
//市委
CollectionUtils.addAll(orgTypeList,
OrgLevelEnums.CITY.getLevel(),
OrgLevelEnums.DISTRICT.getLevel(),
OrgLevelEnums.STREET.getLevel(),
OrgLevelEnums.COMMUNITY.getLevel(),
OrgLevelEnums.GRID.getLevel());
}else if(PartyOrgTypeEnum.DISTRICT.getCode().equals(formDto.getOrgType())){
//区委
CollectionUtils.addAll(orgTypeList,
OrgLevelEnums.DISTRICT.getLevel(),
OrgLevelEnums.STREET.getLevel(),
OrgLevelEnums.COMMUNITY.getLevel(),
OrgLevelEnums.GRID.getLevel());
}else if(PartyOrgTypeEnum.WORKING.getCode().equals(formDto.getOrgType())){
//党工委-街道
CollectionUtils.addAll(orgTypeList,
OrgLevelEnums.STREET.getLevel(),
OrgLevelEnums.COMMUNITY.getLevel(),
OrgLevelEnums.GRID.getLevel());
}else if(PartyOrgTypeEnum.PARTY.getCode().equals(formDto.getOrgType())){
//党委-社区
CollectionUtils.addAll(orgTypeList,
OrgLevelEnums.COMMUNITY.getLevel(),
OrgLevelEnums.GRID.getLevel());
}
formDto.setOrgTypeList(orgTypeList);
List<PartyOrgTreeResultDTO> list = baseDao.getOrgTreeByUserAndType(formDto);
return new Result<List<PartyOrgTreeResultDTO>>().ok(build(list));
}
/**
* 构建树节点
*/
public static List<PartyOrgTreeResultDTO> build(List<PartyOrgTreeResultDTO> treeNodes) {
List<PartyOrgTreeResultDTO> result = new ArrayList<>();
//list转map
Map<String, PartyOrgTreeResultDTO> nodeMap = new LinkedHashMap<>(treeNodes.size());
for(PartyOrgTreeResultDTO treeNode : treeNodes){
nodeMap.put(treeNode.getId(), treeNode);
}
for(PartyOrgTreeResultDTO node : nodeMap.values()) {
PartyOrgTreeResultDTO parent = nodeMap.get(node.getPid());
if(parent != null && !(node.getId().equals(parent.getId()))){
parent.getChildren().add(node);
continue;
}
result.add(node);
}
return result;
}
}

19
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml

@ -756,4 +756,23 @@
AND CUSTOMER_ID = #{customerId}
AND pids LIKE concat('%',#{agencyId}, '%' )
</update>
<select id="getOrgTreeByUserAndType" resultType="com.epmet.dto.result.PartyOrgTreeResultDTO">
SELECT id,
pid,
pids,
ORGANIZATION_NAME as name,
level
FROM `customer_agency`
where
DEL_FLAG='0'
and (id=#{agencyId}
or PIDS LIKE concat('%',#{agencyId}, '%' ))
<if test="orgTypeList!=null and orgTypeList.size>0">
and level IN
<foreach item="item" collection="orgTypeList" open="(" separator="," close=")">
#{item}
</foreach>
</if>
order by CREATED_TIME desc
</select>
</mapper>

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

@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
@ -170,4 +171,12 @@ public interface OperCustomizeOpenFeignClient {
@PostMapping("/oper/customize/icExportTemplate/getExcelHeaderAndSqlColumnForExport")
Result<IcCustomExportResultDTO> getExcelHeaderAndSqlColumnForExport(@RequestBody IcExportTemplateQueryFormDTO param);
/**
* 使用item相关条件查询关联的options
* @param input
* @return
*/
@PostMapping("/oper/customize/icformitemoptions/getItemConditions")
Result<Map<String, String>> getOptionsMap(@RequestBody IcFormOptionsQueryFormDTO input);
}

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

@ -12,6 +12,7 @@ import com.epmet.dto.result.*;
import com.epmet.feign.OperCustomizeOpenFeignClient;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
@ -130,4 +131,15 @@ public class OperCustomizeOpenFeignClientFallback implements OperCustomizeOpenFe
return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "getExcelHeaderAndSqlColumnForExport", param);
}
/**
* 使用item相关条件查询关联的options
*
* @param input
* @return
*/
@Override
public Result<Map<String, String>> getOptionsMap(IcFormOptionsQueryFormDTO input) {
return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "getOptionsMap", input);
}
}

15
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormItemOptionsController.java

@ -35,6 +35,7 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@ -120,5 +121,19 @@ public class IcFormItemOptionsController {
return new Result<List<IcFormItemOptionsDTO>>().ok(r);
}
@PostMapping("getItemConditions")
public Result<Map<String, String>> getOptionsMap(@RequestBody IcFormOptionsQueryFormDTO input) {
ValidatorUtils.validateEntity(input, IcFormOptionsQueryFormDTO.QueryByLabelAndCustomerIdForForm.class);
String customerId = input.getCustomerId();
String formCode = input.getFormCode();
String columnName = input.getColumnName();
Integer columnNum = input.getColumnNum();
List<IcFormItemOptionsDTO> list = icFormItemOptionsService.getOptionsByItemConditions(customerId, formCode, columnName, columnNum);
Map<String, String> map = list.stream()
.collect(Collectors.toMap(IcFormItemOptionsDTO::getOptionValue, IcFormItemOptionsDTO::getOptionLabel, (o1, o2) -> o1));
return new Result<Map<String, String>>().ok(map);
}
}

12
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/IcPartyOrgDTO.java

@ -2,6 +2,7 @@ package com.epmet.resi.partymember.dto.partyOrg;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
@ -30,6 +31,7 @@ public class IcPartyOrgDTO implements Serializable {
/**
* 党组织的上级ID,没有上级时为0
*/
@NotNull(message = "上级组织不能为空")
private String orgPid;
/**
@ -40,6 +42,7 @@ public class IcPartyOrgDTO implements Serializable {
/**
* 行政组织 机关ID
*/
private String agencyId;
/**
@ -50,11 +53,13 @@ public class IcPartyOrgDTO implements Serializable {
/**
* 党组织类型 0省委,1市委,2区委,3党工委,4党委,5支部
*/
@NotNull(message = "组织类型不能为空")
private String partyOrgType;
/**
* 组织名称
*/
@NotNull(message = "组织名称不能为空")
private String partyOrgName;
/**
@ -65,11 +70,13 @@ public class IcPartyOrgDTO implements Serializable {
/**
* 经度
*/
@NotNull(message = "经度不能为空")
private String longitude;
/**
* 纬度
*/
@NotNull(message = "纬度不能为空")
private String latitude;
/**
@ -112,4 +119,9 @@ public class IcPartyOrgDTO implements Serializable {
*/
private Date updatedTime;
/**
* 用户id
*/
private String staffId;
}

91
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/result/IcPartyOrgTreeDTO.java

@ -0,0 +1,91 @@
package com.epmet.resi.partymember.dto.partyOrg.result;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* 党组织表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-17
*/
@Data
public class IcPartyOrgTreeDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 唯一标识
*/
private String id;
/**
* 党组织的上级ID,没有上级时为0前端展示用
*/
private String pid;
/**
* 党组织的上级ID,没有上级时为0
*/
private String orgPid;
/**
* 党组织的所有上级ID,没有上级时为0
*/
private String orgPids;
/**
* 行政组织 机关ID
*/
private String agencyId;
/**
* 行政组织 机关ID
*/
private String agencyPids;
/**
* 党组织类型 0省委,1市委,2区委,3党工委,4党委,5支部
*/
private String partyOrgType;
/**
* 组织名称
*/
private String partyOrgName;
/**
* 组织编码
*/
private String partyOrgCode;
/**
* 经度
*/
private String longitude;
/**
* 纬度
*/
private String latitude;
/**
* 地址
*/
private String address;
/**
* 党组织介绍
*/
private String introduction;
private List<IcPartyOrgTreeDTO> children = new ArrayList<>();
}

10
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/IcPartyMemberDTO.java

@ -1,9 +1,13 @@
package com.epmet.resi.partymember.dto.partymember;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
@ -20,6 +24,7 @@ public class IcPartyMemberDTO implements Serializable {
/**
* 唯一标识
*/
@NotBlank(message = "当前网格id不能为空",groups ={UpdateGroup.class})
private String id;
/**
@ -50,16 +55,19 @@ public class IcPartyMemberDTO implements Serializable {
/**
* 姓名
*/
@NotBlank(message = "当前网格id不能为空",groups ={AddGroup.class, UpdateGroup.class})
private String name;
/**
* 手机号
*/
@NotBlank(message = "当前网格id不能为空",groups ={AddGroup.class, UpdateGroup.class})
private String mobile;
/**
* 身份证号
*/
@NotBlank(message = "当前网格id不能为空",groups ={AddGroup.class, UpdateGroup.class})
private String idCard;
/**
@ -116,7 +124,7 @@ public class IcPartyMemberDTO implements Serializable {
* 志愿者类型,逗号隔开
*/
private String volunteerCategory;
private String volunteerCategoryName;
private List<String> volunteerCategoryName;
/**
* 备注
*/

84
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/form/IcPartyMemberFromDTO.java

@ -0,0 +1,84 @@
package com.epmet.resi.partymember.dto.partymember.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/5/18 16:03
*/
@NoArgsConstructor
@Data
public class IcPartyMemberFromDTO extends PageFormDTO implements Serializable {
private static final long serialVersionUID = -5751720367897462952L;
private String customerId;
/**
* 所属党组织
*/
private String partyOrgId;
/**
* 姓名
*/
private String name;
/**
* 手机
*/
private String mobile;
/**
* 身份证号
*/
private String idCard;
/**
* 地址
*/
private String address;
/**
* 流动党员
*/
private String isLd;
/**
* 流动党员证号
*/
private String ldzh;
/**
* 职务
*/
private String partyZw;
/**
* 是否党员中心户
*/
private String isDyzxh;
/**
* 是否免学习
*/
private String isMxx;
/**
* 文化程度
*/
private String culture;
/**
* 是否缴费
*/
private String isPay;
/**
* 入党时间开始
*/
private String rdsjStartDate;
/**
* 入党时间结束
*/
private String rdsjEndDate;
/**
* 最后一次缴费时间开始
*/
private String payStatrDate;
/**
* 最后一次缴费时间结束
*/
private String payEndDate;
private String year;
}

34
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/form/PartyMemberPointEchoFormDTO.java

@ -0,0 +1,34 @@
package com.epmet.resi.partymember.dto.partymember.form;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PartyMemberPointEchoFormDTO implements Serializable {
private static final long serialVersionUID = 6999955563137801002L;
/**
* 年份
*/
@NotBlank(message = "年份不能为空")
private String year;
/**
* 季度
*/
@NotBlank(message = "季度不能为空")
private String quarter;
/**
* 党员id
*/
@NotBlank(message = "党员id不能为空")
private String partyMemberId;
}

82
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/IcPartyMemberResultDTO.java

@ -0,0 +1,82 @@
package com.epmet.resi.partymember.dto.partymember.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/5/18 16:33
*/
@NoArgsConstructor
@Data
public class IcPartyMemberResultDTO implements Serializable {
private static final long serialVersionUID = -4964061462850271428L;
/**
* 主键
*/
private String id;
/**
* 姓名
*/
private String name;
/**
* 身份证号
*/
private String idCard;
/**
* 手机号
*/
private String mobile;
/**
* 入党时间
*/
private String rdsj;
/**
* 所属党组织
*/
private String sszb;
/**
* 流动党员
*/
private String isLd;
/**
* 流动党员证号
*/
private String ldzh;
/**
* 职务
*/
private String partyZw;
/**
* 地址
*/
private String address;
/**
* 是否缴费
*/
private String isPay;
/**
* 最近一次缴纳党费时间
*/
private String payDate;
/**
* 文化程度
*/
private String culture;
/**
* 量化积分
*/
private String point;
/**
* 志愿者类别
*/
private String volunteerCategory;
/**
* 备注
*/
private String remark;
}

57
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/PartyMemberPointEchoResultDTO.java

@ -0,0 +1,57 @@
package com.epmet.resi.partymember.dto.partymember.result;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PartyMemberPointEchoResultDTO implements Serializable {
private static final long serialVersionUID = 195601506560614702L;
/**
* 基础积分分值
*/
private Integer basePoint;
/**
* 基础积分选项 英文逗号隔开
*/
private String baseOptions;
/**
* 民主评议积分分值
*/
private Integer reviewPoint;
/**
* 民主评议积分选项
*/
private String reviewOptions;
/**
* 激励积分分值
*/
private Integer inspirePoint;
/**
* 激励积分选项
*/
private String inspireOptions;
/**
* 警示扣分分值
*/
private Integer warnPoint;
/**
* 警示扣分选项
*/
private String warnOptions;
private String id;
}

10
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/feign/ResiPartyMemberOpenFeignClient.java

@ -2,6 +2,7 @@ package com.epmet.resi.partymember.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.resi.partymember.dto.partymember.IcPartyMemberDTO;
import com.epmet.resi.partymember.dto.partymember.PartymemberBaseInfoDTO;
import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO;
import com.epmet.resi.partymember.dto.partymember.form.DelPartyMemberBaseInfoFormDTO;
@ -114,4 +115,13 @@ public interface ResiPartyMemberOpenFeignClient {
@PostMapping("/resi/partymember/partymemberconfirmmanual/audit-reset")
Result<WarnAndPartyAuditResultDTO> partyMemberAuditReset(@RequestParam("gridId")String gridId);
/**
* @Description 同步党员信息
* @Param dto
* @Return {@link Result}
* @Author zhaoqifeng
* @Date 2022/5/18 10:41
*/
@PostMapping("/resi/partymember/icPartyMember/icPartyMemberSync")
Result icPartyMemberSync(@RequestBody IcPartyMemberDTO dto);
}

14
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/feign/fallback/ResiPartyMemberOpenFeignClientFallback.java

@ -3,6 +3,7 @@ package com.epmet.resi.partymember.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.resi.partymember.dto.partymember.IcPartyMemberDTO;
import com.epmet.resi.partymember.dto.partymember.PartymemberBaseInfoDTO;
import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO;
import com.epmet.resi.partymember.dto.partymember.form.DelPartyMemberBaseInfoFormDTO;
@ -74,4 +75,17 @@ public class ResiPartyMemberOpenFeignClientFallback implements ResiPartyMemberOp
public Result<WarnAndPartyAuditResultDTO> partyMemberAuditReset(String gridId) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "partyMemberAuditReset", gridId);
}
/**
* @param dto
* @Description 同步党员信息
* @Param dto
* @Return {@link Result}
* @Author zhaoqifeng
* @Date 2022/5/18 10:41
*/
@Override
public Result icPartyMemberSync(IcPartyMemberDTO dto) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "icPartyMemberSync", dto);
}
}

12
epmet-module/resi-partymember/resi-partymember-server/pom.xml

@ -104,6 +104,18 @@
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-admin-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>oper-customize-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

22
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/controller/IcPartyOrgController.java

@ -12,6 +12,7 @@ import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.modules.partyOrg.excel.IcPartyOrgExcel;
import com.epmet.modules.partyOrg.service.IcPartyOrgService;
import com.epmet.resi.partymember.dto.partyOrg.IcPartyOrgDTO;
import com.epmet.resi.partymember.dto.partyOrg.result.IcPartyOrgTreeDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -46,16 +47,15 @@ public class IcPartyOrgController {
}
@NoRepeatSubmit
@PostMapping("save")
@PostMapping
public Result save(@RequestBody IcPartyOrgDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
icPartyOrgService.save(dto);
return new Result();
return icPartyOrgService.save(dto);
}
@NoRepeatSubmit
@PostMapping("update")
@PutMapping
public Result update(@RequestBody IcPartyOrgDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
@ -78,5 +78,19 @@ public class IcPartyOrgController {
}
/**
* @describe: 获取党组织下拉树
* @author wangtong
* @date 2022/5/17 17:13
* @params [formDTO]
* @return com.epmet.commons.tools.utils.Result<com.epmet.commons.tools.page.PageData<com.epmet.resi.partymember.dto.partyOrg.result.IcPartyOrgTreeDTO>>
*/
@GetMapping("getTreelist")
public Result<List<IcPartyOrgTreeDTO>> getTreelist(IcPartyOrgDTO formDTO){
// ValidatorUtils.validateEntity(formDTO,IcPartyOrgDTO.AddUserInternalGroup.class, PageFormDTO.AddUserInternalGroup.class);
return icPartyOrgService.getTreelist(formDTO);
}
}

12
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/dao/IcPartyOrgDao.java

@ -2,8 +2,12 @@ package com.epmet.modules.partyOrg.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.modules.partyOrg.entity.IcPartyOrgEntity;
import com.epmet.resi.partymember.dto.partyOrg.IcPartyOrgDTO;
import com.epmet.resi.partymember.dto.partyOrg.result.IcPartyOrgTreeDTO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 党组织表
*
@ -13,4 +17,12 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface IcPartyOrgDao extends BaseDao<IcPartyOrgEntity> {
/**
* @describe: 获取组织列表
* @author wangtong
* @date 2022/5/17 19:00
* @params []
* @return java.util.List<com.epmet.resi.partymember.dto.partyOrg.result.IcPartyOrgTreeDTO>
*/
List<IcPartyOrgTreeDTO> getTreelist(IcPartyOrgDTO formDTO);
}

13
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/IcPartyOrgService.java

@ -2,8 +2,10 @@ package com.epmet.modules.partyOrg.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.modules.partyOrg.entity.IcPartyOrgEntity;
import com.epmet.resi.partymember.dto.partyOrg.IcPartyOrgDTO;
import com.epmet.resi.partymember.dto.partyOrg.result.IcPartyOrgTreeDTO;
import java.util.List;
import java.util.Map;
@ -54,7 +56,7 @@ public interface IcPartyOrgService extends BaseService<IcPartyOrgEntity> {
* @author generator
* @date 2022-05-17
*/
void save(IcPartyOrgDTO dto);
Result save(IcPartyOrgDTO dto);
/**
* 默认更新
@ -75,4 +77,13 @@ public interface IcPartyOrgService extends BaseService<IcPartyOrgEntity> {
* @date 2022-05-17
*/
void delete(String[] ids);
/**
* @describe: 获取党组织下拉树
* @author wangtong
* @date 2022/5/17 17:20
* @params [formDTO]
* @return com.epmet.commons.tools.page.PageData<com.epmet.resi.partymember.dto.partyOrg.result.IcPartyOrgTreeDTO>
*/
Result<List<IcPartyOrgTreeDTO>> getTreelist(IcPartyOrgDTO formDTO);
}

65
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/impl/IcPartyOrgServiceImpl.java

@ -4,20 +4,23 @@ 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.enums.PartyOrgTypeEnum;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
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.modules.partyOrg.dao.IcPartyOrgDao;
import com.epmet.modules.partyOrg.entity.IcPartyOrgEntity;
import com.epmet.modules.partyOrg.service.IcPartyOrgService;
import com.epmet.resi.partymember.dto.partyOrg.IcPartyOrgDTO;
import com.epmet.resi.partymember.dto.partyOrg.result.IcPartyOrgTreeDTO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* 党组织表
@ -62,15 +65,34 @@ public class IcPartyOrgServiceImpl extends BaseServiceImpl<IcPartyOrgDao, IcPart
@Override
@Transactional(rollbackFor = Exception.class)
public void save(IcPartyOrgDTO dto) {
public Result save(IcPartyOrgDTO dto) {
//如果不是支部,需要判断行政组织是否重复
if(!PartyOrgTypeEnum.BRANCH.getCode().equals(dto.getPartyOrgType())){
if(StringUtils.isBlank(dto.getAgencyId())){
return new Result().error("组织类型不为支部时,行政组织不可为空");
}
//判断行政组织是否重复
}
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(dto.getAgencyId());
if (null == agencyInfo){
throw new EpmetException("组织信息获取失败");
}
IcPartyOrgEntity entity = ConvertUtils.sourceToTarget(dto, IcPartyOrgEntity.class);
entity.setAgencyPids(agencyInfo.getPids().replaceAll(":",","));
insert(entity);
return new Result();
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(IcPartyOrgDTO dto) {
IcPartyOrgEntity entity = ConvertUtils.sourceToTarget(dto, IcPartyOrgEntity.class);
// IcPartyOrgEntity entity = ConvertUtils.sourceToTarget(dto, IcPartyOrgEntity.class);
IcPartyOrgEntity entity = baseDao.selectById(dto.getId());
entity.setPartyOrgName(dto.getPartyOrgName());
entity.setPartyOrgCode(dto.getPartyOrgCode());
entity.setIntroduction(dto.getIntroduction());
entity.setLatitude(dto.getLatitude());
entity.setLongitude(dto.getLongitude());
updateById(entity);
}
@ -81,4 +103,35 @@ public class IcPartyOrgServiceImpl extends BaseServiceImpl<IcPartyOrgDao, IcPart
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public Result<List<IcPartyOrgTreeDTO>> getTreelist(IcPartyOrgDTO formDTO) {
List<IcPartyOrgTreeDTO> list = baseDao.getTreelist(formDTO);
return new Result<List<IcPartyOrgTreeDTO>>().ok(build(list));
}
/**
* 构建树节点
*/
public static List<IcPartyOrgTreeDTO> build(List<IcPartyOrgTreeDTO> treeNodes) {
List<IcPartyOrgTreeDTO> result = new ArrayList<>();
//list转map
Map<String, IcPartyOrgTreeDTO> nodeMap = new LinkedHashMap<>(treeNodes.size());
for(IcPartyOrgTreeDTO treeNode : treeNodes){
nodeMap.put(treeNode.getId(), treeNode);
}
for(IcPartyOrgTreeDTO node : nodeMap.values()) {
IcPartyOrgTreeDTO parent = nodeMap.get(node.getOrgPid());
if(parent != null && !(node.getId().equals(parent.getId()))){
parent.getChildren().add(node);
continue;
}
result.add(node);
}
return result;
}
}

19
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberController.java

@ -1,7 +1,9 @@
package com.epmet.modules.partymember.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
@ -9,9 +11,11 @@ import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.resi.partymember.dto.partymember.IcPartyMemberDTO;
import com.epmet.modules.partymember.excel.IcPartyMemberExcel;
import com.epmet.modules.partymember.service.IcPartyMemberService;
import com.epmet.resi.partymember.dto.partymember.IcPartyMemberDTO;
import com.epmet.resi.partymember.dto.partymember.form.IcPartyMemberFromDTO;
import com.epmet.resi.partymember.dto.partymember.result.IcPartyMemberResultDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -34,9 +38,9 @@ public class IcPartyMemberController {
private IcPartyMemberService icPartyMemberService;
@RequestMapping("page")
public Result<PageData<IcPartyMemberDTO>> page(@RequestParam Map<String, Object> params){
PageData<IcPartyMemberDTO> page = icPartyMemberService.page(params);
return new Result<PageData<IcPartyMemberDTO>>().ok(page);
public Result<PageData<IcPartyMemberResultDTO>> page(@LoginUser TokenDto tokenDto, @RequestBody IcPartyMemberFromDTO formDTO){
PageData<IcPartyMemberResultDTO> page = icPartyMemberService.page(tokenDto, formDTO);
return new Result<PageData<IcPartyMemberResultDTO>>().ok(page);
}
@RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET})
@ -76,6 +80,9 @@ public class IcPartyMemberController {
ExcelUtils.exportExcelToTarget(response, null, list, IcPartyMemberExcel.class);
}
@PostMapping("icPartyMemberSync")
public Result icPartyMemberSync(@RequestBody IcPartyMemberDTO dto) {
icPartyMemberService.icPartyMemberSync(dto);
return new Result();
}
}

19
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberPointController.java

@ -15,7 +15,9 @@ import com.epmet.modules.partymember.excel.IcPartyMemberPointExcel;
import com.epmet.modules.partymember.service.IcPartyMemberPointService;
import com.epmet.resi.partymember.dto.partymember.IcPartyMemberPointDTO;
import com.epmet.resi.partymember.dto.partymember.PartyMemberPointListCountDTO;
import com.epmet.resi.partymember.dto.partymember.form.PartyMemberPointEchoFormDTO;
import com.epmet.resi.partymember.dto.partymember.form.PartyMemberPointListFormDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartyMemberPointEchoResultDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartyMemberPointListResultDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -92,8 +94,23 @@ public class IcPartyMemberPointController {
*/
@PostMapping("getList")
public Result<List<PartyMemberPointListResultDTO>> getList(@RequestBody PartyMemberPointListFormDTO form, @LoginUser TokenDto tokenDto) {
List<PartyMemberPointListResultDTO> dto = icPartyMemberPointService.getList(form,tokenDto);
List<PartyMemberPointListResultDTO> dto = icPartyMemberPointService.getList(form, tokenDto);
return new Result<List<PartyMemberPointListResultDTO>>().ok(dto);
}
/**
* 量化积分统计回显
*
* @param form
* @return com.epmet.commons.tools.utils.Result<com.epmet.resi.partymember.dto.partymember.result.PartyMemberPointEchoResultDTO>
* @author LZN
* @date 2022/5/18 18:18
*/
@PostMapping("echoPartyMemberPoint")
public Result<PartyMemberPointEchoResultDTO> getEchoPartyMemberPoint(@RequestBody PartyMemberPointEchoFormDTO form,@LoginUser TokenDto tokenDto) {
ValidatorUtils.validateEntity(form);
List<PartyMemberPointEchoResultDTO> dto = icPartyMemberPointService.getEchoPartyMemberPoint(form,tokenDto.getCustomerId());
return new Result().ok(dto);
}
}

14
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/dao/IcPartyMemberDao.java

@ -2,8 +2,12 @@ package com.epmet.modules.partymember.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.modules.partymember.entity.IcPartyMemberEntity;
import com.epmet.resi.partymember.dto.partymember.form.IcPartyMemberFromDTO;
import com.epmet.resi.partymember.dto.partymember.result.IcPartyMemberResultDTO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 数字平台党员信息表
*
@ -12,5 +16,13 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface IcPartyMemberDao extends BaseDao<IcPartyMemberEntity> {
/**
* 党员列表
*
* @Param formDTO
* @Return {@link List< IcPartyMemberResultDTO>}
* @Author zhaoqifeng
* @Date 2022/5/18 17:01
*/
List<IcPartyMemberResultDTO> selectList(IcPartyMemberFromDTO formDTO);
}

6
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/dao/IcPartyMemberPointDao.java

@ -4,6 +4,7 @@ import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.modules.partymember.entity.IcPartyMemberPointEntity;
import com.epmet.resi.partymember.dto.partymember.PartyMemberPointListCountDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartyMemberPointEchoResultDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartyMemberPointListResultDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -28,4 +29,9 @@ public interface IcPartyMemberPointDao extends BaseDao<IcPartyMemberPointEntity>
List<PartyMemberPointListCountDTO> getListCount(@Param("year") String year,
@Param("customerId") String customerId);
List<PartyMemberPointEchoResultDTO> getEchoPartyMemberPoint(@Param("partyMemberId") String partyMemberId,
@Param("quarter") String quarter,
@Param("year") String year,
@Param("customerId") String customerId);
}

11
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/IcPartyMemberPointService.java

@ -6,7 +6,9 @@ import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.modules.partymember.entity.IcPartyMemberPointEntity;
import com.epmet.resi.partymember.dto.partymember.IcPartyMemberPointDTO;
import com.epmet.resi.partymember.dto.partymember.PartyMemberPointListCountDTO;
import com.epmet.resi.partymember.dto.partymember.form.PartyMemberPointEchoFormDTO;
import com.epmet.resi.partymember.dto.partymember.form.PartyMemberPointListFormDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartyMemberPointEchoResultDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartyMemberPointListResultDTO;
@ -91,4 +93,13 @@ public interface IcPartyMemberPointService extends BaseService<IcPartyMemberPoin
*/
List<PartyMemberPointListResultDTO> getList(PartyMemberPointListFormDTO form, TokenDto tokenDto);
/**
* 量化积分统计回显
*
* @param form
* @return java.util.List<com.epmet.resi.partymember.dto.partymember.result.PartyMemberPointEchoResultDTO>
* @author LZN
* @date 2022/5/18 18:18
*/
List<PartyMemberPointEchoResultDTO> getEchoPartyMemberPoint(PartyMemberPointEchoFormDTO form,String customerId);
}

19
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/IcPartyMemberService.java

@ -2,8 +2,11 @@ package com.epmet.modules.partymember.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.resi.partymember.dto.partymember.IcPartyMemberDTO;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.modules.partymember.entity.IcPartyMemberEntity;
import com.epmet.resi.partymember.dto.partymember.IcPartyMemberDTO;
import com.epmet.resi.partymember.dto.partymember.form.IcPartyMemberFromDTO;
import com.epmet.resi.partymember.dto.partymember.result.IcPartyMemberResultDTO;
import java.util.List;
import java.util.Map;
@ -19,12 +22,12 @@ public interface IcPartyMemberService extends BaseService<IcPartyMemberEntity> {
/**
* 默认分页
*
* @param params
* @param formDTO
* @return PageData<IcPartyMemberDTO>
* @author generator
* @date 2022-05-17
*/
PageData<IcPartyMemberDTO> page(Map<String, Object> params);
PageData<IcPartyMemberResultDTO> page(TokenDto tokenDto, IcPartyMemberFromDTO formDTO);
/**
* 默认查询
@ -75,4 +78,14 @@ public interface IcPartyMemberService extends BaseService<IcPartyMemberEntity> {
* @date 2022-05-17
*/
void delete(String[] ids);
/**
* 党员信息同步
*
* @Param dto
* @Return
* @Author zhaoqifeng
* @Date 2022/5/18 10:16
*/
void icPartyMemberSync(IcPartyMemberDTO dto);
}

29
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartyMemberPointServiceImpl.java

@ -15,7 +15,9 @@ import com.epmet.modules.partymember.redis.IcPartyMemberPointRedis;
import com.epmet.modules.partymember.service.IcPartyMemberPointService;
import com.epmet.resi.partymember.dto.partymember.IcPartyMemberPointDTO;
import com.epmet.resi.partymember.dto.partymember.PartyMemberPointListCountDTO;
import com.epmet.resi.partymember.dto.partymember.form.PartyMemberPointEchoFormDTO;
import com.epmet.resi.partymember.dto.partymember.form.PartyMemberPointListFormDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartyMemberPointEchoResultDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartyMemberPointListResultDTO;
import jdk.nashorn.internal.parser.Token;
import org.apache.commons.lang3.StringUtils;
@ -91,11 +93,20 @@ public class IcPartyMemberPointServiceImpl extends BaseServiceImpl<IcPartyMember
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* 量化积分统计
*
* @param form
* @param tokenDto
* @return java.util.List<com.epmet.resi.partymember.dto.partymember.result.PartyMemberPointListResultDTO>
* @author LZN
* @date 2022/5/18 18:20
*/
@Override
public List<PartyMemberPointListResultDTO> getList(PartyMemberPointListFormDTO form, TokenDto tokenDto) {
List<PartyMemberPointListResultDTO> dto = baseDao.getList(form.getIdCard(), form.getMobile(), form.getName(),
form.getOrgId(), form.getYear(),tokenDto.getCustomerId());
List<PartyMemberPointListCountDTO> count = baseDao.getListCount(form.getYear(),tokenDto.getCustomerId());
form.getOrgId(), form.getYear(), tokenDto.getCustomerId());
List<PartyMemberPointListCountDTO> count = baseDao.getListCount(form.getYear(), tokenDto.getCustomerId());
// 处理统计的平均值
for (int i = 0; i < dto.size(); i++) {
// 基础积分分值平均值
@ -128,5 +139,19 @@ public class IcPartyMemberPointServiceImpl extends BaseServiceImpl<IcPartyMember
return dto;
}
/**
* 量化积分统计回显
*
* @param form
* @return java.util.List<com.epmet.resi.partymember.dto.partymember.result.PartyMemberPointEchoResultDTO>
* @author LZN
* @date 2022/5/18 18:20
*/
@Override
public List<PartyMemberPointEchoResultDTO> getEchoPartyMemberPoint(PartyMemberPointEchoFormDTO form,String customerId) {
List<PartyMemberPointEchoResultDTO> dto = baseDao.getEchoPartyMemberPoint(form.getPartyMemberId(), form.getQuarter(), form.getYear(),customerId);
return dto;
}
}

149
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartyMemberServiceImpl.java

@ -2,29 +2,45 @@ package com.epmet.modules.partymember.service.impl;
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.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.enums.DictTypeEnum;
import com.epmet.commons.tools.enums.IcFormCodeEnum;
import com.epmet.commons.tools.enums.PartyPostEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.IcFormOptionsQueryFormDTO;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.OperCustomizeOpenFeignClient;
import com.epmet.modules.partyOrg.dao.IcPartyOrgDao;
import com.epmet.modules.partyOrg.entity.IcPartyOrgEntity;
import com.epmet.modules.partyOrg.service.IcPartyOrgService;
import com.epmet.modules.partymember.dao.IcPartyMemberDao;
import com.epmet.modules.partymember.entity.IcPartyMemberEntity;
import com.epmet.modules.partymember.service.IcPartyMemberService;
import com.epmet.resi.partymember.dto.partymember.IcPartyMemberDTO;
import com.epmet.resi.partymember.dto.partymember.form.IcPartyMemberFromDTO;
import com.epmet.resi.partymember.dto.partymember.result.IcPartyMemberResultDTO;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
* 数字平台党员信息表
@ -38,15 +54,62 @@ public class IcPartyMemberServiceImpl extends BaseServiceImpl<IcPartyMemberDao,
@Resource
private IcPartyOrgService icPartyOrgService;
@Resource
private IcPartyOrgDao icPartyOrgDao;
@Resource
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Resource
private EpmetAdminOpenFeignClient epmetAdminOpenFeignClient;
@Resource
private OperCustomizeOpenFeignClient operCustomizeOpenFeignClient;
@Override
public PageData<IcPartyMemberDTO> page(Map<String, Object> params) {
IPage<IcPartyMemberEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, IcPartyMemberDTO.class);
public PageData<IcPartyMemberResultDTO> page(TokenDto tokenDto, IcPartyMemberFromDTO formDTO) {
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId());
if (null == staffInfo) {
throw new EpmetException("获取工作人员信息失败");
}
if (StringUtils.isBlank(formDTO.getPartyOrgId())) {
//获取工作人员所属组织同级的党组织
LambdaQueryWrapper<IcPartyOrgEntity> orgWrapper = new LambdaQueryWrapper<>();
orgWrapper.eq(IcPartyOrgEntity::getCustomerId, formDTO.getCustomerId());
orgWrapper.eq(IcPartyOrgEntity::getAgencyId, staffInfo.getAgencyId());
IcPartyOrgEntity org = icPartyOrgDao.selectOne(orgWrapper);
if (null == org) {
return new PageData<>(Collections.emptyList(), 0);
}
formDTO.setPartyOrgId(org.getId());
}
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setYear(DateUtils.format(new Date(), DateUtils.DATE_PATTERN_YYYY));
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage());
List<IcPartyMemberResultDTO> list = baseDao.selectList(formDTO);
PageInfo<IcPartyMemberResultDTO> pageInfo = new PageInfo<>(list);
//获取文化程度字典
Result<Map<String, String>> education = epmetAdminOpenFeignClient.dictMap(DictTypeEnum.EDUCATION.getCode());
if (!education.success()) {
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), "获取文化程度信息失败", "获取文化程度信息失败");
}
if (CollectionUtils.isNotEmpty(list)) {
//获取志愿者类别
IcFormOptionsQueryFormDTO optionsForm = new IcFormOptionsQueryFormDTO();
optionsForm.setCustomerId(tokenDto.getCustomerId());
optionsForm.setFormCode(IcFormCodeEnum.RESI_BASE_INFO.getCode());
optionsForm.setColumnName("VOLUNTEER_CATEGORY");
Result<Map<String, String>> volunteerMap = operCustomizeOpenFeignClient.getOptionsMap(optionsForm);
//构造数据
list.forEach(item -> {
item.setIsLd(NumConstant.ONE_STR.equals(item.getIsLd()) ? "是" : "否");
item.setIsLd(NumConstant.ONE_STR.equals(item.getIsPay()) ? "是" : "否");
item.setPartyZw(PartyPostEnum.getName(item.getPartyZw()));
item.setCulture(education.getData().get(item.getCulture()));
item.setPoint(("0.00").equals(item.getPoint()) ? StrConstant.HYPHEN : item.getPoint());
List<String> category = Arrays.asList(item.getVolunteerCategory().split(StrConstant.COMMA));
List<String> categoryNames = category.stream().map(volunteerMap.getData()::get).collect(Collectors.toList());
item.setVolunteerCategory(String.join(String.valueOf((char) 10), categoryNames));
});
}
return new PageData<>(list, pageInfo.getTotal());
}
@Override
@ -68,11 +131,38 @@ public class IcPartyMemberServiceImpl extends BaseServiceImpl<IcPartyMemberDao,
@Override
public IcPartyMemberDTO get(String id) {
IcPartyMemberEntity entity = baseDao.selectById(id);
IcPartyMemberDTO dto = ConvertUtils.sourceToTarget(entity, IcPartyMemberDTO.class);
//党组织名
if (StringUtils.isNotBlank(dto.getSszb())) {
IcPartyOrgEntity org = icPartyOrgService.selectById(dto.getSszb());
if (null == org) {
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), "获取党组织信息失败", "获取党组织信息失败");
}
dto.setOrgName(org.getPartyOrgName());
}
//职务
if (StringUtils.isNotBlank(dto.getPartyZw())) {
dto.setPostName(PartyPostEnum.getName(dto.getPartyZw()));
}
//文化程度
if (StringUtils.isNotBlank(dto.getCulture())) {
Result<Map<String, String>> education = epmetAdminOpenFeignClient.dictMap(DictTypeEnum.EDUCATION.getCode());
if (!education.success()) {
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), "获取文化程度信息失败", "获取文化程度信息失败");
}
dto.setCultureName(education.getData().get(dto.getCulture()));
}
//志愿者类别
return ConvertUtils.sourceToTarget(entity, IcPartyMemberDTO.class);
if (StringUtils.isNotBlank(dto.getVolunteerCategory())) {
IcFormOptionsQueryFormDTO optionsForm = new IcFormOptionsQueryFormDTO();
optionsForm.setCustomerId(dto.getCustomerId());
optionsForm.setFormCode(IcFormCodeEnum.RESI_BASE_INFO.getCode());
optionsForm.setColumnName("VOLUNTEER_CATEGORY");
Result<Map<String, String>> volunteerMap = operCustomizeOpenFeignClient.getOptionsMap(optionsForm);
List<String> category = Arrays.asList(dto.getVolunteerCategory().split(StrConstant.COMMA));
dto.setVolunteerCategoryName(category.stream().map(volunteerMap.getData()::get).collect(Collectors.toList()));
}
return dto;
}
@Override
@ -151,4 +241,41 @@ public class IcPartyMemberServiceImpl extends BaseServiceImpl<IcPartyMemberDao,
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* 党员信息同步
*
* @param dto
* @Param dto
* @Return
* @Author zhaoqifeng
* @Date 2022/5/18 10:16
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void icPartyMemberSync(IcPartyMemberDTO dto) {
//查询党员信息
LambdaQueryWrapper<IcPartyMemberEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcPartyMemberEntity::getCustomerId, dto.getCustomerId());
wrapper.eq(IcPartyMemberEntity::getIdCard, dto.getIdCard());
IcPartyMemberEntity partyMember = baseDao.selectOne(wrapper);
//查询党组织信息
if (StringUtils.isNotBlank(dto.getSszb())) {
//获取党组织信息
IcPartyOrgEntity org = icPartyOrgService.selectById(dto.getSszb());
dto.setAgencyId(org.getAgencyId());
dto.setAgencyPids(org.getAgencyPids());
dto.setOrgPids(org.getOrgPids());
}
IcPartyMemberEntity entity = ConvertUtils.sourceToTarget(dto, IcPartyMemberEntity.class);
//判断党员是否已存在,有则更新,没有则添加
if (null != partyMember) {
entity.setId(partyMember.getId());
baseDao.updateById(entity);
} else {
baseDao.insert(entity);
}
}
}

24
epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partyOrg/IcPartyOrgDao.xml

@ -24,6 +24,30 @@
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<select id="getTreelist" resultType="com.epmet.resi.partymember.dto.partyOrg.result.IcPartyOrgTreeDTO">
select ID,
CUSTOMER_ID,
ORG_PID,
ORG_PID as pid,
ORG_PIDS,
AGENCY_ID,
AGENCY_PIDS,
PARTY_ORG_TYPE,
PARTY_ORG_NAME,
PARTY_ORG_CODE,
INTRODUCTION,
DEL_FLAG,
REVISION,
CREATED_BY,
CREATED_TIME,
UPDATED_BY,
UPDATED_TIME
from ic_party_org
where DEL_FLAG=0
<if test="agencyId != null and agencyId != ''">
AND (AGENCY_ID = #{agencyId} or FIND_IN_SET(#{agencyId},AGENCY_PIDS))
</if>
</select>
</mapper>

89
epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/IcPartyMemberDao.xml

@ -36,6 +36,95 @@
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<select id="selectList" resultType="com.epmet.resi.partymember.dto.partymember.result.IcPartyMemberResultDTO">
SELECT
*
FROM (
SELECT
a.`NAME`,
a.MOBILE,
a.ID_CARD,
a.RDSJ,
d.PARTY_ORG_NAME AS sszb,
a.IS_LD,
a.LDZH,
a.PARTY_ZW,
a.ADDRESS,
IF( b.PAY_DATE IS NULL, 0, 1 ) AS isPay,
b.PAY_DATE,
a.CULTURE,
convert(IFNULL(0,c.total)/IFNULL(1,c.count),decimal(10,2)) AS point,
a.VOLUNTEER_CATEGORY,
a.REMARK
FROM
ic_party_member a
LEFT JOIN ( SELECT * FROM ( SELECT * FROM ic_party_member_pay_record ORDER BY PAY_DATE DESC ) record GROUP BY record.PARTY_MEMBER_ID ) b ON a.ID = b.PARTY_MEMBER_ID
AND b.DEL_FLAG = 0 AND b.CUSTOMER_ID = #{customerId}
LEFT JOIN (
SELECT PARTY_MEMBER_ID, SUM(TOTAL_SCORE) AS "total", COUNT(ID) as "count"
FROM ic_party_member_point
WHERE
DEL_FLAG = 0
AND CUSTOMER_ID = #{customerId}
AND YEAR = #{year}
GROUP BY PARTY_MEMBER_ID) c ON a.ID = c.PARTY_MEMBER_ID
INNER JOIN ic_party_org d ON a.SSZB = d.ID
AND d.DEL_FLAG = 0
WHERE
a.DEL_FLAG = 0
AND a.CUSTOMER_ID = #{customerId}
AND (a.SSZB = #{partyOrgId} OR a.ORG_PIDS LIKE concat('%', #{partyOrgId}, '%'))
<if test='null != name and "" != name.trim()'>
AND a.NAME LIKE concat('%', #{name}, '%')
</if>
<if test='null != mobile and "" != mobile.trim()'>
AND a.MOBILE LIKE concat('%', #{mobile}, '%')
</if>
<if test='null != idCard and "" != idCard.trim()'>
AND a.ID_CARD LIKE concat('%', #{idCard}, '%')
</if>
<if test='null != address and "" != address.trim()'>
AND a.ADDRESS LIKE concat('%', #{address}, '%')
</if>
<if test='null != isLd and "" != isLd.trim()'>
AND a.IS_LD = #{address}
</if>
<if test='null != ldzh and "" != ldzh.trim()'>
AND a.LDZH LIKE concat('%', #{ldzh}, '%')
</if>
<if test='null != partyZw and "" != partyZw.trim()'>
AND a.PARTY_ZW = #{partyZw}
</if>
<if test='null != isDyzxh and "" != isDyzxh.trim()'>
AND a.IS_DYZXH = #{isDyzxh}
</if>
<if test='null != isMxx and "" != isMxx.trim()'>
AND a.IS_MXX = #{isMxx}
</if>
<if test='null != culture and "" != culture.trim()'>
AND a.CULTURE = #{culture}
</if>
<if test='null != rdsjStartDate and "" != rdsjStartDate.trim()'>
AND a.RDSJ &gt;= #{rdsjStartDate}
</if>
<if test='null != rdsjEndDate and "" != rdsjEndDate.trim()'>
AND a.RDSJ &lt;= #{rdsjEndDate}
</if>
<if test='null != payStatrDate and "" != payStatrDate.trim()'>
AND b.PAY_DATE &gt;= #{payStatrDate}
</if>
<if test='null != payEndDate and "" != payEndDate.trim()'>
AND b.PAY_DATE &lt;= #{payEndDate}
</if>
ORDER BY CONVERT(d.PARTY_ORG_NAME USING gbk), a.CREATED_TIME DESC
) t
WHERE
1=1
<if test='null != isPay and "" != isPay.trim()'>
AND isPay = #{isPay}
</if>
</select>
</mapper>

22
epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/IcPartyMemberPointDao.xml

@ -75,6 +75,28 @@
a.total_score ASC,
a.CREATED_TIME
</select>
<select id="getEchoPartyMemberPoint"
resultType="com.epmet.resi.partymember.dto.partymember.result.PartyMemberPointEchoResultDTO">
SELECT
id,
BASE_POINT,
BASE_OPTIONS,
REVIEW_POINT,
REVIEW_OPTIONS,
INSPIRE_POINT,
INSPIRE_OPTIONS,
WARN_POINT,
WARN_OPTIONS
FROM
ic_party_member_point
where
year = #{year}
AND PARTY_MEMBER_ID = #{partyMemberId}
AND QUARTER = #{quarter}
AND DEL_FLAG = '0'
AND CUSTOMER_ID = #{customerId}
order by CREATED_TIME
</select>
</mapper>

80
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVolunteerPolyCategoryDTO.java

@ -0,0 +1,80 @@
package com.epmet.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 志愿者信息聚合志愿者类别表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-19
*/
@Data
public class IcVolunteerPolyCategoryDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 客户Id customer.id
*/
private String customerId;
/**
* 身份证号
*/
private String idCard;
/**
* 类别字典表
*/
private String volunteerCategory;
/**
* 经度
*/
private String longitude;
/**
* 纬度
*/
private String latitude;
/**
* 乐观锁
*/
private Integer revision;
/**
* 删除标识 0.未删除 1.已删除
*/
private Integer delFlag;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
}

99
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVolunteerPolyDTO.java

@ -0,0 +1,99 @@
package com.epmet.dto;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 志愿者信息聚合
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-19
*/
@Data
public class IcVolunteerPolyDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 客户Id customer.id
*/
private String customerId;
/**
* 行政组织 机关ID
*/
private String agencyId;
/**
* 行政组织 机关ID
*/
private String agencyPids;
/**
* 居住成员1姓名
*/
private String name;
/**
* 身份证号
*/
private String idCard;
/**
* 手机号
*/
private String mobile;
/**
* 性别
*/
private String gender;
/**
* 经度
*/
private String longitude;
/**
* 纬度
*/
private String latitude;
/**
* 乐观锁
*/
private Integer revision;
/**
* 删除标识 0.未删除 1.已删除
*/
private Integer delFlag;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
}

23
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VolunteerPolyMapDataFormDTO.java

@ -0,0 +1,23 @@
package com.epmet.dto.form;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class VolunteerPolyMapDataFormDTO implements Serializable {
private static final long serialVersionUID = 341371496246696462L;
/**
* 志愿者分类code
*/
@NotBlank(message = "分类不能为空")
private String code;
private String customerId;
}

65
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/VolunteerPolyMapDataResultDTO.java

@ -0,0 +1,65 @@
package com.epmet.dto.result;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class VolunteerPolyMapDataResultDTO implements Serializable {
private static final long serialVersionUID = -6310126790215323874L;
/**
* 主键
*/
private String id;
/**
* 名字
*/
private String name;
/**
* 所属网格
*/
private String gridName;
/**
* 网格id
*/
private String gridId;
/**
* 所属房屋
*/
private String houseName;
/**
* 房屋id
*/
private String homeId;
/**
* 手机号
*/
private String mobile;
/**
* 身份证号
*/
private String idCard;
/**
* 工作单位
*/
private String gzdw;
/**
* 人户状况
*/
private String rhzk;
}

91
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVolunteerPolyController.java

@ -0,0 +1,91 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.IcVolunteerPolyDTO;
import com.epmet.dto.form.VolunteerPolyMapDataFormDTO;
import com.epmet.dto.result.VolunteerPolyMapDataResultDTO;
import com.epmet.service.IcVolunteerPolyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* 志愿者信息聚合
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-19
*/
@RestController
@RequestMapping("icVolunteerPoly")
public class IcVolunteerPolyController {
@Autowired
private IcVolunteerPolyService icVolunteerPolyService;
@RequestMapping("page")
public Result<PageData<IcVolunteerPolyDTO>> page(@RequestParam Map<String, Object> params){
PageData<IcVolunteerPolyDTO> page = icVolunteerPolyService.page(params);
return new Result<PageData<IcVolunteerPolyDTO>>().ok(page);
}
@RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET})
public Result<IcVolunteerPolyDTO> get(@PathVariable("id") String id){
IcVolunteerPolyDTO data = icVolunteerPolyService.get(id);
return new Result<IcVolunteerPolyDTO>().ok(data);
}
@NoRepeatSubmit
@PostMapping("save")
public Result save(@RequestBody IcVolunteerPolyDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
icVolunteerPolyService.save(dto);
return new Result();
}
@NoRepeatSubmit
@PostMapping("update")
public Result update(@RequestBody IcVolunteerPolyDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
icVolunteerPolyService.update(dto);
return new Result();
}
@PostMapping("delete")
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
icVolunteerPolyService.delete(ids);
return new Result();
}
/**
* 网格党建平面图地图
*
* @param form
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.result.VolunteerPolyMapDataResultDTO>>
* @author LZN
* @date 2022/5/19 13:54
*/
@PostMapping("/mapData")
public Result<List<VolunteerPolyMapDataResultDTO>> getMapData(@RequestBody VolunteerPolyMapDataFormDTO form, @LoginUser TokenDto tokenDto){
form.setCustomerId(tokenDto.getCustomerId());
ValidatorUtils.validateEntity(form);
List<VolunteerPolyMapDataResultDTO> dto = icVolunteerPolyService.getMapData(form);
return new Result<List<VolunteerPolyMapDataResultDTO>>().ok(dto);
}
}

16
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVolunteerPolyCategoryDao.java

@ -0,0 +1,16 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.IcVolunteerPolyCategoryEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 志愿者信息聚合志愿者类别表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-19
*/
@Mapper
public interface IcVolunteerPolyCategoryDao extends BaseDao<IcVolunteerPolyCategoryEntity> {
}

26
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVolunteerPolyDao.java

@ -0,0 +1,26 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.VolunteerPolyMapDataResultDTO;
import com.epmet.entity.IcVolunteerPolyEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 志愿者信息聚合
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-19
*/
@Mapper
public interface IcVolunteerPolyDao extends BaseDao<IcVolunteerPolyEntity> {
/**
* 网格党建平面图地图
* @param code
*/
List<VolunteerPolyMapDataResultDTO> getMapData(@Param("code") String code,
@Param("customerId") String customerId);
}

46
epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVolunteerPolyCategoryEntity.java

@ -0,0 +1,46 @@
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 志愿者信息聚合志愿者类别表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-19
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_volunteer_poly_category")
public class IcVolunteerPolyCategoryEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id customer.id
*/
private String customerId;
/**
* 身份证号
*/
private String idCard;
/**
* 类别字典表
*/
private String volunteerCategory;
/**
* 经度
*/
private String longitude;
/**
* 纬度
*/
private String latitude;
}

69
epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVolunteerPolyEntity.java

@ -0,0 +1,69 @@
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 志愿者信息聚合
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-19
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_volunteer_poly")
public class IcVolunteerPolyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id customer.id
*/
private String customerId;
/**
* 行政组织 机关ID
*/
private String agencyId;
/**
* 行政组织 机关ID
*/
private String agencyPids;
/**
* 居住成员1姓名
*/
private String name;
/**
* 身份证号
*/
private String idCard;
/**
* 手机号
*/
private String mobile;
/**
* 性别
*/
private String gender;
/**
* 经度
*/
private String longitude;
/**
* 纬度
*/
private String latitude;
}

78
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVolunteerPolyCategoryService.java

@ -0,0 +1,78 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IcVolunteerPolyCategoryDTO;
import com.epmet.entity.IcVolunteerPolyCategoryEntity;
import java.util.List;
import java.util.Map;
/**
* 志愿者信息聚合志愿者类别表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-19
*/
public interface IcVolunteerPolyCategoryService extends BaseService<IcVolunteerPolyCategoryEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<IcVolunteerPolyCategoryDTO>
* @author generator
* @date 2022-05-19
*/
PageData<IcVolunteerPolyCategoryDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<IcVolunteerPolyCategoryDTO>
* @author generator
* @date 2022-05-19
*/
List<IcVolunteerPolyCategoryDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return IcVolunteerPolyCategoryDTO
* @author generator
* @date 2022-05-19
*/
IcVolunteerPolyCategoryDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-05-19
*/
void save(IcVolunteerPolyCategoryDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-05-19
*/
void update(IcVolunteerPolyCategoryDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-05-19
*/
void delete(String[] ids);
}

90
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVolunteerPolyService.java

@ -0,0 +1,90 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IcVolunteerPolyDTO;
import com.epmet.dto.form.VolunteerPolyMapDataFormDTO;
import com.epmet.dto.result.VolunteerPolyMapDataResultDTO;
import com.epmet.entity.IcVolunteerPolyEntity;
import java.util.List;
import java.util.Map;
/**
* 志愿者信息聚合
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-19
*/
public interface IcVolunteerPolyService extends BaseService<IcVolunteerPolyEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<IcVolunteerPolyDTO>
* @author generator
* @date 2022-05-19
*/
PageData<IcVolunteerPolyDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<IcVolunteerPolyDTO>
* @author generator
* @date 2022-05-19
*/
List<IcVolunteerPolyDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return IcVolunteerPolyDTO
* @author generator
* @date 2022-05-19
*/
IcVolunteerPolyDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-05-19
*/
void save(IcVolunteerPolyDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-05-19
*/
void update(IcVolunteerPolyDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-05-19
*/
void delete(String[] ids);
/**
* 网格党建平面图地图
*
* @param form
* @return java.util.List<com.epmet.dto.result.VolunteerPolyMapDataResultDTO>
* @author LZN
* @date 2022/5/19 13:55
*/
List<VolunteerPolyMapDataResultDTO> getMapData(VolunteerPolyMapDataFormDTO form);
}

7
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java

@ -745,8 +745,11 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl<CustomerStaffDao,
resultDTO.setLongitude(staffInfo.getLongitude());
resultDTO.setLatitude(staffInfo.getLatitude());
AgencyInfoCache agency = CustomerOrgRedis.getAgencyInfo(staffInfo.getAgencyId());
resultDTO.setAreaCodePath(null != agency && !CollectionUtils.isEmpty(agency.getAreaCodePath()) ? agency.getAreaCodePath() : new ArrayList<>());
resultDTO.setAreaCode(null != agency && StringUtils.isNotBlank(agency.getAreaCode()) ? agency.getAreaCode() : StrConstant.EPMETY_STR);
if (agency != null){
resultDTO.setAreaCodePath(!CollectionUtils.isEmpty(agency.getAreaCodePath()) ? agency.getAreaCodePath() : new ArrayList<>());
resultDTO.setAreaCode(StringUtils.isNotBlank(agency.getAreaCode()) ? agency.getAreaCode() : StrConstant.EPMETY_STR);
resultDTO.setLevel(agency.getLevel());
}
}
//获取工作人员所属客户名
CustomerDTO dto = new CustomerDTO();

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

@ -36,10 +36,12 @@ import com.epmet.commons.tools.feign.ResultDataResolver;
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.CustomerIcHouseRedis;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.redis.common.bean.HouseInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
@ -59,6 +61,7 @@ import com.epmet.dto.result.demand.IcResiDemandDictDTO;
import com.epmet.entity.*;
import com.epmet.excel.support.ExportResiUserItemDTO;
import com.epmet.feign.*;
import com.epmet.resi.partymember.feign.ResiPartyMemberOpenFeignClient;
import com.epmet.service.*;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
@ -137,6 +140,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
private IcPartyMemberDao icPartyMemberDao;
@Resource
private IcVolunteerDao icVolunteerDao;
@Resource
private ResiPartyMemberOpenFeignClient resiPartyMemberOpenFeignClient;
private QueryWrapper<IcResiUserEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
@ -199,6 +204,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
String resiUserId = UUID.randomUUID().toString().replaceAll("-", "");
String name = "";
LinkedHashMap<String, String> map = new LinkedHashMap<>();
com.epmet.resi.partymember.dto.partymember.IcPartyMemberDTO partyMemberDTO = new com.epmet.resi.partymember.dto.partymember.IcPartyMemberDTO();
for (IcResiUserFormDTO d : formDTO) {
if ("ic_resi_user".equals(d.getTableName())) {
map = d.getList().get(0);
@ -233,7 +239,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
}
}
//2022.04.19 end
//查询组织信息
String agencyId = map.get("AGENCY_ID");
Result<CustomerAgencyDTO> result = govOrgOpenFeignClient.getAgencyById(agencyId);
@ -244,6 +250,27 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
}
//新增主表数据
baseDao.add(d.getTableName(), map);
//2022.04.19 end
//2022.05.18 start zhaoqf 党员信息同步
partyMemberDTO.setCustomerId(tokenDto.getCustomerId());
partyMemberDTO.setAgencyId(agencyId);
partyMemberDTO.setAgencyPids(result.getData().getPids());
partyMemberDTO.setIcResiUser(resiUserId);
partyMemberDTO.setName(map.get("NAME"));
partyMemberDTO.setIdCard(map.get("ID_CARD"));
partyMemberDTO.setMobile(map.get("MOBILE"));
//查询网格信息
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(map.get("GRID_ID"));
//查询房屋信息
HouseInfoCache houseInfo = CustomerIcHouseRedis.getHouseInfo(tokenDto.getCustomerId(), map.get("HOME_ID"));
if (null != gridInfo && null != houseInfo) {
String address = gridInfo.getAllParentName().concat(StrConstant.HYPHEN).concat(gridInfo.getGridNamePath())
.concat(StrConstant.HYPHEN).concat(houseInfo.getNeighborHoodName())
.concat(StrConstant.HYPHEN).concat(houseInfo.getHouseName());
partyMemberDTO.setAddress(address);
}
//2022.05.18 end zhaoqf
}
}
//2.循环字表新增数据
@ -259,8 +286,29 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
baseDao.add(d.getTableName(), hash);
}
}
//2022.05.18 start zhaoqf 党员信息同步
if ("ic_party_member".equals(d.getTableName())) {
for (LinkedHashMap<String, String> hash : d.getList()) {
partyMemberDTO.setRdsj(hash.get("RDSJ"));
partyMemberDTO.setSszb(hash.get("SSZB"));
partyMemberDTO.setIsLd(hash.get("IS_LD"));
partyMemberDTO.setLdzh(hash.get("LDZH"));
partyMemberDTO.setPartyZw(hash.get("PARTY_ZW"));
partyMemberDTO.setIsTx(hash.get("IS_TX"));
partyMemberDTO.setIsDyzxh(hash.get("IS_DYZXH"));
}
}
if ("ic_volunteer".equals(d.getTableName())) {
for (LinkedHashMap<String, String> hash : d.getList()) {
partyMemberDTO.setVolunteerCategory(hash.get("VOLUNTEER_CATEGORY"));
}
}
//2022.05.18 end zhaoqf
});
Result syncResult = resiPartyMemberOpenFeignClient.icPartyMemberSync(partyMemberDTO);
if (!syncResult.success()) {
log.error("同步党员信息失败");
}
//3.变更记录表和变更记录明细表新增数据
saveUserChangeRecord(tokenDto,map,resiUserId,name);
@ -349,6 +397,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
//1.校验主表数据是否存在
String resiUserId = "";
LinkedHashMap<String, String> map = new LinkedHashMap<>();
com.epmet.resi.partymember.dto.partymember.IcPartyMemberDTO partyMemberDTO = new com.epmet.resi.partymember.dto.partymember.IcPartyMemberDTO();
for (IcResiUserFormDTO d : formDTO) {
if ("ic_resi_user".equals(d.getTableName())) {
map = d.getList().get(0);
@ -383,6 +432,50 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
}
//2022.04.19 end
resiUserId = map.get("ID");
//2022.05.18 start zhaoqf 党员信息同步
IcResiUserEntity icResiUser = baseDao.selectById(resiUserId);
partyMemberDTO.setCustomerId(tokenDto.getCustomerId());
partyMemberDTO.setAgencyId(icResiUser.getAgencyId());
partyMemberDTO.setAgencyPids(icResiUser.getPids());
partyMemberDTO.setIcResiUser(resiUserId);
if (map.containsKey("NAME")) {
partyMemberDTO.setName(map.get("NAME"));
} else {
partyMemberDTO.setName(icResiUser.getName());
}
if (map.containsKey("ID_CARD")) {
partyMemberDTO.setIdCard(map.get("ID_CARD"));
} else {
partyMemberDTO.setIdCard(icResiUser.getIdCard());
}
if (map.containsKey("MOBILE")) {
partyMemberDTO.setMobile(map.get("MOBILE"));
} else {
partyMemberDTO.setMobile(icResiUser.getMobile());
}
//查询网格信息
String gridId = null;
if (map.containsKey("GRID_ID")) {
gridId = map.get("GRID_ID");
} else {
gridId = icResiUser.getGridId();
}
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(gridId);
//查询房屋信息
String houseId = null;
if (map.containsKey("HOME_ID")) {
houseId = map.get("HOME_ID");
} else {
houseId = icResiUser.getHomeId();
}
HouseInfoCache houseInfo = CustomerIcHouseRedis.getHouseInfo(tokenDto.getCustomerId(), houseId);
if (null != gridInfo && null != houseInfo) {
String address = gridInfo.getAllParentName().concat(StrConstant.HYPHEN).concat(gridInfo.getGridNamePath())
.concat(StrConstant.HYPHEN).concat(houseInfo.getNeighborHoodName())
.concat(StrConstant.HYPHEN).concat(houseInfo.getHouseName());
partyMemberDTO.setAddress(address);
}
//2022.05.18 end zhaoqf
}
}
if (null == map) {
@ -420,8 +513,29 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
}
}
}
//2022.05.18 start zhaoqf 党员信息同步
if ("ic_party_member".equals(d.getTableName())) {
for (LinkedHashMap<String, String> hash : d.getList()) {
partyMemberDTO.setRdsj(hash.get("RDSJ"));
partyMemberDTO.setSszb(hash.get("SSZB"));
partyMemberDTO.setIsLd(hash.get("IS_LD"));
partyMemberDTO.setLdzh(hash.get("LDZH"));
partyMemberDTO.setPartyZw(hash.get("PARTY_ZW"));
partyMemberDTO.setIsTx(hash.get("IS_TX"));
partyMemberDTO.setIsDyzxh(hash.get("IS_DYZXH"));
}
}
if ("ic_volunteer".equals(d.getTableName())) {
for (LinkedHashMap<String, String> hash : d.getList()) {
partyMemberDTO.setVolunteerCategory(hash.get("VOLUNTEER_CATEGORY"));
}
}
//2022.05.18 end zhaoqf
});
Result syncResult = resiPartyMemberOpenFeignClient.icPartyMemberSync(partyMemberDTO);
if (!syncResult.success()) {
log.error("同步党员信息失败");
}
return resiUserId;
}
@ -1924,6 +2038,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
* @Date 2022/5/17 19:12
*/
@Override
@Transactional(rollbackFor = Exception.class)
public com.epmet.resi.partymember.dto.partymember.IcPartyMemberDTO icPartyMemberSync(com.epmet.resi.partymember.dto.partymember.IcPartyMemberDTO formDTO) {
com.epmet.resi.partymember.dto.partymember.IcPartyMemberDTO dto = new com.epmet.resi.partymember.dto.partymember.IcPartyMemberDTO();
if (StringUtils.isNotEmpty(formDTO.getIcResiUser())) {

83
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVolunteerPolyCategoryServiceImpl.java

@ -0,0 +1,83 @@
package com.epmet.service.impl;
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.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.IcVolunteerPolyCategoryDao;
import com.epmet.dto.IcVolunteerPolyCategoryDTO;
import com.epmet.entity.IcVolunteerPolyCategoryEntity;
import com.epmet.service.IcVolunteerPolyCategoryService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* 志愿者信息聚合志愿者类别表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-19
*/
@Service
public class IcVolunteerPolyCategoryServiceImpl extends BaseServiceImpl<IcVolunteerPolyCategoryDao, IcVolunteerPolyCategoryEntity> implements IcVolunteerPolyCategoryService {
@Override
public PageData<IcVolunteerPolyCategoryDTO> page(Map<String, Object> params) {
IPage<IcVolunteerPolyCategoryEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, IcVolunteerPolyCategoryDTO.class);
}
@Override
public List<IcVolunteerPolyCategoryDTO> list(Map<String, Object> params) {
List<IcVolunteerPolyCategoryEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, IcVolunteerPolyCategoryDTO.class);
}
private QueryWrapper<IcVolunteerPolyCategoryEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<IcVolunteerPolyCategoryEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public IcVolunteerPolyCategoryDTO get(String id) {
IcVolunteerPolyCategoryEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, IcVolunteerPolyCategoryDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(IcVolunteerPolyCategoryDTO dto) {
IcVolunteerPolyCategoryEntity entity = ConvertUtils.sourceToTarget(dto, IcVolunteerPolyCategoryEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(IcVolunteerPolyCategoryDTO dto) {
IcVolunteerPolyCategoryEntity entity = ConvertUtils.sourceToTarget(dto, IcVolunteerPolyCategoryEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
}

121
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVolunteerPolyServiceImpl.java

@ -0,0 +1,121 @@
package com.epmet.service.impl;
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.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerIcHouseRedis;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.redis.common.bean.HouseInfoCache;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.IcVolunteerPolyDao;
import com.epmet.dto.IcVolunteerPolyDTO;
import com.epmet.dto.form.VolunteerPolyMapDataFormDTO;
import com.epmet.dto.result.PartyUnitListbrieResultDTO;
import com.epmet.dto.result.VolunteerPolyMapDataResultDTO;
import com.epmet.entity.IcVolunteerPolyEntity;
import com.epmet.service.IcVolunteerPolyService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* 志愿者信息聚合
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-05-19
*/
@Service
public class IcVolunteerPolyServiceImpl extends BaseServiceImpl<IcVolunteerPolyDao, IcVolunteerPolyEntity> implements IcVolunteerPolyService {
@Override
public PageData<IcVolunteerPolyDTO> page(Map<String, Object> params) {
IPage<IcVolunteerPolyEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, IcVolunteerPolyDTO.class);
}
@Override
public List<IcVolunteerPolyDTO> list(Map<String, Object> params) {
List<IcVolunteerPolyEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, IcVolunteerPolyDTO.class);
}
private QueryWrapper<IcVolunteerPolyEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<IcVolunteerPolyEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public IcVolunteerPolyDTO get(String id) {
IcVolunteerPolyEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, IcVolunteerPolyDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(IcVolunteerPolyDTO dto) {
IcVolunteerPolyEntity entity = ConvertUtils.sourceToTarget(dto, IcVolunteerPolyEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(IcVolunteerPolyDTO dto) {
IcVolunteerPolyEntity entity = ConvertUtils.sourceToTarget(dto, IcVolunteerPolyEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* 网格党建平面图地图
*
* @param form
* @return java.util.List<com.epmet.dto.result.VolunteerPolyMapDataResultDTO>
* @author LZN
* @date 2022/5/19 13:55
*/
@Override
public List<VolunteerPolyMapDataResultDTO> getMapData(VolunteerPolyMapDataFormDTO form) {
List<VolunteerPolyMapDataResultDTO> dto = baseDao.getMapData(form.getCode(),form.getCustomerId());
// 获取gridName
for (VolunteerPolyMapDataResultDTO item : dto) {
if (StringUtils.isNotEmpty(item.getGridId())) {
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(item.getGridId());
if (null != gridInfo) {
item.setGridName(gridInfo.getGridName());
}
}
// 获取houseName
if(StringUtils.isNotEmpty(item.getHomeId())) {
HouseInfoCache houseInfo = CustomerIcHouseRedis.getHouseInfo(form.getCustomerId(), item.getHomeId());
if(null != houseInfo) {
item.setHouseName(houseInfo.getHouseName());
}
}
}
return dto;
}
}

22
epmet-user/epmet-user-server/src/main/resources/mapper/IcVolunteerPolyCategoryDao.xml

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.IcVolunteerPolyCategoryDao">
<resultMap type="com.epmet.entity.IcVolunteerPolyCategoryEntity" id="icVolunteerPolyCategoryMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="idCard" column="ID_CARD"/>
<result property="volunteerCategory" column="VOLUNTEER_CATEGORY"/>
<result property="longitude" column="LONGITUDE"/>
<result property="latitude" column="LATITUDE"/>
<result property="revision" column="REVISION"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
</resultMap>
</mapper>

47
epmet-user/epmet-user-server/src/main/resources/mapper/IcVolunteerPolyDao.xml

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.IcVolunteerPolyDao">
<resultMap type="com.epmet.entity.IcVolunteerPolyEntity" id="icVolunteerPolyMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="agencyId" column="AGENCY_ID"/>
<result property="agencyPids" column="AGENCY_PIDS"/>
<result property="name" column="NAME"/>
<result property="idCard" column="ID_CARD"/>
<result property="mobile" column="MOBILE"/>
<result property="gender" column="GENDER"/>
<result property="longitude" column="LONGITUDE"/>
<result property="latitude" column="LATITUDE"/>
<result property="revision" column="REVISION"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
</resultMap>
<select id="getMapData" resultType="com.epmet.dto.result.VolunteerPolyMapDataResultDTO">
SELECT
u.id,
u.NAME,
u.mobile,
u.ID_CARD,
u.gzdw,
u.rhzk,
u.GRID_ID,
u.HOME_ID
FROM
ic_volunteer p
LEFT JOIN ic_resi_user u ON p.IC_RESI_USER = u.id and u.del_flag = '0'
<where>
p.del_flag = '0'
AND CUSTOMER_ID = #{customerId}
<if test="code != null and code != ''">
AND p.VOLUNTEER_CATEGORY = #{code}
</if>
</where>
</select>
</mapper>
Loading…
Cancel
Save