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{
+
+}