Browse Source

message:

完善不能重复绑定房屋
dev_power_axis
HAHA 3 years ago
parent
commit
7b7a9620f5
  1. 3
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/axis/dao/PowerKernelHouseholdDao.java
  2. 30
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/java/com/epmet/plugin/power/modules/axis/service/impl/PowerKernelHouseholdServiceImpl.java
  3. 22
      epmet-plugins-module/pli-power-base/pli-power-base-server/src/main/resources/mapper/poweraxis/PowerKernelHouseholdDao.xml

3
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<PowerKernelHouseholdEnt
long getListTotal(PowerKernelListPostitionFormDTO form);
int queryRepeatHouseId(PowerKernelHouseholdEntity entity);
List<String> queryHouseIdList(String[] houseIdList, String customerId,String axisStructId);
}

30
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<PowerKernel
@Override
public void bind(PowerKernelHouseFormDTO form) {
String customerId = loginUserUtil.getLoginUserCustomerId();
// 查询出重复的houseId
List<String> idList = baseDao.queryHouseIdList(form.getHouseIdList(), form.getAxisStructId(), customerId);
// 将idList转换为Set集合进行去重
Set<String> setIdList = new HashSet<>();
for (String id : idList) {
setIdList.add(id);
}
// 将前端发送的houseId放入Set集合
Set<String> houseIds = new HashSet<>();
Collections.addAll(houseIds,form.getHouseIdList());
Collections.addAll(houseIds, form.getHouseIdList());
// 去重
houseIds.removeAll(setIdList);
Result<List<HouseInfoDTO>> listResult = govOrgOpenFeignClient.queryListHouseInfo(houseIds, customerId);
if(!listResult.success()){
return ;
if (!listResult.success()) {
return;
}
List<HouseInfoDTO> houseList = listResult.getData();
List<PowerKernelHouseholdEntity> list = Lists.newArrayList();
PowerKernelHouseholdEntity entity;
for(HouseInfoDTO houseInfo : houseList){
for (HouseInfoDTO houseInfo : houseList) {
Result<IcHouseDTO> 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<PowerKernel
entity.setOwnerName(houseDto.getOwnerName());
entity.setStructReferenceId(form.getAxisStructId());
if(baseDao.queryRepeatHouseId(entity) > NumConstant.ZERO){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "只允许绑定一次");
}
powerKernelHouseholdService.insert(entity);
}
}

22
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>
<select id="queryRepeatHouseId" resultType="java.lang.Integer">
<select id="queryHouseIdList" resultType="java.lang.String">
SELECT
count(*)
HOUSE_ID
FROM
pli_power_kernel_household
WHERE
STRUCT_REFERENCE_ID = #{structReferenceId}
AND
HOUSE_ID = #{houseId}
pli_power_kernel_household
<where>
house_id in
<foreach collection="houseIdList" item="houseId" open="(" close=")" separator=",">
#{houseId}
</foreach>
AND
STRUCT_REFERENCE_ID = #{axisStructId}
AND
customer_id = #{customerId}
AND
del_flag = '0'
</where>
</select>

Loading…
Cancel
Save