优化房屋汇总列表执行速度 --renpc
This commit is contained in:
parent
7946224c1b
commit
f96265706c
@ -124,4 +124,6 @@ public interface IHouseDao {
|
||||
* @return
|
||||
*/
|
||||
List<PopulationDTO> findPopulation(Map<String, Object> params);
|
||||
|
||||
List<HouseDTO> listForAll(Map<String, Object> params);
|
||||
}
|
@ -129,6 +129,8 @@ public class HouseDTO {
|
||||
private String houseType;
|
||||
@ApiModelProperty(name = "populationVOList", value = "同住人信息")
|
||||
private List<PopulationDTO> populationDTOList;
|
||||
@ApiModelProperty(name = "count", value = "房屋人员")
|
||||
private Integer count;
|
||||
|
||||
public String getHouseId() {
|
||||
return houseId;
|
||||
@ -577,4 +579,12 @@ public class HouseDTO {
|
||||
public void setPopulationDTOList(List<PopulationDTO> populationDTOList) {
|
||||
this.populationDTOList = populationDTOList;
|
||||
}
|
||||
|
||||
public Integer getCount() {
|
||||
return count;
|
||||
}
|
||||
|
||||
public void setCount(Integer count) {
|
||||
this.count = count;
|
||||
}
|
||||
}
|
||||
|
@ -262,7 +262,7 @@ public class HouseServiceImpl extends AbstractService implements IHouseService {
|
||||
batchHouseDTO.setUnitCount(unitNum.toString());
|
||||
|
||||
// 获取当前楼栋下的所有房屋信息
|
||||
List<HouseDTO> houseDTOList = houseDao.list(params);
|
||||
List<HouseDTO> houseDTOList = houseDao.listForAll(params);
|
||||
|
||||
List<BatchHouseDTO.Floor> floorList = new ArrayList<>();
|
||||
for (int i = 1; i <= floorsNum; i++) {
|
||||
@ -281,7 +281,7 @@ public class HouseServiceImpl extends AbstractService implements IHouseService {
|
||||
BatchHouseDTO.House house = new BatchHouseDTO.House();
|
||||
if (null != houseDTO.getAffiliationFloors()) {
|
||||
if (i == Integer.valueOf(houseDTO.getAffiliationFloors())) {
|
||||
if (null != houseDTO.getAffiliatedUnit()) {
|
||||
if (null != houseDTO.getAffiliationUnit()) {
|
||||
if (j == Integer.valueOf(houseDTO.getAffiliationUnit())) {
|
||||
house.setIsCreator(0);
|
||||
house.setPopulationCount(0);
|
||||
@ -291,9 +291,9 @@ public class HouseServiceImpl extends AbstractService implements IHouseService {
|
||||
if (userId.equals(houseDTO.getCreator()) || isAdmin()) {
|
||||
house.setIsCreator(1);
|
||||
// 获取当前房屋内的人数
|
||||
params.put("houseId", houseDTO.getHouseId());
|
||||
Integer count = populationService.count(params);
|
||||
house.setPopulationCount(count);
|
||||
/*params.put("houseId", houseDTO.getHouseId());
|
||||
Integer count = populationService.count(params);*/
|
||||
house.setPopulationCount(houseDTO.getCount());
|
||||
}
|
||||
houseList.add(house);
|
||||
}
|
||||
|
@ -361,7 +361,7 @@ public class PopulationServiceImpl extends AbstractService implements IPopulatio
|
||||
|
||||
// 获取人员
|
||||
PopulationInfoBaseDTO base = populationInfoService.getBase(populationDTO.getPopulationInfoId());
|
||||
populationInfoService.getTuoMin(base);
|
||||
// populationInfoService.getTuoMin(base);
|
||||
populationInfoHouseDTO.setPopulationInfoBaseDTO(base);
|
||||
|
||||
populationDTO.setPopulationInfoHouseDTO(populationInfoHouseDTO);
|
||||
|
@ -57,6 +57,7 @@
|
||||
<result column="is_delete" property="isDelete"/>
|
||||
<result column="street" property="street"/>
|
||||
<result column="street_name" property="streetName"/>
|
||||
<result column="count" property="count"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="houseBO" type="com.cm.population.pojo.bos.house.HouseBO">
|
||||
@ -795,7 +796,7 @@
|
||||
hp.population_info_id = #{populationInfoId}
|
||||
)
|
||||
</if>
|
||||
ORDER BY house_num ASC
|
||||
ORDER BY affiliation_unit, affiliation_floors, house_num ASC
|
||||
</select>
|
||||
|
||||
<!-- 房院管理列表 -->
|
||||
@ -1054,4 +1055,31 @@
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="listForAll" parameterType="map" resultMap="houseDTO">
|
||||
SELECT
|
||||
t1.house_id,
|
||||
t1.building_id,
|
||||
t1.affiliation_unit,
|
||||
t1.affiliation_floors,
|
||||
t1.house_num,
|
||||
t1.creator,
|
||||
t1.gmt_create,
|
||||
COUNT(t2.house_id) as count,
|
||||
1
|
||||
FROM
|
||||
house_house t1 LEFT JOIN house_population t2 ON t1.house_id = t2.house_id
|
||||
WHERE
|
||||
t1.is_delete = 0
|
||||
<if test="buildingId != null and buildingId != ''">
|
||||
AND building_id = #{buildingId}
|
||||
</if>
|
||||
GROUP BY t1.house_id,
|
||||
t1.building_id,
|
||||
t1.affiliation_unit,
|
||||
t1.affiliation_floors,
|
||||
t1.house_num,
|
||||
t1.creator,
|
||||
t1.gmt_create
|
||||
</select>
|
||||
|
||||
</mapper>
|
Loading…
Reference in New Issue
Block a user