|
|
|
@ -6,6 +6,7 @@ import com.mh.common.core.domain.TreeSelect;
|
|
|
|
|
import com.mh.common.core.domain.entity.*; |
|
|
|
|
import com.mh.common.utils.StringUtils; |
|
|
|
|
import com.mh.system.mapper.SysParamsMapper; |
|
|
|
|
import com.mh.system.mapper.device.CollectionParamsManageMapper; |
|
|
|
|
import com.mh.system.mapper.space.*; |
|
|
|
|
import com.mh.system.service.space.IHouseInfoService; |
|
|
|
|
import jakarta.annotation.Resource; |
|
|
|
@ -43,6 +44,9 @@ public class HouseInfoServiceImpl implements IHouseInfoService {
|
|
|
|
|
@Resource |
|
|
|
|
private CpmSpaceRelationMapper cpmSpaceRelationMapper; |
|
|
|
|
|
|
|
|
|
@Resource |
|
|
|
|
private CollectionParamsManageMapper collectionParamsManageMapper; |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public List<HouseInfo> selectHouseInfoList(HouseInfo houseInfo) { |
|
|
|
|
if (houseInfo == null) { |
|
|
|
@ -70,29 +74,81 @@ public class HouseInfoServiceImpl implements IHouseInfoService {
|
|
|
|
|
queryWrapper.like("remark", houseInfo.getRemark()); |
|
|
|
|
} |
|
|
|
|
queryWrapper.orderByAsc("order_num"); |
|
|
|
|
return houseInfoMapper.selectList(queryWrapper); |
|
|
|
|
List<HouseInfo> houseInfos = houseInfoMapper.selectList(queryWrapper); |
|
|
|
|
|
|
|
|
|
for (HouseInfo val : houseInfos) { |
|
|
|
|
// 根据houseId查询对应的cpmId关联
|
|
|
|
|
List<String> cpmIds = new ArrayList<>(); |
|
|
|
|
List<String> ledgerIds = new ArrayList<>(); |
|
|
|
|
List<String> finalLedgerIds = ledgerIds; |
|
|
|
|
cpmSpaceRelationMapper.selectList(new QueryWrapper<CpmSpaceRelation>().eq("house_id", val.getId())).forEach(cpmSpaceRelation -> { |
|
|
|
|
if (StringUtils.isNotEmpty(cpmSpaceRelation.getDelFlag()) && cpmSpaceRelation.getDelFlag().equals("0")) { |
|
|
|
|
cpmIds.add(cpmSpaceRelation.getCpmId()); |
|
|
|
|
if (StringUtils.isNotEmpty(cpmSpaceRelation.getLedgerId())) { |
|
|
|
|
finalLedgerIds.add(cpmSpaceRelation.getLedgerId()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
val.setCpmId(cpmIds); |
|
|
|
|
// ledgerIds去掉重复值
|
|
|
|
|
ledgerIds = finalLedgerIds.stream().distinct().collect(Collectors.toList()); |
|
|
|
|
val.setLedgerId(ledgerIds); |
|
|
|
|
} |
|
|
|
|
return houseInfos; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public HouseInfo selectHouseInfoById(String buildingId) { |
|
|
|
|
return houseInfoMapper.selectById(buildingId); |
|
|
|
|
HouseInfo houseInfo = houseInfoMapper.selectById(buildingId); |
|
|
|
|
// 根据houseId查询对应的cpmId关联
|
|
|
|
|
List<String> cpmIds = new ArrayList<>(); |
|
|
|
|
List<String> ledgerIds = new ArrayList<>(); |
|
|
|
|
List<String> finalLedgerIds = ledgerIds; |
|
|
|
|
cpmSpaceRelationMapper.selectList(new QueryWrapper<CpmSpaceRelation>().eq("house_id", houseInfo.getId())).forEach(cpmSpaceRelation -> { |
|
|
|
|
if (StringUtils.isNotEmpty(cpmSpaceRelation.getDelFlag()) && cpmSpaceRelation.getDelFlag().equals("0")) { |
|
|
|
|
cpmIds.add(cpmSpaceRelation.getCpmId()); |
|
|
|
|
if (StringUtils.isNotEmpty(cpmSpaceRelation.getLedgerId())) { |
|
|
|
|
finalLedgerIds.add(cpmSpaceRelation.getLedgerId()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
houseInfo.setCpmId(cpmIds); |
|
|
|
|
// ledgerIds去掉重复值
|
|
|
|
|
ledgerIds = finalLedgerIds.stream().distinct().collect(Collectors.toList()); |
|
|
|
|
houseInfo.setLedgerId(ledgerIds); |
|
|
|
|
return houseInfo; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public int insertHouseInfo(HouseInfo houseInfo) { |
|
|
|
|
getAreaIdAndBuildingId(houseInfo); |
|
|
|
|
int insert = houseInfoMapper.insert(houseInfo); |
|
|
|
|
List<String> ledgerIds = houseInfo.getLedgerId(); |
|
|
|
|
if (ledgerIds != null && !ledgerIds.isEmpty()) { |
|
|
|
|
for (String ledgerId : ledgerIds) { |
|
|
|
|
// 插入关联的区域关联表
|
|
|
|
|
CpmSpaceRelation cpmSpaceRelation = new CpmSpaceRelation(); |
|
|
|
|
cpmSpaceRelation.setAreaId(houseInfo.getAreaId()); |
|
|
|
|
cpmSpaceRelation.setBuildingId(houseInfo.getBuildingId()); |
|
|
|
|
cpmSpaceRelation.setHouseId(houseInfo.getId()); |
|
|
|
|
cpmSpaceRelation.setFloorId(houseInfo.getFloorId()); |
|
|
|
|
cpmSpaceRelation.setLedgerId(houseInfo.getLedgerId()); |
|
|
|
|
cpmSpaceRelation.setCpmId(houseInfo.getCpmId()); |
|
|
|
|
cpmSpaceRelation.setLedgerId(ledgerId); |
|
|
|
|
List<String> cpmIds = houseInfo.getCpmId(); |
|
|
|
|
List<CollectionParamsManage> collectionParamsManages = collectionParamsManageMapper.selectList(new QueryWrapper<CollectionParamsManage>().eq("device_ledger_id", ledgerId)); |
|
|
|
|
// 根据ledgerId查询对应的cpmId,判断当前houseIfo中的List<String> cpmId包含了哪几个cpmId,就插入哪几个
|
|
|
|
|
if (collectionParamsManages != null && !collectionParamsManages.isEmpty()) { |
|
|
|
|
for (CollectionParamsManage cpm : collectionParamsManages) { |
|
|
|
|
if (cpmIds != null && cpmIds.contains(cpm.getId())) { |
|
|
|
|
cpmSpaceRelation.setCpmId(cpm.getId()); |
|
|
|
|
cpmSpaceRelation.setCreateBy(houseInfo.getCreateBy()); |
|
|
|
|
cpmSpaceRelation.setCreateTime(houseInfo.getCreateTime()); |
|
|
|
|
cpmSpaceRelation.setDelFlag("0"); |
|
|
|
|
cpmSpaceRelationMapper.insert(cpmSpaceRelation); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return insert; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -117,20 +173,48 @@ public class HouseInfoServiceImpl implements IHouseInfoService {
|
|
|
|
|
getAreaIdAndBuildingId(houseInfo); |
|
|
|
|
int updateById = houseInfoMapper.updateById(houseInfo); |
|
|
|
|
if (updateById > 0) { |
|
|
|
|
List<String> ledgerIds = houseInfo.getLedgerId(); |
|
|
|
|
List<String> cpmIds = houseInfo.getCpmId(); |
|
|
|
|
// if (cpmIds != null && !cpmIds.isEmpty()) {
|
|
|
|
|
// for (String cpmId : cpmIds) {
|
|
|
|
|
// // 删除对应的cpmId关联
|
|
|
|
|
// cpmSpaceRelationMapper.delete(new QueryWrapper<CpmSpaceRelation>().eq("cpm_id", cpmId).eq("house_id", houseInfo.getId()));
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// 更新delFlag为2
|
|
|
|
|
cpmSpaceRelationMapper.updateByHouseId(houseInfo.getId(), "2"); |
|
|
|
|
if (ledgerIds != null && !ledgerIds.isEmpty()) { |
|
|
|
|
for (String ledgerId : ledgerIds) { |
|
|
|
|
List<CollectionParamsManage> collectionParamsManages = collectionParamsManageMapper.selectList(new QueryWrapper<CollectionParamsManage>().eq("device_ledger_id", ledgerId)); |
|
|
|
|
// 根据ledgerId查询对应的cpmId,判断当前houseIfo中的List<String> cpmId包含了哪几个cpmId,就插入哪几个
|
|
|
|
|
if (collectionParamsManages != null && !collectionParamsManages.isEmpty()) { |
|
|
|
|
for (CollectionParamsManage cpm : collectionParamsManages) { |
|
|
|
|
if (cpmIds != null && cpmIds.contains(cpm.getId())) { |
|
|
|
|
// 判断关联表是否已经存在对应的cpmId
|
|
|
|
|
CpmSpaceRelation cpmSpaceRelation = cpmSpaceRelationMapper.selectOne(new QueryWrapper<CpmSpaceRelation>() |
|
|
|
|
.eq("house_id", houseInfo.getId()).eq("cpm_id", houseInfo.getCpmId())); |
|
|
|
|
.eq("house_id", houseInfo.getId()).eq("cpm_id", cpm.getId())); |
|
|
|
|
if (cpmSpaceRelation == null) { |
|
|
|
|
cpmSpaceRelation = new CpmSpaceRelation(); |
|
|
|
|
cpmSpaceRelation.setAreaId(houseInfo.getAreaId()); |
|
|
|
|
cpmSpaceRelation.setBuildingId(houseInfo.getBuildingId()); |
|
|
|
|
cpmSpaceRelation.setFloorId(houseInfo.getFloorId()); |
|
|
|
|
cpmSpaceRelation.setHouseId(houseInfo.getId()); |
|
|
|
|
cpmSpaceRelation.setLedgerId(houseInfo.getLedgerId()); |
|
|
|
|
cpmSpaceRelation.setCpmId(houseInfo.getCpmId()); |
|
|
|
|
cpmSpaceRelation.setLedgerId(ledgerId); |
|
|
|
|
cpmSpaceRelation.setCpmId(cpm.getId()); |
|
|
|
|
cpmSpaceRelation.setCreateTime(new Date()); |
|
|
|
|
cpmSpaceRelation.setCreateBy(houseInfo.getUpdateBy()); |
|
|
|
|
cpmSpaceRelation.setDelFlag("0"); |
|
|
|
|
cpmSpaceRelationMapper.insert(cpmSpaceRelation); |
|
|
|
|
} else { |
|
|
|
|
cpmSpaceRelation.setUpdateTime(new Date()); |
|
|
|
|
cpmSpaceRelation.setUpdateBy(houseInfo.getUpdateBy()); |
|
|
|
|
cpmSpaceRelation.setDelFlag("0"); |
|
|
|
|
cpmSpaceRelationMapper.updateById(cpmSpaceRelation); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return updateById; |
|
|
|
|