测试项限值生成

This commit is contained in:
hzj
2024-10-22 18:11:34 +08:00
parent b750064b16
commit f942be74f1
3 changed files with 71 additions and 3 deletions

View File

@@ -0,0 +1,21 @@
package com.njcn.csdevice.service;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.njcn.device.biz.pojo.po.Overlimit;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.csdevice.mapper.OverlimitMapper;
import com.njcn.csdevice.service.impl.OverlimitService;
/**
*
* Description:
* Date: 2024/10/22 14:14【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Service
@DS("sjzx")
public class OverlimitServiceImpl extends ServiceImpl<OverlimitMapper, Overlimit> implements OverlimitService{
}

View File

@@ -0,0 +1,17 @@
package com.njcn.csdevice.service.impl;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.device.biz.pojo.po.Overlimit;
/**
*
* Description:
* Date: 2024/10/22 14:14【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface OverlimitService extends IService<Overlimit>{
}

View File

@@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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.csdevice.api.CsLineFeignClient;
import com.njcn.csdevice.api.EquipmentFeignClient;
@@ -34,6 +35,8 @@ import com.njcn.csdevice.util.InfluxDbParamUtil;
import com.njcn.csdevice.utils.DataChangeUtil;
import com.njcn.csharmonic.param.CommonStatisticalQueryParam;
import com.njcn.csharmonic.pojo.vo.ThdDataVO;
import com.njcn.device.biz.pojo.po.Overlimit;
import com.njcn.device.biz.utils.COverlimitUtil;
import com.njcn.influx.imapper.CommonMapper;
import com.njcn.influx.pojo.bo.CommonQueryParam;
import com.njcn.influx.pojo.constant.InfluxDBTableConstant;
@@ -41,6 +44,8 @@ import com.njcn.influx.pojo.dto.StatisticalDataDTO;
import com.njcn.influx.query.InfluxQueryWrapper;
import com.njcn.influx.service.CommonService;
import com.njcn.system.api.CsStatisticalSetFeignClient;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.pojo.po.DictData;
import com.njcn.system.pojo.po.EleEpdPqd;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -89,11 +94,13 @@ public class WlRecordServiceImpl extends ServiceImpl<WlRecordMapper, WlRecord> i
private final CsLinePOMapper csLinePOMapper;
private final CsEquipmentDeliveryMapper csEquipmentDeliveryMapper;
private final OverlimitService overlimitService;
private final DicDataFeignClient dicDataFeignClient;
private final DecimalFormat df = new DecimalFormat(DataParam.DecimalFormatStr);
@Override
@Transactional(rollbackFor = Exception.class)
// @Transactional(rollbackFor = Exception.class)
public void addRecord(WlRecordParam.AddRecord records) {
//整理的方案下测试项集合(可能添加多个测试项)
List<WlRecord> insertList = new ArrayList<>();
@@ -120,6 +127,17 @@ public class WlRecordServiceImpl extends ServiceImpl<WlRecordMapper, WlRecord> i
updateRecord.setId(record.getId());
updateRecord.setList(item.getList());
saveDataRecord(updateRecord);
//生成测试项限值,用于报表
DictData scaleResult = dicDataFeignClient.getDicDataById(record.getVoltageLevel()).getData();
if (Objects.isNull(scaleResult)) {
throw new BusinessException(CommonResponseEnum.DIC_DATA);
}
float voltageLevel = Float.parseFloat(scaleResult.getValue());
Overlimit overlimit = COverlimitUtil.globalAssemble(voltageLevel, record.getCapacitySi(), record.getCapacitySt(), record.getCapacitySscmin(), 1, 0);
overlimit.setId(id);
overlimitService.saveOrUpdate(overlimit);
});
this.saveBatch(insertList);
}
@@ -135,7 +153,7 @@ public class WlRecordServiceImpl extends ServiceImpl<WlRecordMapper, WlRecord> i
}
@Override
@Transactional(rollbackFor = Exception.class)
// @Transactional(rollbackFor = Exception.class)
public void updateTestRecord(WlRecordParam.UpdateRecord record) {
WlRecord wlRecord = new WlRecord();
BeanUtils.copyProperties(record, wlRecord);
@@ -143,6 +161,17 @@ public class WlRecordServiceImpl extends ServiceImpl<WlRecordMapper, WlRecord> i
wlRecord.setEndTime(record.getProEndTime());
this.updateById(wlRecord);
saveDataRecord(record);
//修改测试项限值,用于报表
DictData scaleResult = dicDataFeignClient.getDicDataById(record.getVoltageLevel()).getData();
if (Objects.isNull(scaleResult)) {
throw new BusinessException(CommonResponseEnum.DIC_DATA);
}
float voltageLevel = Float.parseFloat(scaleResult.getValue());
Overlimit overlimit = COverlimitUtil.globalAssemble(voltageLevel, record.getCapacitySi(), record.getCapacitySt(), record.getCapacitySscmin(), 1, 0);
overlimit.setId(record.getId());
overlimitService.saveOrUpdate(overlimit);
}
@Override
@@ -307,7 +336,7 @@ public class WlRecordServiceImpl extends ServiceImpl<WlRecordMapper, WlRecord> i
}
@Override
@Transactional(rollbackFor = Exception.class)
// @Transactional(rollbackFor = Exception.class)
public void deleteRecord(String id) {
LambdaQueryWrapper<WlRecord> qw = new LambdaQueryWrapper();
qw.eq(WlRecord::getId,id).eq(WlRecord::getState,"1").eq(WlRecord::getType,"0");
@@ -324,6 +353,7 @@ public class WlRecordServiceImpl extends ServiceImpl<WlRecordMapper, WlRecord> i
if(wlRecord.getPId() != null){
//方案关联的设备基础数据也删除
this.baseMapper.deleteDataRecord(id,null);
overlimitService.removeById(id);
}else{
//如果删除的是方案 那么连带方案下的所有测试项也要删除
qw = new LambdaQueryWrapper();