diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/axis/dao/PowerKernelHouseholdDao.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/axis/dao/PowerKernelHouseholdDao.java index 146d606..b3bd63a 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/axis/dao/PowerKernelHouseholdDao.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/axis/dao/PowerKernelHouseholdDao.java @@ -31,5 +31,6 @@ public interface PowerKernelHouseholdDao extends BaseDao queryHouseIdList(String[] houseIdList, String customerId,String axisStructId); } \ No newline at end of file diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/axis/service/impl/PowerKernelHouseholdServiceImpl.java b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/axis/service/impl/PowerKernelHouseholdServiceImpl.java index 98da315..b48f4bf 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/axis/service/impl/PowerKernelHouseholdServiceImpl.java +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/axis/service/impl/PowerKernelHouseholdServiceImpl.java @@ -144,26 +144,38 @@ public class PowerKernelHouseholdServiceImpl extends BaseServiceImpl idList = baseDao.queryHouseIdList(form.getHouseIdList(), form.getAxisStructId(), customerId); + // 将idList转换为Set集合进行去重 + Set setIdList = new HashSet<>(); + for (String id : idList) { + setIdList.add(id); + } + // 将前端发送的houseId放入Set集合 Set houseIds = new HashSet<>(); - Collections.addAll(houseIds,form.getHouseIdList()); + Collections.addAll(houseIds, form.getHouseIdList()); + // 去重 + houseIds.removeAll(setIdList); + Result> listResult = govOrgOpenFeignClient.queryListHouseInfo(houseIds, customerId); - if(!listResult.success()){ - return ; + if (!listResult.success()) { + return; } List houseList = listResult.getData(); List list = Lists.newArrayList(); PowerKernelHouseholdEntity entity; - for(HouseInfoDTO houseInfo : houseList){ + for (HouseInfoDTO houseInfo : houseList) { Result icHouseDTOResult = govOrgOpenFeignClient.get(houseInfo.getHomeId()); - if(!icHouseDTOResult.success()){ - continue ; + if (!icHouseDTOResult.success()) { + continue; } IcHouseDTO houseDto = icHouseDTOResult.getData(); entity = new PowerKernelHouseholdEntity(); entity.setHouseId(houseInfo.getHomeId()); - if(!org.springframework.util.StringUtils.isEmpty(houseInfo.getBuildingLatitude()) && !org.springframework.util.StringUtils.isEmpty(houseInfo.getBuildingLongitude())){ + if (!org.springframework.util.StringUtils.isEmpty(houseInfo.getBuildingLatitude()) && !org.springframework.util.StringUtils.isEmpty(houseInfo.getBuildingLongitude())) { entity.setLatitude(new BigDecimal(houseInfo.getBuildingLatitude())); entity.setLongitude(new BigDecimal(houseInfo.getBuildingLongitude())); } else { @@ -178,9 +190,7 @@ public class PowerKernelHouseholdServiceImpl extends BaseServiceImpl NumConstant.ZERO){ - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "只允许绑定一次"); - } + powerKernelHouseholdService.insert(entity); } } diff --git a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/resources/mapper/poweraxis/PowerKernelHouseholdDao.xml b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/resources/mapper/poweraxis/PowerKernelHouseholdDao.xml index d10af68..de269cf 100644 --- a/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/resources/mapper/poweraxis/PowerKernelHouseholdDao.xml +++ b/epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/resources/mapper/poweraxis/PowerKernelHouseholdDao.xml @@ -71,15 +71,23 @@ limit #{pageNo},#{pageSize} - SELECT - count(*) + HOUSE_ID FROM - pli_power_kernel_household - WHERE - STRUCT_REFERENCE_ID = #{structReferenceId} - AND - HOUSE_ID = #{houseId} + pli_power_kernel_household + + house_id in + + #{houseId} + + AND + STRUCT_REFERENCE_ID = #{axisStructId} + AND + customer_id = #{customerId} + AND + del_flag = '0' +