src/main/java/com/whyc/controller/BattDischargePlanLogController.java
New file @@ -0,0 +1,28 @@ package com.whyc.controller; import com.whyc.dto.Response; import com.whyc.pojo.BattDischargePlanLog; import com.whyc.service.BattDischargePlanLogService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("battDischargePlanLog") @Api(tags = "放电计划修改日志") public class BattDischargePlanLogController { @Autowired private BattDischargePlanLogService service; @GetMapping("logListByPlanId") @ApiOperation("查询日志记录-根据放电计划id") public Response getLogListByPlanId(@RequestParam int num){ return service.getLogListByPlanId(num); } } src/main/java/com/whyc/controller/BattdischargePlanController.java
@@ -26,7 +26,7 @@ return service.serchByCondition(battdischargePlan); } @ApiOperation(value = "启用/延时/取消放电计划/修改放电参数") @ApiOperation(value = "启用/取消放电计划/修改放电参数") @PostMapping("/updatePro") public Response updatePro(@RequestBody List<BattdischargePlan> list){ return service.updatePro(list); src/main/java/com/whyc/mapper/BattDischargePlanLogMapper.java
New file @@ -0,0 +1,6 @@ package com.whyc.mapper; import com.whyc.pojo.BattDischargePlanLog; public interface BattDischargePlanLogMapper extends CustomMapper<BattDischargePlanLog> { } src/main/java/com/whyc/pojo/BattDischargePlanLog.java
New file @@ -0,0 +1,86 @@ package com.whyc.pojo; 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 com.fasterxml.jackson.annotation.JsonFormat; import com.whyc.dto.Page; 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; @TableName(schema = "web_site",value = "tb_battdischarge_plan_log") public class BattDischargePlanLog{ @TableId(type = IdType.AUTO) private Integer id; private Integer planId; private Integer type; private String reason; private String msg; private Integer userId; private Date createTime; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getType() { return type; } public Integer getPlanId() { return planId; } public void setPlanId(Integer planId) { this.planId = planId; } public void setType(Integer type) { this.type = type; } public String getReason() { return reason; } public void setReason(String reason) { this.reason = reason; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public Integer getUserId() { return userId; } public void setUserId(Integer userId) { this.userId = userId; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } } src/main/java/com/whyc/service/BattDischargePlanLogService.java
New file @@ -0,0 +1,29 @@ package com.whyc.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.whyc.dto.Response; import com.whyc.mapper.BattDischargePlanLogMapper; import com.whyc.pojo.BattDischargePlanLog; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; @Service public class BattDischargePlanLogService { @Resource private BattDischargePlanLogMapper mapper; public void addList(List<BattDischargePlanLog> logList) { mapper.insertBatchSomeColumn(logList); } public Response getLogListByPlanId(int num) { QueryWrapper<BattDischargePlanLog> query = Wrappers.query(); query.eq("plan_id",num); List<BattDischargePlanLog> logList = mapper.selectList(query); return new Response().set(1,logList); } } src/main/java/com/whyc/service/BattInfService.java
@@ -588,9 +588,11 @@ int battGroupCount = battInfMapper.getBattGroupNum(userId); int devCount = battInfMapper.getDevNum(userId); int powerNum = powerInfService.getNum(userId); int stationNum = getSateAnalysis(userId).size(); map.put("battGroupCount", battGroupCount); map.put("devCount", devCount); map.put("powerNum", powerNum); map.put("stationNum",stationNum); return new Response().setII(1,true, map,null); }catch (Exception e){ return new Response<>().set(1,false,"发生异常:"+e.getCause()); src/main/java/com/whyc/service/BattdischargePlanService.java
@@ -13,6 +13,7 @@ import com.whyc.pojo.*; import com.whyc.util.ActionUtil; import com.whyc.util.DateUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -33,6 +34,9 @@ @Resource private BatttestdataInfService testInfService; @Autowired private BattDischargePlanLogService planLogService; //查询 public Response serchByCondition(BattdischargePlan battdischargePlan) { @@ -98,9 +102,87 @@ } //启用/延时/取消放电计划/修改放电参数 public Response updatePro(List<BattdischargePlan> list) { //记录修改日志,根据note来区分是什么类型及变更原因 List<BattDischargePlanLog> logList = new LinkedList<>(); int userId = ActionUtil.getUser().getUId().intValue(); Date date = new Date(); String note = list.get(0).getNote(); Integer type = Integer.parseInt(note.substring(0, 1)); String reason = note.substring(2); for (BattdischargePlan plan : list) { BattDischargePlanLog log = new BattDischargePlanLog(); Integer id = plan.getNum(); log.setPlanId(id); log.setType(type); log.setReason(reason); log.setUserId(userId); log.setCreateTime(date); //msg String msg; switch (type){ case 1:{msg="取消计划";}break; case 2:{msg="启用计划";}break; case 3:{ //修改放电参数,参数值: StringBuilder msgBuilder = new StringBuilder(); BattdischargePlan planDB = getPlanByNum(id); msgBuilder.append("放电参数变更:"); if(plan.getDischargeState()!=null &&!plan.getDischargeState().equals(planDB.getDischargeState())){ msgBuilder.append("放电状态值由"+planDB.getDischargeState()+"变更为"+plan.getDischargeState()+","); } if(plan.getPresetTime()!=null &&!plan.getPresetTime().equals(planDB.getPresetTime())){ msgBuilder.append("预设放电时长由"+planDB.getPresetTime()+"变更为"+plan.getPresetTime()+","); } if(plan.getPresetCap()!=null &&!plan.getPresetCap().equals(planDB.getPresetCap())){ msgBuilder.append("预设放电容量由"+planDB.getPresetCap()+"变更为"+plan.getPresetCap()+","); } if(plan.getPresetMonvol()!=null &&!plan.getPresetMonvol().equals(planDB.getPresetMonvol())){ msgBuilder.append("预设单体电压由"+planDB.getPresetMonvol()+"变更为"+plan.getPresetMonvol()+","); } if(plan.getPresetGroupvol()!=null &&!plan.getPresetGroupvol().equals(planDB.getPresetGroupvol())){ msgBuilder.append("预设组端电压由"+planDB.getPresetGroupvol()+"变更为"+plan.getPresetGroupvol()+","); } if(plan.getPresetCurr()!=null &&!plan.getPresetCurr().equals(planDB.getPresetCurr())){ msgBuilder.append("预设放电电流由"+planDB.getPresetCurr()+"变更为"+plan.getPresetCurr()+","); } if(plan.getPresetMon()!=null &&!plan.getPresetMon().equals(planDB.getPresetMon())){ msgBuilder.append("预设单体由"+planDB.getPresetMon()+"变更为"+plan.getPresetMon()+","); } if(plan.getDcvolhighlimit()!=null &&!plan.getDcvolhighlimit().equals(planDB.getDcvolhighlimit())){ msgBuilder.append("升压上限由"+planDB.getDcvolhighlimit()+"变更为"+plan.getDcvolhighlimit()+","); } if(plan.getChargecurrset()!=null &&!plan.getChargecurrset().equals(planDB.getChargecurrset())){ msgBuilder.append("充电电流由"+planDB.getChargecurrset()+"变更为"+plan.getChargecurrset()+","); } if(plan.getPlanCircle()!=null &&!plan.getPlanCircle().equals(planDB.getPlanCircle())){ msgBuilder.append("单次周期由"+planDB.getPlanCircle()+"变更为"+plan.getPlanCircle()+","); } if(plan.getPlanRate()!=null &&!plan.getPlanRate().equals(planDB.getPlanRate())){ msgBuilder.append("执行次数由"+planDB.getPlanRate()+"变更为"+plan.getPlanRate()+","); } msg = msgBuilder.toString(); }break; case 4:{ //修改放电开始时间 BattdischargePlan planDB = getPlanByNum(id); msg = "放电开始时间变更:由"+DateUtil.YYYY_MM_DD_HH_MM_SS.format(planDB.getDischargeStarttime())+"变更为"+plan.getDischargeStarttime(); }break; default: throw new IllegalStateException("Unexpected value: " + type); } log.setMsg(msg); logList.add(log); } planLogService.addList(logList); int flag=mapper.updatePro(list); return new Response().set(flag>0?1:0); } private BattdischargePlan getPlanByNum(Integer id) { return mapper.selectById(id); } //校验需要添加的计划参数 放电计划处于等待启动0,放电延时1,放电计划进行中3,充电进行中5 public Response judgePlan(List<BattdischargePlan> bplans) { List<BattdischargePlan> list = new ArrayList();//存放满足计划设定条件的可行计划 src/main/java/com/whyc/service/PwrdevAlarmService.java
@@ -131,6 +131,11 @@ return new Response().set(1, powerAlarmNum); } //电源告警个数 public int getAlarmNumByUserId(int userId) { return mapper.getAlarmNum(userId); } //首页电源总个数 public int getHomeAlarmNum(int uId) { int powerAlarmNum = mapper.getAlarmNum(uId); @@ -294,7 +299,7 @@ List<Map<String, Integer>> mapList = Arrays.asList(resultMap, map2); return new Response<>().setII(1, true, mapList, null); } catch (Exception e) { return new Response<>().set(0, false, "发生异常"); return new Response<>().set(0, false, "发生异常:"+e.getCause()); } } src/main/java/com/whyc/webSocket/ScreenSocket.java
@@ -102,7 +102,7 @@ try { int battAlarmNum = battAlarmDataService.serchRealTime(userId).getCode(); int devAlarmNum = devAlarmDataService.getAlarmNum(userId); int powerAlarmNum = (int) powerAlarmService.getAlarmNum().getData(); int powerAlarmNum = powerAlarmService.getAlarmNumByUserId(userId); devAlarmNumMap.put("battAlarmNum",battAlarmNum); devAlarmNumMap.put("devAlarmNum",devAlarmNum); devAlarmNumMap.put("powerAlarmNum",powerAlarmNum); src/main/resources/mapper/BattdischargePlanMapper.xml
@@ -82,9 +82,6 @@ <if test="bplan.planRate != null"> plan_rate = #{bplan.planRate }, </if> <if test="bplan.note != null"> note = #{bplan.note}, </if> </set> <where> battgroupid = #{bplan.battgroupid} src/main/resources/mapper/PwrdevAlarmMapper.xml
@@ -252,7 +252,7 @@ </select> <select id="getAnalysis" resultType="com.whyc.pojo.PwrdevAlarm"> select alm_type as alarmType,count(alm_type) as num select alm_type as almType,count(alm_type) as num from db_pwrdev_alarm.tb_pwrdev_alarm alarm,db_pwrdev_inf.tb_pwrdev_inf inf where alarm.PowerDeviceId = inf.PowerDeviceId and alm_type in