Browse Source

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

master
luyan 2 years ago
parent
commit
bffd011bb3
  1. 4
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/lingshan/AgentServiceResiSubmitFormDTO.java
  2. 8
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/agentservice/AgentServiceTrendAnalysisRstDTO.java
  3. 5
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/LingShanAgentServiceController.java
  4. 13
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/LingshanAgentServiceRecordDao.java
  5. 2
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/LingShanAgentServiceService.java
  6. 2
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyUnitServiceImpl.java
  7. 30
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/LingShanAgentServiceServiceImpl.java
  8. 11
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/LingshanAgentServiceRecordDao.xml
  9. 4
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseDTO.java
  10. 40
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/lingshan/PartyCenterHousePageFormDTO.java
  11. 28
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/HouseTreeDTO.java
  12. 14
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/HouseTreeFormDTO.java
  13. 75
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/LingshanPartyCenterHouseLianhuDTO.java
  14. 28
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/PartyCenterHouseBindLianHuDetailDTO.java
  15. 17
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/PartyCenterHouseBindLianHuFormDTO.java
  16. 101
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/PartyCenterHouseResultDTO.java
  17. 57
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java
  18. 22
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java
  19. 18
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java
  20. 17
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/LingshanPartyCenterHouseLianhuDao.java
  21. 4
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcHouseEntity.java
  22. 66
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/LingshanPartyCenterHouseLianhuEntity.java
  23. 41
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java
  24. 151
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java
  25. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPartyServiceCenterServiceImpl.java
  26. 50
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml
  27. 68
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml
  28. 29
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/LingshanPartyCenterHouseLianhuDao.xml
  29. 4
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partyOrg/service/impl/LingShanPartyOrgServiceImpl.java
  30. 10
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/LingShanScreenServiceImpl.java
  31. 4
      epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partyOrg/IcPartyOrgDao.xml

4
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/lingshan/AgentServiceResiSubmitFormDTO.java

@ -32,4 +32,8 @@ public class AgentServiceResiSubmitFormDTO {
@NotNull(message = "预约服务时间不能为空", groups = { Create.class }) @NotNull(message = "预约服务时间不能为空", groups = { Create.class })
private Date exceptServeTime; private Date exceptServeTime;
private List<String> attachmentsList; private List<String> attachmentsList;
private String longitude;
private String latitude;
} }

8
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/agentservice/AgentServiceTrendAnalysisRstDTO.java

@ -34,14 +34,14 @@ public class AgentServiceTrendAnalysisRstDTO {
// //
private List<DataObj> data; private List<DataObj> data;
public static class DataObj { public static class DataObj<T> {
private String name; private String name;
private Integer value; private T value;
public DataObj() { public DataObj() {
} }
public DataObj(String name, Integer value) { public DataObj(String name, T value) {
this.name = name; this.name = name;
this.value = value; this.value = value;
} }
@ -50,7 +50,7 @@ public class AgentServiceTrendAnalysisRstDTO {
return name; return name;
} }
public Integer getValue() { public T getValue() {
return value; return value;
} }
} }

5
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/LingShanAgentServiceController.java

@ -279,9 +279,10 @@ public class LingShanAgentServiceController {
@GetMapping("screen/serviceList") @GetMapping("screen/serviceList")
public Result<List<LingShanScreenServiceRstDTO>> screenServiceList(@RequestParam("orgType") String orgType, public Result<List<LingShanScreenServiceRstDTO>> screenServiceList(@RequestParam("orgType") String orgType,
@RequestParam("orgId") String orgId, @RequestParam("orgId") String orgId,
@RequestParam("dataType") String dataType) { @RequestParam("dataType") String dataType,
@RequestParam(value = "agentId", required = false) String agentId) {
List<LingShanScreenServiceRstDTO> rl = lingShanServiceAgentService.screenServiceList(orgType, orgId, dataType); List<LingShanScreenServiceRstDTO> rl = lingShanServiceAgentService.screenServiceList(orgType, orgId, dataType, agentId);
return new Result<List<LingShanScreenServiceRstDTO>>().ok(rl); return new Result<List<LingShanScreenServiceRstDTO>>().ok(rl);
} }

13
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/LingshanAgentServiceRecordDao.java

@ -6,6 +6,7 @@ import com.epmet.entity.LingshanAgentServiceRecordEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
@ -26,4 +27,16 @@ public interface LingshanAgentServiceRecordDao extends BaseDao<LingshanAgentServ
* @Date: 2023/5/15 3:22 PM * @Date: 2023/5/15 3:22 PM
*/ */
List<LingShanScreenAgentRstDTO> screenAgentListAndServiceQty(@Param("agentIds") Set<String> agentIds); List<LingShanScreenAgentRstDTO> screenAgentListAndServiceQty(@Param("agentIds") Set<String> agentIds);
/**
* @Description: 办结率
* @param timeStart:
* @param timeEnd:
* @Return java.lang.Double
* @Author: wangxianzhang
* @Date: 2023/5/16 8:17 PM
*/
Double calculateClosedRatio(@Param("timeStart") Date timeStart,
@Param("timeEnd") Date timeEnd,
@Param("orgIdPath") String orgIdPath);
} }

2
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/LingShanAgentServiceService.java

@ -33,7 +33,7 @@ public interface LingShanAgentServiceService {
List<LingShanScreenAgentRstDTO> screenAgentList(String orgType, String orgId); List<LingShanScreenAgentRstDTO> screenAgentList(String orgType, String orgId);
List<LingShanScreenServiceRstDTO> screenServiceList(String orgType, String orgId, String dataType); List<LingShanScreenServiceRstDTO> screenServiceList(String orgType, String orgId, String dataType, String agentId);
List<ScreenAgentServiceCategoryAnalysisRstDTO> serviceCategoryAnalysis(String orgType, String orgId); List<ScreenAgentServiceCategoryAnalysisRstDTO> serviceCategoryAnalysis(String orgType, String orgId);

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

@ -729,7 +729,7 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl<IcPartyUnitDao, IcPa
String orgIdPath = PidUtils.convertPid2OrgIdPath(agencyInfo.getId(), agencyInfo.getPids()); String orgIdPath = PidUtils.convertPid2OrgIdPath(agencyInfo.getId(), agencyInfo.getPids());
LambdaQueryWrapper<IcPartyUnitEntity> q = new LambdaQueryWrapper<>(); LambdaQueryWrapper<IcPartyUnitEntity> q = new LambdaQueryWrapper<>();
q.and(q1 -> q1.eq(IcPartyUnitEntity::getAgencyId, agencyId).or(q2 -> q2.eq(IcPartyUnitEntity::getPids, orgIdPath))); q.and(q1 -> q1.eq(IcPartyUnitEntity::getAgencyId, agencyId).or(q2 -> q2.likeRight(IcPartyUnitEntity::getPids, orgIdPath)));
return baseDao.selectCount(q); return baseDao.selectCount(q);
} }

30
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/LingShanAgentServiceServiceImpl.java

@ -409,7 +409,7 @@ public class LingShanAgentServiceServiceImpl implements LingShanAgentServiceServ
// 未办结事件 // 未办结事件
q.eq(LingshanAgentServiceRecordEntity::getCustomerId, EpmetRequestHolder.getLoginUserCustomerId()); q.eq(LingshanAgentServiceRecordEntity::getCustomerId, EpmetRequestHolder.getLoginUserCustomerId());
q.likeRight(LingshanAgentServiceRecordEntity::getOrgIdPath, orgIdPath); q.likeRight(LingshanAgentServiceRecordEntity::getOrgIdPath, orgIdPath);
q.eq(LingshanAgentServiceRecordEntity::getProcessStatus, LingShanAgentServiceProcessStatusEnum.ACCEPTED); //已受理=未办结 q.eq(LingshanAgentServiceRecordEntity::getProcessStatus, LingShanAgentServiceProcessStatusEnum.ACCEPTED.getStatusCode()); //已受理=未办结
rl.add(new ScreenCatalogueQtyStatsRstDTO("service_unclosed", "未办结事件", agentServiceRecordDao.selectCount(q))); rl.add(new ScreenCatalogueQtyStatsRstDTO("service_unclosed", "未办结事件", agentServiceRecordDao.selectCount(q)));
@ -417,7 +417,7 @@ public class LingShanAgentServiceServiceImpl implements LingShanAgentServiceServ
q.clear(); q.clear();
q.eq(LingshanAgentServiceRecordEntity::getCustomerId, EpmetRequestHolder.getLoginUserCustomerId()); q.eq(LingshanAgentServiceRecordEntity::getCustomerId, EpmetRequestHolder.getLoginUserCustomerId());
q.likeRight(LingshanAgentServiceRecordEntity::getOrgIdPath, orgIdPath); q.likeRight(LingshanAgentServiceRecordEntity::getOrgIdPath, orgIdPath);
q.eq(LingshanAgentServiceRecordEntity::getProcessStatus, LingShanAgentServiceProcessStatusEnum.CLOSED); //已受理=未办结 q.eq(LingshanAgentServiceRecordEntity::getProcessStatus, LingShanAgentServiceProcessStatusEnum.CLOSED.getStatusCode()); //已受理=未办结
rl.add(new ScreenCatalogueQtyStatsRstDTO("service_closed", "已办结事件", agentServiceRecordDao.selectCount(q))); rl.add(new ScreenCatalogueQtyStatsRstDTO("service_closed", "已办结事件", agentServiceRecordDao.selectCount(q)));
@ -474,7 +474,7 @@ public class LingShanAgentServiceServiceImpl implements LingShanAgentServiceServ
} }
@Override @Override
public List<LingShanScreenServiceRstDTO> screenServiceList(String orgType, String orgId, String dataType) { public List<LingShanScreenServiceRstDTO> screenServiceList(String orgType, String orgId, String dataType, String agentId) {
String orgIdPath; String orgIdPath;
if (StringUtils.isAnyBlank(orgType, orgId)) { if (StringUtils.isAnyBlank(orgType, orgId)) {
@ -503,6 +503,7 @@ public class LingShanAgentServiceServiceImpl implements LingShanAgentServiceServ
LambdaQueryWrapper<LingshanAgentServiceRecordEntity> q = new LambdaQueryWrapper<>(); LambdaQueryWrapper<LingshanAgentServiceRecordEntity> q = new LambdaQueryWrapper<>();
q.likeRight(LingshanAgentServiceRecordEntity::getOrgIdPath, orgIdPath); q.likeRight(LingshanAgentServiceRecordEntity::getOrgIdPath, orgIdPath);
q.eq(LingshanAgentServiceRecordEntity::getProcessStatus, processStatus); q.eq(LingshanAgentServiceRecordEntity::getProcessStatus, processStatus);
q.eq(StringUtils.isNotBlank(agentId), LingshanAgentServiceRecordEntity::getAgentId, agentId);
List<LingshanAgentServiceRecordEntity> serviceRecords = agentServiceRecordDao.selectList(q); List<LingshanAgentServiceRecordEntity> serviceRecords = agentServiceRecordDao.selectList(q);
return serviceRecords.stream().map(rec -> { return serviceRecords.stream().map(rec -> {
@ -563,13 +564,23 @@ public class LingShanAgentServiceServiceImpl implements LingShanAgentServiceServ
return cateogries.stream().map(c -> { return cateogries.stream().map(c -> {
LingshanAgentServiceRecordEntity data = categoryAndData.get(c.getId()); LingshanAgentServiceRecordEntity data = categoryAndData.get(c.getId());
return new ScreenAgentServiceCategoryAnalysisRstDTO(c.getCategoryName(), data.getQty()); return new ScreenAgentServiceCategoryAnalysisRstDTO(c.getCategoryName(), data == null ? 0 : data.getQty());
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }
@Override @Override
public List<AgentServiceTrendAnalysisRstDTO> serviceTrendAnalysis(String orgType, String orgId) { public List<AgentServiceTrendAnalysisRstDTO> serviceTrendAnalysis(String orgType, String orgId) {
String orgIdPath;
if (OrgInfoConstant.AGENCY.equals(orgType)) {
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(orgId);
orgIdPath = PidUtils.convertPid2OrgIdPath(agencyInfo.getId(), agencyInfo.getPids());
} else {
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(orgId);
orgIdPath = PidUtils.convertPid2OrgIdPath(gridInfo.getId(), gridInfo.getPids());
}
// 计算得到时间列表 // 计算得到时间列表
Map<String, Date[]> dateCatelogue = generateTimeCatelogue(); Map<String, Date[]> dateCatelogue = generateTimeCatelogue();
@ -582,18 +593,21 @@ public class LingShanAgentServiceServiceImpl implements LingShanAgentServiceServ
// 1.受理数 // 1.受理数
// 受理数,使用processTime计算,processTime可用于表示受理时间和驳回时间。要查询受理数,要查询状态为已受理和已结案两种状态,使用processTime+processStatus结合查询 // 受理数,使用processTime计算,processTime可用于表示受理时间和驳回时间。要查询受理数,要查询状态为已受理和已结案两种状态,使用processTime+processStatus结合查询
LambdaQueryWrapper<LingshanAgentServiceRecordEntity> rq = new LambdaQueryWrapper<>(); LambdaQueryWrapper<LingshanAgentServiceRecordEntity> rq = new LambdaQueryWrapper<>();
rq.likeRight(LingshanAgentServiceRecordEntity::getOrgIdPath, orgIdPath);
rq.ge(LingshanAgentServiceRecordEntity::getProcessTime, timeStart); rq.ge(LingshanAgentServiceRecordEntity::getProcessTime, timeStart);
rq.le(LingshanAgentServiceRecordEntity::getProcessTime, timeEnd); rq.le(LingshanAgentServiceRecordEntity::getProcessTime, timeEnd);
rq.in(LingshanAgentServiceRecordEntity::getProcessStatus, rq.in(LingshanAgentServiceRecordEntity::getProcessStatus,
LingShanAgentServiceProcessStatusEnum.ACCEPTED.getStatusCode(), LingShanAgentServiceProcessStatusEnum.CLOSED.getStatusCode()); LingShanAgentServiceProcessStatusEnum.ACCEPTED.getStatusCode(), LingShanAgentServiceProcessStatusEnum.CLOSED.getStatusCode());
Integer acceptCount = agentServiceRecordDao.selectCount(rq); Integer acceptCount = agentServiceRecordDao.selectCount(rq);
// 2.办结率 todo // 2.办结率
// 本月办结的服务/本月提交的服务
Double closedRatio = agentServiceRecordDao.calculateClosedRatio(timeStart, timeEnd, orgIdPath);
// 3.组合数据 // 3.组合数据
ArrayList<AgentServiceTrendAnalysisRstDTO.DataObj> dataList = new ArrayList<>(); ArrayList<AgentServiceTrendAnalysisRstDTO.DataObj> dataList = new ArrayList<>();
dataList.add(new AgentServiceTrendAnalysisRstDTO.DataObj("受理数", acceptCount)); dataList.add(new AgentServiceTrendAnalysisRstDTO.DataObj<>("受理数", acceptCount));
dataList.add(new AgentServiceTrendAnalysisRstDTO.DataObj("办结率", 0)); dataList.add(new AgentServiceTrendAnalysisRstDTO.DataObj<>("办结率", closedRatio));
AgentServiceTrendAnalysisRstDTO rd = new AgentServiceTrendAnalysisRstDTO(monthName, dataList); AgentServiceTrendAnalysisRstDTO rd = new AgentServiceTrendAnalysisRstDTO(monthName, dataList);
return rd; return rd;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
@ -607,7 +621,7 @@ public class LingShanAgentServiceServiceImpl implements LingShanAgentServiceServ
* @Date: 2023/5/16 1:53 PM * @Date: 2023/5/16 1:53 PM
*/ */
public Map<String, Date[]> generateTimeCatelogue() { public Map<String, Date[]> generateTimeCatelogue() {
Date startDate = DateUtils.addDateMonths(new Date(), -11); Date startDate = DateUtils.addDateMonths(new Date(), -12);
HashMap<String, Date[]> rm = new LinkedHashMap<>(); HashMap<String, Date[]> rm = new LinkedHashMap<>();
for (int c = 1; c <= 12; c++) { for (int c = 1; c <= 12; c++) {

11
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/LingshanAgentServiceRecordDao.xml

@ -58,5 +58,16 @@
group by r.AGENT_ID, r.GRID_ID group by r.AGENT_ID, r.GRID_ID
</select> </select>
<!--办结率-->
<select id="calculateClosedRatio"
resultType="java.lang.Double">
select ifnull(count(PROCESS_STATUS = 3 or null) / count(PROCESS_STATUS != -1 or null), 0) closed_ratio
from lingshan_agent_service_record
where CREATED_TIME >= #{timeStart}
and CREATED_TIME &lt;= #{timeEnd}
and DEL_FLAG = 0
and ORG_ID_PATH like CONCAT(#{orgIdPath}, '%')
</select>
</mapper> </mapper>

4
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseDTO.java

@ -173,4 +173,8 @@ public class IcHouseDTO implements Serializable {
private String longitude; private String longitude;
private String latitude; private String latitude;
/**
* 灵山项目是否党员中心户1是0不是
*/
private String partyCenterHouseFlag;
} }

40
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/lingshan/PartyCenterHousePageFormDTO.java

@ -0,0 +1,40 @@
package com.epmet.dto.form.lingshan;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
/**
* @Description
* @Author yzm
* @Date 2023/5/16 17:50
*/
@Data
public class PartyCenterHousePageFormDTO extends PageFormDTO {
/**
* 所属小区
*/
private String neighborHoodName;
/**
* 所属楼栋
*/
private String buildingName;
/**
* pc端默认传1
* 灵山项目是否党员中心户1是0不是
*/
private String partyCenterHouseFlag;
/**
* 所属楼栋id
* 大屏用
*/
private String buildingId;
//tokenDto.
private String customerId;
//tokenDto.
private String staffId;
}

28
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/HouseTreeDTO.java

@ -0,0 +1,28 @@
package com.epmet.dto.result.lingshan;
import lombok.Data;
import java.util.List;
/**
* @Description
* @Author yzm
* @Date 2023/5/17 9:21
*/
@Data
public class HouseTreeDTO {
private String id;
/**
* 小区neighborHood
* 楼栋building
* 单元unit
* 房屋:house
*/
private String type;
private String name;
/**
* 下级机关组织
*/
private List<HouseTreeDTO> children;
}

14
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/HouseTreeFormDTO.java

@ -0,0 +1,14 @@
package com.epmet.dto.result.lingshan;
import lombok.Data;
/**
* @Description
* @Author yzm
* @Date 2023/5/17 9:29
*/
@Data
public class HouseTreeFormDTO {
private String gridId;
}

75
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/LingshanPartyCenterHouseLianhuDTO.java

@ -0,0 +1,75 @@
package com.epmet.dto.result.lingshan;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
/**
* 灵山_党员中心户联户
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2023-05-16
*/
@Data
public class LingshanPartyCenterHouseLianhuDTO implements Serializable {
/**
* 主键联户记录表
*/
@JsonIgnore
private String id;
/**
* 客户id
*/
@JsonIgnore
private String customerId;
/**
* 党员中心户房屋idlingshan_party_center_house.HOUSE_ID
*/
@JsonIgnore
private String partyCenterHouseId;
/**
* 联户房屋所属组织id
*/
@JsonIgnore
private String agencyId;
/**
* 联户房屋所属网格id
*/
@JsonIgnore
private String gridId;
/**
* 联户grid_id的path包含grid_id
*/
@JsonIgnore
private String gridIdPath;
/**
* 联户小区id
*/
private String neighborHoodId;
/**
* 联户楼栋id
*/
private String buildingId;
/**
* 联户单元id
*/
private String buildingUnitId;
/**
* 联户联户房屋id
*/
private String houseId;
}

28
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/PartyCenterHouseBindLianHuDetailDTO.java

@ -0,0 +1,28 @@
package com.epmet.dto.result.lingshan;
import lombok.Data;
/**
* @Description 绑定联户入参明细
* @Author yzm
* @Date 2023/5/16 20:16
*/
@Data
public class PartyCenterHouseBindLianHuDetailDTO {
/**
* 小区id
* 楼栋id
* 单元id
* 房屋id
*/
private String id;
/**
* 小区neighborHood
* 楼栋building
* 单元unit
* 房屋:house
*/
private String type;
}

17
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/PartyCenterHouseBindLianHuFormDTO.java

@ -0,0 +1,17 @@
package com.epmet.dto.result.lingshan;
import lombok.Data;
import java.util.List;
/**
* @Description 灵山需求绑定联户入参DTO
* @Author yzm
* @Date 2023/5/16 18:27
*/
@Data
public class PartyCenterHouseBindLianHuFormDTO {
private String partyCenterHouseId;
private List<PartyCenterHouseBindLianHuDetailDTO> lianHuHouseList;
}

101
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/PartyCenterHouseResultDTO.java

@ -0,0 +1,101 @@
package com.epmet.dto.result.lingshan;
import lombok.Data;
/**
* @Description
* @Author yzm
* @Date 2023/5/16 17:51
*/
@Data
public class PartyCenterHouseResultDTO {
private String partyCenterHouseId;
private String houseName;
/**
* 门牌号
* 房号
*/
private String doorName;
/**
* 所属楼栋id
*/
private String buildingId;
private String buildingName;
/**
* 所属单元id
*/
private String buildingUnitId;
/**
*单元号
*/
private String unitName;
/**
* 所属小区
*/
private String neighborHoodId;
private String neighborHoodName;
/**
* 所属网格
*/
private String gridId;
private String gridName;
/**
* 所属组织
*/
private String agencyId;
private String agencyName;
/**
* 房屋类型
*/
private String houseType;
private String houseTypeName;
/**
* 房屋用途
*/
private String purpose;
private String purposeName;
/**
* 是否出租
* 房屋状态:1出租 0自住 2闲置 3未售出
*/
private Integer rentFlag;
private String houseStatusName;
/**
* 房主姓名
*/
private String ownerName;
/**
* 房主电话
*/
private String ownerPhone;
/**
* 加密房主电话
*/
private String showOwnerPhone;
/**
* 房主身份证
*/
private String ownerIdCard;
/**
* 加密房主身份证
*/
private String showOwnerIdCard;
private String remark;
/**
* 联户数
*/
private Integer totalLianHu;
/**
* 灵山项目是否党员中心户1是0不是
*/
private String partyCenterHouseFlag;
}

57
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java

@ -21,17 +21,21 @@ import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.annotation.MaskResponse; import com.epmet.commons.tools.annotation.MaskResponse;
import com.epmet.commons.tools.dto.form.PageFormDTO; import com.epmet.commons.tools.dto.form.PageFormDTO;
import com.epmet.commons.tools.dto.result.OptionResultDTO; import com.epmet.commons.tools.dto.result.OptionResultDTO;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.IcHouseDTO; import com.epmet.dto.IcHouseDTO;
import com.epmet.dto.form.CheckHouseInfoFormDTO; import com.epmet.dto.form.CheckHouseInfoFormDTO;
import com.epmet.dto.form.HouseFormDTO; import com.epmet.dto.form.HouseFormDTO;
import com.epmet.dto.form.lingshan.PartyCenterHousePageFormDTO;
import com.epmet.dto.result.HouseAgencyInfoResultDTO; import com.epmet.dto.result.HouseAgencyInfoResultDTO;
import com.epmet.dto.result.HouseInfoDTO; import com.epmet.dto.result.HouseInfoDTO;
import com.epmet.dto.result.HouseListResultDTO; import com.epmet.dto.result.HouseListResultDTO;
import com.epmet.dto.result.HousesNameResultDTO; import com.epmet.dto.result.HousesNameResultDTO;
import com.epmet.dto.result.lingshan.*;
import com.epmet.service.IcHouseService; import com.epmet.service.IcHouseService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -161,4 +165,57 @@ public class IcHouseController {
return icHouseService.checkHomeInfo(formDTO); return icHouseService.checkHomeInfo(formDTO);
} }
/**
* 灵山项目-联户绑定
* 该接口返回党员中心户房屋列表默认登录用户查询本组织及下级
*
* @param formDTO
* @return
*/
@MaskResponse(fieldNames = { "showOwnerPhone", "showOwnerIdCard" }, fieldsMaskType = { MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD })
@PostMapping("party-center-house-list")
public Result<PageData<PartyCenterHouseResultDTO>> queryPartyCenterHouseList(@LoginUser TokenDto tokenDto, @RequestBody PartyCenterHousePageFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setStaffId(tokenDto.getUserId());
return new Result<PageData<PartyCenterHouseResultDTO>>().ok(icHouseService.queryPartyCenterHouseList(formDTO));
}
/**
* 灵山项目-党员中心户绑定联户
* @param formDTO
* @return
*/
@PostMapping("bingLianHu")
public Result bingLianHu( @RequestBody PartyCenterHouseBindLianHuFormDTO formDTO) {
if(StringUtils.isNotBlank(formDTO.getPartyCenterHouseId())){
icHouseService.bingLianHu(formDTO.getPartyCenterHouseId(),formDTO.getLianHuHouseList());
}
return new Result();
}
/**
* 灵山项目-查询联户房屋列表
*
* @param partyCenterHouseId
* @return
*/
@PostMapping("queryLianHuHouse/{partyCenterHouseId}")
public Result<List<LingshanPartyCenterHouseLianhuDTO>> queryLianHuHouse(@PathVariable("partyCenterHouseId") String partyCenterHouseId) {
List<LingshanPartyCenterHouseLianhuDTO> list = icHouseService.queryLianHuHouse(partyCenterHouseId);
return new Result<List<LingshanPartyCenterHouseLianhuDTO>>().ok(list);
}
/**
* 灵山项目-绑定联户时候选择同网格内的房屋
* 房屋树小区-楼栋-单元-房屋共4级
* 可以根据网格id的房屋
*
* @param formDTO
* @return
*/
@PostMapping("housetree")
public Result<List<HouseTreeDTO>> getOrgTreeData(@RequestBody HouseTreeFormDTO formDTO) {
return new Result<List<HouseTreeDTO>>().ok(icHouseService.getOrgTreeData(formDTO.getGridId()));
}
} }

22
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java

@ -24,6 +24,7 @@ import com.epmet.dto.ImportGeneralDTO;
import com.epmet.dto.form.CheckHouseInfoFormDTO; import com.epmet.dto.form.CheckHouseInfoFormDTO;
import com.epmet.dto.form.IcBuildingListFormDTO; import com.epmet.dto.form.IcBuildingListFormDTO;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
import com.epmet.dto.result.lingshan.HouseTreeDTO;
import com.epmet.entity.CustomerAgencyEntity; import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.entity.IcBuildingEntity; import com.epmet.entity.IcBuildingEntity;
import com.epmet.entity.IcHouseEntity; import com.epmet.entity.IcHouseEntity;
@ -255,4 +256,25 @@ public interface IcBuildingDao extends BaseDao<IcBuildingEntity> {
*/ */
IcBuildingEntity getBuildingInfoByName(CheckHouseInfoFormDTO formDTO); IcBuildingEntity getBuildingInfoByName(CheckHouseInfoFormDTO formDTO);
/**
* 1楼栋节点
* @param neighborHoodId
* @return
*/
List<HouseTreeDTO> selectBuildingTree(@Param("neighborHoodId") String neighborHoodId);
/**
* 2单元节点
* @param buildingId
* @return
*/
List<HouseTreeDTO> selectUnit(@Param("buildingId") String buildingId);
/**
* 3房屋节点
* @param unitId
* @return
*/
List<HouseTreeDTO> selectHouseTree(@Param("unitId") String unitId);
} }

18
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java

@ -7,6 +7,7 @@ import com.epmet.dto.form.GetHouseInfoToCollectFormDTO;
import com.epmet.dto.form.HouseChartFormDTO; import com.epmet.dto.form.HouseChartFormDTO;
import com.epmet.dto.form.IcHouseListFormDTO; import com.epmet.dto.form.IcHouseListFormDTO;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
import com.epmet.dto.result.lingshan.PartyCenterHouseResultDTO;
import com.epmet.entity.CustomerOrgParameterEntity; import com.epmet.entity.CustomerOrgParameterEntity;
import com.epmet.entity.IcHouseEntity; import com.epmet.entity.IcHouseEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -213,4 +214,21 @@ public interface IcHouseDao extends BaseDao<IcHouseEntity> {
List<IcHouseListResultDTO> houseStatisListDetail(HouseChartFormDTO formDTO); List<IcHouseListResultDTO> houseStatisListDetail(HouseChartFormDTO formDTO);
List<IcHouseEntity> selectListForRenFangStats(@Param("buildingId") String buildingId); List<IcHouseEntity> selectListForRenFangStats(@Param("buildingId") String buildingId);
/**
* 灵山项目-联户绑定
* 该接口返回党员中心户房屋列表默认登录用户查询本组织及下级
*
* @param customerId
* @param agencyId
* @param neighborHoodName
* @param buildingName
* @return
*/
List<PartyCenterHouseResultDTO> selectListPartyCenterHouse(@Param("customerId") String customerId,
@Param("agencyId") String agencyId,
@Param("neighborHoodName") String neighborHoodName,
@Param("buildingName") String buildingName,
@Param("buildingId") String buildingId,
@Param("partyCenterHouseFlag") String partyCenterHouseFlag);
} }

17
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/LingshanPartyCenterHouseLianhuDao.java

@ -0,0 +1,17 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.LingshanPartyCenterHouseLianhuEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 灵山_党员中心户联户
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2023-05-16
*/
@Mapper
public interface LingshanPartyCenterHouseLianhuDao extends BaseDao<LingshanPartyCenterHouseLianhuEntity> {
int deleteByPartyCenterHouseId(String partyCenterHouseId);
}

4
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcHouseEntity.java

@ -139,4 +139,8 @@ public class IcHouseEntity extends BaseEpmetEntity {
private String longitude; private String longitude;
private String latitude; private String latitude;
/**
* 灵山项目是否党员中心户1是0不是
*/
private String partyCenterHouseFlag;
} }

66
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/LingshanPartyCenterHouseLianhuEntity.java

@ -0,0 +1,66 @@
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 2023-05-16
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("lingshan_party_center_house_lianhu")
public class LingshanPartyCenterHouseLianhuEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户id
*/
private String customerId;
/**
* 党员中心户房屋idlingshan_party_center_house.HOUSE_ID
*/
private String partyCenterHouseId;
/**
* 联户房屋所属组织id
*/
private String agencyId;
/**
* 联户房屋所属网格id
*/
private String gridId;
/**
* 联户grid_id的path包含grid_id
*/
private String gridIdPath;
/**
* 联户小区id
*/
private String neighborHoodId;
/**
* 联户楼栋id
*/
private String buildingId;
/**
* 联户单元id
*/
private String buildingUnitId;
/**
* 联户联户房屋id
*/
private String houseId;
}

41
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java

@ -2,14 +2,22 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.dto.result.OptionResultDTO; import com.epmet.commons.tools.dto.result.OptionResultDTO;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.IcHouseDTO; import com.epmet.dto.IcHouseDTO;
import com.epmet.dto.ImportGeneralDTO; import com.epmet.dto.ImportGeneralDTO;
import com.epmet.dto.form.CheckHouseInfoFormDTO; import com.epmet.dto.form.CheckHouseInfoFormDTO;
import com.epmet.dto.form.DetailByTypeFormDTO;
import com.epmet.dto.form.HouseFormDTO; import com.epmet.dto.form.HouseFormDTO;
import com.epmet.dto.result.*; import com.epmet.dto.form.lingshan.PartyCenterHousePageFormDTO;
import com.epmet.dto.result.HouseAgencyInfoResultDTO;
import com.epmet.dto.result.HouseInfoDTO;
import com.epmet.dto.result.HouseListResultDTO;
import com.epmet.dto.result.HousesNameResultDTO;
import com.epmet.dto.result.lingshan.HouseTreeDTO;
import com.epmet.dto.result.lingshan.LingshanPartyCenterHouseLianhuDTO;
import com.epmet.dto.result.lingshan.PartyCenterHouseBindLianHuDetailDTO;
import com.epmet.dto.result.lingshan.PartyCenterHouseResultDTO;
import com.epmet.entity.IcHouseEntity; import com.epmet.entity.IcHouseEntity;
import java.util.List; import java.util.List;
@ -138,5 +146,34 @@ public interface IcHouseService extends BaseService<IcHouseEntity> {
*/ */
Result checkHomeInfo(CheckHouseInfoFormDTO formDTO); Result checkHomeInfo(CheckHouseInfoFormDTO formDTO);
/**
* 灵山项目-联户绑定
* 该接口返回党员中心户房屋列表默认登录用户查询本组织及下级
* @return
*/
PageData<PartyCenterHouseResultDTO> queryPartyCenterHouseList(PartyCenterHousePageFormDTO formDTO);
/**
* 灵山项目-党员中心户绑定联户
* @param partyCenterHouseId
* @param lianHuHouseList
*/
void bingLianHu(String partyCenterHouseId, List<PartyCenterHouseBindLianHuDetailDTO> lianHuHouseList);
/**
* 灵山项目-查询联户房屋列表
* @param partyCenterHouseId
* @return
*/
List<LingshanPartyCenterHouseLianhuDTO> queryLianHuHouse(String partyCenterHouseId);
/**
* 灵山项目-绑定联户时候选择同网格内的房屋
* 房屋树小区-楼栋-单元-房屋共4级
* 可以根据网格id的房屋
*
* @param gridId
* @return
*/
List<HouseTreeDTO> getOrgTreeData(String gridId);
} }

151
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java

@ -5,30 +5,31 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.dto.result.OptionResultDTO; import com.epmet.commons.tools.dto.result.OptionResultDTO;
import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerIcHouseRedis; import com.epmet.commons.tools.redis.common.CustomerIcHouseRedis;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.redis.common.bean.HouseInfoCache; import com.epmet.commons.tools.redis.common.bean.HouseInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.PidUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.IcBuildingDao; import com.epmet.commons.tools.utils.SpringContextUtils;
import com.epmet.dao.IcBuildingUnitDao; import com.epmet.dao.*;
import com.epmet.dao.IcHouseDao; import com.epmet.dto.*;
import com.epmet.dao.IcNeighborHoodDao;
import com.epmet.dto.IcHouseDTO;
import com.epmet.dto.IcResiCategoryStatsConfigDTO;
import com.epmet.dto.IcResiUserDTO;
import com.epmet.dto.ImportGeneralDTO;
import com.epmet.dto.form.CheckHouseInfoFormDTO; import com.epmet.dto.form.CheckHouseInfoFormDTO;
import com.epmet.dto.form.HouseFormDTO; import com.epmet.dto.form.HouseFormDTO;
import com.epmet.dto.form.lingshan.PartyCenterHousePageFormDTO;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
import com.epmet.entity.IcBuildingEntity; import com.epmet.dto.result.lingshan.HouseTreeDTO;
import com.epmet.entity.IcBuildingUnitEntity; import com.epmet.dto.result.lingshan.LingshanPartyCenterHouseLianhuDTO;
import com.epmet.entity.IcHouseEntity; import com.epmet.dto.result.lingshan.PartyCenterHouseBindLianHuDetailDTO;
import com.epmet.entity.IcNeighborHoodEntity; import com.epmet.dto.result.lingshan.PartyCenterHouseResultDTO;
import com.epmet.entity.*;
import com.epmet.enums.HousePurposeEnums; import com.epmet.enums.HousePurposeEnums;
import com.epmet.enums.HouseRentFlagEnums; import com.epmet.enums.HouseRentFlagEnums;
import com.epmet.enums.HouseTypeEnums; import com.epmet.enums.HouseTypeEnums;
@ -36,7 +37,10 @@ import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.OperCustomizeOpenFeignClient; import com.epmet.feign.OperCustomizeOpenFeignClient;
import com.epmet.redis.IcHouseRedis; import com.epmet.redis.IcHouseRedis;
import com.epmet.service.CustomerGridService;
import com.epmet.service.IcHouseService; import com.epmet.service.IcHouseService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -73,6 +77,9 @@ public class IcHouseServiceImpl extends BaseServiceImpl<IcHouseDao, IcHouseEntit
private IcBuildingUnitDao buildingUnitDao; private IcBuildingUnitDao buildingUnitDao;
@Autowired @Autowired
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
@Autowired
private LingshanPartyCenterHouseLianhuDao partyCenterHouseLianhuDao;
@Override @Override
public IcHouseDTO get(String id) { public IcHouseDTO get(String id) {
@ -405,4 +412,124 @@ public class IcHouseServiceImpl extends BaseServiceImpl<IcHouseDao, IcHouseEntit
return new Result<CheckHomeInfoResultInfo>().ok(checkHomeInfoResultInfo); return new Result<CheckHomeInfoResultInfo>().ok(checkHomeInfoResultInfo);
} }
/**
* 灵山项目-联户绑定
* 该接口返回党员中心户房屋列表默认登录用户查询本组织及下级
*
* @return
*/
@Override
public PageData<PartyCenterHouseResultDTO> queryPartyCenterHouseList(PartyCenterHousePageFormDTO formDTO) {
CustomerStaffInfoCacheResult staffInfoCacheResult= CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(),formDTO.getStaffId());
PageHelper.startPage(formDTO.getPageNo(),formDTO.getPageSize());
List<PartyCenterHouseResultDTO> list=baseDao.selectListPartyCenterHouse(formDTO.getCustomerId(),staffInfoCacheResult.getAgencyId(),
formDTO.getNeighborHoodName(),formDTO.getBuildingName(),formDTO.getBuildingId(),formDTO.getPartyCenterHouseFlag());
list.forEach(item -> {
item.setHouseTypeName(HouseTypeEnums.getTypeValue(item.getHouseType()));
item.setPurposeName(HousePurposeEnums.getTypeValue(item.getPurpose()));
});
PageInfo<PartyCenterHouseResultDTO> pageInfo = new PageInfo<>(list);
return new PageData<>(list, pageInfo.getTotal(),formDTO.getPageSize());
}
/**
* 灵山项目-党员中心户绑定联户
*
* @param partyCenterHouseId
* @param lianHuHouseList
*/
@Override
public void bingLianHu(String partyCenterHouseId, List<PartyCenterHouseBindLianHuDetailDTO> lianHuHouseList) {
IcHouseEntity partyCenterHouse=baseDao.selectById(partyCenterHouseId);
IcNeighborHoodEntity neighborHoodEntity=icNeighborHoodDao.selectById(partyCenterHouse.getNeighborHoodId());
CustomerGridDTO gridDTO=SpringContextUtils.getBean(CustomerGridService.class).get(neighborHoodEntity.getGridId());
String gridIdPath=PidUtils.convertPid2OrgIdPath(gridDTO.getId(), gridDTO.getPids());
// 先删除
LambdaQueryWrapper<LingshanPartyCenterHouseLianhuEntity> queryWrapper=new LambdaQueryWrapper<>();
queryWrapper.eq(LingshanPartyCenterHouseLianhuEntity::getPartyCenterHouseId,partyCenterHouseId);
partyCenterHouseLianhuDao.deleteByPartyCenterHouseId(partyCenterHouseId);
// 后插入
lianHuHouseList.forEach(lianHuHouse->{
//根据选中类型,查询下面的房屋
List<IcHouseEntity> list=new ArrayList<>();
if(!"house".equals(lianHuHouse.getType())){
LambdaQueryWrapper<IcHouseEntity> query = new LambdaQueryWrapper<>();
query.eq("neighborHood".equals(lianHuHouse.getType()), IcHouseEntity::getNeighborHoodId, lianHuHouse.getId())
.eq("building".equals(lianHuHouse.getType()), IcHouseEntity::getBuildingId, lianHuHouse.getId())
.eq("unit".equals(lianHuHouse.getType()), IcHouseEntity::getBuildingUnitId, lianHuHouse.getId());
list.addAll(baseDao.selectList(query));
}else{
IcHouseEntity icHouseEntity=baseDao.selectById(lianHuHouse.getId());
list.add(icHouseEntity);
}
if(CollectionUtils.isNotEmpty(list)){
for(IcHouseEntity houseEntity:list){
LingshanPartyCenterHouseLianhuEntity entity=new LingshanPartyCenterHouseLianhuEntity();
entity.setPartyCenterHouseId(partyCenterHouseId);
//目前只能绑定同一个网格下的房屋
entity.setCustomerId(neighborHoodEntity.getCustomerId());
entity.setAgencyId(neighborHoodEntity.getAgencyId());
entity.setGridId(neighborHoodEntity.getGridId());
entity.setGridIdPath(gridIdPath);
entity.setNeighborHoodId(houseEntity.getNeighborHoodId());
entity.setBuildingId(houseEntity.getBuildingId());
entity.setBuildingUnitId(houseEntity.getBuildingUnitId());
entity.setHouseId(houseEntity.getId());
partyCenterHouseLianhuDao.insert(entity);
}
}
});
}
/**
* 灵山项目-查询联户房屋列表
*
* @param partyCenterHouseId
* @return
*/
@Override
public List<LingshanPartyCenterHouseLianhuDTO> queryLianHuHouse(String partyCenterHouseId) {
if(StringUtils.isBlank(partyCenterHouseId)){
return new ArrayList<>();
}
LambdaQueryWrapper<LingshanPartyCenterHouseLianhuEntity> queryWrapper=new LambdaQueryWrapper<>();
queryWrapper.eq(LingshanPartyCenterHouseLianhuEntity::getPartyCenterHouseId,partyCenterHouseId);
List<LingshanPartyCenterHouseLianhuEntity> list=partyCenterHouseLianhuDao.selectList(queryWrapper);
return ConvertUtils.sourceToTarget(list,LingshanPartyCenterHouseLianhuDTO.class);
}
/**
* 灵山项目-绑定联户时候选择同网格内的房屋
* 房屋树小区-楼栋-单元-房屋共4级
* 可以根据网格id的房屋
*
* @param gridId
* @return
*/
@Override
public List<HouseTreeDTO> getOrgTreeData(String gridId) {
LambdaQueryWrapper<IcNeighborHoodEntity> neighborHoodWrapper = new LambdaQueryWrapper<>();
neighborHoodWrapper.eq(IcNeighborHoodEntity::getGridId, gridId)
.select(IcNeighborHoodEntity::getId,IcNeighborHoodEntity::getNeighborHoodName);
List<IcNeighborHoodEntity> list = icNeighborHoodDao.selectList(neighborHoodWrapper);
List<HouseTreeDTO> resultList = new ArrayList<>();
for (IcNeighborHoodEntity neighborHoodEntity : list) {
HouseTreeDTO houseTreeDTO = new HouseTreeDTO();
houseTreeDTO.setId(neighborHoodEntity.getId());
houseTreeDTO.setType("neighborHood");
houseTreeDTO.setName(neighborHoodEntity.getNeighborHoodName());
List<HouseTreeDTO> buildingList=icBuildingDao.selectBuildingTree(neighborHoodEntity.getId());
houseTreeDTO.setChildren(buildingList);
resultList.add(houseTreeDTO);
}
return resultList;
}
} }

2
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPartyServiceCenterServiceImpl.java

@ -767,7 +767,7 @@ public class IcPartyServiceCenterServiceImpl extends BaseServiceImpl<IcPartyServ
LambdaQueryWrapper<IcPartyServiceCenterEntity> q = new QueryWrapper<IcPartyServiceCenterEntity>().select(" org_type, count(*) qtyOfType") LambdaQueryWrapper<IcPartyServiceCenterEntity> q = new QueryWrapper<IcPartyServiceCenterEntity>().select(" org_type, count(*) qtyOfType")
.lambda() .lambda()
.and(c1 -> c1.eq(IcPartyServiceCenterEntity::getOrgId, orgId).or(c2 -> c2.eq(IcPartyServiceCenterEntity::getPids, orgIdPath))) .and(c1 -> c1.eq(IcPartyServiceCenterEntity::getOrgId, orgId).or(c2 -> c2.likeRight(IcPartyServiceCenterEntity::getPids, orgIdPath)))
.groupBy(IcPartyServiceCenterEntity::getOrgType); .groupBy(IcPartyServiceCenterEntity::getOrgType);
List<IcPartyServiceCenterEntity> l = icPartyServiceCenterDao.selectList(q); List<IcPartyServiceCenterEntity> l = icPartyServiceCenterDao.selectList(q);

50
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml

@ -552,4 +552,54 @@
</select> </select>
<resultMap id="HouseTreeDTOMap" type="com.epmet.dto.result.lingshan.HouseTreeDTO">
<result property="id" column="id"/>
<result property="name" column="BUILDING_NAME"/>
<result property="type" column="type"/>
<collection property="children" ofType="com.epmet.dto.result.lingshan.HouseTreeDTO"
column="{buildingId=id}" select="com.epmet.dao.IcBuildingDao.selectUnit"/>
</resultMap>
<!-- 楼栋节点 -->
<select id="selectBuildingTree" parameterType="map" resultMap="HouseTreeDTOMap">
select id ,
BUILDING_NAME,
'building' as type
from ic_building
where DEL_FLAG = '0'
and NEIGHBOR_HOOD_ID = #{neighborHoodId}
order by sort asc,CREATED_TIME asc
</select>
<resultMap id="UnitMap" type="com.epmet.dto.result.lingshan.HouseTreeDTO">
<result property="id" column="id"/>
<result property="name" column="UNIT_NAME"/>
<result property="type" column="type"/>
<collection property="children" ofType="com.epmet.dto.result.lingshan.HouseTreeDTO"
column="{unitId=id}" select="com.epmet.dao.IcBuildingDao.selectHouseTree"/>
</resultMap>
<!-- 单元节点 -->
<select id="selectUnit" parameterType="map" resultMap="UnitMap">
SELECT
u.ID,
u.UNIT_NAME,
'unit' AS type
FROM
ic_building_unit u
WHERE
u.DEL_FLAG = '0'
AND u.BUILDING_ID = #{buildingId}
ORDER BY
u.UNIT_NUM ASC
</select>
<!-- 房屋节点 -->
<select id="selectHouseTree" parameterType="map" resultType="com.epmet.dto.result.lingshan.HouseTreeDTO">
select ih.id,
ih.DOOR_NAME as name,
'house' as type
from ic_house ih
where ih.DEL_FLAG='0'
and ih.BUILDING_UNIT_ID=#{unitId}
order by ih.DOOR_NAME asc
</select>
</mapper> </mapper>

68
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml

@ -701,4 +701,72 @@
CAST(a.DOOR_NAME AS SIGNED), CAST(a.DOOR_NAME AS SIGNED),
CONVERT(a.DOOR_NAME using gbk) CONVERT(a.DOOR_NAME using gbk)
</select> </select>
<!-- 灵山项目-联户绑定 该接口返回:党员中心户房屋列表;默认登录用户查询本组织及下级 -->
<select id="selectListPartyCenterHouse" parameterType="map" resultType="com.epmet.dto.result.lingshan.PartyCenterHouseResultDTO">
SELECT
ih.ID as partyCenterHouseId,
concat(h.NEIGHBOR_HOOD_NAME,b.BUILDING_NAME,u.UNIT_NAME,ih.DOOR_NAME)as houseName,
ih.DOOR_NAME as doorName,
ih.BUILDING_UNIT_ID as buildingUnitId,
u.UNIT_NAME as unitName,
ih.BUILDING_ID as buildingId,
b.BUILDING_NAME as buildingName,
ih.NEIGHBOR_HOOD_ID as neighborHoodId,
h.NEIGHBOR_HOOD_NAME as neighborHoodName,
h.GRID_ID as gridId,
cg.GRID_NAME as gridName,
h.AGENCY_ID as agencyId,
ca.ORGANIZATION_NAME as agencyName,
ih.HOUSE_TYPE houseType,
ih.PURPOSE,
ih.RENT_FLAG,
(case when ih.RENT_FLAG = '0' then '自住'
when ih.RENT_FLAG = '1' then '出租'
when ih.RENT_FLAG = '2' then '闲置'
when ih.RENT_FLAG = '3' then '未出售'
else '' end) as houseStatusName,
ih.OWNER_NAME,
ih.OWNER_PHONE,
ih.OWNER_PHONE as showOwnerPhone,
ih.OWNER_ID_CARD,
ih.OWNER_ID_CARD as showOwnerIdCard,
ih.REMARK,
(select count(r.ID)
from lingshan_party_center_house_lianhu r
where r.PARTY_CENTER_HOUSE_ID=ih.ID
and r.DEL_FLAG='0'
)as totalLianHu,
ih.PARTY_CENTER_HOUSE_FLAG as partyCenterHouseFlag
FROM
ic_house ih
inner join ic_building_unit u
on(ih.BUILDING_UNIT_ID=u.ID)
INNER JOIN ic_building b ON ( ih.BUILDING_ID = b.ID )
INNER JOIN ic_neighbor_hood h ON ( b.NEIGHBOR_HOOD_ID = h.ID )
left join customer_grid cg on(h.GRID_ID=cg.ID)
left join customer_agency ca on(h.AGENCY_ID=ca.ID)
WHERE
ih.DEL_FLAG = '0'
AND b.DEL_FLAG = '0'
AND h.DEL_FLAG = '0'
<if test="partyCenterHouseFlag != null and partyCenterHouseFlag.trim() != ''">
AND ih.PARTY_CENTER_HOUSE_FLAG='1'
</if>
<if test="neighborHoodName != null and neighborHoodName.trim() != ''">
and h.NEIGHBOR_HOOD_NAME like concat('%',#{neighborHoodName},'%')
</if>
<if test="buildingName != null and buildingName.trim() != ''">
and b.BUILDING_NAME like concat('%',#{buildingName},'%')
</if>
<if test="buildingId != null and buildingId.trim() != ''">
and b.id = #{buildingId}
</if>
<if test="null == buildingId or '' == buildingId ">
<if test="agencyId != null and agencyId.trim() != ''">
AND (h.AGENCY_ID=#{agencyId} or h.AGENCY_PIDS like concat('%',#{agencyId},'%') )
</if>
</if>
order by ca.CREATED_TIME asc,cg.CREATED_TIME asc,h.CREATED_TIME asc
</select>
</mapper> </mapper>

29
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/LingshanPartyCenterHouseLianhuDao.xml

@ -0,0 +1,29 @@
<?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.LingshanPartyCenterHouseLianhuDao">
<resultMap type="com.epmet.entity.LingshanPartyCenterHouseLianhuEntity" id="lingshanPartyCenterHouseLianhuMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="partyCenterHouseId" column="PARTY_CENTER_HOUSE_ID"/>
<result property="agencyId" column="AGENCY_ID"/>
<result property="gridId" column="GRID_ID"/>
<result property="gridIdPath" column="GRID_ID_PATH"/>
<result property="neighborHoodId" column="NEIGHBOR_HOOD_ID"/>
<result property="buildingId" column="BUILDING_ID"/>
<result property="buildingUnitId" column="BUILDING_UNIT_ID"/>
<result property="houseId" column="HOUSE_ID"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<delete id="deleteByPartyCenterHouseId" parameterType="java.lang.String">
delete from lingshan_party_center_house_lianhu where PARTY_CENTER_HOUSE_ID=#{partyCenterHouseId}
</delete>
</mapper>

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

@ -66,7 +66,7 @@ public class LingShanPartyOrgServiceImpl implements LingShanPartyOrgService, Res
// 街道及以上级别,用pids,因为要从社区开始查,本级及下级 // 街道及以上级别,用pids,因为要从社区开始查,本级及下级
q = new QueryWrapper<IcPartyOrgEntity>().select(" party_org_type, count(*) childrenQty").lambda() q = new QueryWrapper<IcPartyOrgEntity>().select(" party_org_type, count(*) childrenQty").lambda()
// 本组织下级的所有子级,不含本级 // 本组织下级的所有子级,不含本级
.like(IcPartyOrgEntity::getAgencyPids, orgIdPath) .likeRight(IcPartyOrgEntity::getAgencyPids, orgIdPath)
.groupBy(IcPartyOrgEntity::getPartyOrgType); .groupBy(IcPartyOrgEntity::getPartyOrgType);
} }
@ -168,7 +168,7 @@ public class LingShanPartyOrgServiceImpl implements LingShanPartyOrgService, Res
} }
/** /**
* @Description: 查询支部支部是直属的 * @Description: 查询支部支部是直属的!!!!!!!!!!!!!!!!!!!!!!!!!!!
* @param orgId: * @param orgId:
* @param orgType: * @param orgType:
* @Return java.util.List<com.epmet.resi.partymember.dto.partyOrg.result.LingShanScreenPartyObjectByTypeRstDTO> * @Return java.util.List<com.epmet.resi.partymember.dto.partyOrg.result.LingShanScreenPartyObjectByTypeRstDTO>

10
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/LingShanScreenServiceImpl.java

@ -159,15 +159,19 @@ public class LingShanScreenServiceImpl implements LingShanScreenService, ResultD
if (partyOrg == null) { if (partyOrg == null) {
String baseErrorMsg = "【灵山大屏】党组织下的党员列表-未找到党组织信息。"; String baseErrorMsg = "【灵山大屏】党组织下的党员列表-未找到党组织信息。";
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), String.format(baseErrorMsg + "partyOrgId:" + partyOrg), baseErrorMsg); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), String.format(baseErrorMsg + "partyOrgId:" + partyOrg), baseErrorMsg);
} else if (Integer.valueOf(partyOrg.getPartyOrgType()) >= 4) { } else if (Integer.valueOf(partyOrg.getPartyOrgType()) <= 4) {
// 0省委,1市委,2区委,3党工委,4党委,5支部。党委以上,除了支部 // 0省委,1市委,2区委,3党工委,4党委,5支部。党委以上,除了支部
query = new LambdaQueryWrapper<>(); query = new LambdaQueryWrapper<>();
query.eq(IcPartyMemberEntity::getOrgPids, PidUtils.convertPid2OrgIdPath(partyOrgId, partyOrg.getOrgPids())); // query.eq(IcPartyMemberEntity::getOrgPids, PidUtils.convertPid2OrgIdPath(partyOrgId, partyOrg.getOrgPids()));
String orgIdPath = PidUtils.convertPid2OrgIdPath(partyOrgId, partyOrg.getOrgPids());
query.eq(IcPartyMemberEntity::getCustomerId, EpmetRequestHolder.getLoginUserCustomerId()); query.eq(IcPartyMemberEntity::getCustomerId, EpmetRequestHolder.getLoginUserCustomerId());
query.and(c1 -> c1.eq(IcPartyMemberEntity::getAgencyId, partyOrg.getAgencyId()).or(c2 -> c2.likeRight(IcPartyMemberEntity::getAgencyPids, orgIdPath)));
} else { } else {
// 5支部 // 5支部
query = new LambdaQueryWrapper<>(); query = new LambdaQueryWrapper<>();
query.eq(IcPartyMemberEntity::getOrgPids, partyOrg.getOrgPids()); query.eq(IcPartyMemberEntity::getSszb, partyOrg.getId()); // 直接用所属支部
query.eq(IcPartyMemberEntity::getCustomerId, EpmetRequestHolder.getLoginUserCustomerId()); query.eq(IcPartyMemberEntity::getCustomerId, EpmetRequestHolder.getLoginUserCustomerId());
} }

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

@ -314,9 +314,9 @@
from ic_party_org o from ic_party_org o
left join ic_party_member m on (o.ID = m.SSZB and m.DEL_FLAG = 0) left join ic_party_member m on (o.ID = m.SSZB and m.DEL_FLAG = 0)
where o.DEL_FLAG = 0 where o.DEL_FLAG = 0
and o.AGENCY_ID = #{orgId} and o.AGENCY_PIDS like #{orgId}
and o.PARTY_ORG_TYPE = 5 and o.PARTY_ORG_TYPE = 5
group by o.ID, o.PARTY_ORG_NAME, o.LATITUDE, o.LONGITUDE group by o.ID, o.PARTY_ORG_NAME, o.LATITUDE, o.LONGITUDE
</select> </select>
</mapper> </mapper>
Loading…
Cancel
Save