Browse Source

楼栋导入新增更新户数

dev
zxc 4 years ago
parent
commit
7c2b57fa25
  1. 21
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/UpdateBuildingHouseNumResultDTO.java
  2. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java
  3. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java
  4. 3
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcNeighborHoodController.java
  5. 25
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java
  6. 7
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java
  7. 38
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml

21
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/UpdateBuildingHouseNumResultDTO.java

@ -0,0 +1,21 @@
package com.epmet.dto.result;
import com.epmet.commons.tools.constant.NumConstant;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/3/3 5:24 下午
* @DESC
*/
@Data
public class UpdateBuildingHouseNumResultDTO implements Serializable {
private static final long serialVersionUID = 4350166505117596584L;
private String id;
private Integer num;
}

2
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java

@ -222,7 +222,7 @@ public class BuildingController {
importFormDTO.setOriginFileName(file.getOriginalFilename()); importFormDTO.setOriginFileName(file.getOriginalFilename());
Result<ImportTaskCommonResultDTO> importTask = epmetCommonServiceOpenFeignClient.createImportTask(importFormDTO); Result<ImportTaskCommonResultDTO> importTask = epmetCommonServiceOpenFeignClient.createImportTask(importFormDTO);
if (!importTask.success()){ if (!importTask.success()){
throw new EpmetException("存在进行中的导入"); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"","存在进行中的导入");
} }
buildingService.buildingImportExcel(formDTO,file,importTask); buildingService.buildingImportExcel(formDTO,file,importTask);
return new Result(); return new Result();

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

@ -272,7 +272,7 @@ public class HouseController implements ResultDataResolver {
importFormDTO.setOriginFileName(file.getOriginalFilename()); importFormDTO.setOriginFileName(file.getOriginalFilename());
Result<ImportTaskCommonResultDTO> importTask = epmetCommonServiceOpenFeignClient.createImportTask(importFormDTO); Result<ImportTaskCommonResultDTO> importTask = epmetCommonServiceOpenFeignClient.createImportTask(importFormDTO);
if (!importTask.success()){ if (!importTask.success()){
throw new EpmetException("存在进行中的导入"); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"","存在进行中的导入");
} }
houseService.dispose(file,formDTO,importTask); houseService.dispose(file,formDTO,importTask);
return new Result<>(); return new Result<>();

3
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcNeighborHoodController.java

@ -19,6 +19,7 @@ package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.LoginUser;
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.EpmetException; import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
@ -142,7 +143,7 @@ public class IcNeighborHoodController {
importFormDTO.setOriginFileName(file.getOriginalFilename()); importFormDTO.setOriginFileName(file.getOriginalFilename());
Result<ImportTaskCommonResultDTO> importTask = epmetCommonServiceOpenFeignClient.createImportTask(importFormDTO); Result<ImportTaskCommonResultDTO> importTask = epmetCommonServiceOpenFeignClient.createImportTask(importFormDTO);
if (!importTask.success()){ if (!importTask.success()){
throw new EpmetException("存在进行中的导入"); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"","存在进行中的导入");
} }
icNeighborHoodService.neighborhoodImport(formDTO,file,importTask); icNeighborHoodService.neighborhoodImport(formDTO,file,importTask);
return new Result(); return new Result();

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

@ -22,6 +22,7 @@ import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.ImportGeneralDTO; import com.epmet.dto.ImportGeneralDTO;
import com.epmet.dto.result.BaseInfoFamilyBuildingResultDTO; import com.epmet.dto.result.BaseInfoFamilyBuildingResultDTO;
import com.epmet.dto.result.BuildingResultDTO; import com.epmet.dto.result.BuildingResultDTO;
import com.epmet.dto.result.UpdateBuildingHouseNumResultDTO;
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;
@ -162,4 +163,28 @@ public interface IcBuildingDao extends BaseDao<IcBuildingEntity> {
*/ */
List<String> selectExistHouse(@Param("ids")List<String> ids); List<String> selectExistHouse(@Param("ids")List<String> ids);
/**
* Desc: 查询客户下户数为空的
* @param customerId
* @author zxc
* @date 2022/3/3 5:20 下午
*/
List<String> selectHouseTotalIsNull(@Param("customerId")String customerId);
/**
* Desc: 查询楼栋下的户数
* @param ids
* @author zxc
* @date 2022/3/3 5:26 下午
*/
List<UpdateBuildingHouseNumResultDTO> selectHouseNum(@Param("ids")List<String> ids);
/**
* Desc: 批量更新楼栋户数
* @param nums
* @author zxc
* @date 2022/3/3 5:31 下午
*/
void allUpdateHouseNum(@Param("nums") List<UpdateBuildingHouseNumResultDTO> nums);
} }

7
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java

@ -16,6 +16,7 @@ import com.epmet.dto.ImportGeneralDTO;
import com.epmet.dto.form.ImportInfoFormDTO; import com.epmet.dto.form.ImportInfoFormDTO;
import com.epmet.dto.form.ImportTaskCommonFormDTO; import com.epmet.dto.form.ImportTaskCommonFormDTO;
import com.epmet.dto.result.ImportResultDTO; import com.epmet.dto.result.ImportResultDTO;
import com.epmet.dto.result.UpdateBuildingHouseNumResultDTO;
import com.epmet.entity.IcHouseEntity; import com.epmet.entity.IcHouseEntity;
import com.epmet.enums.HousePurposeEnums; import com.epmet.enums.HousePurposeEnums;
import com.epmet.enums.HouseRentFlagEnums; import com.epmet.enums.HouseRentFlagEnums;
@ -450,6 +451,12 @@ public class ImportHouseInfoListener extends AnalysisEventListener<HouseInfoMode
@Override @Override
public void doAfterAllAnalysed(AnalysisContext context) { public void doAfterAllAnalysed(AnalysisContext context) {
finalDispose(); finalDispose();
// 更新ic_building户数
List<String> list = icBuildingDao.selectHouseTotalIsNull(formDTO.getCustomerId());
if (!CollectionUtils.isEmpty(list)){
List<UpdateBuildingHouseNumResultDTO> houseNum = icBuildingDao.selectHouseNum(list);
icBuildingDao.allUpdateHouseNum(houseNum);
}
// 删除缓存 // 删除缓存
icHouseRedis.delTemporaryCacheGrids(formDTO.getCustomerId(), formDTO.getUserId()); icHouseRedis.delTemporaryCacheGrids(formDTO.getCustomerId(), formDTO.getUserId());
icHouseRedis.delTemporaryCacheNeighBorHood(formDTO.getCustomerId(), formDTO.getUserId()); icHouseRedis.delTemporaryCacheNeighBorHood(formDTO.getCustomerId(), formDTO.getUserId());

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

@ -25,6 +25,23 @@
<result property="updatedTime" column="UPDATED_TIME"/> <result property="updatedTime" column="UPDATED_TIME"/>
</resultMap> </resultMap>
<!-- 批量更新楼栋户数 -->
<update id="allUpdateHouseNum">
UPDATE ic_building
set
TOTAL_HOUSE_NUM = CASE
<foreach collection="nums" item="n">
when id = #{n.id} then #{n.num}
</foreach> end,
UPDATED_TIME = NOW()
WHERE DEL_FLAG = '0'
AND id in(
<foreach collection="nums" item="n" separator=",">
#{n.id}
</foreach>
)
</update>
<!--<select id="searchBuildingByPage" resultType="map"> <!--<select id="searchBuildingByPage" resultType="map">
select select
a.ID as buildingId, a.ID as buildingId,
@ -329,4 +346,25 @@
) )
</select> </select>
<!-- 查询客户下户数为空的 -->
<select id="selectHouseTotalIsNull" resultType="java.lang.String">
SELECT ID FROM ic_building WHERE DEL_FLAG = '0' AND CUSTOMER_ID = #{customerId} AND TOTAL_HOUSE_NUM IS NULL
</select>
<!-- 查询楼栋下的户数 -->
<select id="selectHouseNum" resultType="com.epmet.dto.result.UpdateBuildingHouseNumResultDTO">
SELECT
BUILDING_ID AS id,
COUNT( ID ) AS num
FROM ic_house
WHERE DEL_FLAG = '0'
AND BUILDING_ID IN (
<foreach collection="ids" item="id" separator=",">
#{id}
</foreach>
)
GROUP BY
BUILDING_ID
</select>
</mapper> </mapper>

Loading…
Cancel
Save