diff --git a/cn-diagram/src/main/java/com/njcn/product/diagram/LedgerScale/service/impl/LedgerScaleServiceImpl.java b/cn-diagram/src/main/java/com/njcn/product/diagram/LedgerScale/service/impl/LedgerScaleServiceImpl.java index 464b12f..97c0cbc 100644 --- a/cn-diagram/src/main/java/com/njcn/product/diagram/LedgerScale/service/impl/LedgerScaleServiceImpl.java +++ b/cn-diagram/src/main/java/com/njcn/product/diagram/LedgerScale/service/impl/LedgerScaleServiceImpl.java @@ -21,6 +21,10 @@ import com.njcn.product.advance.harmonicUp.pojo.po.UpHarmonicDetail; import com.njcn.product.advance.responsility.mapper.RespDataResultMapper; import com.njcn.product.advance.responsility.pojo.dto.CustomerResponsibility; import com.njcn.product.advance.responsility.pojo.po.RespDataResult; +import com.njcn.product.cnzutai.zutai.pojo.po.CsConfigurationPO; +import com.njcn.product.cnzutai.zutai.pojo.po.CsSubConfigurationAss; +import com.njcn.product.cnzutai.zutai.service.CsConfigurationService; +import com.njcn.product.cnzutai.zutai.service.CsSubConfigurationAssService; import com.njcn.product.diagram.LedgerScale.pojo.dto.EventSourceDTO; import com.njcn.product.diagram.LedgerScale.pojo.dto.LedgerScaleDTO; import com.njcn.product.diagram.LedgerScale.pojo.vo.EventDetailVO; @@ -77,7 +81,8 @@ public class LedgerScaleServiceImpl implements LedgerScaleService { private final FileStorageUtil fileStorageUtil; private final UpHarmonicDetailMapper upHarmonicDetailMapper; private final PqStationMapper pqStationMapper; - + private final CsSubConfigurationAssService csSubConfigurationAssService; + private final CsConfigurationService csConfigurationService; @Override public LedgerScaleDTO ledgerScaleStatistic(LargeScreenCountParam param) { @@ -506,6 +511,16 @@ public class LedgerScaleServiceImpl implements LedgerScaleService { } pqStation.setId(it.getId()); pqStation.setName(it.getName()); + CsSubConfigurationAss one = csSubConfigurationAssService.lambdaQuery().eq(CsSubConfigurationAss::getSubId, it.getId()).one(); + if(Objects.isNull(one)){ + pqStation.setBindFlag(false); + + }else { + CsConfigurationPO csConfigurationPO = csConfigurationService.lambdaQuery().eq(CsConfigurationPO::getId, one.getConfigId()).one(); + pqStation.setBindFlag(true); + pqStation.setConfigId(csConfigurationPO.getId()); + pqStation.setConfigName(csConfigurationPO.getName()); + } result.add(pqStation); }); return result; diff --git a/cn-terminal/src/main/java/com/njcn/product/terminal/mysqlTerminal/pojo/po/PqStation.java b/cn-terminal/src/main/java/com/njcn/product/terminal/mysqlTerminal/pojo/po/PqStation.java index 47c8c82..618969e 100644 --- a/cn-terminal/src/main/java/com/njcn/product/terminal/mysqlTerminal/pojo/po/PqStation.java +++ b/cn-terminal/src/main/java/com/njcn/product/terminal/mysqlTerminal/pojo/po/PqStation.java @@ -45,5 +45,14 @@ public class PqStation implements Serializable { @TableField(exist = false) private String name; + @TableField(exist = false) + private boolean bindFlag; + + @TableField(exist = false) + private String configId; + + @TableField(exist = false) + private String configName; + } diff --git a/cn-zutai/pom.xml b/cn-zutai/pom.xml index fe358ed..1289320 100644 --- a/cn-zutai/pom.xml +++ b/cn-zutai/pom.xml @@ -54,6 +54,12 @@ 1.0.0 compile + + com.njcn.product + cn-terminal + 1.0.0 + compile + diff --git a/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/mapper/CsSubConfigurationAssMapper.java b/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/mapper/CsSubConfigurationAssMapper.java new file mode 100644 index 0000000..dbcfe12 --- /dev/null +++ b/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/mapper/CsSubConfigurationAssMapper.java @@ -0,0 +1,15 @@ +package com.njcn.product.cnzutai.zutai.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.product.cnzutai.zutai.pojo.po.CsSubConfigurationAss; + +/** + * + * Description: + * Date: 2025/11/04 上午 11:07【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface CsSubConfigurationAssMapper extends BaseMapper { +} \ No newline at end of file diff --git a/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/mapper/mapping/CsSubConfigurationAssMapper.xml b/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/mapper/mapping/CsSubConfigurationAssMapper.xml new file mode 100644 index 0000000..a01c3ba --- /dev/null +++ b/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/mapper/mapping/CsSubConfigurationAssMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + sub_id, config_id + + \ No newline at end of file diff --git a/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/pojo/param/CsConfigurationParm.java b/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/pojo/param/CsConfigurationParm.java index 902c44c..d60e500 100644 --- a/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/pojo/param/CsConfigurationParm.java +++ b/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/pojo/param/CsConfigurationParm.java @@ -30,6 +30,8 @@ public class CsConfigurationParm { private List projectIds; + private List substionIds; + private Integer orderBy; diff --git a/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/pojo/po/CsSubConfigurationAss.java b/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/pojo/po/CsSubConfigurationAss.java new file mode 100644 index 0000000..ee383bb --- /dev/null +++ b/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/pojo/po/CsSubConfigurationAss.java @@ -0,0 +1,33 @@ +package com.njcn.product.cnzutai.zutai.pojo.po; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * + * Description: + * Date: 2025/11/04 上午 11:07【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@TableName(value = "cs_sub_configuration_ass") +@Data +public class CsSubConfigurationAss { + /** + * 变电站序号 + */ + @TableId(value = "sub_id", type = IdType.INPUT) + private String subId; + + /** + * 组态id + */ + @TableField(value = "config_id") + private String configId; + + +} \ No newline at end of file diff --git a/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/pojo/vo/CsConfigurationVO.java b/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/pojo/vo/CsConfigurationVO.java index cb92356..ae21354 100644 --- a/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/pojo/vo/CsConfigurationVO.java +++ b/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/pojo/vo/CsConfigurationVO.java @@ -37,6 +37,9 @@ public class CsConfigurationVO extends BaseEntity { private List projectIds; + private List substionIds; + + private List substionName; @ApiModelProperty(value = "操作人") private String operater; diff --git a/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/service/CsSubConfigurationAssService.java b/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/service/CsSubConfigurationAssService.java new file mode 100644 index 0000000..4277940 --- /dev/null +++ b/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/service/CsSubConfigurationAssService.java @@ -0,0 +1,16 @@ +package com.njcn.product.cnzutai.zutai.service; + +import com.njcn.product.cnzutai.zutai.pojo.po.CsSubConfigurationAss; +import com.baomidou.mybatisplus.extension.service.IService; + /** + * + * Description: + * Date: 2025/11/04 上午 11:07【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface CsSubConfigurationAssService extends IService{ + + +} diff --git a/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/service/impl/CsConfigurationServiceImpl.java b/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/service/impl/CsConfigurationServiceImpl.java index 205e5ee..aeb66b7 100644 --- a/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/service/impl/CsConfigurationServiceImpl.java +++ b/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/service/impl/CsConfigurationServiceImpl.java @@ -1,6 +1,7 @@ package com.njcn.product.cnzutai.zutai.service.impl; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -11,11 +12,16 @@ import com.njcn.oss.constant.OssPath; import com.njcn.oss.utils.FileStorageUtil; import com.njcn.product.cnzutai.zutai.mapper.CsPagePOMapper; import com.njcn.product.cnzutai.zutai.pojo.po.CsPagePO; +import com.njcn.product.cnzutai.zutai.pojo.po.CsSubConfigurationAss; import com.njcn.product.cnzutai.zutai.service.CsConfigurationService; import com.njcn.product.cnzutai.zutai.mapper.CsConfigurationMapper; import com.njcn.product.cnzutai.zutai.pojo.param.CsConfigurationParm; import com.njcn.product.cnzutai.zutai.pojo.po.CsConfigurationPO; import com.njcn.product.cnzutai.zutai.pojo.vo.CsConfigurationVO; +import com.njcn.product.cnzutai.zutai.service.CsSubConfigurationAssService; +import com.njcn.product.terminal.mysqlTerminal.mapper.LineMapper; +import com.njcn.product.terminal.mysqlTerminal.mapper.PqStationMapper; +import com.njcn.product.terminal.mysqlTerminal.pojo.po.Line; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -46,6 +52,8 @@ public class CsConfigurationServiceImpl extends ServiceImpl1){ throw new BusinessException("存在相同的组态项目名称"); } + + //添加变电站绑定 + if(!CollectionUtils.isEmpty(csConfigurationParm.getSubstionIds())){ + List list = csSubConfigurationAssService.lambdaQuery().in(CsSubConfigurationAss::getSubId, csConfigurationParm.getSubstionIds()).list(); + if (!CollectionUtils.isEmpty(list)){ + List stationResult = lineMapper.selectList(new LambdaQueryWrapper().in(Line::getId,list)); + String subNameList = stationResult.stream().map(Line::getName).collect(Collectors.joining(StrUtil.COMMA)); + + throw new BusinessException("变电站"+subNameList+"已绑定其他项目请修改"); + }else { + List csSubConfigurationAsses = csConfigurationParm.getSubstionIds().stream().map(temp -> { + CsSubConfigurationAss csSubConfigurationAss = new CsSubConfigurationAss(); + csSubConfigurationAss.setSubId(temp); + csSubConfigurationAss.setConfigId(csConfigurationPO.getId()); + return csSubConfigurationAss; + }).collect(Collectors.toList()); + + csSubConfigurationAssService.saveBatch(csSubConfigurationAsses); + } + } return save; } @Override + @Transactional(rollbackFor = Exception.class) public boolean audit(CsConfigurationParm.CsConfigurationAuditParam auditParm) { CsConfigurationPO tem = this.getById(auditParm.getId()); if(Objects.isNull(tem)){ throw new BusinessException(CommonResponseEnum.FAIL,"未查询到项目信息,无法操作!"); } - + //删除关联表信息 + csSubConfigurationAssService.lambdaUpdate().eq(CsSubConfigurationAss::getConfigId,tem.getId()).remove(); CsConfigurationPO csConfigurationPO = new CsConfigurationPO(); if(Objects.equals(auditParm.getStatus(),"0")){ @@ -126,6 +157,26 @@ public class CsConfigurationServiceImpl extends ServiceImpl list = csSubConfigurationAssService.lambdaQuery().in(CsSubConfigurationAss::getSubId, auditParm.getSubstionIds()).list(); + if (!CollectionUtils.isEmpty(list)){ + List stationResult = lineMapper.selectList(new LambdaQueryWrapper().in(Line::getId,list)); + String subNameList = stationResult.stream().map(Line::getName).collect(Collectors.joining(StrUtil.COMMA)); + + throw new BusinessException("变电站"+subNameList+"已绑定其他项目请修改"); + }else { + List csSubConfigurationAsses = auditParm.getSubstionIds().stream().map(temp -> { + CsSubConfigurationAss csSubConfigurationAss = new CsSubConfigurationAss(); + csSubConfigurationAss.setSubId(temp); + csSubConfigurationAss.setConfigId(csConfigurationPO.getId()); + return csSubConfigurationAss; + }).collect(Collectors.toList()); + + csSubConfigurationAssService.saveBatch(csSubConfigurationAsses); + } + } + return b; } @@ -198,7 +249,14 @@ public class CsConfigurationServiceImpl extends ServiceImpl csSubConfigurationAssList = csSubConfigurationAssService.lambdaQuery().eq(CsSubConfigurationAss::getConfigId, page.getId()).list(); + if(!CollectionUtils.isEmpty(csSubConfigurationAssList)){ + List subIds = csSubConfigurationAssList.stream().map(CsSubConfigurationAss::getSubId).collect(Collectors.toList()); + csDevModelPageVO.setSubstionIds(subIds); +// List stationResult = lineMapper.selectList(new LambdaQueryWrapper().in(Line::getId,subIds)); +// csDevModelPageVO.setSubstionName(); + } csDevModelPageVO.setOperater(collect2.get(csDevModelPageVO.getCreateBy())); return csDevModelPageVO; diff --git a/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/service/impl/CsSubConfigurationAssServiceImpl.java b/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/service/impl/CsSubConfigurationAssServiceImpl.java new file mode 100644 index 0000000..c2d1bbb --- /dev/null +++ b/cn-zutai/src/main/java/com/njcn/product/cnzutai/zutai/service/impl/CsSubConfigurationAssServiceImpl.java @@ -0,0 +1,21 @@ +package com.njcn.product.cnzutai.zutai.service.impl; + +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.product.cnzutai.zutai.mapper.CsSubConfigurationAssMapper; +import com.njcn.product.cnzutai.zutai.pojo.po.CsSubConfigurationAss; +import com.njcn.product.cnzutai.zutai.service.CsSubConfigurationAssService; +/** + * + * Description: + * Date: 2025/11/04 上午 11:07【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Service +public class CsSubConfigurationAssServiceImpl extends ServiceImpl implements CsSubConfigurationAssService{ + +}