Browse Source

物业管理管理小区数量计算:当前物业在本组织及下级管理的小区数

dev
yinzuomei 2 years ago
parent
commit
958b97a2a0
  1. 11
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcPropertyManagementDTO.java
  2. 4
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/PropertyManagementController.java
  3. 3
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcNeighborHoodPropertyDao.java
  4. 4
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/PropertyManagementService.java
  5. 10
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/PropertyManagementServiceImpl.java
  6. 1
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodPropertyDao.xml
  7. 10
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPropertyManagementDao.xml

11
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcPropertyManagementDTO.java

@ -70,6 +70,12 @@ public class IcPropertyManagementDTO implements Serializable {
@ColumnWidth(30) @ColumnWidth(30)
private String contactMobile; private String contactMobile;
/**
* 关联的小区数量
*/
@ExcelIgnore
private Integer totalNeighborHood;
/** /**
* 导出时候用 * 导出时候用
* 该物业关联的小区 * 该物业关联的小区
@ -116,9 +122,4 @@ public class IcPropertyManagementDTO implements Serializable {
*/ */
@ExcelIgnore @ExcelIgnore
private Date updatedTime; private Date updatedTime;
/**
* 关联的小区数量
*/
@ExcelIgnore
private Integer totalNeighborHood;
} }

4
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/PropertyManagementController.java

@ -88,7 +88,7 @@ public class PropertyManagementController implements ResultDataResolver {
@PostMapping("page") @PostMapping("page")
public Result<PageData<IcPropertyManagementDTO>> page(@RequestBody IcPropertyManagementFormDTO formDTO){ public Result<PageData<IcPropertyManagementDTO>> page(@RequestBody IcPropertyManagementFormDTO formDTO){
return new Result<PageData<IcPropertyManagementDTO>>().ok(propertyManagementService.page(formDTO.getPageNo(),formDTO.getPageSize(),formDTO.getName(), return new Result<PageData<IcPropertyManagementDTO>>().ok(propertyManagementService.page(formDTO.getPageNo(),formDTO.getPageSize(),formDTO.getName(),
formDTO.getContactName(),formDTO.getContactMobile(),"page-query")); formDTO.getContactName(),formDTO.getContactMobile()));
} }
/** /**
@ -198,7 +198,7 @@ public class PropertyManagementController implements ResultDataResolver {
WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build(); WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build();
PageData<IcPropertyManagementDTO> data = null; PageData<IcPropertyManagementDTO> data = null;
do { do {
data = propertyManagementService.page(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getName(), formDTO.getContactName(), formDTO.getContactMobile(),"export"); data = propertyManagementService.page(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getName(), formDTO.getContactName(), formDTO.getContactMobile());
formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE); formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE);
excelWriter.write(data.getList(), writeSheet); excelWriter.write(data.getList(), writeSheet);
} while (CollectionUtils.isNotEmpty(data.getList()) && data.getList().size() == formDTO.getPageSize()); } while (CollectionUtils.isNotEmpty(data.getList()) && data.getList().size() == formDTO.getPageSize());

3
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcNeighborHoodPropertyDao.java

@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.IcNeighborHoodDTO; import com.epmet.dto.IcNeighborHoodDTO;
import com.epmet.entity.IcNeighborHoodPropertyEntity; import com.epmet.entity.IcNeighborHoodPropertyEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -37,5 +38,5 @@ public interface IcNeighborHoodPropertyDao extends BaseDao<IcNeighborHoodPropert
* @param propertyId 物业id * @param propertyId 物业id
* @return * @return
*/ */
List<IcNeighborHoodDTO> getNeighborHoodList(String propertyId); List<IcNeighborHoodDTO> getNeighborHoodList(@Param("propertyId") String propertyId, @Param("agencyId") String agencyId);
} }

4
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/PropertyManagementService.java

@ -47,15 +47,13 @@ public interface PropertyManagementService {
* @param name 物业名称 * @param name 物业名称
* @param contactName 物业联系人 * @param contactName 物业联系人
* @param contactMobile 联系电话 * @param contactMobile 联系电话
* @param queryType 列表查询page-query导出export
* @return * @return
*/ */
PageData<IcPropertyManagementDTO> page(Integer pageNo, PageData<IcPropertyManagementDTO> page(Integer pageNo,
Integer pageSize, Integer pageSize,
String name, String name,
String contactName, String contactName,
String contactMobile, String contactMobile);
String queryType);
/** /**
* 查看物业详情 * 查看物业详情

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

@ -180,26 +180,23 @@ public class PropertyManagementServiceImpl implements PropertyManagementService
* @param name 物业名称 * @param name 物业名称
* @param contactName 物业联系人 * @param contactName 物业联系人
* @param contactMobile 联系电话 * @param contactMobile 联系电话
* @param queryType 列表查询page-query导出export
* @return * @return
*/ */
@Override @Override
public PageData<IcPropertyManagementDTO> page(Integer pageNo, Integer pageSize, String name, String contactName, String contactMobile, String queryType) { public PageData<IcPropertyManagementDTO> page(Integer pageNo, Integer pageSize, String name, String contactName, String contactMobile) {
CustomerStaffInfoCacheResult staffInfoCacheResult= CustomerStaffRedis.getStaffInfo(EpmetRequestHolder.getLoginUserCustomerId(),EpmetRequestHolder.getLoginUserId()); CustomerStaffInfoCacheResult staffInfoCacheResult= CustomerStaffRedis.getStaffInfo(EpmetRequestHolder.getLoginUserCustomerId(),EpmetRequestHolder.getLoginUserId());
PageHelper.startPage(pageNo, pageSize); PageHelper.startPage(pageNo, pageSize);
List<IcPropertyManagementDTO> list = icPropertyManagementDao.queryList(EpmetRequestHolder.getLoginUserCustomerId(), name, contactName, contactMobile,staffInfoCacheResult.getAgencyId()); List<IcPropertyManagementDTO> list = icPropertyManagementDao.queryList(EpmetRequestHolder.getLoginUserCustomerId(), name, contactName, contactMobile,staffInfoCacheResult.getAgencyId());
PageInfo<IcPropertyManagementDTO> pageInfo = new PageInfo<>(list); PageInfo<IcPropertyManagementDTO> pageInfo = new PageInfo<>(list);
// 导出时需要导出关联的小区名称 // 导出时需要导出关联的小区名称
if ("export".equals(queryType)) {
pageInfo.getList().forEach(result -> { pageInfo.getList().forEach(result -> {
List<IcNeighborHoodDTO> neighborHoodList = icNeighborHoodPropertyDao.getNeighborHoodList(result.getId()); List<IcNeighborHoodDTO> neighborHoodList = icNeighborHoodPropertyDao.getNeighborHoodList(result.getId(),staffInfoCacheResult.getAgencyId());
List<String> neighborHoodNames = neighborHoodList.stream() List<String> neighborHoodNames = neighborHoodList.stream()
.map(IcNeighborHoodDTO::getNeighborHoodName) .map(IcNeighborHoodDTO::getNeighborHoodName)
.distinct().collect(Collectors.toList()); .distinct().collect(Collectors.toList());
result.setNeighborHoodNames(CollectionUtils.isNotEmpty(neighborHoodList) ? StringUtils.join(neighborHoodNames, StrConstant.COMMA_ZH) : StrConstant.EPMETY_STR); result.setNeighborHoodNames(CollectionUtils.isNotEmpty(neighborHoodList) ? StringUtils.join(neighborHoodNames, StrConstant.COMMA_ZH) : StrConstant.EPMETY_STR);
result.setNeighborHoodList(neighborHoodList); result.setNeighborHoodList(neighborHoodList);
}); });
}
return new PageData<>(list, pageInfo.getTotal(), pageSize); return new PageData<>(list, pageInfo.getTotal(), pageSize);
} }
@ -211,12 +208,13 @@ public class PropertyManagementServiceImpl implements PropertyManagementService
*/ */
@Override @Override
public IcPropertyManagementDTO getDetail(String id) { public IcPropertyManagementDTO getDetail(String id) {
CustomerStaffInfoCacheResult staffInfoCacheResult= CustomerStaffRedis.getStaffInfo(EpmetRequestHolder.getLoginUserCustomerId(),EpmetRequestHolder.getLoginUserId());
IcPropertyManagementEntity icPropertyManagementEntity = icPropertyManagementDao.selectById(id); IcPropertyManagementEntity icPropertyManagementEntity = icPropertyManagementDao.selectById(id);
if (null == icPropertyManagementEntity) { if (null == icPropertyManagementEntity) {
return null; return null;
} }
IcPropertyManagementDTO resultDto = ConvertUtils.sourceToTarget(icPropertyManagementEntity, IcPropertyManagementDTO.class); IcPropertyManagementDTO resultDto = ConvertUtils.sourceToTarget(icPropertyManagementEntity, IcPropertyManagementDTO.class);
List<IcNeighborHoodDTO> neighborHoodList = icNeighborHoodPropertyDao.getNeighborHoodList(id); List<IcNeighborHoodDTO> neighborHoodList = icNeighborHoodPropertyDao.getNeighborHoodList(id,staffInfoCacheResult.getAgencyId());
List<String> neighborHoodNames = neighborHoodList.stream() List<String> neighborHoodNames = neighborHoodList.stream()
.map(IcNeighborHoodDTO::getNeighborHoodName) .map(IcNeighborHoodDTO::getNeighborHoodName)
.distinct().collect(Collectors.toList()); .distinct().collect(Collectors.toList());

1
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodPropertyDao.xml

@ -24,6 +24,7 @@
INNER JOIN ic_neighbor_hood h ON ( p.NEIGHBOR_HOOD_ID = h.ID ) INNER JOIN ic_neighbor_hood h ON ( p.NEIGHBOR_HOOD_ID = h.ID )
WHERE WHERE
p.PROPERTY_ID = #{propertyId} p.PROPERTY_ID = #{propertyId}
AND (h.AGENCY_ID =#{agencyId} or h.AGENCY_PIDS like concat('%',#{agencyId},'%') )
AND p.DEL_FLAG = '0' AND p.DEL_FLAG = '0'
AND h.DEL_FLAG = '0' AND h.DEL_FLAG = '0'
order by h.CREATED_TIME asc order by h.CREATED_TIME asc

10
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPropertyManagementDao.xml

@ -71,15 +71,7 @@
</select> </select>
<select id="queryList" parameterType="map" resultType="com.epmet.dto.IcPropertyManagementDTO"> <select id="queryList" parameterType="map" resultType="com.epmet.dto.IcPropertyManagementDTO">
select m.*,( select m.*
select count(pr.NEIGHBOR_HOOD_ID)
from ic_neighbor_hood_property pr
INNER JOIN ic_neighbor_hood h ON ( pr.NEIGHBOR_HOOD_ID = h.ID )
where pr.PROPERTY_ID=m.id
and pr.del_flag='0'
and h.del_flag='0'
and (pr.AGENCY_ID=#{agencyId} or pr.AGENCY_PIDS like concat('%',#{agencyId},'%') )
)as totalNeighborHood
from ic_property_management m from ic_property_management m
where m.del_flag='0' where m.del_flag='0'
and m.customer_id=#{customerId} and m.customer_id=#{customerId}

Loading…
Cancel
Save