1.河北两级贯通接口调整
This commit is contained in:
@@ -205,8 +205,7 @@ public interface CommTerminalGeneralClient {
|
|||||||
HttpResult<List<SubGetBase>> tagOrIdGetSub(@RequestBody SubstationParam substationParam);
|
HttpResult<List<SubGetBase>> tagOrIdGetSub(@RequestBody SubstationParam substationParam);
|
||||||
|
|
||||||
|
|
||||||
@GetMapping("/runLedgerStatistic")
|
|
||||||
HttpResult<Boolean> runLedgerStatistic(@RequestParam("date")String date);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -169,11 +169,6 @@ public class CommTerminalGeneralClientFallbackFactory implements FallbackFactory
|
|||||||
throw new BusinessException(finalExceptionEnum);
|
throw new BusinessException(finalExceptionEnum);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public HttpResult<Boolean> runLedgerStatistic(String date) {
|
|
||||||
log.error("{}异常,降级处理,异常为:{}", "统计每日运行测点装置详细信息", throwable.toString());
|
|
||||||
throw new BusinessException(finalExceptionEnum);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public HttpResult<String> isPqOrPms() {
|
public HttpResult<String> isPqOrPms() {
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
|
|||||||
import com.njcn.device.pms.pojo.po.Monitor;
|
import com.njcn.device.pms.pojo.po.Monitor;
|
||||||
import com.njcn.device.pms.pojo.po.PmsTerminal;
|
import com.njcn.device.pms.pojo.po.PmsTerminal;
|
||||||
import com.njcn.device.pms.service.ledgerManger.CommTerminalService;
|
import com.njcn.device.pms.service.ledgerManger.CommTerminalService;
|
||||||
import com.njcn.device.pms.service.ledgerManger.IPmsRunStatisticService;
|
|
||||||
import com.njcn.device.pms.service.majornetwork.IDistributionMonitorService;
|
import com.njcn.device.pms.service.majornetwork.IDistributionMonitorService;
|
||||||
import com.njcn.device.pms.service.majornetwork.IMonitorService;
|
import com.njcn.device.pms.service.majornetwork.IMonitorService;
|
||||||
import com.njcn.device.pms.service.majornetwork.ITerminalService;
|
import com.njcn.device.pms.service.majornetwork.ITerminalService;
|
||||||
@@ -57,7 +56,6 @@ public class CommTerminalController extends BaseController {
|
|||||||
|
|
||||||
private final ITerminalService terminalService;
|
private final ITerminalService terminalService;
|
||||||
|
|
||||||
private final IPmsRunStatisticService iPmsRunStatisticService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过部门获取所有子集部门所拥有的监测点
|
* 通过部门获取所有子集部门所拥有的监测点
|
||||||
@@ -435,19 +433,7 @@ public class CommTerminalController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 统计每日运行测点装置详细信息
|
|
||||||
* @author cdf
|
|
||||||
* @date 2024/4/17
|
|
||||||
*/
|
|
||||||
@GetMapping("runLedgerStatistic")
|
|
||||||
@ApiOperation("统计每日运行测点装置详细信息")
|
|
||||||
@ApiIgnore
|
|
||||||
public HttpResult<Boolean> runLedgerStatistic(@RequestParam("date") String date) {
|
|
||||||
String methodDescribe = getMethodDescribe("runLedgerStatistic");
|
|
||||||
iPmsRunStatisticService.statisticLedgerRunDay(date);
|
|
||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package com.njcn.prepare.harmonic.api.upload;
|
||||||
|
|
||||||
|
|
||||||
|
import com.njcn.common.pojo.constant.ServerInfo;
|
||||||
|
import com.njcn.common.pojo.response.HttpResult;
|
||||||
|
import com.njcn.prepare.harmonic.api.upload.fallback.DimBusGlobalFeignClientFallbackFactory;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.param.DeviceAbnormaStatisticsParam;
|
||||||
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
|
||||||
|
@FeignClient(
|
||||||
|
value = ServerInfo.PREPARE_BOOT,//对应模块名
|
||||||
|
path = "/dimGlobal",//对应controller请求类
|
||||||
|
fallbackFactory = DimBusGlobalFeignClientFallbackFactory.class//服务降级处理类
|
||||||
|
)
|
||||||
|
public interface DimBusGlobalFeignClient {
|
||||||
|
|
||||||
|
@GetMapping("/runLedgerStatistic")
|
||||||
|
void runLedgerStatistic (@RequestParam("date")String date);
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
package com.njcn.prepare.harmonic.api.upload.fallback;
|
||||||
|
|
||||||
|
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||||
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
|
import com.njcn.common.pojo.response.HttpResult;
|
||||||
|
import com.njcn.prepare.harmonic.api.upload.DimBusGlobalFeignClient;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.param.DeviceAbnormaStatisticsParam;
|
||||||
|
import com.njcn.prepare.harmonic.utils.PrepareEnumUtil;
|
||||||
|
import feign.hystrix.FallbackFactory;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@Component
|
||||||
|
public class DimBusGlobalFeignClientFallbackFactory implements FallbackFactory<DimBusGlobalFeignClient> {
|
||||||
|
@Override
|
||||||
|
public DimBusGlobalFeignClient create(Throwable throwable) {
|
||||||
|
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
|
||||||
|
if (throwable.getCause() instanceof BusinessException) {
|
||||||
|
BusinessException businessException = (BusinessException)throwable.getCause();
|
||||||
|
exceptionEnum = PrepareEnumUtil.getExceptionEnum(businessException.getResult());
|
||||||
|
}
|
||||||
|
|
||||||
|
Enum<?> finalExceptionEnum = exceptionEnum;
|
||||||
|
return new DimBusGlobalFeignClient() {
|
||||||
|
@Override
|
||||||
|
public void runLedgerStatistic(@RequestParam("date")String date) {
|
||||||
|
log.error("{}异常,降级处理,异常为:{}", "统计周期台账运行详细信息: ", throwable.toString());
|
||||||
|
throw new BusinessException(finalExceptionEnum);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.njcn.device.pms.pojo.po;
|
package com.njcn.prepare.harmonic.pojo.po;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
@@ -51,13 +51,7 @@ public class PmsRunStatisticD {
|
|||||||
|
|
||||||
private String onlineStationIds;
|
private String onlineStationIds;
|
||||||
|
|
||||||
private String typicalTractionIds;
|
private String typicalOnlineIds;
|
||||||
|
|
||||||
private String typicalWindIds;
|
|
||||||
|
|
||||||
private String typicalSunIds;
|
|
||||||
|
|
||||||
private String typicalOtherIds;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建时间
|
* 创建时间
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.njcn.device.pms.pojo.po;
|
package com.njcn.prepare.harmonic.pojo.po;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
@@ -20,7 +20,7 @@ import java.time.LocalDateTime;
|
|||||||
* @author cdf
|
* @author cdf
|
||||||
* @date 2024/4/17
|
* @date 2024/4/17
|
||||||
*/
|
*/
|
||||||
@TableName(value = "pms_run_statistic_d")
|
@TableName(value = "pms_run_statistic_m")
|
||||||
@Data
|
@Data
|
||||||
public class PmsRunStatisticM {
|
public class PmsRunStatisticM {
|
||||||
|
|
||||||
@@ -51,13 +51,7 @@ public class PmsRunStatisticM {
|
|||||||
|
|
||||||
private String onlineStationIds;
|
private String onlineStationIds;
|
||||||
|
|
||||||
private String typicalTractionIds;
|
private String typicalOnlineIds;
|
||||||
|
|
||||||
private String typicalWindIds;
|
|
||||||
|
|
||||||
private String typicalSunIds;
|
|
||||||
|
|
||||||
private String typicalOtherIds;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建时间
|
* 创建时间
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.njcn.device.pms.pojo.po;
|
package com.njcn.prepare.harmonic.pojo.po;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
@@ -20,7 +20,7 @@ import java.time.LocalDateTime;
|
|||||||
* @author cdf
|
* @author cdf
|
||||||
* @date 2024/4/17
|
* @date 2024/4/17
|
||||||
*/
|
*/
|
||||||
@TableName(value = "pms_run_statistic_d")
|
@TableName(value = "pms_run_statistic_y")
|
||||||
@Data
|
@Data
|
||||||
public class PmsRunStatisticY {
|
public class PmsRunStatisticY {
|
||||||
|
|
||||||
@@ -51,13 +51,7 @@ public class PmsRunStatisticY {
|
|||||||
|
|
||||||
private String onlineStationIds;
|
private String onlineStationIds;
|
||||||
|
|
||||||
private String typicalTractionIds;
|
private String typicalOnlineIds;
|
||||||
|
|
||||||
private String typicalWindIds;
|
|
||||||
|
|
||||||
private String typicalSunIds;
|
|
||||||
|
|
||||||
private String typicalOtherIds;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建时间
|
* 创建时间
|
||||||
@@ -3,6 +3,7 @@ package com.njcn.prepare.harmonic.controller.dim;
|
|||||||
import cn.hutool.core.date.DatePattern;
|
import cn.hutool.core.date.DatePattern;
|
||||||
import cn.hutool.core.date.DateTime;
|
import cn.hutool.core.date.DateTime;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.date.TimeInterval;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||||
@@ -21,6 +22,9 @@ import com.njcn.prepare.harmonic.pojo.bo.BaseParam;
|
|||||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
import com.njcn.prepare.harmonic.pojo.param.DeviceAbnormaStatisticsParam;
|
import com.njcn.prepare.harmonic.pojo.param.DeviceAbnormaStatisticsParam;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.dim.*;
|
import com.njcn.prepare.harmonic.service.mysql.dim.*;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.upload.IPmsRunStatisticMService;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.upload.IPmsRunStatisticService;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.upload.IPmsRunStatisticYService;
|
||||||
import com.njcn.user.api.DeptFeignClient;
|
import com.njcn.user.api.DeptFeignClient;
|
||||||
import com.njcn.user.pojo.po.Dept;
|
import com.njcn.user.pojo.po.Dept;
|
||||||
import com.njcn.web.controller.BaseController;
|
import com.njcn.web.controller.BaseController;
|
||||||
@@ -30,8 +34,10 @@ import io.swagger.annotations.ApiImplicitParam;
|
|||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import springfox.documentation.annotations.ApiIgnore;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -70,6 +76,13 @@ public class IRDimBusGlobalDController extends BaseController {
|
|||||||
|
|
||||||
private final LiteFlowFeignClient liteFlowFeignClient;
|
private final LiteFlowFeignClient liteFlowFeignClient;
|
||||||
|
|
||||||
|
|
||||||
|
private final IPmsRunStatisticService iPmsRunStatisticService;
|
||||||
|
|
||||||
|
private final IPmsRunStatisticMService iPmsRunStatisticMService;
|
||||||
|
|
||||||
|
private final IPmsRunStatisticYService iPmsRunStatisticYService;
|
||||||
|
|
||||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
@PostMapping("/dayDimGlobal")
|
@PostMapping("/dayDimGlobal")
|
||||||
@ApiOperation("母线变电站每日运行情况统计")
|
@ApiOperation("母线变电站每日运行情况统计")
|
||||||
@@ -265,4 +278,24 @@ public class IRDimBusGlobalDController extends BaseController {
|
|||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统计每日运行测点装置详细信息
|
||||||
|
* @author cdf
|
||||||
|
* @date 2024/4/17
|
||||||
|
*/
|
||||||
|
@GetMapping("runLedgerStatistic")
|
||||||
|
@ApiOperation("统计每日运行测点装置详细信息")
|
||||||
|
@Async("asyncExecutor")
|
||||||
|
public void runLedgerStatistic(@RequestParam("date") String date) {
|
||||||
|
TimeInterval timeInterval = new TimeInterval();
|
||||||
|
iPmsRunStatisticService.statisticLedgerRunDay(date);
|
||||||
|
|
||||||
|
iPmsRunStatisticMService.statisticLedgerRunMonth(date);
|
||||||
|
|
||||||
|
iPmsRunStatisticYService.statisticLedgerRunYear(date);
|
||||||
|
|
||||||
|
System.out.println(timeInterval.intervalSecond());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package com.njcn.prepare.harmonic.mapper.mysql.line;
|
|||||||
|
|
||||||
|
|
||||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||||
import com.njcn.device.pms.pojo.po.PmsRunStatisticD;
|
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticD;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
package com.njcn.device.pms.mapper.majornetwork;
|
package com.njcn.prepare.harmonic.mapper.mysql.upload;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||||
import com.njcn.device.pms.pojo.po.PmsRunStatisticD;
|
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticD;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -1,10 +1,9 @@
|
|||||||
package com.njcn.device.pms.mapper.majornetwork;
|
package com.njcn.prepare.harmonic.mapper.mysql.upload;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||||
import com.njcn.device.pms.pojo.po.PmsRunStatisticD;
|
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticM;
|
||||||
import com.njcn.device.pms.pojo.po.PmsRunStatisticM;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -1,10 +1,9 @@
|
|||||||
package com.njcn.device.pms.mapper.majornetwork;
|
package com.njcn.prepare.harmonic.mapper.mysql.upload;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||||
import com.njcn.device.pms.pojo.po.PmsRunStatisticD;
|
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticY;
|
||||||
import com.njcn.device.pms.pojo.po.PmsRunStatisticY;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
package com.njcn.prepare.harmonic.mapper.mysql.upload;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.njcn.device.biz.pojo.dto.SubGetBase;
|
||||||
|
import com.njcn.device.biz.pojo.param.SubstationParam;
|
||||||
|
import com.njcn.device.pms.pojo.dto.PmsStatationStatInfoDTO;
|
||||||
|
import com.njcn.device.pms.pojo.param.PmsStatationStatInfoParam;
|
||||||
|
import com.njcn.device.pms.pojo.param.TerminalQueryParam;
|
||||||
|
import com.njcn.device.pms.pojo.po.StatationStat;
|
||||||
|
import com.njcn.device.pms.pojo.vo.StatationStatVO;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hongawen
|
||||||
|
* @since 2022-10-14
|
||||||
|
*/
|
||||||
|
public interface PmsStatationStatMapper extends BaseMapper<StatationStat> {
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.upload;
|
||||||
|
|
||||||
|
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticM;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2024-04-17
|
||||||
|
*/
|
||||||
|
public interface IPmsRunStatisticMService extends IMppService<PmsRunStatisticM> {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 每日统计每月
|
||||||
|
* @author cdf
|
||||||
|
* @date 2024/4/17
|
||||||
|
*/
|
||||||
|
void statisticLedgerRunMonth(String date);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package com.njcn.device.pms.service.ledgerManger;
|
package com.njcn.prepare.harmonic.service.mysql.upload;
|
||||||
|
|
||||||
|
|
||||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||||
import com.njcn.device.pms.pojo.po.PmsRunStatisticD;
|
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticD;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -22,19 +22,5 @@ public interface IPmsRunStatisticService extends IMppService<PmsRunStatisticD> {
|
|||||||
void statisticLedgerRunDay(String date);
|
void statisticLedgerRunDay(String date);
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 每日统计每月
|
|
||||||
* @author cdf
|
|
||||||
* @date 2024/4/17
|
|
||||||
*/
|
|
||||||
void statisticLedgerRunMonth(String date);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 每日统计每年
|
|
||||||
* @author cdf
|
|
||||||
* @date 2024/4/17
|
|
||||||
*/
|
|
||||||
void statisticLedgerRunYear(String date);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.upload;
|
||||||
|
|
||||||
|
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticY;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2024-04-17
|
||||||
|
*/
|
||||||
|
public interface IPmsRunStatisticYService extends IMppService<PmsRunStatisticY> {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 每日统计每年
|
||||||
|
* @author cdf
|
||||||
|
* @date 2024/4/17
|
||||||
|
*/
|
||||||
|
void statisticLedgerRunYear(String date);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,102 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.upload.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
|
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.upload.PmsRunStatisticDMapper;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.upload.PmsRunStatisticMMapper;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticD;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticM;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.upload.IPmsRunStatisticMService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.ZoneId;
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2024-04-17
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class PmsRunStatisticMServiceImpl extends MppServiceImpl<PmsRunStatisticMMapper, PmsRunStatisticM> implements IPmsRunStatisticMService {
|
||||||
|
|
||||||
|
private final PmsRunStatisticDMapper pmsRunStatisticDMapper;
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void statisticLedgerRunMonth(String date) {
|
||||||
|
List<PmsRunStatisticM> poList = new ArrayList<>();
|
||||||
|
DateTime begin = DateUtil.beginOfMonth(DateUtil.parse(date));
|
||||||
|
DateTime end = DateUtil.endOfMonth(DateUtil.parse(date));
|
||||||
|
|
||||||
|
ZoneId zoneId = ZoneId.systemDefault();
|
||||||
|
LocalDate localDate = begin.toInstant().atZone(zoneId).toLocalDate();
|
||||||
|
|
||||||
|
LambdaQueryWrapper<PmsRunStatisticD> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
lambdaQueryWrapper.between(PmsRunStatisticD::getStatisticDate,begin,end);
|
||||||
|
List<PmsRunStatisticD> pmsRunStatisticDList = pmsRunStatisticDMapper.selectList(lambdaQueryWrapper);
|
||||||
|
Map<String,List<PmsRunStatisticD>> map = pmsRunStatisticDList.stream().collect(Collectors.groupingBy(PmsRunStatisticD::getDeptId));
|
||||||
|
|
||||||
|
map.forEach((key,val)->{
|
||||||
|
PmsRunStatisticM pmsRunStatisticM = new PmsRunStatisticM();
|
||||||
|
pmsRunStatisticM.setDeptId(key);
|
||||||
|
pmsRunStatisticM.setStatisticDate(localDate);
|
||||||
|
|
||||||
|
Set<String> pointSet = new HashSet<>();
|
||||||
|
Set<String> pointOnlineSet = new HashSet<>();
|
||||||
|
|
||||||
|
Set<String> busSet = new HashSet<>();
|
||||||
|
Set<String> stationSet = new HashSet<>();
|
||||||
|
|
||||||
|
Set<String> typicalSet = new HashSet<>();
|
||||||
|
val.forEach(item->{
|
||||||
|
if(StrUtil.isNotBlank(item.getRunMonitorIds())){
|
||||||
|
pointSet.addAll(Arrays.asList(item.getRunMonitorIds().split(StrUtil.COMMA)));
|
||||||
|
}
|
||||||
|
if(StrUtil.isNotBlank(item.getOnlineMonitorIds())){
|
||||||
|
pointOnlineSet.addAll(Arrays.asList(item.getOnlineMonitorIds().split(StrUtil.COMMA)));
|
||||||
|
}
|
||||||
|
if(StrUtil.isNotBlank(item.getOnlineBusIds())){
|
||||||
|
busSet.addAll(Arrays.asList(item.getOnlineBusIds().split(StrUtil.COMMA)));
|
||||||
|
}
|
||||||
|
if(StrUtil.isNotBlank(item.getOnlineStationIds())){
|
||||||
|
stationSet.addAll(Arrays.asList(item.getOnlineStationIds().split(StrUtil.COMMA)));
|
||||||
|
}
|
||||||
|
|
||||||
|
if(StrUtil.isNotBlank(item.getTypicalOnlineIds())){
|
||||||
|
typicalSet.addAll(Arrays.asList(item.getTypicalOnlineIds().split(StrUtil.COMMA)));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
pmsRunStatisticM.setRunMonitorIds(String.join(StrUtil.COMMA,pointSet));
|
||||||
|
pmsRunStatisticM.setOnlineMonitorIds(String.join(StrUtil.COMMA,pointOnlineSet));
|
||||||
|
pmsRunStatisticM.setOnlineBusIds(String.join(StrUtil.COMMA,busSet));
|
||||||
|
pmsRunStatisticM.setOnlineStationIds(String.join(StrUtil.COMMA,stationSet));
|
||||||
|
|
||||||
|
pmsRunStatisticM.setTypicalOnlineIds(String.join(StrUtil.COMMA,typicalSet));
|
||||||
|
|
||||||
|
//月在运母线,电站数量取日的最大值
|
||||||
|
int temBus = val.stream().map(PmsRunStatisticD::getRunBusNum).filter(Objects::nonNull).max(Integer::compareTo).orElse(0);
|
||||||
|
int temStation = val.stream().map(PmsRunStatisticD::getRunStationNum).filter(Objects::nonNull).max(Integer::compareTo).orElse(0);
|
||||||
|
pmsRunStatisticM.setRunBusNum(temBus);
|
||||||
|
pmsRunStatisticM.setRunStationNum(temStation);
|
||||||
|
poList.add(pmsRunStatisticM);
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
this.saveOrUpdateBatchByMultiId(poList);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,21 +1,25 @@
|
|||||||
package com.njcn.device.pms.service.ledgerManger.impl;
|
package com.njcn.prepare.harmonic.service.mysql.upload.impl;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import cn.hutool.core.date.DateTime;
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||||
|
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||||
import com.njcn.device.pms.mapper.majornetwork.*;
|
import com.njcn.device.pms.pojo.po.Monitor;
|
||||||
import com.njcn.device.pms.pojo.po.*;
|
import com.njcn.device.pms.pojo.po.PmsMidLedger;
|
||||||
import com.njcn.device.pms.service.ledgerManger.CommTerminalService;
|
import com.njcn.device.pms.pojo.po.StatationStat;
|
||||||
import com.njcn.device.pms.service.ledgerManger.IPmsRunStatisticService;
|
|
||||||
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.area.PmsMonitorPOMapper;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.day.RStatIntegrityDMapper;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.dim.PmsMidLedgerMapper;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.upload.PmsRunStatisticDMapper;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.upload.PmsStatationStatMapper;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticD;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.upload.IPmsRunStatisticService;
|
||||||
import com.njcn.system.api.DicDataFeignClient;
|
import com.njcn.system.api.DicDataFeignClient;
|
||||||
import com.njcn.system.api.DictTreeFeignClient;
|
import com.njcn.system.api.DictTreeFeignClient;
|
||||||
import com.njcn.system.enums.DicDataEnum;
|
import com.njcn.system.enums.DicDataEnum;
|
||||||
@@ -33,7 +37,6 @@ import java.time.LocalDate;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.Stream;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -47,7 +50,7 @@ import java.util.stream.Stream;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class PmsRunStatisticServiceImpl extends MppServiceImpl<PmsRunStatisticDMapper, PmsRunStatisticD> implements IPmsRunStatisticService {
|
public class PmsRunStatisticServiceImpl extends MppServiceImpl<PmsRunStatisticDMapper, PmsRunStatisticD> implements IPmsRunStatisticService {
|
||||||
|
|
||||||
private final CommTerminalService commTerminalService;
|
|
||||||
|
|
||||||
private final DeptFeignClient deptFeignClient;
|
private final DeptFeignClient deptFeignClient;
|
||||||
|
|
||||||
@@ -57,11 +60,18 @@ public class PmsRunStatisticServiceImpl extends MppServiceImpl<PmsRunStatisticDM
|
|||||||
|
|
||||||
private final DicDataFeignClient dicDataFeignClient;
|
private final DicDataFeignClient dicDataFeignClient;
|
||||||
|
|
||||||
private final MonitorMapper monitorMapper;
|
|
||||||
|
|
||||||
private final DictTreeFeignClient dictTreeFeignClient;
|
private final DictTreeFeignClient dictTreeFeignClient;
|
||||||
|
|
||||||
private final StatationStatMapper statationStatMapper;
|
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
||||||
|
|
||||||
|
private final PmsMonitorPOMapper pmsMonitorPOMapper;
|
||||||
|
|
||||||
|
private final PmsStatationStatMapper pmsStatationStatMapper;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -72,7 +82,7 @@ public class PmsRunStatisticServiceImpl extends MppServiceImpl<PmsRunStatisticDM
|
|||||||
deptGetLineParam.setDeptId(dept.getId());
|
deptGetLineParam.setDeptId(dept.getId());
|
||||||
deptGetLineParam.setIsUpToGrid(1);
|
deptGetLineParam.setIsUpToGrid(1);
|
||||||
|
|
||||||
List<DeptGetChildrenMoreDTO> deptGetChildrenMoreDTOList = commTerminalService.deptGetLine(deptGetLineParam);
|
List<DeptGetChildrenMoreDTO> deptGetChildrenMoreDTOList = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData();
|
||||||
List<PmsRunStatisticD> poList = new ArrayList<>();
|
List<PmsRunStatisticD> poList = new ArrayList<>();
|
||||||
|
|
||||||
//获取在运母线,在运电站数量
|
//获取在运母线,在运电站数量
|
||||||
@@ -81,9 +91,9 @@ public class PmsRunStatisticServiceImpl extends MppServiceImpl<PmsRunStatisticDM
|
|||||||
|
|
||||||
//获取在运,符合上送国网的测点,用于过滤监测母线,监测电站
|
//获取在运,符合上送国网的测点,用于过滤监测母线,监测电站
|
||||||
DictData dictData = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.RUN.getCode(),DicDataTypeEnum.LINE_STATE.getCode()).getData();
|
DictData dictData = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.RUN.getCode(),DicDataTypeEnum.LINE_STATE.getCode()).getData();
|
||||||
List<Monitor> monitorList = monitorMapper.selectList(new LambdaQueryWrapper<Monitor>().eq(Monitor::getMonitorState,dictData.getId()).eq(Monitor::getIsUpToGrid,DataStateEnum.ENABLE.getCode()));
|
List<Monitor> monitorList = pmsMonitorPOMapper.selectList(new LambdaQueryWrapper<Monitor>().eq(Monitor::getMonitorState,dictData.getId()).eq(Monitor::getIsUpToGrid,DataStateEnum.ENABLE.getCode()));
|
||||||
|
|
||||||
List<StatationStat> statationStatList = statationStatMapper.selectList(new LambdaQueryWrapper<StatationStat>().isNotNull(StatationStat::getMidStationId));
|
List<StatationStat> statationStatList = pmsStatationStatMapper.selectList(new LambdaQueryWrapper<StatationStat>().isNotNull(StatationStat::getMidStationId));
|
||||||
|
|
||||||
|
|
||||||
//数据完整性
|
//数据完整性
|
||||||
@@ -91,28 +101,13 @@ public class PmsRunStatisticServiceImpl extends MppServiceImpl<PmsRunStatisticDM
|
|||||||
|
|
||||||
//对象类型
|
//对象类型
|
||||||
List<SysDicTreePO> sysdictreepo = dictTreeFeignClient.queryAll().getData();
|
List<SysDicTreePO> sysdictreepo = dictTreeFeignClient.queryAll().getData();
|
||||||
List<String> windfarm_user = Stream.of(DicDataEnum.WINDPOWER_STATION.getCode()).collect(Collectors.toList());
|
|
||||||
List<String> photovoltaicsit_eusers = Stream.of(DicDataEnum.PHOTOVOLTAIC_POWER_STATION.getCode()).collect(Collectors.toList());
|
|
||||||
List<String> tractionstation = Stream.of(DicDataEnum.ELECTRIFIED_RAILWAY.getCode()).collect(Collectors.toList());
|
|
||||||
|
|
||||||
DictTreeVO dictTreeVO = dictTreeFeignClient.queryByCode(DicTreeEnum.Imp_Users.getCode()).getData();
|
DictTreeVO dictTreeVO = dictTreeFeignClient.queryByCode(DicTreeEnum.Imp_Users.getCode()).getData();
|
||||||
List<DictTreeVO> dictTreeVOList = dictTreeFeignClient.query(dictTreeVO.getId()).getData();
|
List<DictTreeVO> dictTreeVOList = dictTreeFeignClient.query(dictTreeVO.getId()).getData();
|
||||||
List<String> importUser = dictTreeVOList.stream().map(DictTreeVO::getCode).distinct().collect(Collectors.toList());
|
List<String> importUser = dictTreeVOList.stream().map(DictTreeVO::getCode).distinct().collect(Collectors.toList());
|
||||||
importUser.add(dictTreeVO.getCode());
|
importUser.add(dictTreeVO.getCode());
|
||||||
|
|
||||||
|
|
||||||
List<String> windfarm_user_dict = sysdictreepo.stream().filter(temp -> windfarm_user.contains(temp.getCode())).map(SysDicTreePO::getId).collect(Collectors.toList());
|
|
||||||
List<String> photovoltaicsit_eusers_dict = sysdictreepo.stream().filter(temp -> photovoltaicsit_eusers.contains(temp.getCode())).map(SysDicTreePO::getId).collect(Collectors.toList());
|
|
||||||
List<String> tractionstation_dict = sysdictreepo.stream().filter(temp -> tractionstation.contains(temp.getCode())).map(SysDicTreePO::getId).collect(Collectors.toList());
|
|
||||||
List<String> import_dict = sysdictreepo.stream().filter(temp -> importUser.contains(temp.getCode())).map(SysDicTreePO::getId).collect(Collectors.toList());
|
List<String> import_dict = sysdictreepo.stream().filter(temp -> importUser.contains(temp.getCode())).map(SysDicTreePO::getId).collect(Collectors.toList());
|
||||||
|
|
||||||
List<String> un_other_interferencesource_users_dict = new ArrayList<>();
|
|
||||||
un_other_interferencesource_users_dict.addAll(photovoltaicsit_eusers_dict);
|
|
||||||
un_other_interferencesource_users_dict.addAll(tractionstation_dict);
|
|
||||||
un_other_interferencesource_users_dict.addAll(windfarm_user_dict);
|
|
||||||
un_other_interferencesource_users_dict.addAll(import_dict);
|
|
||||||
|
|
||||||
|
|
||||||
//遍历每个部门
|
//遍历每个部门
|
||||||
for(DeptGetChildrenMoreDTO dto : deptGetChildrenMoreDTOList){
|
for(DeptGetChildrenMoreDTO dto : deptGetChildrenMoreDTOList){
|
||||||
List<String> childrenDept = dto.getUnitChildrenList();
|
List<String> childrenDept = dto.getUnitChildrenList();
|
||||||
@@ -142,34 +137,16 @@ public class PmsRunStatisticServiceImpl extends MppServiceImpl<PmsRunStatisticDM
|
|||||||
pmsRunStatisticD.setOnlineStationIds(String.join(StrUtil.COMMA, runStationIds));
|
pmsRunStatisticD.setOnlineStationIds(String.join(StrUtil.COMMA, runStationIds));
|
||||||
|
|
||||||
//典型统计
|
//典型统计
|
||||||
List<String> windPointIds = dto.getLineBaseList().stream().filter(it->windfarm_user_dict.contains(it.getObjType())).map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
List<String> typicalOnlineIds = dto.getLineBaseList().stream().filter(it->!import_dict.contains(it.getObjType())).map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
||||||
List<String> sunPointIds = dto.getLineBaseList().stream().filter(it->photovoltaicsit_eusers_dict.contains(it.getObjType())).map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
pmsRunStatisticD.setTypicalOnlineIds(String.join(StrUtil.COMMA, typicalOnlineIds));
|
||||||
List<String> tractionPointIds = dto.getLineBaseList().stream().filter(it->tractionstation_dict.contains(it.getObjType())).map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
|
||||||
List<String> otherPointIds = dto.getLineBaseList().stream().filter(it->!un_other_interferencesource_users_dict.contains(it.getObjType())).map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
|
||||||
pmsRunStatisticD.setTypicalWindIds(String.join(StrUtil.COMMA, windPointIds));
|
|
||||||
pmsRunStatisticD.setTypicalSunIds(String.join(StrUtil.COMMA, sunPointIds));
|
|
||||||
pmsRunStatisticD.setTypicalTractionIds(String.join(StrUtil.COMMA, tractionPointIds));
|
|
||||||
pmsRunStatisticD.setTypicalOtherIds(String.join(StrUtil.COMMA, otherPointIds));
|
|
||||||
poList.add(pmsRunStatisticD);
|
poList.add(pmsRunStatisticD);
|
||||||
}
|
}
|
||||||
this.saveBatch(poList);
|
this.saveOrUpdateBatchByMultiId(poList);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void statisticLedgerRunMonth(String date) {
|
|
||||||
DateTime begin = DateUtil.beginOfMonth(DateUtil.parse(date));
|
|
||||||
DateTime end = DateUtil.endOfMonth(DateUtil.parse(date));
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void statisticLedgerRunYear(String date) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取中台母线电站信息
|
* 获取中台母线电站信息
|
||||||
*/
|
*/
|
||||||
@@ -0,0 +1,105 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.upload.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.upload.PmsRunStatisticMMapper;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.upload.PmsRunStatisticYMapper;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticM;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticY;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.upload.IPmsRunStatisticYService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.ZoneId;
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author cdf
|
||||||
|
* @since 2024-04-17
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class PmsRunStatisticYServiceImpl extends MppServiceImpl<PmsRunStatisticYMapper, PmsRunStatisticY> implements IPmsRunStatisticYService {
|
||||||
|
|
||||||
|
private final PmsRunStatisticMMapper pmsRunStatisticMMapper;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void statisticLedgerRunYear(String date) {
|
||||||
|
List<PmsRunStatisticY> poList = new ArrayList<>();
|
||||||
|
DateTime begin = DateUtil.beginOfYear(DateUtil.parse(date));
|
||||||
|
DateTime end = DateUtil.endOfYear(DateUtil.parse(date));
|
||||||
|
|
||||||
|
ZoneId zoneId = ZoneId.systemDefault();
|
||||||
|
LocalDate localDate = begin.toInstant().atZone(zoneId).toLocalDate();
|
||||||
|
|
||||||
|
LambdaQueryWrapper<PmsRunStatisticM> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
lambdaQueryWrapper.between(PmsRunStatisticM::getStatisticDate,begin,end);
|
||||||
|
List<PmsRunStatisticM> pmsRunStatisticDList = pmsRunStatisticMMapper.selectList(lambdaQueryWrapper);
|
||||||
|
Map<String,List<PmsRunStatisticM>> map = pmsRunStatisticDList.stream().collect(Collectors.groupingBy(PmsRunStatisticM::getDeptId));
|
||||||
|
|
||||||
|
map.forEach((key,val)->{
|
||||||
|
PmsRunStatisticY pmsRunStatisticY = new PmsRunStatisticY();
|
||||||
|
pmsRunStatisticY.setDeptId(key);
|
||||||
|
pmsRunStatisticY.setStatisticDate(localDate);
|
||||||
|
|
||||||
|
Set<String> pointSet = new HashSet<>();
|
||||||
|
Set<String> pointOnlineSet = new HashSet<>();
|
||||||
|
|
||||||
|
Set<String> busSet = new HashSet<>();
|
||||||
|
Set<String> stationSet = new HashSet<>();
|
||||||
|
|
||||||
|
Set<String> typicalSet = new HashSet<>();
|
||||||
|
val.forEach(item->{
|
||||||
|
if(StrUtil.isNotBlank(item.getRunMonitorIds())){
|
||||||
|
pointSet.addAll(Arrays.asList(item.getRunMonitorIds().split(StrUtil.COMMA)));
|
||||||
|
}
|
||||||
|
if(StrUtil.isNotBlank(item.getOnlineMonitorIds())){
|
||||||
|
pointOnlineSet.addAll(Arrays.asList(item.getOnlineMonitorIds().split(StrUtil.COMMA)));
|
||||||
|
}
|
||||||
|
if(StrUtil.isNotBlank(item.getOnlineBusIds())){
|
||||||
|
busSet.addAll(Arrays.asList(item.getOnlineBusIds().split(StrUtil.COMMA)));
|
||||||
|
}
|
||||||
|
if(StrUtil.isNotBlank(item.getOnlineStationIds())){
|
||||||
|
stationSet.addAll(Arrays.asList(item.getOnlineStationIds().split(StrUtil.COMMA)));
|
||||||
|
}
|
||||||
|
|
||||||
|
if(StrUtil.isNotBlank(item.getTypicalOnlineIds())){
|
||||||
|
typicalSet.addAll(Arrays.asList(item.getTypicalOnlineIds().split(StrUtil.COMMA)));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
pmsRunStatisticY.setRunMonitorIds(String.join(StrUtil.COMMA,pointSet));
|
||||||
|
pmsRunStatisticY.setOnlineMonitorIds(String.join(StrUtil.COMMA,pointOnlineSet));
|
||||||
|
pmsRunStatisticY.setOnlineBusIds(String.join(StrUtil.COMMA,busSet));
|
||||||
|
pmsRunStatisticY.setOnlineStationIds(String.join(StrUtil.COMMA,stationSet));
|
||||||
|
|
||||||
|
pmsRunStatisticY.setTypicalOnlineIds(String.join(StrUtil.COMMA,typicalSet));
|
||||||
|
|
||||||
|
//月在运母线,电站数量取日的最大值
|
||||||
|
int temBus = val.stream().map(PmsRunStatisticM::getRunBusNum).filter(Objects::nonNull).max(Integer::compareTo).orElse(0);
|
||||||
|
int temStation = val.stream().map(PmsRunStatisticM::getRunStationNum).filter(Objects::nonNull).max(Integer::compareTo).orElse(0);
|
||||||
|
pmsRunStatisticY.setRunBusNum(temBus);
|
||||||
|
pmsRunStatisticY.setRunStationNum(temStation);
|
||||||
|
poList.add(pmsRunStatisticY);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
this.saveOrUpdateBatchByMultiId(poList);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -12,7 +12,6 @@ import com.njcn.device.biz.commApi.CommLineClient;
|
|||||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||||
import com.njcn.device.biz.pojo.dto.LineDTO;
|
import com.njcn.device.biz.pojo.dto.LineDTO;
|
||||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||||
import com.njcn.device.pms.pojo.po.PmsRunStatisticD;
|
|
||||||
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
||||||
import com.njcn.harmonic.pojo.po.upload.RUploadPointStatisticalDataD;
|
import com.njcn.harmonic.pojo.po.upload.RUploadPointStatisticalDataD;
|
||||||
import com.njcn.prepare.harmonic.enums.UploadEnum;
|
import com.njcn.prepare.harmonic.enums.UploadEnum;
|
||||||
@@ -20,6 +19,7 @@ import com.njcn.prepare.harmonic.mapper.mysql.day.RStatIntegrityDMapper;
|
|||||||
import com.njcn.prepare.harmonic.mapper.mysql.line.PmsRunStatisticMapper;
|
import com.njcn.prepare.harmonic.mapper.mysql.line.PmsRunStatisticMapper;
|
||||||
import com.njcn.prepare.harmonic.mapper.mysql.upload.RUploadPointStatisticalDataDMapper;
|
import com.njcn.prepare.harmonic.mapper.mysql.upload.RUploadPointStatisticalDataDMapper;
|
||||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.PmsRunStatisticD;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.upload.IRUploadPointStatisticalDataDService;
|
import com.njcn.prepare.harmonic.service.mysql.upload.IRUploadPointStatisticalDataDService;
|
||||||
import com.njcn.system.api.DicDataFeignClient;
|
import com.njcn.system.api.DicDataFeignClient;
|
||||||
import com.njcn.system.api.DictTreeFeignClient;
|
import com.njcn.system.api.DictTreeFeignClient;
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import cn.hutool.core.date.DatePattern;
|
|||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||||
|
import com.njcn.prepare.harmonic.api.upload.DimBusGlobalFeignClient;
|
||||||
import com.njcn.system.timer.TimerTaskRunner;
|
import com.njcn.system.timer.TimerTaskRunner;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@@ -18,13 +19,13 @@ import org.springframework.stereotype.Component;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class PmsRunStatisticTaskRunner implements TimerTaskRunner {
|
public class PmsRunStatisticTaskRunner implements TimerTaskRunner {
|
||||||
|
|
||||||
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
private final DimBusGlobalFeignClient dimBusGlobalFeignClient;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void action(String date) {
|
public void action(String date) {
|
||||||
if(StrUtil.isBlank(date)){
|
if(StrUtil.isBlank(date)){
|
||||||
date = DateUtil.format(DateUtil.yesterday(),DatePattern.NORM_DATE_PATTERN);
|
date = DateUtil.format(DateUtil.yesterday(),DatePattern.NORM_DATE_PATTERN);
|
||||||
}
|
}
|
||||||
commTerminalGeneralClient.runLedgerStatistic(date);
|
dimBusGlobalFeignClient.runLedgerStatistic(date);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import org.springframework.stereotype.Component;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* pqs
|
* pqs
|
||||||
*
|
* 每日定时统计河北两级贯通接口主网数据,用于后续定时上送国网
|
||||||
* @author cdf
|
* @author cdf
|
||||||
* @date 2024/2/22
|
* @date 2024/2/22
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user