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)
private String contactMobile;
/**
* 关联的小区数量
*/
@ExcelIgnore
private Integer totalNeighborHood;
/**
* 导出时候用
* 该物业关联的小区
@ -116,9 +122,4 @@ public class IcPropertyManagementDTO implements Serializable {
*/
@ExcelIgnore
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")
public Result<PageData<IcPropertyManagementDTO>> page(@RequestBody IcPropertyManagementFormDTO formDTO){
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();
PageData<IcPropertyManagementDTO> data = null;
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);
excelWriter.write(data.getList(), writeSheet);
} 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.entity.IcNeighborHoodPropertyEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -37,5 +38,5 @@ public interface IcNeighborHoodPropertyDao extends BaseDao<IcNeighborHoodPropert
* @param propertyId 物业id
* @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 contactName 物业联系人
* @param contactMobile 联系电话
* @param queryType 列表查询page-query导出export
* @return
*/
PageData<IcPropertyManagementDTO> page(Integer pageNo,
Integer pageSize,
String name,
String contactName,
String contactMobile,
String queryType);
String contactMobile);
/**
* 查看物业详情

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 contactName 物业联系人
* @param contactMobile 联系电话
* @param queryType 列表查询page-query导出export
* @return
*/
@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());
PageHelper.startPage(pageNo, pageSize);
List<IcPropertyManagementDTO> list = icPropertyManagementDao.queryList(EpmetRequestHolder.getLoginUserCustomerId(), name, contactName, contactMobile,staffInfoCacheResult.getAgencyId());
PageInfo<IcPropertyManagementDTO> pageInfo = new PageInfo<>(list);
// 导出时需要导出关联的小区名称
if ("export".equals(queryType)) {
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()
.map(IcNeighborHoodDTO::getNeighborHoodName)
.distinct().collect(Collectors.toList());
result.setNeighborHoodNames(CollectionUtils.isNotEmpty(neighborHoodList) ? StringUtils.join(neighborHoodNames, StrConstant.COMMA_ZH) : StrConstant.EPMETY_STR);
result.setNeighborHoodList(neighborHoodList);
});
}
return new PageData<>(list, pageInfo.getTotal(), pageSize);
}
@ -211,12 +208,13 @@ public class PropertyManagementServiceImpl implements PropertyManagementService
*/
@Override
public IcPropertyManagementDTO getDetail(String id) {
CustomerStaffInfoCacheResult staffInfoCacheResult= CustomerStaffRedis.getStaffInfo(EpmetRequestHolder.getLoginUserCustomerId(),EpmetRequestHolder.getLoginUserId());
IcPropertyManagementEntity icPropertyManagementEntity = icPropertyManagementDao.selectById(id);
if (null == icPropertyManagementEntity) {
return null;
}
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()
.map(IcNeighborHoodDTO::getNeighborHoodName)
.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 )
WHERE
p.PROPERTY_ID = #{propertyId}
AND (h.AGENCY_ID =#{agencyId} or h.AGENCY_PIDS like concat('%',#{agencyId},'%') )
AND p.DEL_FLAG = '0'
AND h.DEL_FLAG = '0'
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 id="queryList" parameterType="map" resultType="com.epmet.dto.IcPropertyManagementDTO">
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
select m.*
from ic_property_management m
where m.del_flag='0'
and m.customer_id=#{customerId}

Loading…
Cancel
Save