变电站绑定

This commit is contained in:
hzj
2025-11-04 13:57:15 +08:00
parent 00fabe3b6b
commit a8c1498738
11 changed files with 194 additions and 2 deletions

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -54,6 +54,12 @@
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.njcn.product</groupId>
<artifactId>cn-terminal</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>

View File

@@ -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<CsSubConfigurationAss> {
}

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.product.cnzutai.zutai.mapper.CsSubConfigurationAssMapper">
<resultMap id="BaseResultMap" type="com.njcn.product.cnzutai.zutai.pojo.po.CsSubConfigurationAss">
<!--@mbg.generated-->
<!--@Table cs_sub_configuration_ass-->
<id column="sub_id" jdbcType="VARCHAR" property="subId" />
<result column="config_id" jdbcType="VARCHAR" property="configId" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
sub_id, config_id
</sql>
</mapper>

View File

@@ -30,6 +30,8 @@ public class CsConfigurationParm {
private List<String> projectIds;
private List<String> substionIds;
private Integer orderBy;

View File

@@ -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;
}

View File

@@ -37,6 +37,9 @@ public class CsConfigurationVO extends BaseEntity {
private List<String> projectIds;
private List<String> substionIds;
private List<String> substionName;
@ApiModelProperty(value = "操作人")
private String operater;

View File

@@ -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<CsSubConfigurationAss>{
}

View File

@@ -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 ServiceImpl<CsConfigurationMappe
private final FileStorageUtil fileStorageUtil;
private final CsPagePOMapper csPagePOMapper;
private final CsSubConfigurationAssService csSubConfigurationAssService;
private final LineMapper lineMapper;
//private final UserFeignClient userFeignClient;
@@ -72,21 +80,44 @@ public class CsConfigurationServiceImpl extends ServiceImpl<CsConfigurationMappe
csConfigurationPO.setStatus("1");
boolean save = this.save(csConfigurationPO);
String name = csConfigurationPO.getName();
Integer count = this.lambdaQuery().eq(CsConfigurationPO::getName, name).eq(CsConfigurationPO::getStatus, "1").count();
if(count>1){
throw new BusinessException("存在相同的组态项目名称");
}
//添加变电站绑定
if(!CollectionUtils.isEmpty(csConfigurationParm.getSubstionIds())){
List<CsSubConfigurationAss> list = csSubConfigurationAssService.lambdaQuery().in(CsSubConfigurationAss::getSubId, csConfigurationParm.getSubstionIds()).list();
if (!CollectionUtils.isEmpty(list)){
List<Line> stationResult = lineMapper.selectList(new LambdaQueryWrapper<Line>().in(Line::getId,list));
String subNameList = stationResult.stream().map(Line::getName).collect(Collectors.joining(StrUtil.COMMA));
throw new BusinessException("变电站"+subNameList+"已绑定其他项目请修改");
}else {
List<CsSubConfigurationAss> 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<CsConfigurationMappe
boolean b = this.updateById(csConfigurationPO);
//添加变电站绑定
if(!CollectionUtils.isEmpty(auditParm.getSubstionIds())){
List<CsSubConfigurationAss> list = csSubConfigurationAssService.lambdaQuery().in(CsSubConfigurationAss::getSubId, auditParm.getSubstionIds()).list();
if (!CollectionUtils.isEmpty(list)){
List<Line> stationResult = lineMapper.selectList(new LambdaQueryWrapper<Line>().in(Line::getId,list));
String subNameList = stationResult.stream().map(Line::getName).collect(Collectors.joining(StrUtil.COMMA));
throw new BusinessException("变电站"+subNameList+"已绑定其他项目请修改");
}else {
List<CsSubConfigurationAss> 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<CsConfigurationMappe
}
}
List<CsSubConfigurationAss> csSubConfigurationAssList = csSubConfigurationAssService.lambdaQuery().eq(CsSubConfigurationAss::getConfigId, page.getId()).list();
if(!CollectionUtils.isEmpty(csSubConfigurationAssList)){
List<String> subIds = csSubConfigurationAssList.stream().map(CsSubConfigurationAss::getSubId).collect(Collectors.toList());
csDevModelPageVO.setSubstionIds(subIds);
// List<Line> stationResult = lineMapper.selectList(new LambdaQueryWrapper<Line>().in(Line::getId,subIds));
// csDevModelPageVO.setSubstionName();
}
csDevModelPageVO.setOperater(collect2.get(csDevModelPageVO.getCreateBy()));
return csDevModelPageVO;

View File

@@ -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<CsSubConfigurationAssMapper, CsSubConfigurationAss> implements CsSubConfigurationAssService{
}