src/main/java/com/whyc/dto/DevalarmSet.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/mapper/CKPowerDevBattRtDataSetMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/mapper/CkpowerdevBattRsalarmSetLogMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/pojo/db_ckpwrdev_data_rt/CkpowerdevBattRsalarmSetLog.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/CkpowerdevBattRsalarmSetLogService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/CkpowerdevBattRsalarmSetService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/CKPowerDevBattRtDataSetMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/CkpowerdevBattRsalarmSetLogMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/whyc/dto/DevalarmSet.java
@@ -1,10 +1,11 @@ package com.whyc.dto; import com.whyc.pojo.db_ckpwrdev_data_rt.CkpowerdevBattRsalarmSet; import com.whyc.pojo.db_ckpwrdev_data_rt.CkpowerdevBattRtalarmSet; import com.whyc.pojo.db_ckpwrdev_data_rt.*; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.util.List; @Data @AllArgsConstructor @@ -12,4 +13,8 @@ public class DevalarmSet { private CkpowerdevBattRsalarmSet rsAlmSet; private CkpowerdevBattRtalarmSet rtAlmSet; private List<CkpowerdevBattRsalarmSetLog> logList; private List<CKPowerDevBattRtDataSet> rtDataSetList; private CKPowerDevBattRtStateSet rtStateSet; } src/main/java/com/whyc/mapper/CKPowerDevBattRtDataSetMapper.java
@@ -8,4 +8,5 @@ void updateBatch(List<CKPowerDevBattRtDataSet> list); void updateBatchInRsAlarm(List<CKPowerDevBattRtDataSet> dataSetList); } src/main/java/com/whyc/mapper/CkpowerdevBattRsalarmSetLogMapper.java
New file @@ -0,0 +1,7 @@ package com.whyc.mapper; import com.whyc.pojo.db_ckpwrdev_data_rt.CkpowerdevBattRsalarmSetLog; public interface CkpowerdevBattRsalarmSetLogMapper extends CustomMapper<CkpowerdevBattRsalarmSetLog>{ String getOpNum(); } src/main/java/com/whyc/pojo/db_ckpwrdev_data_rt/CkpowerdevBattRsalarmSetLog.java
New file @@ -0,0 +1,57 @@ package com.whyc.pojo.db_ckpwrdev_data_rt; import com.baomidou.mybatisplus.annotation.*; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.io.Serializable; import java.util.Date; /** * <p> * 核容装置告警设置记录表 * </p> * * @author lxw * @since 2024-01-13 */ @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @TableName(schema = "db_ckpwrdev_data_rt",value="tb_ckpowerdev_batt_rsalarm_set_log") @ApiModel(value="CkpowerdevBattRsalarmSetLog对象", description="核容装置告警设置记录表") public class CkpowerdevBattRsalarmSetLog implements Serializable { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private Long id; @ApiModelProperty(value = "操作编号") private String opNum; @ApiModelProperty(value = "操作类型") private int cmdType; @ApiModelProperty(value = "被设置的参数") private String param; @ApiModelProperty(value = "被设置的参数中文名") private String paramCn; @ApiModelProperty(value = "参数的模拟值") private Integer fake; @ApiModelProperty(value = "参数的状态") private Integer st; @TableField(fill = FieldFill.INSERT) private Date createTime; private Date createDay; } src/main/java/com/whyc/service/CkpowerdevBattRsalarmSetLogService.java
New file @@ -0,0 +1,18 @@ package com.whyc.service; import com.whyc.mapper.CkpowerdevBattRsalarmSetLogMapper; import com.whyc.pojo.db_ckpwrdev_data_rt.CkpowerdevBattRsalarmSetLog; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class CkpowerdevBattRsalarmSetLogService { @Autowired(required = false) private CkpowerdevBattRsalarmSetLogMapper mapper; //批量记录 public void addBatch(List<CkpowerdevBattRsalarmSetLog> logList) { mapper.insertBatchSomeColumn(logList); } } src/main/java/com/whyc/service/CkpowerdevBattRsalarmSetService.java
@@ -6,32 +6,108 @@ import com.whyc.constant.CMD_Constant; import com.whyc.dto.DevalarmSet; import com.whyc.dto.Response; import com.whyc.mapper.CkpowerdevBattRsalarmSetMapper; import com.whyc.mapper.CkpowerdevBattRtalarmSetMapper; import com.whyc.pojo.db_ckpwrdev_data_rt.CKPowerDevAlmParam; import com.whyc.pojo.db_ckpwrdev_data_rt.CkpowerdevBattRsalarmSet; import com.whyc.mapper.*; import com.whyc.pojo.db_ckpwrdev_data_rt.*; import com.whyc.util.OpCmdUtil; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; import java.util.LinkedList; import java.util.List; import java.util.stream.Collectors; @Service public class CkpowerdevBattRsalarmSetService { @Autowired(required = false) private CkpowerdevBattRsalarmSetMapper rsMapper; private CkpowerdevBattRsalarmSetMapper rsalarmSetMapper; @Autowired(required = false) private CkpowerdevBattRtalarmSetMapper rtMapper; private CKPowerDevBattRtDataSetMapper rtDataSetMapper; @Autowired(required = false) private CKPowerDevBattRtStateSetMapper rtStateSetMapper; @Autowired private CKPowerDevBattRtDataService dataService; @Autowired private CKPowerDevBattRtStateService stateService; @Autowired private CKPowerDevBattRsAlarmService rsAlarmService; @Resource private CkpowerdevBattRsalarmSetLogMapper setLogMapper; @Resource private CkpowerdevBattRsalarmSetLogService setLogService; //实时状态设置 public Response setDevAlm(DevalarmSet almSet) { rsMapper.update(almSet.getRsAlmSet(),null); rtMapper.update(almSet.getRtAlmSet(),null); List<CKPowerDevBattRtDataSet> dataSetList = almSet.getRtDataSetList(); Integer battIndex = dataSetList.get(0).getBattIndex(); //1.刷新rsAlarmSet,rtDataSet,rtStateSet实时数据 updateDataFromDataAndStateAndRsAlarmToSet(almSet.getRtDataSetList()); //修改rsAlarmSet rsalarmSetMapper.update(almSet.getRsAlmSet(),null); //设置data_set表 rtDataSetMapper.updateBatchInRsAlarm(dataSetList); //设置state_set表 rtStateSetMapper.update(almSet.getRtStateSet(),null); //读取opCmd返回是否成功 QueryWrapper<CKPowerDevAlmParam> query = Wrappers.query(); return OpCmdUtil.getOpStatus(rsMapper,query, CMD_Constant.CMD_SetBattAlarm,20,null); Response opStatus = OpCmdUtil.getOpStatus(rsalarmSetMapper,query, CMD_Constant.CMD_SetBattAlarm,20,null); if(opStatus.getData()!=null && (boolean)opStatus.getData()) { //成功 //记录日志 Date now = new Date(); List<CkpowerdevBattRsalarmSetLog> logList = almSet.getLogList(); //查询最大的操作编号 String opNum=setLogMapper.getOpNum()!=null?setLogMapper.getOpNum():"0"; logList.forEach(log->{ log.setOpNum(String.valueOf(Integer.valueOf(opNum)+1)); log.setCmdType(CMD_Constant.CMD_SetBattAlarm); log.setCreateTime(now); log.setCreateDay(now); }); setLogService.addBatch(logList); } return opStatus; } public void update(CkpowerdevBattRsalarmSet rsAlarmSet) { rsMapper.update(rsAlarmSet,null); private void updateDataFromDataAndStateAndRsAlarmToSet(List<CKPowerDevBattRtDataSet> dataSetList) { Integer battIndex = dataSetList.get(0).getBattIndex(); List<Integer> monNumList = dataSetList.stream().map(CKPowerDevBattRtDataSet::getMonNum).collect(Collectors.toList()); //获取rtData数据并写入set表 List<CKPowerDevBattRtData> rtDataList = dataService.getMonList(battIndex,monNumList); List<CKPowerDevBattRtDataSet> rtSetDataList = new LinkedList<>(); CKPowerDevBattRtStateSet stateSet = new CKPowerDevBattRtStateSet(); for (CKPowerDevBattRtData temp : rtDataList) { CKPowerDevBattRtDataSet set = new CKPowerDevBattRtDataSet(); BeanUtils.copyProperties(temp,set); rtSetDataList.add(set); } rtDataSetMapper.updateBatch(rtSetDataList); //获取rtState表数据更新到set表中 CKPowerDevBattRtState state = stateService.get(battIndex); BeanUtils.copyProperties(state,stateSet); updateStateSet(stateSet); //获取rsalarm更新到set表中 CkpowerdevBattRsalarm rsalarm=rsAlarmService.get(); CkpowerdevBattRsalarmSet rsalarmSet=new CkpowerdevBattRsalarmSet(); BeanUtils.copyProperties(rsalarm,rsalarmSet); updateRsAlarmSet(rsalarmSet); } private void updateStateSet(CKPowerDevBattRtStateSet stateSet) { UpdateWrapper<CKPowerDevBattRtStateSet> update = Wrappers.update(); update.eq("batt_index",stateSet.getBattIndex()); rtStateSetMapper.update(stateSet,update); } private void updateRsAlarmSet(CkpowerdevBattRsalarmSet rsalarmSet) { rsalarmSetMapper.update(rsalarmSet,null); } } src/main/resources/mapper/CKPowerDevBattRtDataSetMapper.xml
@@ -53,4 +53,30 @@ where batt_index = #{item.battIndex} and mon_num = #{item.monNum} </foreach> </update> <update id="updateBatchInRsAlarm"> <foreach collection="list" item="item" separator=";"> update db_ckpwrdev_data_rt.tb_ckpowerdev_batt_rtdata_set <set> <if test="item.monRestCapFake !=null"> mon_restcap_fake = #{item.monRestCapFake}, </if> <if test="item.monRestCapSt !=null"> mon_restcap_st = #{item.monRestCapSt}, </if> <if test="item.testMonVolFake !=null"> test_mon_vol_fake = #{item.testMonVolFake}, </if> <if test="item.testMonVolSt !=null"> test_mon_vol_st = #{item.testMonVolSt}, </if> <if test="item.testMonTmpFake !=null"> test_mon_tmp_fake = #{item.testMonTmpFake}, </if> <if test="item.testMonTmpSt !=null"> test_mon_tmp_st = #{item.testMonTmpSt}, </if> </set> where batt_index = #{item.battIndex} and mon_num = #{item.monNum} </foreach> </update> </mapper> src/main/resources/mapper/CkpowerdevBattRsalarmSetLogMapper.xml
New file @@ -0,0 +1,10 @@ <?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.whyc.mapper.CkpowerdevBattRsalarmSetLogMapper" > <select id="getOpNum" resultType="java.lang.String"> select op_num from db_ckpwrdev_data_rt.tb_ckpowerdev_batt_rsalarm_set_log order by id desc limit 1 </select> </mapper>