From a6018ae593fc2d2fb3ccfa4e7c34f28387326f6b Mon Sep 17 00:00:00 2001 From: whyclxw <810412026@qq.com> Date: 星期四, 19 六月 2025 15:06:25 +0800 Subject: [PATCH] 3.1电池/电源告警参数,1.2.7优良电源统计 --- src/main/java/com/whyc/util/ActionUtil.java | 24 +++ src/main/java/com/whyc/mapper/PowerInfMapper.java | 2 src/main/java/com/whyc/service/PowerInfService.java | 4 src/main/resources/mapper/PowerPropertyParamMapper.xml | 12 + src/main/java/com/whyc/mapper/PowerPropertyParamMapper.java | 10 + src/main/java/com/whyc/service/ApptimeParamService.java | 21 ++ src/main/resources/mapper/BattInfMapper.xml | 30 -- src/main/java/com/whyc/mapper/ApptimeParamMapper.java | 6 src/main/java/com/whyc/dto/Statistic/QuarterPwr7Res.java | 2 src/main/java/com/whyc/service/BattInfService.java | 4 src/main/java/com/whyc/service/BatttestdataInfService.java | 50 +++-- src/main/resources/mapper/PowerInfMapper.xml | 43 +--- src/main/java/com/whyc/service/PwrdevAlarmParamStandService.java | 4 src/main/java/com/whyc/service/SubTablePageInfoService.java | 4 src/main/java/com/whyc/controller/AlmParamController.java | 4 src/main/java/com/whyc/dto/Statistic/Pwr7Stic.java | 13 + src/main/java/com/whyc/pojo/db_param/PowerPropertyParam.java | 56 +++++++ src/main/java/com/whyc/pojo/db_pwrdev_alarm/PwrdevAlarmParamStand.java | 2 src/main/java/com/whyc/service/BattAlmparamService.java | 10 src/main/java/com/whyc/service/PowerPropertyParamService.java | 22 ++ src/main/java/com/whyc/pojo/db_param/ApptimeParam.java | 49 ++++++ src/main/java/com/whyc/mapper/BattInfMapper.java | 2 src/main/java/com/whyc/service/PwrdevAlarmParamService.java | 9 src/main/java/com/whyc/service/PwrdevHistorydataIdService.java | 53 +++++- 24 files changed, 321 insertions(+), 115 deletions(-) diff --git a/src/main/java/com/whyc/controller/AlmParamController.java b/src/main/java/com/whyc/controller/AlmParamController.java index 5d4095c..76c1bb3 100644 --- a/src/main/java/com/whyc/controller/AlmParamController.java +++ b/src/main/java/com/whyc/controller/AlmParamController.java @@ -52,8 +52,6 @@ @PostMapping("getBattAlmParam") @ApiOperation("鑾峰彇鐢垫睜鍛婅鍙傛暟") public Response getBattAlmParam(@RequestBody ParamAlmDto dto){ - Integer uid=ActionUtil.getUser().getId(); - dto.setUid(uid); return battAlmparamService.getBattAlmParam(dto); } @@ -85,8 +83,6 @@ @PostMapping("getPwrAlmParam") @ApiOperation("鑾峰彇鐢垫簮鍛婅鍙傛暟") public Response getPwrAlmParam(@RequestBody ParamAlmDto dto){ - Integer uid=ActionUtil.getUser().getId(); - dto.setUid(uid); return pwrAlmparamService.getPwrAlmParam(dto); } diff --git a/src/main/java/com/whyc/dto/Statistic/Pwr7Stic.java b/src/main/java/com/whyc/dto/Statistic/Pwr7Stic.java index b2f672a..55dde53 100644 --- a/src/main/java/com/whyc/dto/Statistic/Pwr7Stic.java +++ b/src/main/java/com/whyc/dto/Statistic/Pwr7Stic.java @@ -12,12 +12,15 @@ private String country; private String stationName; private String company; - @JsonFormat(pattern = "yyyy-MM-dd") - private Date inuseStartTime;//寮�濮嬫椂闂� - @JsonFormat(pattern = "yyyy-MM-dd") - private Date inuseEndTime;//缁撴潫鏃堕棿 + //鎶曞叆浣跨敤骞撮檺 + //鍏ㄩ儴涓嶄紶 + //3骞村唴 0~3骞� 3 + //5骞村唴 0~5骞� 5 + //5骞翠笂 5骞翠互涓� 1 + private Integer inuseYear; + private Date pwrInUseTime; private String stationType; - private Integer performance;//鐢垫睜鎬ц兘锛�1浼樼锛�2鍔e寲锛�3鎹熷潖 4鏈斁鐢� 涓嶄紶鍏ㄩ儴 + private Integer performance;//鐢垫睜鎬ц兘锛�1浼樼锛�2涓�鑸紝3棰勮 4涓ラ噸 涓嶄紶鍏ㄩ儴 private String groupName; private Integer uid; private Integer pageNum; diff --git a/src/main/java/com/whyc/dto/Statistic/QuarterPwr7Res.java b/src/main/java/com/whyc/dto/Statistic/QuarterPwr7Res.java index 19259b4..f0e79e8 100644 --- a/src/main/java/com/whyc/dto/Statistic/QuarterPwr7Res.java +++ b/src/main/java/com/whyc/dto/Statistic/QuarterPwr7Res.java @@ -10,7 +10,7 @@ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private Date recordDatetime; private Float acin1Vola; - private Float acoutVola; + private Float acoutCurra; private Float dcoutVol; private Float dcoutCurr; } \ No newline at end of file diff --git a/src/main/java/com/whyc/mapper/ApptimeParamMapper.java b/src/main/java/com/whyc/mapper/ApptimeParamMapper.java new file mode 100644 index 0000000..14ce4b5 --- /dev/null +++ b/src/main/java/com/whyc/mapper/ApptimeParamMapper.java @@ -0,0 +1,6 @@ +package com.whyc.mapper; + +import com.whyc.pojo.db_param.ApptimeParam; + +public interface ApptimeParamMapper extends CustomMapper<ApptimeParam>{ +} \ No newline at end of file diff --git a/src/main/java/com/whyc/mapper/BattInfMapper.java b/src/main/java/com/whyc/mapper/BattInfMapper.java index 350325b..7f0d5b2 100644 --- a/src/main/java/com/whyc/mapper/BattInfMapper.java +++ b/src/main/java/com/whyc/mapper/BattInfMapper.java @@ -62,5 +62,5 @@ //鑾峰彇绔欑偣涓嬬殑鐢垫睜缁�(涓嬫媺) List<BattInf> getBattByUid(@Param("uid") Integer uid, @Param("provice") String provice, @Param("city") String city, @Param("country") String country, @Param("stationName") String stationName); //鏍规嵁鏌ヨ鏉′欢鑾峰彇鐢垫睜缁勯泦鍚� - List<Integer> getBattgroupIdList(@Param("dto") ParamAlmDto dto); + BattInf getBattgroupIdList(@Param("battgroupId") Integer battgroupId); } \ No newline at end of file diff --git a/src/main/java/com/whyc/mapper/PowerInfMapper.java b/src/main/java/com/whyc/mapper/PowerInfMapper.java index 38ec720..7a27a12 100644 --- a/src/main/java/com/whyc/mapper/PowerInfMapper.java +++ b/src/main/java/com/whyc/mapper/PowerInfMapper.java @@ -35,5 +35,5 @@ List<PowerInf> getListByUserId(Integer userId); //鏍规嵁鏌ヨ鏉′欢鑾峰彇鐢垫簮闆嗗悎 - List<Integer> getPowerIdList(@Param("dto") ParamAlmDto dto); + PowerInf getPowerIdList(@Param("powerId") Integer powerId); } \ No newline at end of file diff --git a/src/main/java/com/whyc/mapper/PowerPropertyParamMapper.java b/src/main/java/com/whyc/mapper/PowerPropertyParamMapper.java new file mode 100644 index 0000000..47bbc15 --- /dev/null +++ b/src/main/java/com/whyc/mapper/PowerPropertyParamMapper.java @@ -0,0 +1,10 @@ +package com.whyc.mapper; + +import com.whyc.pojo.db_param.PowerPropertyParam; + +import java.util.List; + +public interface PowerPropertyParamMapper extends CustomMapper<PowerPropertyParam>{ + //鑾峰彇鐢垫簮浼樿壇鍒ゆ柇鐨勬爣鍑嗗弬鏁板�� + List<PowerPropertyParam> getPwrStandardParam(Integer powerType); +} \ No newline at end of file diff --git a/src/main/java/com/whyc/pojo/db_param/ApptimeParam.java b/src/main/java/com/whyc/pojo/db_param/ApptimeParam.java new file mode 100644 index 0000000..0641f7c --- /dev/null +++ b/src/main/java/com/whyc/pojo/db_param/ApptimeParam.java @@ -0,0 +1,49 @@ +package com.whyc.pojo.db_param; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +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 2025-06-19 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName(schema = "db_param",value ="tb_apptime_param") +@ApiModel(value="ApptimeParam瀵硅薄", description="骞冲彴鏃堕棿鍙傛暟璁剧疆琛�") +public class ApptimeParam implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "鑷涓婚敭") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @ApiModelProperty(value = "鍙傛暟鍚嶇О") + private String paramName; + + @ApiModelProperty(value = "璁剧疆鏃堕棿鍙傛暟") + private Date paramValue; + + @ApiModelProperty(value = "鍙傛暟绫诲埆") + private Integer categoryId; + + @ApiModelProperty(value = "鍙傛暟鑻辨枃鍚嶇О") + private String paramNamePsx; + + +} diff --git a/src/main/java/com/whyc/pojo/db_param/PowerPropertyParam.java b/src/main/java/com/whyc/pojo/db_param/PowerPropertyParam.java new file mode 100644 index 0000000..640e6c1 --- /dev/null +++ b/src/main/java/com/whyc/pojo/db_param/PowerPropertyParam.java @@ -0,0 +1,56 @@ +package com.whyc.pojo.db_param; + +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 io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * <p> + * 鐢垫簮鎬ц兘璇勪及鍙傝�冨瓧娈甸厤缃〃 + * </p> + * + * @author lxw + * @since 2025-06-19 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName(schema = "db_param",value ="tb_power_property_param") +@ApiModel(value="PowerPropertyParam瀵硅薄", description="鐢垫簮鎬ц兘璇勪及鍙傝�冨瓧娈甸厤缃〃") +public class PowerPropertyParam implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "鑷涓婚敭") + @TableId(value = "num", type = IdType.AUTO) + private Long num; + + @ApiModelProperty(value = "1:鐩存祦锛�2锛氶�氫俊锛�3閰嶇綉") + private Integer powerType; + + @ApiModelProperty(value = "瀛楁鍚嶇О") + private String propertyName; + + @ApiModelProperty(value = "瀛楁涓枃鍚嶇О") + private String propertyNameZh; + + @ApiModelProperty(value = "瀛楁浣胯兘[0-鏈惎鐢� 1-鍚敤]") + private Integer fieldEn; + + @TableField(exist = false) + private Float basisVal; + + @TableField(exist = false) + private Float alarmLimithUpper; + + @TableField(exist = false) + private Float alarmLimithLowper; +} diff --git a/src/main/java/com/whyc/pojo/db_pwrdev_alarm/PwrdevAlarmParamStand.java b/src/main/java/com/whyc/pojo/db_pwrdev_alarm/PwrdevAlarmParamStand.java index c91f6f1..2f76d30 100644 --- a/src/main/java/com/whyc/pojo/db_pwrdev_alarm/PwrdevAlarmParamStand.java +++ b/src/main/java/com/whyc/pojo/db_pwrdev_alarm/PwrdevAlarmParamStand.java @@ -51,7 +51,7 @@ private Float alarmLimith; @ApiModelProperty(value = "涓婁笂闄愰槇鍊�") - private Float alarmLimithUpeper; + private Float alarmLimithUpper; @ApiModelProperty(value = "涓嬮檺闃堝��") private Float alarmLimitl; diff --git a/src/main/java/com/whyc/service/ApptimeParamService.java b/src/main/java/com/whyc/service/ApptimeParamService.java new file mode 100644 index 0000000..2eb3824 --- /dev/null +++ b/src/main/java/com/whyc/service/ApptimeParamService.java @@ -0,0 +1,21 @@ +package com.whyc.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.whyc.mapper.ApptimeParamMapper; +import com.whyc.pojo.db_param.ApptimeParam; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class ApptimeParamService { + @Autowired(required = false) + private ApptimeParamMapper mapper; + + public ApptimeParam getPwrPerformanceStrartTime(Integer powerId) { + QueryWrapper apptimeParamWrapper=new QueryWrapper(); + apptimeParamWrapper.eq("param_name_psx","power_performance_strart_time"); + apptimeParamWrapper.last("limit 1"); + ApptimeParam apptimeParam=mapper.selectOne(apptimeParamWrapper); + return apptimeParam; + } +} \ No newline at end of file diff --git a/src/main/java/com/whyc/service/BattAlmparamService.java b/src/main/java/com/whyc/service/BattAlmparamService.java index 84cc290..9dbcc75 100644 --- a/src/main/java/com/whyc/service/BattAlmparamService.java +++ b/src/main/java/com/whyc/service/BattAlmparamService.java @@ -10,11 +10,13 @@ import com.whyc.dto.Response; import com.whyc.mapper.BattAlmparamMapper; import com.whyc.pojo.db_param.BattAlmparam; +import com.whyc.pojo.db_station.BattInf; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; @Service public class BattAlmparamService { @@ -26,11 +28,9 @@ //鑾峰彇鐢垫睜鍛婅鍙傛暟 public Response getBattAlmParam(ParamAlmDto dto) { //鏍规嵁鏌ヨ鏉′欢鑾峰彇鐢垫睜缁勯泦鍚� - List<Integer> idList=binfService.getBattgroupIdList(dto); + BattInf binf=binfService.getBattgroupIdList(dto.getBattgroupId()); QueryWrapper wrapper=new QueryWrapper(); - if(idList!=null){ - wrapper.in("battgroup_id",idList); - } + wrapper.eq("battgroup_id",dto.getBattgroupId()); if(dto.getAlmIdList()!=null){ wrapper.in("alm_id",dto.getAlmIdList()); } @@ -38,7 +38,7 @@ //PageHelper.startPage(dto.getPageNum(),dto.getPageSize()); List<BattAlmparam> list = mapper.selectList(wrapper); //PageInfo<BattAlmparam> pageInfo=new PageInfo<>(list); - return new Response().setII(1,list!=null,list,"鑾峰彇鐢垫睜鍛婅鍙傛暟"); + return new Response().setIII(1,list!=null,list,binf,"鑾峰彇鐢垫睜鍛婅鍙傛暟"); } //淇敼鐢垫睜鍛婅鍙傛暟 public Response setBattAlmParam(List<BattAlmparam> almparamList) { diff --git a/src/main/java/com/whyc/service/BattInfService.java b/src/main/java/com/whyc/service/BattInfService.java index 34e7a4f..85a382e 100644 --- a/src/main/java/com/whyc/service/BattInfService.java +++ b/src/main/java/com/whyc/service/BattInfService.java @@ -491,7 +491,7 @@ return new Response().setII(1,list.size()>0,list,"鑾峰彇绔欑偣涓嬬殑鐢垫睜缁�(涓嬫媺)"); } //鏍规嵁鏌ヨ鏉′欢鑾峰彇鐢垫睜缁勯泦鍚� - public List<Integer> getBattgroupIdList(ParamAlmDto dto) { - return mapper.getBattgroupIdList(dto); + public BattInf getBattgroupIdList(Integer battgroupId) { + return mapper.getBattgroupIdList(battgroupId); } } \ No newline at end of file diff --git a/src/main/java/com/whyc/service/BatttestdataInfService.java b/src/main/java/com/whyc/service/BatttestdataInfService.java index 954d64d..219895b 100644 --- a/src/main/java/com/whyc/service/BatttestdataInfService.java +++ b/src/main/java/com/whyc/service/BatttestdataInfService.java @@ -4,6 +4,7 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.whyc.constant.BattCapperformanceEnum; +import com.whyc.constant.PwrCapperformanceEnum; import com.whyc.constant.StopReasonEnum; import com.whyc.dto.Real.TestDataDto; import com.whyc.dto.Response; @@ -19,10 +20,12 @@ import com.whyc.pojo.db_station.PowerInf; import com.whyc.pojo.db_user.Baojigroup; import com.whyc.util.ActionUtil; +import com.whyc.util.DateUtil; import com.whyc.util.PageInfoUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; import java.util.*; @Service @@ -937,35 +940,42 @@ } //浼樿壇鐢垫簮鏁伴噺缁熻(1.2.7) public Response getPwr7Statistic(Pwr7Stic stic) { + Date inuseTimeStart =new Date(); + if(stic.getInuseYear()==1){ + //鎶曞叆浣跨敤鏃堕棿鏉′欢绛涢�� + LocalDateTime startTime = LocalDateTime.now().minusYears(5); + inuseTimeStart = DateUtil.convertToDate(startTime); + }else{ + //鎶曞叆浣跨敤鏃堕棿鏉′欢绛涢�� + LocalDateTime startTime = LocalDateTime.now().minusYears(stic.getInuseYear()); + inuseTimeStart = DateUtil.convertToDate(startTime); + } + stic.setPwrInUseTime(inuseTimeStart); //1鏌ヨ绗﹀悎鏉′欢鐨勭數姹犵粍 List<PowerInf> pinfList=powerInfService.getPwr7Statistic(stic); if(pinfList==null||pinfList.size()==0){ - return new Response().set(1,false,"褰撳墠鐢ㄦ埛鏈鐞嗘弧瓒虫潯浠剁殑鐢垫睜缁�"); + return new Response().set(1,false,"褰撳墠鐢ㄦ埛鏈鐞嗘弧瓒虫潯浠剁殑鐢垫簮"); } List<SticPwr7Res> reslist=new ArrayList<>(); for (PowerInf pinf:pinfList) { - SticPwr7Res res=new SticPwr7Res(); - //鏌ヨ鐢垫睜缁勬墍鍦ㄧ殑鐝粍 + SticPwr7Res res = new SticPwr7Res(); + //鏌ヨ鐢垫簮鎵�鍦ㄧ殑鐝粍 String groupName = bjService.getGroupName(pinf.getPowerId()); - if(groupName.equals("none")){ - continue; - }else{ - if(stic.getGroupName()==null||res.getGroupName()==stic.getGroupName()){ - res.setProvice(pinf.getProvice()); - res.setCity(pinf.getCity()); - res.setCountry(pinf.getCountry()); - res.setStationName(pinf.getStationName()); - res.setPowerName(pinf.getPowerName()); - res.setCompany(pinf.getCompany()); - res.setStationType(pinf.getStationType()); - res.setGroupName(groupName); - res.setInuseTime(pinf.getPowerInuseTime()); - Map<String,Integer> map=pwrHisdataIdService.getPwrQuarter7(pinf.getPowerId(),null); - reslist.add(res); - } + if (stic.getGroupName() == null || groupName == stic.getGroupName()) { + res.setProvice(pinf.getProvice()); + res.setCity(pinf.getCity()); + res.setCountry(pinf.getCountry()); + res.setStationName(pinf.getStationName()); + res.setPowerName(pinf.getPowerName()); + res.setCompany(pinf.getCompany()); + res.setStationType(pinf.getStationType()); + res.setGroupName(groupName); + res.setInuseTime(pinf.getPowerInuseTime()); + Integer performance= pwrHisdataIdService.getPwrQuarter7(pinf.getPowerId(),pinf.getPowerType()); + res.setPerformanceName(PwrCapperformanceEnum.getValue(performance)); + reslist.add(res); } } - PageInfo pageInfo=PageInfoUtils.list2PageInfo(reslist, stic.getPageNum(), stic.getPageSize()); return new Response().setII(1,reslist.size()>0,pageInfo,"浼樿壇鐢垫簮鏁伴噺缁熻(1.2.7)"); } diff --git a/src/main/java/com/whyc/service/PowerInfService.java b/src/main/java/com/whyc/service/PowerInfService.java index bc6bd61..85e362f 100644 --- a/src/main/java/com/whyc/service/PowerInfService.java +++ b/src/main/java/com/whyc/service/PowerInfService.java @@ -162,8 +162,8 @@ return mapper.getListByUserId(userId); } //鏍规嵁鏌ヨ鏉′欢鑾峰彇鐢垫簮闆嗗悎 - public List<Integer> getPowerIdList(ParamAlmDto dto) { - return mapper.getPowerIdList(dto); + public PowerInf getPowerIdList(Integer powerId) { + return mapper.getPowerIdList(powerId); } //鑾峰彇鐢垫簮鎬ц兘(涓嬫媺) public Response getPwrCapperformance() { diff --git a/src/main/java/com/whyc/service/PowerPropertyParamService.java b/src/main/java/com/whyc/service/PowerPropertyParamService.java new file mode 100644 index 0000000..5d50042 --- /dev/null +++ b/src/main/java/com/whyc/service/PowerPropertyParamService.java @@ -0,0 +1,22 @@ +package com.whyc.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.whyc.mapper.PowerPropertyParamMapper; +import com.whyc.pojo.db_param.PowerPropertyParam; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +@Service +public class PowerPropertyParamService { + @Autowired(required = false) + private PowerPropertyParamMapper mapper; + + //鑾峰彇鐢垫簮浼樿壇鍒ゆ柇鐨勬爣鍑嗗弬鏁板�� + public List<PowerPropertyParam> getPwrStandardParam(Integer powerType) { + List<PowerPropertyParam> list = mapper.getPwrStandardParam(powerType); + return list; + } +} \ No newline at end of file diff --git a/src/main/java/com/whyc/service/PwrdevAlarmParamService.java b/src/main/java/com/whyc/service/PwrdevAlarmParamService.java index 966a277..cbee80c 100644 --- a/src/main/java/com/whyc/service/PwrdevAlarmParamService.java +++ b/src/main/java/com/whyc/service/PwrdevAlarmParamService.java @@ -13,6 +13,7 @@ import com.whyc.mapper.PwrdevAlarmParamMapper; import com.whyc.pojo.db_param.BattAlmparam; import com.whyc.pojo.db_pwrdev_alarm.PwrdevAlarmParam; +import com.whyc.pojo.db_station.PowerInf; import com.whyc.util.ActionUtil; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -36,7 +37,7 @@ //鑾峰彇鐢垫簮鍛婅鍙傛暟 public Response getPwrAlmParam(ParamAlmDto dto) { //鏍规嵁鏌ヨ鏉′欢鑾峰彇鐢垫簮闆嗗悎 - List<Integer> idList=pinfService.getPowerIdList(dto); + PowerInf pinf=pinfService.getPowerIdList(dto.getPowerId()); /*Map<String, List<PwrdevAlarmParam>> map=new HashMap<>(); List<PwrdevAlarmParam> almmap30=new ArrayList<>(); List<PwrdevAlarmParam> almmap31=new ArrayList<>(); @@ -46,9 +47,7 @@ List<PwrdevAlarmParam> almmap35=new ArrayList<>(); List<PwrdevAlarmParam> almmap36=new ArrayList<>();*/ QueryWrapper wrapper=new QueryWrapper(); - if(idList!=null){ - wrapper.in("power_id",idList); - } + wrapper.eq("power_id",dto.getPowerId()); if(dto.getAlmIdList()!=null){ wrapper.in("alm_id",dto.getAlmIdList()); } @@ -89,7 +88,7 @@ } } // PageInfo<PwrdevAlarmParam> pageInfo=new PageInfo(list); - return new Response().setII(1,list!=null,list,"鑾峰彇鐢垫簮鍛婅鍙傛暟"); + return new Response().setIII(1,list!=null,list,pinf,"鑾峰彇鐢垫簮鍛婅鍙傛暟"); } //淇敼鐢垫簮鍛婅鍙傛暟 public Response setPwrAlmParam(List<PwrdevAlarmParam> almparamList) { diff --git a/src/main/java/com/whyc/service/PwrdevAlarmParamStandService.java b/src/main/java/com/whyc/service/PwrdevAlarmParamStandService.java index f3d1f2b..df49ade 100644 --- a/src/main/java/com/whyc/service/PwrdevAlarmParamStandService.java +++ b/src/main/java/com/whyc/service/PwrdevAlarmParamStandService.java @@ -46,8 +46,8 @@ if(stand.getAlarmLimitl()!=null){ wrapper.set("alarm_limitl",stand.getAlarmLimitl()); } - if(stand.getAlarmLimithUpeper()!=null){ - wrapper.set("alarm_limith_upeper",stand.getAlarmLimithUpeper()); + if(stand.getAlarmLimithUpper()!=null){ + wrapper.set("alarm_limith_upper",stand.getAlarmLimithUpper()); } if(stand.getAlarmLimitlLower()!=null){ wrapper.set("alarm_limitl_lower",stand.getAlarmLimitlLower()); diff --git a/src/main/java/com/whyc/service/PwrdevHistorydataIdService.java b/src/main/java/com/whyc/service/PwrdevHistorydataIdService.java index a83a90c..c0a04ff 100644 --- a/src/main/java/com/whyc/service/PwrdevHistorydataIdService.java +++ b/src/main/java/com/whyc/service/PwrdevHistorydataIdService.java @@ -1,5 +1,6 @@ package com.whyc.service; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.whyc.dto.Real.CompareDto; import com.whyc.dto.Real.PwrHisRealAcInDto; import com.whyc.dto.Real.PwrHisRealDcoutInDto; @@ -9,6 +10,8 @@ import com.whyc.mapper.CommonMapper; import com.whyc.pojo.db_data_history.BattRealdataId; import com.whyc.pojo.db_data_history.PwrdevHistorydataId; +import com.whyc.pojo.db_param.ApptimeParam; +import com.whyc.pojo.db_param.PowerPropertyParam; import com.whyc.pojo.db_station.PowerInf; import com.whyc.util.ActionUtil; import org.springframework.beans.factory.annotation.Autowired; @@ -31,6 +34,12 @@ @Autowired private PowerInfService powerInfService; + + @Autowired + private ApptimeParamService apptimeParamService; + + @Autowired + private PowerPropertyParamService propertyParamService; //绯荤粺姒傝鑾峰彇鍗婂皬鏃朵氦娴佽緭鍏ョ粺璁� public Response getHalfHourPwrHisAcinData(Integer powerId,Integer granularity) { @@ -76,13 +85,23 @@ return new Response().setIII(1,datalist.size()>0,datalist,modelCfg,"鑾峰彇鍗婂皬鏃跺唴鐩存祦杈撳嚭缁熻"); } //1.2.7浼樿壇鐢垫簮缁熻涓婁竴瀛e害鐨勭數婧愭煇涓�灞炴�у拰鍙傛暟闃堝�艰秴杩囩殑娆℃暟 - public Map<String,Integer> getPwrQuarter7(Integer powerId, Map<String,Float> paramValue) { + public Integer getPwrQuarter7(Integer powerId,Integer powerType) { Map<String,Integer> map=new HashMap<>(); - map.put("acin1Vola",0); - map.put("acoutVola",0); + map.put("acin1_vola",0); + map.put("acout_curra",0); map.put("dcoutVol",0); map.put("dcoutCurr",0); - List<String> datelist = ActionUtil.getLastQuarterYearMonths(); + //鑾峰彇浼樿壇鐢垫簮鎬ц兘缁熻鍦ㄥ钩鍙颁笂鐨勬椂闂村弬鏁拌缃〃 + ApptimeParam apptimeParam=apptimeParamService.getPwrPerformanceStrartTime(powerId); + //鑾峰彇鎸囧畾鏃堕棿鍒板綋鍓嶆椂闂翠竴鍏卞灏戞湀鐨勯泦鍚� + List<String> datelist=ActionUtil.getDateListBetweenDates(apptimeParam.getParamValue(), new Date()); + //鑾峰彇鐢垫簮浼樿壇鍒ゆ柇鐨勬爣鍑嗗弬鏁板�� + List<PowerPropertyParam> paramList=propertyParamService.getPwrStandardParam(powerType); + Map<String,Float> paramValues=new HashMap<>(); + for (PowerPropertyParam param : paramList) { + paramValues.put(param.getPropertyName()+"_upper", param.getBasisVal()*param.getAlarmLimithUpper()); + paramValues.put(param.getPropertyName()+"_lower", param.getBasisVal()*param.getAlarmLimithLowper()); + } for (int i=0;i<datelist.size();i++) { String date=datelist.get(i); String tableName ="db_data_history.tb_pwrdev_historydata_"+powerId+"_"+date; @@ -94,20 +113,28 @@ List<QuarterPwr7Res> datalist=subTablePageInfoService.getPwrQuarter7(tableName); // 閬嶅巻 dataList 骞舵瘮杈冨睘鎬у�� for (QuarterPwr7Res data : datalist) { - if (data.getAcin1Vola() > paramValue.get("acin1Vola")) { - map.put("acin1Vola", map.get("acin1Vola") + 1); + if(paramValues.get("acin1_vola_upper")!=null){ + if ((data.getAcin1Vola() > paramValues.get("acin1_vola_upper"))||(data.getAcin1Vola() < paramValues.get("acin1_vola_lower"))) { + map.put("acin1_vola", map.get("acin1_vola") + 1); + } } - if (data.getAcoutVola() > paramValue.get("acoutVola")) { - map.put("acoutVola", map.get("acoutVola") + 1); + if(paramValues.get("acout_curra_upper")!=null) { + if ((data.getAcoutCurra() > paramValues.get("acout_curra_upper")) || (data.getAcoutCurra() < paramValues.get("acout_curra_lower"))) { + map.put("acout_curra", map.get("acout_curra") + 1); + } } - if (data.getDcoutVol() > paramValue.get("dcoutVol")) { - map.put("dcoutVol", map.get("dcoutVol") + 1); + if(paramValues.get("dcout_vol_upper")!=null) { + if ((data.getDcoutVol() > paramValues.get("dcout_vol_upper")) || (data.getDcoutVol() < paramValues.get("dcout_vo_lower"))) { + map.put("dcout_vol", map.get("dcout_vol") + 1); + } } - if (data.getDcoutCurr() > paramValue.get("dcoutCurr")) { - map.put("dcoutCurr", map.get("dcoutCurr") + 1); + if(paramValues.get("dcout_curr_upper")!=null) { + if ((data.getDcoutCurr() > paramValues.get("dcout_curr_upper")) || (data.getDcoutCurr() < paramValues.get("dcout_curr_lower"))) { + map.put("dcout_curr", map.get("dcout_curr") + 1); + } } } } - return map; + return 1; } } \ No newline at end of file diff --git a/src/main/java/com/whyc/service/SubTablePageInfoService.java b/src/main/java/com/whyc/service/SubTablePageInfoService.java index 2bc905d..1a61256 100644 --- a/src/main/java/com/whyc/service/SubTablePageInfoService.java +++ b/src/main/java/com/whyc/service/SubTablePageInfoService.java @@ -794,7 +794,7 @@ } //1.2.7浼樿壇鐢垫簮缁熻涓婁竴瀛e害鐨勭數婧愭煇涓�灞炴�у拰鍙傛暟闃堝�艰秴杩囩殑娆℃暟 public List<QuarterPwr7Res> getPwrQuarter7(String tableName) { - String sql=" select distinct record_datetime,acin1_vola,acout_vola,dcout_vol,dcout_curr " + + String sql=" select distinct record_datetime,acin1_vola,acout_curra,dcout_vol,dcout_curr " + " from "+tableName+" " ; sql+=" order by record_datetime asc"; List<QuarterPwr7Res> list = sqlExecuteService.executeQuery_call(sql, new CallBack() { @@ -805,7 +805,7 @@ QuarterPwr7Res data=new QuarterPwr7Res(); data.setRecordDatetime(rs.getTimestamp("record_datetime")); data.setAcin1Vola(rs.getFloat("acin1_vola")); - data.setAcoutVola(rs.getFloat("acout_vola")); + data.setAcoutCurra(rs.getFloat("acout_curra")); data.setDcoutVol(rs.getFloat("dcout_vol")); data.setDcoutCurr(rs.getFloat("dcout_curr")); list.add(data); diff --git a/src/main/java/com/whyc/util/ActionUtil.java b/src/main/java/com/whyc/util/ActionUtil.java index 3b2bd86..a961055 100644 --- a/src/main/java/com/whyc/util/ActionUtil.java +++ b/src/main/java/com/whyc/util/ActionUtil.java @@ -18,6 +18,7 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -27,6 +28,7 @@ public static String time_yyyyMMddHHmmss = "yyyy-MM-dd HH:mm:ss"; public static String time_yyyyMMdd = "yyyy-MM-dd"; + public static String time_yyyyMM = "yyyy-MM"; public static String time_yyyyMMdd_HH_mm_ss = "yyyy-MM-dd_HH_mm_ss"; public static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public static SimpleDateFormat sdfwithOutday = new SimpleDateFormat("yyyy_MM"); @@ -637,5 +639,27 @@ } return lang; } + //涓ゆ椂闂翠箣闂寸殑骞存湀闆嗗悎 + public static List<String> getDateListBetweenDates(Date startTime, Date endTime) { + // 鎸囧畾寮�濮嬫棩鏈熷拰缁撴潫鏃ユ湡 + LocalDate startDate = LocalDate.of(startTime.getYear() + 1900, startTime.getMonth() + 1, startTime.getDay()); // 绀轰緥璧峰鏃ユ湡 + LocalDate endDate = LocalDate.of(endTime.getYear() + 1900, endTime.getMonth() + 1, endTime.getDay()); // 绀轰緥缁撴潫鏃ユ湡 + List<String> dateList = new ArrayList<>(); + LocalDate currentDate = startDate; + DateTimeFormatter formatter = DateTimeFormatter.ofPattern(ActionUtil.time_yyyyMM); + while (!currentDate.isAfter(endDate)) { + String formattedDate = currentDate.format(formatter); + dateList.add(formattedDate); + currentDate = currentDate.plusMonths(1); + } + return dateList; + } + + public static void main(String[] args) throws ParseException { + List<String> dateList =getDateListBetweenDates(ActionUtil.sdf.parse("2025-01-01 00:00:00"),new Date()); + for (String date : dateList) { + System.out.println(date); + } + } } diff --git a/src/main/resources/mapper/BattInfMapper.xml b/src/main/resources/mapper/BattInfMapper.xml index b28e4a1..f9e749c 100644 --- a/src/main/resources/mapper/BattInfMapper.xml +++ b/src/main/resources/mapper/BattInfMapper.xml @@ -466,32 +466,16 @@ </if> </where> </select> - <select id="getBattgroupIdList" resultType="java.lang.Integer"> - select distinct battgroup_id from db_station.tb_batt_inf,db_station.tb_station_inf + <select id="getBattgroupIdList" resultType="com.whyc.pojo.db_station.BattInf"> + select distinct tb_batt_inf.* + ,tb_station_inf.station_type,tb_station_inf.station_name,tb_station_inf.provice,tb_station_inf.city,tb_station_inf.country,tb_station_inf.full_name + from db_station.tb_batt_inf,db_station.tb_station_inf <where> tb_batt_inf.station_id=tb_station_inf.station_id - <if test="dto.provice!=null"> - and tb_station_inf.provice=#{dto.provice} - </if> - <if test="dto.city!=null"> - and tb_station_inf.city=#{dto.city} - </if> - <if test="dto.country!=null"> - and tb_station_inf.country=#{dto.country} - </if> - <if test="dto.stationId!=null"> - and tb_station_inf.station_id=#{dto.stationId} - </if> - <if test="dto.battgroupId!=null"> - and battgroup_id.battgroup_id=#{dto.battgroupId} - </if> - <if test="dto.uid>100"> - and tb_station_inf.station_id in( - select distinct station_id from db_user.tb_baojigroup_power,db_user.tb_baojigroup_usr - where tb_baojigroup_power.baoji_group_id=tb_baojigroup_usr.baoji_group_id - and tb_baojigroup_usr.uid=#{dto.uid} - ) + <if test="battgroupId!=null"> + and tb_batt_inf.battgroup_id=#{battgroupId} </if> </where> + limit 1 </select> </mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/PowerInfMapper.xml b/src/main/resources/mapper/PowerInfMapper.xml index 7cb7ad3..1937714 100644 --- a/src/main/resources/mapper/PowerInfMapper.xml +++ b/src/main/resources/mapper/PowerInfMapper.xml @@ -145,11 +145,14 @@ <if test="stic.company!=null"> and tb_power_inf.company=#{stic.company} </if> - <if test="stic.inuseStartTime!=null"> - and tb_power_inf.power_inuse_time>=#{stic.inuseStartTime} - </if> - <if test="stic.inuseEndTime!=null"> - and tb_power_inf.power_inuse_time<=#{stic.inuseEndTimee} + + <if test="stic.inuseYear!=null"> + <if test="stic.inuseYear==1"> + and tb_power_inf.power_inuse_time<=#{stic.pwrInUseTime} + </if> + <if test="stic.inuseYear!=1"> + and tb_power_inf.power_inuse_time>=#{stic.pwrInUseTime} + </if> </if> <if test="stic.uid>100"> and tb_power_inf.power_id in( @@ -169,33 +172,17 @@ and bu.uid = #{userId} ) </select> - <select id="getPowerIdList" resultType="java.lang.Integer"> - select distinct power_id from db_station.tb_power_inf,db_station.tb_station_inf + <select id="getPowerIdList" resultType="com.whyc.pojo.db_station.PowerInf"> + select distinct tb_power_inf.* + ,tb_station_inf.station_type,tb_station_inf.station_name,tb_station_inf.provice,tb_station_inf.city,tb_station_inf.country,tb_station_inf.full_name + from db_station.tb_power_inf,db_station.tb_station_inf <where> tb_power_inf.station_id=tb_station_inf.station_id - <if test="dto.provice!=null"> - and tb_station_inf.provice=#{dto.provice} - </if> - <if test="dto.city!=null"> - and tb_station_inf.city=#{dto.city} - </if> - <if test="dto.country!=null"> - and tb_station_inf.country=#{dto.country} - </if> - <if test="dto.stationId!=null"> - and tb_station_inf.station_id=#{dto.stationId} - </if> - <if test="dto.powerId!=null"> - and tb_power_inf.power_id=#{dto.powerId} - </if> - <if test="dto.uid>100"> - and tb_power_inf.power_id in( - select distinct power_id from db_user.tb_baojigroup_power,db_user.tb_baojigroup_usr - where tb_baojigroup_power.baoji_group_id=tb_baojigroup_usr.baoji_group_id - and tb_baojigroup_usr.uid=#{dto.uid} - ) + <if test="powerId!=null"> + and tb_power_inf.power_id=#{powerId} </if> </where> + limit 1 </select> </mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/PowerPropertyParamMapper.xml b/src/main/resources/mapper/PowerPropertyParamMapper.xml new file mode 100644 index 0000000..dde15eb --- /dev/null +++ b/src/main/resources/mapper/PowerPropertyParamMapper.xml @@ -0,0 +1,12 @@ +<?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.PowerPropertyParamMapper"> + + <select id="getPwrStandardParam" resultType="com.whyc.pojo.db_param.PowerPropertyParam"> + select tb_power_property_param.* + ,tb_pwrdev_alarm_param_stand.basis_val,tb_pwrdev_alarm_param_stand.alarm_limith_upper,tb_pwrdev_alarm_param_stand.alarm_limitl_lower + from db_param.tb_power_property_param,db_pwrdev_alarm.tb_pwrdev_alarm_param_stand + where tb_power_property_param.property_name=tb_pwrdev_alarm_param_stand.property_name + and tb_power_property_param.power_type=#{powerType} + </select> +</mapper> \ No newline at end of file -- Gitblit v1.9.1