|
@ -3,8 +3,12 @@ package com.ccsens.beneficiation.service; |
|
|
import cn.hutool.core.collection.CollectionUtil; |
|
|
import cn.hutool.core.collection.CollectionUtil; |
|
|
import cn.hutool.core.util.ObjectUtil; |
|
|
import cn.hutool.core.util.ObjectUtil; |
|
|
import com.ccsens.beneficiation.bean.dto.ParameterDto; |
|
|
import com.ccsens.beneficiation.bean.dto.ParameterDto; |
|
|
|
|
|
import com.ccsens.beneficiation.bean.po.EquipmentType; |
|
|
|
|
|
import com.ccsens.beneficiation.bean.po.EquipmentTypeExample; |
|
|
import com.ccsens.beneficiation.bean.vo.ParameterVo; |
|
|
import com.ccsens.beneficiation.bean.vo.ParameterVo; |
|
|
import com.ccsens.beneficiation.persist.dao.RecordDao; |
|
|
import com.ccsens.beneficiation.persist.dao.RecordDao; |
|
|
|
|
|
import com.ccsens.beneficiation.persist.mapper.EquipmentTypeMapper; |
|
|
|
|
|
import com.ccsens.util.CRCUtil; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.transaction.annotation.Propagation; |
|
|
import org.springframework.transaction.annotation.Propagation; |
|
@ -24,6 +28,8 @@ import java.util.List; |
|
|
public class ParameterService implements IParameterService{ |
|
|
public class ParameterService implements IParameterService{ |
|
|
@Resource |
|
|
@Resource |
|
|
private RecordDao recordDao; |
|
|
private RecordDao recordDao; |
|
|
|
|
|
@Resource |
|
|
|
|
|
private EquipmentTypeMapper equipmentTypeMapper; |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public ParameterVo.QueryParameter queryParameter(Object param) { |
|
|
public ParameterVo.QueryParameter queryParameter(Object param) { |
|
@ -84,83 +90,76 @@ public class ParameterService implements IParameterService{ |
|
|
} |
|
|
} |
|
|
parameterInfo.setParameter(parameters); |
|
|
parameterInfo.setParameter(parameters); |
|
|
|
|
|
|
|
|
|
|
|
return parameterInfo; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public void updateParameter(ParameterDto.ParameterInfo param) { |
|
|
|
|
|
if(ObjectUtil.isNull(param)){ |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
byte[] header = new byte[]{(byte)0xff,(byte)0xfe,(byte)0x00}; |
|
|
|
|
|
|
|
|
|
|
|
//电磁阀1
|
|
|
|
|
|
ParameterDto.Parameter solenoidValue1 = param.getSolenoidValue1(); |
|
|
|
|
|
if(ObjectUtil.isNotNull(solenoidValue1)){ |
|
|
|
|
|
if(ObjectUtil.isNotNull(solenoidValue1.getSettingValue())){ |
|
|
|
|
|
//根据id和数据类型 查找该设备的addr 设置值是1
|
|
|
|
|
|
EquipmentTypeExample equipmentTypeExample = new EquipmentTypeExample(); |
|
|
|
|
|
equipmentTypeExample.createCriteria().andEquipmentIdEqualTo(solenoidValue1.getId()).andTypeEqualTo((byte) 1); |
|
|
|
|
|
List<EquipmentType> equipmentTypes = equipmentTypeMapper.selectByExample(equipmentTypeExample); |
|
|
|
|
|
if(CollectionUtil.isNotEmpty(equipmentTypes)){ |
|
|
|
|
|
EquipmentType equipmentType = equipmentTypes.get(0); |
|
|
|
|
|
//计算value的高低值
|
|
|
|
|
|
byte uc1 = (byte) (solenoidValue1.getSettingValue().intValue() >> 8); |
|
|
|
|
|
byte uc2 = (byte) (solenoidValue1.getSettingValue().intValue() & 0xff); |
|
|
|
|
|
//计算addr的高低值
|
|
|
|
|
|
byte addr1 = (byte) (equipmentType.getAddr() >> 8); |
|
|
|
|
|
byte addr2 = (byte) (equipmentType.getAddr() & 0xff); |
|
|
|
|
|
//TODO 长度未处理 传感器地址未处理
|
|
|
|
|
|
byte[] center = new byte[]{(byte)0x00,(byte)0x06,addr1,addr2,uc1,uc2}; |
|
|
|
|
|
byte[] crc = new byte[2]; |
|
|
|
|
|
CRCUtil.crc16(crc,center,0,center.length); |
|
|
|
|
|
|
|
|
|
|
|
byte[] all = new byte[header.length + center.length + crc.length]; |
|
|
|
|
|
System.arraycopy(header,0,all,0,header.length); |
|
|
|
|
|
System.arraycopy(center,0,all,header.length,center.length); |
|
|
|
|
|
System.arraycopy(crc,0,all,header.length + center.length,crc.length); |
|
|
|
|
|
|
|
|
|
|
|
all[2] = (byte) (all.length - 3); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
// //电磁阀1
|
|
|
|
|
|
// ParameterDto.Parameter solenoidValue1 = param.getSolenoidValue1();
|
|
|
|
|
|
// if(ObjectUtil.isNotNull(solenoidValue1)){
|
|
|
//
|
|
|
//
|
|
|
// List<ParameterVo.TransducerValue> transducerValues = new ArrayList<>();
|
|
|
// }
|
|
|
// ParameterVo.TransducerValue transducer1 = new ParameterVo.TransducerValue(6L,"transducer1","实时/设置1", BigDecimal.valueOf(45));
|
|
|
// //电磁阀1
|
|
|
// ParameterVo.TransducerValue transducer2 = new ParameterVo.TransducerValue(7L,"transducer2","实时/设置2", BigDecimal.valueOf(8));
|
|
|
// ParameterDto.Parameter solenoidValue1 = param.getSolenoidValue1();
|
|
|
// ParameterVo.TransducerValue transducer3 = new ParameterVo.TransducerValue(8L,"transducer3","实时/设置3", BigDecimal.valueOf(67));
|
|
|
// if(ObjectUtil.isNotNull(solenoidValue1)){
|
|
|
// ParameterVo.TransducerValue transducer4 = new ParameterVo.TransducerValue(10L,"transducer4","实时/设置4", BigDecimal.valueOf(75));
|
|
|
|
|
|
// transducerValues.add(transducer1);
|
|
|
|
|
|
// transducerValues.add(transducer2);
|
|
|
|
|
|
// transducerValues.add(transducer3);
|
|
|
|
|
|
// transducerValues.add(transducer4);
|
|
|
|
|
|
//
|
|
|
|
|
|
// List<ParameterVo.Transducer> transducers = new ArrayList<>();
|
|
|
|
|
|
// ParameterVo.Transducer transducer = new ParameterVo.Transducer();
|
|
|
|
|
|
// transducer.setTitle("变频器");
|
|
|
|
|
|
// transducer.setValues(transducerValues);
|
|
|
|
|
|
// transducers.add(transducer);
|
|
|
|
|
|
//
|
|
|
|
|
|
// List<ParameterVo.TransducerValue> transducerValues1 = new ArrayList<>();
|
|
|
|
|
|
// ParameterVo.TransducerValue transducer11 = new ParameterVo.TransducerValue(6L,"solenoidValue1","实时/设置1", BigDecimal.valueOf(45));
|
|
|
|
|
|
// ParameterVo.TransducerValue transducer21 = new ParameterVo.TransducerValue(7L,"solenoidValue2","实时/设置2", BigDecimal.valueOf(8));
|
|
|
|
|
|
// transducerValues1.add(transducer11);
|
|
|
|
|
|
// transducerValues1.add(transducer21);
|
|
|
|
|
|
//
|
|
|
|
|
|
// ParameterVo.Transducer transducer12 = new ParameterVo.Transducer();
|
|
|
|
|
|
// transducer12.setTitle("电磁阀");
|
|
|
|
|
|
// transducer12.setValues(transducerValues1);
|
|
|
|
|
|
// transducers.add(transducer12);
|
|
|
|
|
|
//
|
|
|
|
|
|
// parameterInfo.setTransducers(transducers);
|
|
|
|
|
|
//
|
|
|
|
|
|
//
|
|
|
|
|
|
// List<ParameterVo.BeltWeigher> beltWeighers1 = new ArrayList<>();
|
|
|
|
|
|
// ParameterVo.BeltWeigher beltWeigher1 = new ParameterVo.BeltWeigher();
|
|
|
|
|
|
// beltWeigher1.setTitle("皮带秤");
|
|
|
|
|
|
// List<ParameterVo.BeltWeigherValue> beltWeigherValueList1 = new ArrayList<>();
|
|
|
|
|
|
// ParameterVo.BeltWeigherValue beltWeigher01 = new ParameterVo.BeltWeigherValue(1L,"实时/累计", BigDecimal.valueOf(12),BigDecimal.valueOf(1212));
|
|
|
|
|
|
// beltWeigherValueList1.add(beltWeigher01);
|
|
|
|
|
|
// beltWeigher1.setValues(beltWeigherValueList1);
|
|
|
|
|
|
// beltWeighers1.add(beltWeigher1);
|
|
|
|
|
|
//
|
|
|
|
|
|
//
|
|
|
//
|
|
|
// ParameterVo.BeltWeigher beltWeigher2 = new ParameterVo.BeltWeigher();
|
|
|
// }
|
|
|
// beltWeigher2.setTitle("流量计");
|
|
|
// //电磁阀1
|
|
|
// List<ParameterVo.BeltWeigherValue> beltWeigherValueList2 = new ArrayList<>();
|
|
|
// ParameterDto.Parameter solenoidValue1 = param.getSolenoidValue1();
|
|
|
// ParameterVo.BeltWeigherValue beltWeigher02 = new ParameterVo.BeltWeigherValue(2L,"实时/累计", BigDecimal.valueOf(16),BigDecimal.valueOf(1524));
|
|
|
// if(ObjectUtil.isNotNull(solenoidValue1)){
|
|
|
// ParameterVo.BeltWeigherValue beltWeigher03 = new ParameterVo.BeltWeigherValue(3L,"实时/累计", BigDecimal.valueOf(5),BigDecimal.valueOf(232));
|
|
|
|
|
|
// beltWeigherValueList2.add(beltWeigher02);
|
|
|
|
|
|
// beltWeigherValueList2.add(beltWeigher03);
|
|
|
|
|
|
// beltWeigher2.setValues(beltWeigherValueList2);
|
|
|
|
|
|
// beltWeighers1.add(beltWeigher2);
|
|
|
|
|
|
// parameterInfo.setBeltWeigher(beltWeighers1);
|
|
|
|
|
|
//
|
|
|
//
|
|
|
// List<ParameterVo.Parameter> parameters = new ArrayList<>();
|
|
|
// }
|
|
|
// ParameterVo.Parameter parameter = new ParameterVo.Parameter();
|
|
|
// //电磁阀1
|
|
|
// parameter.setTitle("电耳");
|
|
|
// ParameterDto.Parameter solenoidValue1 = param.getSolenoidValue1();
|
|
|
// List<ParameterVo.ParameterThreshold> parameterThresholds = new ArrayList<>();
|
|
|
// if(ObjectUtil.isNotNull(solenoidValue1)){
|
|
|
//
|
|
|
//
|
|
|
// ParameterVo.ParameterThreshold parameterThreshold1 = new ParameterVo.ParameterThreshold(11L,"electricEar1","实时",BigDecimal.valueOf(60),
|
|
|
// }
|
|
|
// new ParameterVo.ThresholdValue(1L,"thresholdValue1","阀值1",BigDecimal.valueOf(20),BigDecimal.valueOf(60)),
|
|
|
// //电磁阀1
|
|
|
// new ParameterVo.ThresholdValue(2L,"thresholdValue2","阀值2",BigDecimal.valueOf(30),BigDecimal.valueOf(70)),
|
|
|
// ParameterDto.Parameter solenoidValue1 = param.getSolenoidValue1();
|
|
|
// new ParameterVo.ThresholdValue(3L,"thresholdValue3","阀值3",BigDecimal.valueOf(40),BigDecimal.valueOf(80)));
|
|
|
// if(ObjectUtil.isNotNull(solenoidValue1)){
|
|
|
//
|
|
|
//
|
|
|
// ParameterVo.ParameterThreshold parameterThreshold2 = new ParameterVo.ParameterThreshold(12L,"electricEar1","实时",BigDecimal.valueOf(65),
|
|
|
// }
|
|
|
// new ParameterVo.ThresholdValue(4L,"thresholdValue1","阀值1",BigDecimal.valueOf(30),BigDecimal.valueOf(70)),
|
|
|
//生成数组
|
|
|
// new ParameterVo.ThresholdValue(5L,"thresholdValue2","阀值2",BigDecimal.valueOf(40),BigDecimal.valueOf(80)),
|
|
|
|
|
|
// new ParameterVo.ThresholdValue(6L,"thresholdValue3","阀值3",BigDecimal.valueOf(50),BigDecimal.valueOf(90)));
|
|
|
|
|
|
// parameterThresholds.add(parameterThreshold1);
|
|
|
|
|
|
// parameterThresholds.add(parameterThreshold2);
|
|
|
|
|
|
// parameter.setValues(parameterThresholds);
|
|
|
|
|
|
// parameters.add(parameter);
|
|
|
|
|
|
// parameterInfo.setParameter(parameters);
|
|
|
|
|
|
return parameterInfo; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public void updateParameter(ParameterDto.ParameterInfo param) { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|