监测点稳态指标超标明细算法提交

This commit is contained in:
2023-04-24 15:30:07 +08:00
parent 28a5c8e73e
commit 64fa0931c1
15 changed files with 430 additions and 11 deletions

View File

@@ -8,7 +8,9 @@ import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.prepare.harmonic.pojo.param.LineParam;
import com.njcn.prepare.harmonic.service.mysql.line.IRMpPartHarmonicDetailDService;
import com.njcn.prepare.harmonic.service.mysql.line.IRMpPartHarmonicDetailMService;
import com.njcn.prepare.harmonic.service.mysql.line.IRMpSurplusHarmonicDetailDService;
import com.njcn.prepare.harmonic.service.mysql.line.IRMpSurplusHarmonicDetailMService;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -40,6 +42,10 @@ public class HarmonicOverLimitController extends BaseController {
private final IRMpSurplusHarmonicDetailDService mpSurplusHarmonicDetailDService;
private final IRMpPartHarmonicDetailMService mpPartHarmonicDetailMService;
private final IRMpSurplusHarmonicDetailMService mpSurplusHarmonicDetailMService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
@PostMapping("/harmonicDetailDay1")
@ApiOperation("监测点稳态指标超标明细日表1")
@@ -60,5 +66,24 @@ public class HarmonicOverLimitController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
@PostMapping("/harmonicDetailMonth1")
@ApiOperation("监测点稳态指标超标明细月表1")
@ApiImplicitParam(name = "lineParam", value = "算法通用查询参数", required = true)
public HttpResult<Boolean> harmonicDetailMonth1(@RequestBody @Validated LineParam lineParam) {
String methodDescribe = getMethodDescribe("harmonicDetailMonth1");
mpPartHarmonicDetailMService.insertHarmonicDetailMonthOne(lineParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
@PostMapping("/harmonicDetailMonth2")
@ApiOperation("监测点稳态指标超标明细月表2")
@ApiImplicitParam(name = "lineParam", value = "算法通用查询参数", required = true)
public HttpResult<Boolean> harmonicDetailMonth2(@RequestBody @Validated LineParam lineParam) {
String methodDescribe = getMethodDescribe("harmonicDetailMonth2");
mpSurplusHarmonicDetailMService.insertHarmonicDetailMonthTwo(lineParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
}

View File

@@ -24,5 +24,5 @@ public interface RMpPartHarmonicDetailDMapper extends MppBaseMapper<RMpPartHarmo
* @param time 时间
* @return 集合
*/
List<RMpPartHarmonicDetailD> getHarmonicDetailDayOne(String time);
List<RMpPartHarmonicDetailD> getHarmonicDetailDayOne(@Param("time") String time,@Param("lineList") List<String> lineList);
}

View File

@@ -1,7 +1,10 @@
package com.njcn.prepare.harmonic.mapper.mysql.line;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.harmonic.pojo.po.RMpPartHarmonicDetailM;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* RMpPartHarmonicDetailMMapper
@@ -10,6 +13,8 @@ import com.njcn.harmonic.pojo.po.RMpPartHarmonicDetailM;
* @version 1.0.0
* @createTime 2022/12/12 - 15:21
*/
public interface RMpPartHarmonicDetailMMapper extends BaseMapper<RMpPartHarmonicDetailM> {
public interface RMpPartHarmonicDetailMMapper extends MppBaseMapper<RMpPartHarmonicDetailM> {
List<RMpPartHarmonicDetailM> getHarmonicDetailMonthOne(@Param("startTime") String startTime, @Param("endTime")String endTime, @Param("lineList") List<String> lineList);
}

View File

@@ -26,5 +26,5 @@ public interface RMpSurplusHarmonicDetailDMapper extends MppBaseMapper<RMpSurplu
* @param time 时间
* @return 集合
*/
List<RMpSurplusHarmonicDetailD> getHarmonicDetailDayTwo(String time);
List<RMpSurplusHarmonicDetailD> getHarmonicDetailDayTwo(@Param("time") String time,@Param("lineList") List<String> lineList);
}

View File

@@ -1,7 +1,11 @@
package com.njcn.prepare.harmonic.mapper.mysql.line;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.harmonic.pojo.po.RMpPartHarmonicDetailM;
import com.njcn.harmonic.pojo.po.RMpSurplusHarmonicDetailM;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* RMpSurplusHarmonicDetailMMapper
@@ -10,6 +14,8 @@ import com.njcn.harmonic.pojo.po.RMpSurplusHarmonicDetailM;
* @version 1.0.0
* @createTime 2022/12/12 - 15:21
*/
public interface RMpSurplusHarmonicDetailMMapper extends BaseMapper<RMpSurplusHarmonicDetailM> {
public interface RMpSurplusHarmonicDetailMMapper extends MppBaseMapper<RMpSurplusHarmonicDetailM> {
List<RMpSurplusHarmonicDetailM> getHarmonicDetailMonthTwo(@Param("startTime") String startTime,@Param("endTime") String endTime, @Param("lineList") List<String> lineList);
}

View File

@@ -409,6 +409,12 @@
where
t0.phasic_type = 'T'
and t0.time_id = #{time}
<if test="lineList != null and lineList.size() > 0">
and t0.my_index in
<foreach collection="lineList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</select>
</mapper>

View File

@@ -0,0 +1,130 @@
<?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.njcn.prepare.harmonic.mapper.mysql.line.RMpPartHarmonicDetailMMapper">
<select id="getHarmonicDetailMonthOne" resultType="com.njcn.harmonic.pojo.po.RMpPartHarmonicDetailM">
select
measurement_point_id measurementPointId,
sum(is_harmonic) measurementOverDay,
sum(is_freq) freqOverDay,
sum(is_v_dev_up) vDevUpOverDay,
sum(is_v_dev_low) vDevLowOverDay,
sum(is_v_dev) vDevOverDay,
sum(is_v_thd) vThdOverDay,
sum(is_v) vOverDay,
sum(is_i) iOverDay,
sum(is_v_2) v2OverDay,
sum(is_v_3) v3OverDay,
sum(is_v_4) v4OverDay,
sum(is_v_5) v5OverDay,
sum(is_v_6) v6OverDay,
sum(is_v_7) v7OverDay,
sum(is_v_8) v8OverDay,
sum(is_v_9) v9OverDay,
sum(is_v_10) v10OverDay,
sum(is_v_11) v11OverDay,
sum(is_v_12) v12OverDay,
sum(is_v_13) v13OverDay,
sum(is_v_14) v14OverDay,
sum(is_v_15) v15OverDay,
sum(is_v_16) v16OverDay,
sum(is_v_17) v17OverDay,
sum(is_v_18) v18OverDay,
sum(is_v_19) v19OverDay,
sum(is_v_20) v20OverDay,
sum(is_v_21) v21OverDay,
sum(is_v_22) v22OverDay,
sum(is_v_23) v23OverDay,
sum(is_v_24) v24OverDay,
sum(is_v_25) v25OverDay,
sum(is_v_26) v26OverDay,
sum(is_v_27) v27OverDay,
sum(is_v_28) v28OverDay,
sum(is_v_29) v29OverDay,
sum(is_v_30) v30OverDay,
sum(is_v_31) v31OverDay,
sum(is_v_32) v32OverDay,
sum(is_v_33) v33OverDay,
sum(is_v_34) v34OverDay,
sum(is_v_35) v35OverDay,
sum(is_v_36) v36OverDay,
sum(is_v_37) v37OverDay,
sum(is_v_38) v38OverDay,
sum(is_v_39) v39OverDay,
sum(is_v_40) v40OverDay,
sum(is_v_41) v41OverDay,
sum(is_v_42) v42OverDay,
sum(is_v_43) v43OverDay,
sum(is_v_44) v44OverDay,
sum(is_v_45) v45OverDay,
sum(is_v_46) v46OverDay,
sum(is_v_47) v47OverDay,
sum(is_v_48) v48OverDay,
sum(is_v_49) v49OverDay,
sum(is_v_50) v50OverDay,
sum(is_i_2) i2OverDay,
sum(is_i_3) i3OverDay,
sum(is_i_4) i4OverDay,
sum(is_i_5) i5OverDay,
sum(is_i_6) i6OverDay,
sum(is_i_7) i7OverDay,
sum(is_i_8) i8OverDay,
sum(is_i_9) i9OverDay,
sum(is_i_10) i10OverDay,
sum(is_i_11) i11OverDay,
sum(is_i_12) i12OverDay,
sum(is_i_13) i13OverDay,
sum(is_i_14) i14OverDay,
sum(is_i_15) i15OverDay,
sum(is_i_16) i16OverDay,
sum(is_i_17) i17OverDay,
sum(is_i_18) i18OverDay,
sum(is_i_19) i19OverDay,
sum(is_i_20) i20OverDay,
sum(is_i_21) i21OverDay,
sum(is_i_22) i22OverDay,
sum(is_i_23) i23OverDay,
sum(is_i_24) i24OverDay,
sum(is_i_25) i25OverDay,
sum(is_i_26) i26OverDay,
sum(is_i_27) i27OverDay,
sum(is_i_28) i28OverDay,
sum(is_i_29) i29OverDay,
sum(is_i_30) i30OverDay,
sum(is_i_31) i31OverDay,
sum(is_i_32) i32OverDay,
sum(is_i_33) i33OverDay,
sum(is_i_34) i34OverDay,
sum(is_i_35) i35OverDay,
sum(is_i_36) i36OverDay,
sum(is_i_37) i37OverDay,
sum(is_i_38) i38OverDay,
sum(is_i_39) i39OverDay,
sum(is_i_40) i40OverDay,
sum(is_i_41) i41OverDay,
sum(is_i_42) i42OverDay,
sum(is_i_43) i43OverDay,
sum(is_i_44) i44OverDay,
sum(is_i_45) i45OverDay,
sum(is_i_46) i46OverDay,
sum(is_i_47) i47OverDay,
sum(is_i_48) i48OverDay,
sum(is_i_49) i49OverDay,
sum(is_i_50) i50OverDay,
sum(is_unbalance),
sum(is_i_neg)
from
r_mp_part_harmonic_detail_d
where
data_date between #{startTime} and #{endTime}
<if test="lineList != null and lineList.size() > 0">
and measurement_point_id in
<foreach collection="lineList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
group by
measurement_point_id
</select>
</mapper>

View File

@@ -132,6 +132,12 @@
where
t0.phasic_type = 'T'
and t0.time_id = #{time}
<if test="lineList != null and lineList.size() > 0">
and t0.my_index in
<foreach collection="lineList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</select>
</mapper>

View File

@@ -0,0 +1,74 @@
<?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.njcn.prepare.harmonic.mapper.mysql.line.RMpSurplusHarmonicDetailMMapper">
<select id="getHarmonicDetailMonthTwo" resultType="com.njcn.harmonic.pojo.po.RMpSurplusHarmonicDetailM">
select
measurement_point_id measurementPointId,
sum(is_flicker) flickerOverDay,
sum(is_inuharm) inuharmOverDay,
sum(is_inuharm_1) inuharm1OverDay,
sum(is_inuharm_2) inuharm2OverDay,
sum(is_inuharm_3) inuharm3OverDay,
sum(is_inuharm_4) inuharm4OverDay,
sum(is_inuharm_5) inuharm5OverDay,
sum(is_inuharm_6) inuharm6OverDay,
sum(is_inuharm_7) inuharm7OverDay,
sum(is_inuharm_8) inuharm8OverDay,
sum(is_inuharm_9) inuharm9OverDay,
sum(is_inuharm_10) inuharm10OverDay,
sum(is_inuharm_11) inuharm11OverDay,
sum(is_inuharm_12) inuharm12OverDay,
sum(is_inuharm_13) inuharm13OverDay,
sum(is_inuharm_14) inuharm14OverDay,
sum(is_inuharm_15) inuharm15OverDay,
sum(is_inuharm_16) inuharm16OverDay,
sum(is_inuharm_17) inuharm17OverDay,
sum(is_inuharm_18) inuharm18OverDay,
sum(is_inuharm_19) inuharm19OverDay,
sum(is_inuharm_20) inuharm20OverDay,
sum(is_inuharm_21) inuharm21OverDay,
sum(is_inuharm_22) inuharm22OverDay,
sum(is_inuharm_23) inuharm23OverDay,
sum(is_inuharm_24) inuharm24OverDay,
sum(is_inuharm_25) inuharm25OverDay,
sum(is_inuharm_26) inuharm26OverDay,
sum(is_inuharm_27) inuharm27OverDay,
sum(is_inuharm_28) inuharm28OverDay,
sum(is_inuharm_29) inuharm29OverDay,
sum(is_inuharm_30) inuharm30OverDay,
sum(is_inuharm_31) inuharm31OverDay,
sum(is_inuharm_32) inuharm32OverDay,
sum(is_inuharm_33) inuharm33OverDay,
sum(is_inuharm_34) inuharm34OverDay,
sum(is_inuharm_35) inuharm35OverDay,
sum(is_inuharm_36) inuharm36OverDay,
sum(is_inuharm_37) inuharm37OverDay,
sum(is_inuharm_38) inuharm38OverDay,
sum(is_inuharm_39) inuharm39OverDay,
sum(is_inuharm_40) inuharm40OverDay,
sum(is_inuharm_41) inuharm41OverDay,
sum(is_inuharm_42) inuharm42OverDay,
sum(is_inuharm_43) inuharm43OverDay,
sum(is_inuharm_44) inuharm44OverDay,
sum(is_inuharm_45) inuharm45OverDay,
sum(is_inuharm_46) inuharm46OverDay,
sum(is_inuharm_47) inuharm47OverDay,
sum(is_inuharm_48) inuharm48OverDay,
sum(is_inuharm_49) inuharm49OverDay,
sum(is_inuharm_50) inuharm50OverDay
from
r_mp_surplus_harmonic_detail_d
where
data_date between #{startTime} and #{endTime}
<if test="lineList != null and lineList.size() > 0">
and measurement_point_id in
<foreach collection="lineList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
group by
measurement_point_id
</select>
</mapper>

View File

@@ -1,16 +1,22 @@
package com.njcn.prepare.harmonic.service.mysql.Impl.line;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.harmonic.pojo.po.RMpPartHarmonicDetailD;
import com.njcn.prepare.harmonic.mapper.mysql.line.RMpPartHarmonicDetailDMapper;
import com.njcn.prepare.harmonic.pojo.param.LineParam;
import com.njcn.prepare.harmonic.service.mysql.line.IRMpPartHarmonicDetailDService;
import com.njcn.prepare.harmonic.utils.PublicUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* 类的介绍:
@@ -19,6 +25,7 @@ import java.util.List;
* @version 1.0.0
* @createTime 2023/4/23 15:08
*/
@Slf4j
@Service
public class RMpPartHarmonicDetailDServiceImpl extends MppServiceImpl<RMpPartHarmonicDetailDMapper, RMpPartHarmonicDetailD> implements IRMpPartHarmonicDetailDService {
@@ -26,7 +33,23 @@ public class RMpPartHarmonicDetailDServiceImpl extends MppServiceImpl<RMpPartHar
@Transactional(rollbackFor = {Exception.class})
@Async("asyncExecutor")
public void insertHarmonicDetailDayOne(LineParam lineParam) {
List<RMpPartHarmonicDetailD> list = this.baseMapper.getHarmonicDetailDayOne(lineParam.getDataDate());
log.info(LocalDateTime.now()+"===>监测点稳态指标超标明细日表1开始执行");
List<RMpPartHarmonicDetailD> result = new ArrayList<>();
if (Objects.equals(lineParam.getType(),5)){
result = getData(lineParam.getDataDate(),lineParam.getLineIds());
} else if (Objects.equals(lineParam.getType(),3)){
int year = Integer.parseInt(lineParam.getDataDate().split("-")[0]);
int month = Integer.parseInt(lineParam.getDataDate().split("-")[1]);
List<String> dayList = PublicUtil.getDayByMonth(year,month);
for (String item : dayList) {
result.addAll(getData(item,lineParam.getLineIds()));
}
}
this.saveOrUpdateBatchByMultiId(result,50);
}
public List<RMpPartHarmonicDetailD> getData(String time,List<String> lineList) {
List<RMpPartHarmonicDetailD> list = this.baseMapper.getHarmonicDetailDayOne(time,lineList);
if (!CollectionUtils.isEmpty(list)){
list.forEach(item->{
if (item.getIsFreq()>0 || item.getIsVDev()>0 || item.getIsV()>0 || item.getIsI()>0 || item.getIsUnbalance()>0 || item.getIsINeg()>0 || item.getIsFlicker()>0 || item.getIsInuharm()>0){
@@ -35,7 +58,7 @@ public class RMpPartHarmonicDetailDServiceImpl extends MppServiceImpl<RMpPartHar
item.setIsHarmonic(0);
}
});
this.saveOrUpdateBatchByMultiId(list,50);
}
return list;
}
}

View File

@@ -0,0 +1,50 @@
package com.njcn.prepare.harmonic.service.mysql.Impl.line;
import com.alibaba.nacos.client.naming.utils.CollectionUtils;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.harmonic.pojo.po.RMpPartHarmonicDetailM;
import com.njcn.prepare.harmonic.mapper.mysql.line.RMpPartHarmonicDetailMMapper;
import com.njcn.prepare.harmonic.pojo.param.LineParam;
import com.njcn.prepare.harmonic.service.mysql.line.IRMpPartHarmonicDetailMService;
import com.njcn.prepare.harmonic.utils.PublicUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/4/23 16:15
*/
@Slf4j
@Service
public class RMpPartHarmonicDetailMServiceImpl extends MppServiceImpl<RMpPartHarmonicDetailMMapper, RMpPartHarmonicDetailM> implements IRMpPartHarmonicDetailMService {
@Override
@Transactional(rollbackFor = {Exception.class})
@Async("asyncExecutor")
public void insertHarmonicDetailMonthOne(LineParam lineParam) {
log.info(LocalDateTime.now()+"===>监测点稳态指标超标明细月表1开始执行");
int year = Integer.parseInt(lineParam.getDataDate().split("-")[0]);
int month = Integer.parseInt(lineParam.getDataDate().split("-")[1]);
String startTime = PublicUtil.getFisrtDayOfMonth(year,month);
String endTime = PublicUtil.getLastDayOfMonth(year,month);
List<RMpPartHarmonicDetailM> list = this.baseMapper.getHarmonicDetailMonthOne(startTime,endTime,lineParam.getLineIds());
if (!CollectionUtils.isEmpty(list)){
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate date = LocalDate.parse(startTime, df);
list.forEach(item->{
item.setDataDate(date);
});
this.saveOrUpdateBatchByMultiId(list,50);
}
}
}

View File

@@ -8,12 +8,17 @@ import com.njcn.prepare.harmonic.mapper.mysql.line.RMpSurplusHarmonicDetailDMapp
import com.njcn.prepare.harmonic.pojo.param.LineParam;
import com.njcn.prepare.harmonic.service.mysql.line.IRMpPartHarmonicDetailDService;
import com.njcn.prepare.harmonic.service.mysql.line.IRMpSurplusHarmonicDetailDService;
import com.njcn.prepare.harmonic.utils.PublicUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* 类的介绍:
@@ -22,6 +27,7 @@ import java.util.List;
* @version 1.0.0
* @createTime 2023/4/23 15:08
*/
@Slf4j
@Service
public class RMpSurplusHarmonicDetailDServiceImpl extends MppServiceImpl<RMpSurplusHarmonicDetailDMapper, RMpSurplusHarmonicDetailD> implements IRMpSurplusHarmonicDetailDService {
@@ -29,9 +35,18 @@ public class RMpSurplusHarmonicDetailDServiceImpl extends MppServiceImpl<RMpSurp
@Transactional(rollbackFor = {Exception.class})
@Async("asyncExecutor")
public void insertHarmonicDetailDayTwo(LineParam lineParam) {
List<RMpSurplusHarmonicDetailD> list = this.baseMapper.getHarmonicDetailDayTwo(lineParam.getDataDate());
if (!CollectionUtils.isEmpty(list)){
this.saveOrUpdateBatchByMultiId(list,50);
log.info(LocalDateTime.now()+"===>监测点稳态指标超标明细日表2开始执行");
List<RMpSurplusHarmonicDetailD> result = new ArrayList<>();
if (Objects.equals(lineParam.getType(),5)){
result = this.baseMapper.getHarmonicDetailDayTwo(lineParam.getDataDate(),lineParam.getLineIds());
} else if (Objects.equals(lineParam.getType(),3)){
int year = Integer.parseInt(lineParam.getDataDate().split("-")[0]);
int month = Integer.parseInt(lineParam.getDataDate().split("-")[1]);
List<String> dayList = PublicUtil.getDayByMonth(year,month);
for (String item : dayList) {
result.addAll(this.baseMapper.getHarmonicDetailDayTwo(item,lineParam.getLineIds()));
}
}
this.saveOrUpdateBatchByMultiId(result,50);
}
}

View File

@@ -0,0 +1,54 @@
package com.njcn.prepare.harmonic.service.mysql.Impl.line;
import com.alibaba.nacos.client.naming.utils.CollectionUtils;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.harmonic.pojo.po.RMpPartHarmonicDetailM;
import com.njcn.harmonic.pojo.po.RMpSurplusHarmonicDetailD;
import com.njcn.harmonic.pojo.po.RMpSurplusHarmonicDetailM;
import com.njcn.prepare.harmonic.mapper.mysql.line.RMpSurplusHarmonicDetailMMapper;
import com.njcn.prepare.harmonic.pojo.param.LineParam;
import com.njcn.prepare.harmonic.service.mysql.line.IRMpSurplusHarmonicDetailMService;
import com.njcn.prepare.harmonic.utils.PublicUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/4/23 16:15
*/
@Slf4j
@Service
public class RMpSurplusHarmonicDetailMServiceImpl extends MppServiceImpl<RMpSurplusHarmonicDetailMMapper, RMpSurplusHarmonicDetailM> implements IRMpSurplusHarmonicDetailMService {
@Override
@Transactional(rollbackFor = {Exception.class})
@Async("asyncExecutor")
public void insertHarmonicDetailMonthTwo(LineParam lineParam) {
log.info(LocalDateTime.now()+"===>监测点稳态指标超标明细月表2开始执行");
int year = Integer.parseInt(lineParam.getDataDate().split("-")[0]);
int month = Integer.parseInt(lineParam.getDataDate().split("-")[1]);
String startTime = PublicUtil.getFisrtDayOfMonth(year,month);
String endTime = PublicUtil.getLastDayOfMonth(year,month);
List<RMpSurplusHarmonicDetailM> list = this.baseMapper.getHarmonicDetailMonthTwo(startTime,endTime,lineParam.getLineIds());
if (!CollectionUtils.isEmpty(list)){
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate date = LocalDate.parse(startTime, df);
list.forEach(item->{
item.setDataDate(date);
});
this.saveOrUpdateBatchByMultiId(list,50);
}
}
}

View File

@@ -0,0 +1,13 @@
package com.njcn.prepare.harmonic.service.mysql.line;
import com.njcn.prepare.harmonic.pojo.param.LineParam;
public interface IRMpPartHarmonicDetailMService {
/**
* 计算监测点稳态指标超标明细月表1数据
* @param lineParam
*/
void insertHarmonicDetailMonthOne(LineParam lineParam);
}

View File

@@ -0,0 +1,12 @@
package com.njcn.prepare.harmonic.service.mysql.line;
import com.njcn.prepare.harmonic.pojo.param.LineParam;
public interface IRMpSurplusHarmonicDetailMService {
/**
* 计算监测点稳态指标超标明细月表2数据
* @param lineParam
*/
void insertHarmonicDetailMonthTwo(LineParam lineParam);
}