终端台账数据同步

This commit is contained in:
hzj
2024-05-30 15:37:07 +08:00
parent df178c4882
commit 1060b94e7a
27 changed files with 556 additions and 64 deletions

View File

@@ -4,7 +4,6 @@ import com.njcn.common.pojo.constant.ServerInfo;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.device.pq.api.fallback.DeptLineFeignClientFallbackFactory;
import com.njcn.device.pq.pojo.po.DeptLine;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
@@ -39,4 +38,13 @@ public interface DeptLineFeignClient {
@PostMapping("/getLineByLineIds")
HttpResult<DeptLine> getLineByLineIds(@RequestParam("id") String ids);
/**
* @Description: 部门Id获取所有子集部门绑定监测点
* @Param:
* @return: com.njcn.common.pojo.response.HttpResult<java.util.List<java.lang.String>>
* @Author: clam
* @Date: 2024/5/29
*/
@PostMapping("/getLineNodeByDeptId")
HttpResult<List<String>> getLineNodeByDeptId(@RequestParam("id") String id);
}

View File

@@ -3,13 +3,12 @@ package com.njcn.device.pq.api;
import com.njcn.common.pojo.constant.ServerInfo;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.device.pq.api.fallback.TerminalBaseClientFallbackFactory;
import com.njcn.device.pq.pojo.param.SyncTerminalParam;
import com.njcn.device.pq.pojo.po.Line;
import com.njcn.device.pq.pojo.vo.TerminalBaseVO;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@@ -32,7 +31,11 @@ public interface TerminalBaseClient {
*/
@PostMapping("/getSubstationById")
HttpResult<List<Line>> getSubstationById(@RequestBody List<String> list);
/*
冀北技术监督台账同步
*/
@ApiOperation("终端/母线/监测点同步操作")
@PostMapping("terminalSync")
HttpResult<Object> terminalSync( @RequestBody SyncTerminalParam syncTerminalParam);
}

View File

@@ -62,6 +62,12 @@ public class DeptLineFeignClientFallbackFactory implements FallbackFactory<DeptL
log.error("{}异常,降级处理,异常为:{}", "根据监测点id集合查询部门信息id", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<String>> getLineNodeByDeptId(String id) {
log.error("{}异常,降级处理,异常为:{}", "根据部门信息id查询监测点id集合", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -4,6 +4,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.device.pq.api.TerminalBaseClient;
import com.njcn.device.pq.pojo.param.SyncTerminalParam;
import com.njcn.device.pq.pojo.po.Line;
import com.njcn.device.biz.utils.DeviceEnumUtil;
import feign.hystrix.FallbackFactory;
@@ -37,6 +38,12 @@ public class TerminalBaseClientFallbackFactory implements FallbackFactory<Termin
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<Object> terminalSync(SyncTerminalParam syncTerminalParam) {
log.error("{}异常,降级处理,异常为:{}", "台账同步", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
};

View File

@@ -0,0 +1,59 @@
package com.njcn.device.pq.pojo.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.Valid;
/**
* pqs
* 终端新增操作bo
* @author cdf
* @date 2021/7/2
*/
@Data
@ApiModel
public class SyncTerminalParam {
private String DeptId;
@ApiModelProperty(name = "projectIndex",value = "项目索引")
private String projectIndex;
@ApiModelProperty(name = "provinceIndex",value = "省份索引")
private String provinceIndex;
@ApiModelProperty(name = "gdIndex",value = "供电索引")
private String gdIndex;
@ApiModelProperty(name = "subIndex",value = "变电站索引")
private String subIndex;
@Valid
@ApiModelProperty(name = "projectParam",value = "项目实体")
private ProjectParam projectParam;
@Valid
@ApiModelProperty(name = "provinceParam",value = "省份实体")
private ProvinceParam provinceParam;
@Valid
@ApiModelProperty(name = "gdInformationParam",value = "供电公司")
private GdInformationParam gdInformationParam;
@Valid
@ApiModelProperty(name = "subStationParam",value = "变电站")
private SubStationParam subStationParam;
@ApiModelProperty(name = "deviceParam",value = "设备信息")
private DeviceParam deviceParam;
@ApiModelProperty(name = "subVoltageParam",value = "母线信息")
@Valid
private SubVoltageParam subVoltageParam;
@ApiModelProperty(name = "lineParam",value = "监测点信息")
private LineParam lineParam;
}

View File

@@ -3,7 +3,6 @@ package com.njcn.device.pq.controller;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType;
import com.njcn.common.pojo.enums.common.LogEnum;
@@ -13,7 +12,6 @@ import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.common.utils.LogUtil;
import com.njcn.device.biz.enums.DeviceResponseEnum;
import com.njcn.device.biz.utils.COverlimitUtil;
import com.njcn.device.pq.mapper.LineDetailMapper;
import com.njcn.device.pq.mapper.LineMapper;
import com.njcn.device.pq.mapper.OverlimitMapper;
@@ -23,9 +21,6 @@ import com.njcn.device.pq.pojo.bo.excel.TerminalBaseExcel;
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
import com.njcn.device.pq.pojo.param.*;
import com.njcn.device.pq.pojo.po.Line;
import com.njcn.device.pq.pojo.po.LineDetail;
import com.njcn.device.biz.pojo.po.Overlimit;
import com.njcn.device.pq.pojo.po.Voltage;
import com.njcn.device.pq.pojo.vo.LineWiringDiagramVO;
import com.njcn.device.pq.pojo.vo.TerminalBaseVO;
import com.njcn.device.pq.pojo.vo.TerminalVO;
@@ -33,7 +28,6 @@ import com.njcn.device.pq.service.TerminalBaseService;
import com.njcn.device.pq.service.impl.GeneralDeviceService;
import com.njcn.poi.util.PoiUtil;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.pojo.po.DictData;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.*;
import lombok.RequiredArgsConstructor;
@@ -149,6 +143,17 @@ public class TerminalBaseController extends BaseController {
}
@ApiOperation("终端/母线/监测点同步操作")
@OperateInfo(operateType = OperateType.ADD, info = LogEnum.BUSINESS_MEDIUM)
@PostMapping("terminalSync")
public HttpResult<Object> terminalSync(@Valid @RequestBody SyncTerminalParam syncTerminalParam) {
String methodDescribe = getMethodDescribe("terminalSync");
terminalBaseService.terminalSync(syncTerminalParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
/**
* 终端修改操作
*

View File

@@ -1,20 +1,17 @@
package com.njcn.device.pq.service;
import com.njcn.common.pojo.dto.SimpleDTO;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.device.pq.pojo.bo.BaseLineInfo;
import com.njcn.device.pq.pojo.bo.DeviceType;
import com.njcn.device.pq.pojo.bo.excel.TerminalBaseExcel;
import com.njcn.device.pq.pojo.param.AddTerminalParam;
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import com.njcn.device.pq.pojo.param.SyncTerminalParam;
import com.njcn.device.pq.pojo.param.UpdateTerminalParam;
import com.njcn.device.pq.pojo.po.Line;
import com.njcn.device.pq.pojo.vo.LineWiringDiagramVO;
import com.njcn.device.pq.pojo.vo.TerminalBaseVO;
import com.njcn.device.pq.pojo.vo.TerminalVO;
import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
@@ -238,4 +235,12 @@ public interface TerminalBaseService {
* @date 2023/6/15
*/
boolean wiringDiagramDel(String lineId,String wiringDiagramName);
/**
* @Description: 临时表数据同步到台账表
* @Param:
* @return: void
* @Author: clam
* @Date: 2024/5/29
*/
boolean terminalSync(SyncTerminalParam syncTerminalParam);
}

View File

@@ -143,7 +143,7 @@ public class DeptLineServiceImpl extends ServiceImpl<DeptLineMapper, DeptLine> i
@Override
public List<LineDeviceStateVO> getLineDetailByDeptId(String id) {
List<String> lineByDeptId = this.getLineByDeptId(id);
List<String> lineByDeptId = this.getLineNodeByDeptId(id);
List<LineDeviceStateVO> lineDeviceStateVO = lineMapper.getLineDeviceStateVO(lineByDeptId);
return lineDeviceStateVO;
}

View File

@@ -1810,6 +1810,177 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
return true;
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean terminalSync(SyncTerminalParam syncTerminalParam) {
String projectIndex = null;
String provinceIndex = null;
String gdIndex = null;
String subIndex = null;
if (StrUtil.isNotBlank(syncTerminalParam.getProjectIndex())) {
projectIndex = syncTerminalParam.getProjectIndex();
if (Objects.isNull(this.getById(projectIndex))) {
throw new BusinessException(DeviceResponseEnum.PROJECT_NO);
}
}
if (StrUtil.isNotBlank(syncTerminalParam.getProvinceIndex())) {
provinceIndex = syncTerminalParam.getProvinceIndex();
if (Objects.isNull(this.getById(provinceIndex))) {
throw new BusinessException(DeviceResponseEnum.PROVINCE_GET_ERROR);
}
}
if (StrUtil.isNotBlank(syncTerminalParam.getGdIndex())) {
gdIndex = syncTerminalParam.getGdIndex();
if (Objects.isNull(this.getById(gdIndex))) {
throw new BusinessException(DeviceResponseEnum.GD_NO);
}
}
if (StrUtil.isNotBlank(syncTerminalParam.getSubIndex())) {
subIndex = syncTerminalParam.getSubIndex();
if (Objects.isNull(this.getById(subIndex))) {
throw new BusinessException(DeviceResponseEnum.SUB_NO);
}
}
//变电站 todo 可能新建电站
// if (Objects.nonNull(addTerminalParam.getSubStationParam())) {
// if (StrUtil.isBlank(subIndex) && StrUtil.isNotBlank(gdIndex)) {
// checkName(addTerminalParam, LineBaseEnum.SUB_LEVEL.getCode(), gdIndex);
// Line subStation = assembleLine(addTerminalParam.getSubStationParam().getName(), LineBaseEnum.SUB_LEVEL.getCode(), gdIndex, projectIndex + StrUtil.COMMA + provinceIndex + StrUtil.COMMA + gdIndex, addTerminalParam.getSubStationParam().getSort());
// this.baseMapper.insert(subStation);
// subIndex = subStation.getId();
//
// //变电站下的经纬度入库
// Substation sub = new Substation();
// sub.setId(subIndex);
// sub.setScale(addTerminalParam.getSubStationParam().getScale());
// sub.setLng(addTerminalParam.getSubStationParam().getLng());
// sub.setLat(addTerminalParam.getSubStationParam().getLat());
// substationMapper.insert(sub);
// }
// }
//装置
//查询该设备是否已经同步到表如何存在则之前同步监测点时同步过了,不用同步设备了,反之同步
DeviceParam deviceParam = syncTerminalParam.getDeviceParam();
Line deviceLine = this.baseMapper.selectById(syncTerminalParam.getDeviceParam().getDevIndex());
if(Objects.isNull(deviceLine)){
Line device = assembleLine(deviceParam.getName(), LineBaseEnum.DEVICE_LEVEL.getCode(), subIndex, projectIndex + StrUtil.COMMA + provinceIndex + StrUtil.COMMA + gdIndex + StrUtil.COMMA + subIndex, deviceParam.getSort());
device.setId(deviceParam.getDevIndex());
this.baseMapper.insert(device);
//装置详情
Device deviceDetail = new Device();
BeanUtils.copyProperties(deviceParam, deviceDetail);
deviceDetail.setId(device.getId());
deviceDetail.setRunFlag(0);
deviceDetail.setCallFlag(0);
deviceDetail.setComFlag(0);
deviceDetail.setCheckFlag(1);
deviceDetail.setThisTimeCheck(PubUtils.localDateFormat(deviceParam.getThisTimeCheck()));
deviceDetail.setNextTimeCheck(PubUtils.localDateFormat(deviceParam.getNextTimeCheck()));
deviceDetail.setLoginTime(PubUtils.localDateFormat(deviceParam.getNextTimeCheck()));
deviceDetail.setUpdateTime(LocalDateTime.now());
//处理装置识别码秘钥
deviceMapper.insert(deviceDetail);
//装置功能 todo确定devFuction
// List<DictData> funList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.DEV_FUN.getName()).getData();
// if (CollectionUtil.isEmpty(funList)) {
// throw new BusinessException(DeviceResponseEnum.DIC_GET_EMPTY);
// }
//
// List<DevFuction> insertFunList = new ArrayList<>();
// for (DictData dicData : funList) {
// DevFuction devFunction = new DevFuction();
// devFunction.setLineId(device.getId());
// devFunction.setFucName(dicData.getId());
// devFunction.setId(IdUtil.simpleUUID());
// insertFunList.add(devFunction);
// }
// QueryWrapper<DevFuction> funQueryWrapper = new QueryWrapper<>();
// funQueryWrapper.lambda().eq(DevFuction::getLineId, device.getId());
// devFuctionMapper.delete(funQueryWrapper);
// devFuctionMapper.addBatch(insertFunList);
}
//处理母线
SubVoltageParam subVoltageParam = syncTerminalParam.getSubVoltageParam();
String subvIndex = null;
//如果电站下存在同名母线则将监测点挂在下面反之新建母线
//同一变电站下只能有唯一母线名称
Line SubVoltage = this.lambdaQuery().eq(Line::getName, subVoltageParam.getName()).like(Line::getPids, syncTerminalParam.getSubIndex()).one();
if(Objects.isNull(SubVoltage)){
//新建母线
Line subVoltage = assembleLine(subVoltageParam.getName(), LineBaseEnum.SUB_V_LEVEL.getCode(), deviceParam.getDevIndex(), projectIndex + StrUtil.COMMA + provinceIndex + StrUtil.COMMA + gdIndex + StrUtil.COMMA + subIndex + StrUtil.COMMA + deviceParam.getDevIndex(), subVoltageParam.getSort());
this.baseMapper.insert(subVoltage);
subvIndex = subVoltage.getId();
Voltage voltage = new Voltage();
voltage.setId(subVoltage.getId());
voltage.setNum(subVoltageParam.getNum());
DictData scaleRes = dicDataFeignClient.getDicDataById(subVoltageParam.getScale()).getData();
voltage.setScale(scaleRes.getId());
voltage.setModel(subVoltageParam.getModel());
voltageMapper.insert(voltage);
}else {
subvIndex=SubVoltage.getId();
}
//处理监测点
LineParam lineParam = syncTerminalParam.getLineParam();
Line line = assembleLine(lineParam.getName(), LineBaseEnum.LINE_LEVEL.getCode(), subvIndex, projectIndex + StrUtil.COMMA + provinceIndex + StrUtil.COMMA + gdIndex + StrUtil.COMMA + subIndex + StrUtil.COMMA + deviceParam.getDevIndex() + StrUtil.COMMA + subvIndex, lineParam.getSort());
line.setId(lineParam.getLineIndex());
this.baseMapper.insert(line);
LineDetail lineDetail = new LineDetail();
BeanUtils.copyProperties(lineParam, lineDetail);
lineDetail.setId(line.getId());
//判断国网监测点id
if (StrUtil.isNotBlank(lineDetail.getMonitorId())) {
lineDetail.setMonitorFlag(1);
} else {
lineDetail.setMonitorFlag(0);
}
lineDetailMapper.insert(lineDetail);
//通过监测点id获取母线电压等级
Voltage voltage = lineMapper.getVoltageByLineId(line.getId());
//监测点限值
DictData scaleResult = dicDataFeignClient.getDicDataById(voltage.getScale()).getData();
float scaTmp = Float.parseFloat(scaleResult.getValue());
Overlimit overlimit = COverlimitUtil.globalAssemble(scaTmp, lineDetail.getDealCapacity(), lineDetail.getDevCapacity(), lineDetail.getShortCapacity(), 1, 0);
if (Objects.isNull(lineParam.getVoltageDev())) {
overlimit.setVoltageDev(overlimit.getVoltageDev());
} else {
overlimit.setVoltageDev(lineParam.getVoltageDev());
}
if (Objects.isNull(lineParam.getUvoltageDev())) {
overlimit.setUvoltageDev(overlimit.getUvoltageDev());
} else {
overlimit.setUvoltageDev(lineParam.getUvoltageDev());
}
//Overlimit overlimit = new Overlimit(line.getId(), scaTmp, lineDetail.getShortCapacity(), lineDetail.getStandardCapacity(), lineDetail.getDealCapacity(), lineDetail.getDevCapacity());
overlimitMapper.deleteById(line.getId());
overlimit.setId(line.getId());
overlimitMapper.insert(overlimit);
DeptLine deptLine = new DeptLine();
deptLine.setId(syncTerminalParam.getDeptId());
deptLine.setLineId(line.getId());
deptLineMapper.insert(deptLine);
return true;
}
private String saveTerminalInfo(List<OracleTerminalExcel> oracleTerminalExcels, List<OverLimitExcel> overLimitExcels) {
List<OracleTerminalExcel.OracleTerminalExcelMsg> oracleTerminalExcelMsg = new ArrayList<>();

View File

@@ -16,6 +16,8 @@ import java.util.List;
@Data
public class RMpPartHarmonicDetailQueryParam extends BaseParam {
private String orgNo;
/**
* 统计起始日期
*/

View File

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.device.biz.commApi.CommLineClient;
import com.njcn.device.biz.pojo.dto.LineALLInfoDTO;
import com.njcn.device.pq.api.DeptLineFeignClient;
import com.njcn.harmonic.mapper.majornetwork.RMpPartHarmonicDetailDMapper;
import com.njcn.harmonic.pojo.dto.RMpPartHarmonicDetailDTO;
import com.njcn.harmonic.pojo.param.RMpPartHarmonicDetailQueryParam;
@@ -21,6 +22,7 @@ import com.njcn.system.pojo.po.DictData;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.time.LocalDate;
import java.time.LocalDateTime;
@@ -45,6 +47,7 @@ public class RMpPartHarmonicDetailDServiceImpl extends ServiceImpl<RMpPartHarmon
private final DicDataFeignClient dicDataFeignClient;
private final IRStatLimitRateDService irStatLimitRateDService;
private final CommLineClient commLineClient;
private final DeptLineFeignClient deptLineFeignClient;
@Override
public List<RMpPartHarmonicDetailIconVO> getRMpPartHarmonicDetailIcon(StatisticsBizBaseParam param) {
@@ -53,16 +56,22 @@ public class RMpPartHarmonicDetailDServiceImpl extends ServiceImpl<RMpPartHarmon
@Override
public Page<RMpPartHarmonicDetailDTO> getRMpPartHarmonicDetail(RMpPartHarmonicDetailQueryParam param) {
System.out.println(LocalDateTime.now());
List<RStatLimitRateDPO> rStatLimitRateDPOs = irStatLimitRateDService.lambdaQuery().eq(RStatLimitRateDPO::getPhasicType,"T").between(RStatLimitRateDPO::getTime, param.getStartTime()+" 00:00:00", param.getEndTime()+" 23:59:59").list();
List<String> lineIdLists = deptLineFeignClient.getLineNodeByDeptId(param.getOrgNo()).getData();
if (CollectionUtils.isEmpty(lineIdLists)){
return new Page<RMpPartHarmonicDetailDTO>(param.getPageNum(),param.getPageSize());
}
List<RStatLimitRateDPO> rStatLimitRateDPOs = irStatLimitRateDService.lambdaQuery()
.in(RStatLimitRateDPO::getLineId,lineIdLists)
.eq(RStatLimitRateDPO::getPhasicType,"T")
.between(RStatLimitRateDPO::getTime, param.getStartTime()+" 00:00:00", param.getEndTime()+" 23:59:59").list();
List<RMpPartHarmonicDetailDTO> rMpPartHarmonicDetailDTOS = new ArrayList<>();
LocalDate date = LocalDate.parse(param.getStartTime());
YearMonth yearMonth = YearMonth.from(date);
int daysInMonth = yearMonth.lengthOfMonth();
System.out.println(LocalDateTime.now());
/*获取稳态统计指标*/
List<DictData> steadyStatis = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDICATOR_TYPE.getCode()).getData();
System.out.println(LocalDateTime.now());
rStatLimitRateDPOs.stream().collect(Collectors.groupingBy(RStatLimitRateDPO::getLineId)).forEach((k, v) -> {
// LineALLInfoDTO lineALLInfoDTO = tempMap.get(k);
steadyStatis.forEach(dictData -> {
@@ -89,16 +98,13 @@ public class RMpPartHarmonicDetailDServiceImpl extends ServiceImpl<RMpPartHarmon
});
});
System.out.println(LocalDateTime.now());
List<RMpPartHarmonicDetailDTO> result = rMpPartHarmonicDetailDTOS.stream().
filter(temp -> CollectionUtil.isEmpty(param.getHarmonicTypes()) ||param.getHarmonicTypes().contains(temp.getHarmonicType())).
collect(Collectors.toList());
System.out.println(LocalDateTime.now());
//合并指标天数计算连续超标天数,及总超标天数
Map<String, List<RMpPartHarmonicDetailDTO>> map = result.stream().collect(Collectors.groupingBy(RMpPartHarmonicDetailDTO::getMeasurementPointId));
System.out.println(LocalDateTime.now());
List<RMpPartHarmonicDetailDTO> rMpPartHarmonicDetailDTOList = new ArrayList<>();
//获取所有指标类型如何前端为空则将所有子表类型塞入HarmonicTypes
@@ -129,14 +135,12 @@ public class RMpPartHarmonicDetailDServiceImpl extends ServiceImpl<RMpPartHarmon
}
rMpPartHarmonicDetailDTOList.add(rMpPartHarmonicDetailDTO);
});
System.out.println(LocalDateTime.now());
Page<RMpPartHarmonicDetailDTO> temp = new Page<>(param.getPageNum(),param.getPageSize());
temp.setTotal(rMpPartHarmonicDetailDTOList.size());
List<RMpPartHarmonicDetailDTO> collect1 = rMpPartHarmonicDetailDTOList.stream()
.skip((param.getPageNum() - 1) * param.getPageSize()) // 跳过前面的数据项
.limit(param.getPageSize()) // 取出指定数量的数据
.collect(Collectors.toList());
System.out.println(LocalDateTime.now());
//获取监测点详情
List<String> lineIds = collect1.stream().map(RMpPartHarmonicDetailDTO::getMeasurementPointId).distinct().collect(Collectors.toList());

View File

@@ -222,5 +222,7 @@ public class SupervisionTempDeviceReportParam {
@ApiModelProperty(value="合同号")
private String contractNumber;
private String frontType;
}

View File

@@ -216,6 +216,16 @@ public class SupervisionTempLineReportParam {
@ApiModelProperty(value="电压偏差下限")
private Float voltageDeviationLowerLimit;
/**
* 线路号
*/
private Integer num;
/**
* 线路号
*/
private Integer ptType;
@ApiModelProperty("发起人自选审批人 Map")
private Map<String, List<String>> startUserSelectAssignees;

View File

@@ -1,7 +1,5 @@
package com.njcn.supervision.pojo.param.user;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
@@ -45,6 +43,11 @@ public class UserReportNormalParam extends BaseParam {
* 1:审批中2审批通过3审批不通过4已取消
*/
private String status;
@ApiModelProperty(value="所属区域")
private String city;
@ApiModelProperty(value = "工程名称")
private String projectName;
@ApiModelProperty("发起人自选审批人 Map")

View File

@@ -7,7 +7,6 @@ import com.njcn.supervision.pojo.po.user.UserReportSensitivePO;
import com.njcn.supervision.pojo.po.user.UserReportSubstationPO;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -141,6 +140,10 @@ public class UserReportParam extends BaseEntity {
@ApiModelProperty(value="所属区域")
private String city;
@ApiModelProperty(value = "工程名称")
private String projectName;
@ApiModelProperty(value="数据来源类型 0正常审核流程 1批量导入")
private Integer dataType;

View File

@@ -219,5 +219,8 @@ public class SupervisionTempDeviceReport {
@TableField(value = "contract_number")
private String contractNumber;
@TableField(value = "front_type")
private String frontType;
}

View File

@@ -44,7 +44,7 @@ public class SupervisionTempLineDebugPO extends BaseEntity {
* 1:审批中2审批通过3审批不通过4已取消
*/
@TableField(value = "`status`")
@ApiModelProperty(value="1:审批中2审批通过3审批不通过4已取消")
@ApiModelProperty(value="1:审批中2审批通过3审批不通过4已取消,5数据同步完成")
private Integer status;
/**

View File

@@ -137,6 +137,7 @@ public class SupervisionTempLineReport extends BaseEntity {
@TableField(value = "monitoring_terminal_code")
private String monitoringTerminalCode;
/**
* 监测终端名称
*/
@@ -171,6 +172,17 @@ public class SupervisionTempLineReport extends BaseEntity {
*/
@TableField(value = "is_statistical")
private String isStatistical;
/**
* 线路号
*/
@TableField(value = "num")
private Integer num;
/**
* 线路号
*/
@TableField(value = "pt_type")
private Integer ptType ;
/**
* 监测点对象名称

View File

@@ -96,5 +96,13 @@ public class TempLineDebugController extends BaseController {
// String id = supervisionTempLineReportService.cancelTempLineReport(cancelReqVO);
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, id, methodDescribe);
// }
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/ledgerSync")
@ApiOperation("台账同步")
public HttpResult<String> ledgerSync(@RequestParam("id") String id) {
String methodDescribe = getMethodDescribe("ledgerSync");
String out = supervisionTempLineDebugPOService.ledgerSync(id);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe);
}
}

View File

@@ -64,7 +64,7 @@
supervision_temp_line_debug
inner JOIN supervision_temp_line_report ON supervision_temp_line_report.id = supervision_temp_line_debug.id
left join supervision_temp_line_run_test on supervision_temp_line_debug.id = supervision_temp_line_run_test.id
where supervision_temp_line_debug.`status`=2
where supervision_temp_line_debug.`status`=5
and ${ew.sqlSegment}
</select>
</mapper>

View File

@@ -25,4 +25,6 @@ public interface SupervisionTempLineDebugPOService extends IService<SupervisionT
SupervisionTempLineDebugVO getDetailTempLineDebug(String id);
void updateStatus(String businessKey, Integer status);
String ledgerSync(String id);
}

View File

@@ -69,8 +69,8 @@ public class SupervisionDevMainReportPOServiceImpl extends ServiceImpl<Supervisi
@Transactional(rollbackFor = Exception.class)
public String addDevReport(SupervisionDevMainReportParam supervisionDevMainReportParam) {
//判断干扰源用户是否绑定 todo 修改校验终端名称
// checkUserId(supervisionDevMainReportParam, false);
//设备校验ip
checkIp(supervisionDevMainReportParam, false);
SupervisionDevMainReportPO supervisionDevMainReportPO = new SupervisionDevMainReportPO();
BeanUtils.copyProperties(supervisionDevMainReportParam, supervisionDevMainReportPO);
supervisionDevMainReportPO.setState(DataStateEnum.ENABLE.getCode());
@@ -192,40 +192,43 @@ public class SupervisionDevMainReportPOServiceImpl extends ServiceImpl<Supervisi
SupervisionTempDeviceReport supervisionTempDeviceReport = supervisionTempDeviceReportService.lambdaQuery().eq(SupervisionTempDeviceReport::getId, id).one();
supervisionTempDeviceReport.setSubstation(lineFeignClient.getSubstationInfo(supervisionTempDeviceReport.getSubstation()).getData().getName());
supervisionTempDeviceReport.setPowerCompany(deptFeignClient.getDeptById(byId.getOrgId()).getData().getName());
supervisionTempDeviceReport.setPowerCompany(deptFeignClient.getDeptById(supervisionTempDeviceReport.getPowerCompany()).getData().getName());
supervisionDevMainReportVO.setSupervisionTempDeviceReport(supervisionTempDeviceReport);
return supervisionDevMainReportVO;
}
/**
* @Description: 判断干扰源用户是否绑定设备,如果重复提示干扰源用户已经设备
* @Description: 判断设备ip是否重复,如果重复提示
* @Param: supervisionDevMainReportParam终端详情 isExcludeSelf是否排除自己一般新增不排除更新时需要排除自己
* @return: void
* @Author: clam
* @Date: 2024/5/11
*/
private void checkUserId(SupervisionDevMainReportParam supervisionDevMainReportParam, boolean isExcludeSelf) {
LambdaQueryWrapper<SupervisionDevMainReportPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
private void checkIp(SupervisionDevMainReportParam supervisionDevMainReportParam, boolean isExcludeSelf) {
LambdaQueryWrapper<SupervisionTempDeviceReport> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper
.eq(SupervisionDevMainReportPO::getUserId, supervisionDevMainReportParam.getUserId())
.eq(SupervisionDevMainReportPO::getState, DataStateEnum.ENABLE.getCode());
.eq(SupervisionTempDeviceReport::getSubstation,supervisionDevMainReportParam.getSupervisionTempDeviceReportParam().getSubstation())
.eq(SupervisionTempDeviceReport::getTerminalIp, supervisionDevMainReportParam.getSupervisionTempDeviceReportParam().getTerminalIp());
//更新的时候,需排除当前记录
if (isExcludeSelf) {
if(supervisionDevMainReportParam instanceof SupervisionDevMainReportParam.SupervisionDevMainReportParamUpdate){
lambdaQueryWrapper.ne(SupervisionDevMainReportPO::getId, ((SupervisionDevMainReportParam.SupervisionDevMainReportParamUpdate) supervisionDevMainReportParam).getId());
lambdaQueryWrapper.ne(SupervisionTempDeviceReport::getId, ((SupervisionDevMainReportParam.SupervisionDevMainReportParamUpdate) supervisionDevMainReportParam).getId());
}
}
List<SupervisionDevMainReportPO> list = this.baseMapper.selectList(lambdaQueryWrapper);
List<SupervisionTempDeviceReport> list = supervisionTempDeviceReportService.getBaseMapper().selectList(lambdaQueryWrapper);
if (CollectionUtil.isNotEmpty(list)) {
//过滤已取消的申请
list = list.stream()
//过滤已取消的申请和删除的
List<String> collect = list.stream().map(SupervisionTempDeviceReport::getId).collect(Collectors.toList());
List<SupervisionDevMainReportPO> list1 = this.lambdaQuery().in(SupervisionDevMainReportPO::getId, collect).list();
list1 = list1.stream()
.filter(userReportPO -> !userReportPO.getStatus().equals(FlowStatusEnum.CANCEL.getCode()))
.filter(userReportPO -> userReportPO.getState().equals(DataStateEnum.ENABLE.getCode()))
.collect(Collectors.toList());
//如果还存在,则说明有人申请过了
if (CollectionUtil.isNotEmpty(list)) {
throw new BusinessException(supervisionDevMainReportParam.getUserName().concat(",扰源用户").concat(list.get(0).getReporter()).concat("绑定"));
if (CollectionUtil.isNotEmpty(list1)) {
throw new BusinessException(supervisionDevMainReportParam.getSupervisionTempDeviceReportParam().getTerminalIp().concat("Ip已占用"));
}
}
}

View File

@@ -1,7 +1,8 @@
package com.njcn.supervision.service.device.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -11,14 +12,29 @@ import com.njcn.bpm.enums.BpmTaskStatusEnum;
import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO;
import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.device.pq.api.LineFeignClient;
import com.njcn.device.pq.api.TerminalBaseClient;
import com.njcn.device.pq.pojo.param.DeviceParam;
import com.njcn.device.pq.pojo.param.LineParam;
import com.njcn.device.pq.pojo.param.SubVoltageParam;
import com.njcn.device.pq.pojo.param.SyncTerminalParam;
import com.njcn.device.pq.pojo.po.Line;
import com.njcn.supervision.mapper.device.SupervisionTempLineDebugPOMapper;
import com.njcn.supervision.pojo.param.device.SupervisionTempLineDebugParam;
import com.njcn.supervision.pojo.po.device.SupervisionTempDeviceReport;
import com.njcn.supervision.pojo.po.device.SupervisionTempLineDebugPO;
import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport;
import com.njcn.supervision.pojo.vo.device.SupervisionDevMainReportVO;
import com.njcn.supervision.pojo.vo.device.SupervisionTempLineDebugVO;
import com.njcn.supervision.service.device.SupervisionDevMainReportPOService;
import com.njcn.supervision.service.device.SupervisionTempDeviceReportService;
import com.njcn.supervision.service.device.SupervisionTempLineDebugPOService;
import com.njcn.supervision.service.device.SupervisionTempLineReportService;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.api.DictTreeFeignClient;
import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.DictData;
import com.njcn.system.pojo.po.SysDicTreePO;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.api.UserFeignClient;
import com.njcn.web.factory.PageFactory;
@@ -28,10 +44,9 @@ import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
*
@@ -50,8 +65,17 @@ public class SupervisionTempLineDebugPOServiceImpl extends ServiceImpl<Supervisi
private final SupervisionTempLineReportService supervisionTempLineReportService;
private final UserFeignClient userFeignClient;
private final SupervisionDevMainReportPOService supervisionDevMainReportPOService;
private final SupervisionTempDeviceReportService supervisionTempDeviceReportService;
private final LineFeignClient lineFeignClient;
private final DictTreeFeignClient dictTreeFeignClient;
private final DicDataFeignClient dicDataFeignClient;
private final UserFeignClient userFeignClient;
private final TerminalBaseClient terminalBaseClient;
@Override
@Transactional(rollbackFor = Exception.class)
public String addTempLineDebug(SupervisionTempLineDebugParam supervisionTempLineReportParam) {
@@ -161,4 +185,151 @@ public class SupervisionTempLineDebugPOServiceImpl extends ServiceImpl<Supervisi
this.lambdaUpdate().set(SupervisionTempLineDebugPO::getStatus,status).eq(SupervisionTempLineDebugPO::getId,businessKey).update();
}
/**
* @Description: 临时表台账数据同步到实际表中
* @Param:
* @return: java.lang.String
* @Author: clam
* @Date: 2024/5/29
*/
@Override
public String ledgerSync(String id) {
SupervisionTempLineDebugPO byId = this.getById(id);
if(byId.getStatus()!=2){
throw new BusinessException("未审核通过无法同步台账");
}
//获取临时监测点详情
SupervisionTempLineReport tempLine = supervisionTempLineReportService.getById(id);
//获取关联的设备信息
SupervisionTempDeviceReport tempDevice = supervisionTempDeviceReportService.getById(tempLine.getMonitoringTerminalCode());
List<Line> data = lineFeignClient.getBaseLineList(Stream.of(tempDevice.getSubstation()).collect(Collectors.toList())).getData();
String pids = data.get(0).getPids();
String[] idsArray = pids.split(",");
SyncTerminalParam syncTerminalParam = new SyncTerminalParam();
syncTerminalParam.setProjectIndex(idsArray[0]);
syncTerminalParam.setProvinceIndex(idsArray[1]);
syncTerminalParam.setGdIndex(idsArray[2]);
syncTerminalParam.setSubIndex(tempDevice.getSubstation());
//用于绑定监测点部门
syncTerminalParam.setDeptId(tempDevice.getPowerCompany());
//电站可能后期要录 todo
//syncTerminalParam.setSubStationParam();
DeviceParam deviceParam = new DeviceParam();
SubVoltageParam subVoltageParam = new SubVoltageParam();
LineParam lineParam = new LineParam();
assembleSyncTerminalParam(deviceParam,tempDevice,subVoltageParam,lineParam,tempLine);
syncTerminalParam.setDeviceParam(deviceParam);
syncTerminalParam.setSubVoltageParam(subVoltageParam);
syncTerminalParam.setLineParam(lineParam);
terminalBaseClient.terminalSync(syncTerminalParam);
this.updateStatus(id,5);
return null;
}
private void assembleSyncTerminalParam(DeviceParam deviceParam, SupervisionTempDeviceReport tempDevice,SubVoltageParam subVoltageParam,LineParam lineParam ,SupervisionTempLineReport tempLine) {
//包装device
deviceParam.setDevIndex(tempDevice.getId());
deviceParam.setName(tempDevice.getMonitoringTerminalName());
deviceParam.setDevType(tempDevice.getTerminalType());
deviceParam.setFrontType(tempDevice.getFrontType());
deviceParam.setIp(tempDevice.getTerminalIp());
deviceParam.setPort(Integer.valueOf(tempDevice.getTerminalPort()));
deviceParam.setNodeId(tempDevice.getFrontEndMachine());
deviceParam.setSeries(tempDevice.getIdentificationCode());
deviceParam.setDevKey(tempDevice.getTerminalSecretKey());
deviceParam.setDevModel(Integer.valueOf(tempDevice.getTerminalModel()));
deviceParam.setDevDataType(Integer.valueOf(tempDevice.getDataType()));
deviceParam.setCallFlag(Integer.valueOf(tempDevice.getCommunicationStatus()));
deviceParam.setManufacturer(tempDevice.getManufacturer());
deviceParam.setElectroplate(tempDevice.getElectroplatingFunction());
deviceParam.setLoginTime(LocalDateTimeUtil.format(tempDevice.getCommissioningTime(), DatePattern.NORM_DATE_FORMATTER));
deviceParam.setThisTimeCheck(LocalDateTimeUtil.format(tempDevice.getCurrentTerminalDetectionTime(), DatePattern.NORM_DATE_FORMATTER));
deviceParam.setNextTimeCheck(LocalDateTimeUtil.format(tempDevice.getNextTerminalInspectionTime(), DatePattern.NORM_DATE_FORMATTER));
deviceParam.setContract(tempDevice.getContractNumber());
deviceParam.setSim(tempDevice.getSimCardNumber());
deviceParam.setDevSeries(null);
deviceParam.setDevLocation(tempDevice.getMonitoringDeviceInstallationPosition());
deviceParam.setDevNo(tempDevice.getManufacturerDeviceNumber());
deviceParam.setIsAlarm(Integer.valueOf(tempDevice.getAlarmFunction()));
deviceParam.setSort(0);
//subVoltageParam
subVoltageParam.setName(tempLine.getConnectedBus());
//母线线路号无要求,目前随机生成
subVoltageParam.setNum(new Random().nextInt(6) + 1);
//使用监测点的电压等级,监测点和母线是同一个电压等级
subVoltageParam.setScale(tempLine.getVoltageLevel());
subVoltageParam.setModel(1);
subVoltageParam.setSort(0);
//包装lineParam
lineParam.setLineIndex(tempLine.getId());
lineParam.setName(tempLine.getLineName());
lineParam.setPt1(tempLine.getPtRatio()*100);
lineParam.setPt2(100.00f);
lineParam.setCt1(tempLine.getCtRatio());
lineParam.setCt2(1.00f);
lineParam.setDevCapacity(tempLine.getDevCapacity());
lineParam.setShortCapacity(tempLine.getShortCapacity());
lineParam.setDealCapacity(tempLine.getDealCapacity());
lineParam.setStandardCapacity(tempLine.getStandardCapacity());
lineParam.setTimeInterval(tempLine.getTimeInterval());
//这两个字段统一用BusinessType()来反射取
lineParam.setLoadType(reflectionLoadType(tempLine.getBusinessType()));
lineParam.setBusinessType(reflectionBusinessType(tempLine.getBusinessType()));
// lineParam.setRemark();
// lineParam.setMonitorId();
lineParam.setPowerFlag(Integer.valueOf(tempLine.getPointNature()));
lineParam.setObjName(tempLine.getObjName());
//目前接线方式在device里现在使用device代替监测点
lineParam.setPtType(tempLine.getPtType());
lineParam.setNum(tempLine.getNum());
lineParam.setSort(0);
lineParam.setVoltageDev(tempLine.getVoltageDeviationUpperLimit());
lineParam.setUvoltageDev(tempLine.getVoltageDeviationLowerLimit());
lineParam.setPowerSubstationName(tempLine.getPowerSubstationName());
// lineParam.setCalssificationGrade();
// lineParam.setSuperiorsSubstation();
lineParam.setStatFlag(Integer.valueOf(tempLine.getIsStatistical()));
// lineParam.setHangLine();
// lineParam.setOwner();
// lineParam.setOwnerDuty();
// lineParam.setOwnerTel();
lineParam.setWiringDiagram(tempLine.getMainWiringDiagram());
}
private String reflectionBusinessType(String businessType) {
try {
SysDicTreePO data = dictTreeFeignClient.queryById(businessType).getData();
List<DictData> data1 = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.BUSINESS_TYPE.getCode()).getData();
List<DictData> collect = data1.stream().filter(temp -> temp.getName().equals(data.getRemark())).collect(Collectors.toList());
return collect.get(0).getId();
} catch (Exception e) {
throw new BusinessException("字典转换异常");
}
}
private String reflectionLoadType(String businessType) {
try {
SysDicTreePO data = dictTreeFeignClient.queryById(businessType).getData();
List<DictData> data1 = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INTERFERENCE_SOURCE_TYPE.getCode()).getData();
List<DictData> collect = data1.stream().filter(temp -> temp.getName().equals(data.getName())).collect(Collectors.toList());
return collect.get(0).getId();
} catch (Exception e) {
throw new BusinessException("字典转换异常");
}
}
}

View File

@@ -154,7 +154,10 @@ public class SupervisionTempLineReportServiceImpl extends ServiceImpl<Supervisio
private void checkLineId(SupervisionTempLineReportParam supervisionTempLineReportParam, boolean isExcludeSelf) {
LambdaQueryWrapper<SupervisionTempLineReport> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper
.eq(SupervisionTempLineReport::getLineId, supervisionTempLineReportParam.getLineId())
.eq(SupervisionTempLineReport::getMonitoringTerminalCode,supervisionTempLineReportParam.getMonitoringTerminalCode())
.and(wrapper->wrapper.eq(SupervisionTempLineReport::getNum ,supervisionTempLineReportParam.getNum()).or()
.eq(SupervisionTempLineReport::getLineName ,supervisionTempLineReportParam.getLineName())
)
.eq(SupervisionTempLineReport::getState, DataStateEnum.ENABLE.getCode());
//更新的时候,需排除当前记录
if (isExcludeSelf) {
@@ -172,7 +175,7 @@ public class SupervisionTempLineReportServiceImpl extends ServiceImpl<Supervisio
.collect(Collectors.toList());
//如果还存在,则说明有人申请过了
if (CollectionUtil.isNotEmpty(list)) {
throw new BusinessException(supervisionTempLineReportParam.getUserName().concat(",监测点编号").concat(list.get(0).getReporter()).concat("以使用"));
throw new BusinessException(supervisionTempLineReportParam.getUserName().concat(",监测点线路号或监测点名称").concat(list.get(0).getReporter()).concat("以使用"));
}
}
}

View File

@@ -1,10 +1,8 @@
package com.njcn.supervision.service.device.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.bpm.api.BpmProcessFeignClient;
@@ -14,7 +12,6 @@ import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.device.biz.commApi.CommLineClient;
import com.njcn.device.biz.enums.RunFlagEnum;
import com.njcn.device.biz.pojo.dto.LineDTO;
import com.njcn.device.pq.api.LineIntegrityClient;
import com.njcn.device.pq.pojo.dto.LineDataQualityDTO;
@@ -22,7 +19,6 @@ import com.njcn.device.pq.pojo.param.LineDataQualityParam;
import com.njcn.supervision.mapper.device.SupervisionTempLineReportMapper;
import com.njcn.supervision.mapper.device.SupervisionTempLineRunTestMapper;
import com.njcn.supervision.pojo.param.device.SupervisionTempLineRunTestParam;
import com.njcn.supervision.pojo.po.device.QuitRunningDevice;
import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport;
import com.njcn.supervision.pojo.po.device.SupervisionTempLineRunTestPO;
import com.njcn.supervision.pojo.vo.device.SupervisionTempLineRunTestVO;
@@ -68,7 +64,7 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl<Supervisi
List<String> ids = supervisionTempLineRunTestParam.getLineIds();
List<SupervisionTempLineReport> supervisionTempLineReportList = supervisionTempLineReportMapper.selectBatchIds(ids);
List<String> lineIds = supervisionTempLineReportList.stream().map(SupervisionTempLineReport::getLineId).collect(Collectors.toList());
List<String> lineIds = supervisionTempLineReportList.stream().map(SupervisionTempLineReport::getId).collect(Collectors.toList());
List<LineDTO> lineDTOList = commLineClient.getLineDetailBatch(lineIds).getData();
if(lineIds.size()!=lineDTOList.size()){

View File

@@ -2,14 +2,12 @@ package com.njcn.supervision.service.plan.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -219,10 +217,10 @@ public class SupervisionPlanPOServiceImpl extends ServiceImpl<SupervisionPlanPOM
SupervisionPlanPO byId = this.getById(id);
List<SupervisionProblemPO> list = supervisionProblemPOService.lambdaQuery().eq(SupervisionProblemPO::getPlanId, id).list();
if (CollectionUtil.isEmpty(list)){
throw new BusinessException("请填写完实问题提交审核");
}
// List<SupervisionProblemPO> list = supervisionProblemPOService.lambdaQuery().eq(SupervisionProblemPO::getPlanId, id).list();
// if (CollectionUtil.isEmpty(list)){
// throw new BusinessException("请填写完实问题提交审核");
// }
// 发起 BPM 流程
Map<String, Object> processInstanceVariables = new HashMap<>();
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
@@ -310,6 +308,9 @@ public class SupervisionPlanPOServiceImpl extends ServiceImpl<SupervisionPlanPOM
List<SupervisionProblemPO> list = supervisionProblemPOService.lambdaQuery().eq(SupervisionProblemPO::getPlanId, id).list();
SupervisionPlanPO byId = this.getById(id);
if(byId.getStatus()!=2){
throw new BusinessException("该计划未审核通过无法发送预告警单");
}
/*
* 1、预告警单名称此处暂时用计算监督计划名称
* 2、预告警编号暂时随机by yxb

View File

@@ -34,6 +34,7 @@ import com.njcn.user.pojo.vo.UserVO;
import com.njcn.web.factory.PageFactory;
import com.njcn.web.utils.RequestUtil;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.BeanWrapper;
import org.springframework.beans.BeanWrapperImpl;
@@ -175,6 +176,8 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
//查询所有区域下的数据
userReportVOQueryWrapper.in("supervision_user_report.city", userReportQueryParam.getCity());
}
userReportVOQueryWrapper.like(StringUtils.isNotBlank(userReportQueryParam.getProjectName()),"supervision_user_report.project_name", userReportQueryParam.getProjectName());
//添加上时间范围
// userReportVOQueryWrapper.between("supervision_user_report.Create_Time",
// DateUtil.beginOfDay(DateUtil.parse(userReportQueryParam.getSearchBeginTime())),
@@ -283,6 +286,8 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
if(Objects.nonNull(userReportQueryParam.getDataType())){
userReportVOQueryWrapper.eq("data_type",userReportQueryParam.getDataType());
}
userReportVOQueryWrapper.like(StringUtils.isNotBlank(userReportQueryParam.getProjectName()),"supervision_user_report.project_name", userReportQueryParam.getProjectName());
}
userReportVOQueryWrapper.orderByDesc("supervision_user_report.create_time");
return this.baseMapper.page(new Page<>(PageFactory.getPageNum(userReportQueryParam), PageFactory.getPageSize(userReportQueryParam)), userReportVOQueryWrapper);