代码提交
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
package com.njcn.harmonic.pojo.po.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("r_dim_monitor_rate_d")
|
||||
public class RDimMonitorRateD{
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@MppMultiId
|
||||
private String orgId;
|
||||
|
||||
@MppMultiId
|
||||
private LocalDate statisDate;
|
||||
|
||||
/**
|
||||
* 母线监测率(%)
|
||||
*/
|
||||
private Float busMonitorRate;
|
||||
|
||||
private Float stationMonitorRate;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.njcn.harmonic.pojo.po.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("r_dim_monitor_rate_m")
|
||||
public class RDimMonitorRateM {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@MppMultiId
|
||||
private String orgId;
|
||||
@MppMultiId
|
||||
private LocalDate statisDate;
|
||||
|
||||
/**
|
||||
* 母线监测率(%)
|
||||
*/
|
||||
private Float busMonitorRate;
|
||||
|
||||
private Float stationMonitorRate;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.njcn.harmonic.pojo.po.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("r_dim_monitor_rate_y")
|
||||
public class RDimMonitorRateY{
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
@MppMultiId
|
||||
private String orgId;
|
||||
@MppMultiId
|
||||
private LocalDate statisDate;
|
||||
|
||||
/**
|
||||
* 母线监测率(%)
|
||||
*/
|
||||
private Float busMonitorRate;
|
||||
|
||||
private Float stationMonitorRate;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.njcn.harmonic.pojo.po.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("r_dim_obj_rate_d")
|
||||
public class RDimObjRateD{
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
@MppMultiId
|
||||
private String orgId;
|
||||
@MppMultiId
|
||||
private LocalDate statisDate;
|
||||
|
||||
/**
|
||||
* 源荷对象类别
|
||||
*/
|
||||
@MppMultiId
|
||||
private String objType;
|
||||
|
||||
/**
|
||||
* **源荷对象监测率(%)
|
||||
*/
|
||||
private Float objMonitorRate;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.njcn.harmonic.pojo.po.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("r_dim_obj_rate_m")
|
||||
public class RDimObjRateM{
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
@MppMultiId
|
||||
private String orgId;
|
||||
@MppMultiId
|
||||
private LocalDate statisDate;
|
||||
|
||||
/**
|
||||
* 源荷对象类别
|
||||
*/
|
||||
@MppMultiId
|
||||
private String objType;
|
||||
|
||||
/**
|
||||
* **源荷对象监测率(%)
|
||||
*/
|
||||
private Float objMonitorRate;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.njcn.harmonic.pojo.po.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("r_dim_obj_rate_y")
|
||||
public class RDimObjRateY{
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
@MppMultiId
|
||||
private String orgId;
|
||||
@MppMultiId
|
||||
private LocalDate statisDate;
|
||||
|
||||
/**
|
||||
* 源荷对象类别
|
||||
*/
|
||||
@MppMultiId
|
||||
private String objType;
|
||||
|
||||
/**
|
||||
* **源荷对象监测率(%)
|
||||
*/
|
||||
private Float objMonitorRate;
|
||||
|
||||
|
||||
}
|
||||
@@ -5,10 +5,15 @@ import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||
import com.njcn.prepare.harmonic.pojo.param.DeviceAbnormaStatisticsParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusGlobalDService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.*;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.po.Dept;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
@@ -20,6 +25,9 @@ import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* pqs
|
||||
*
|
||||
@@ -36,6 +44,22 @@ public class IRDimBusGlobalDController extends BaseController {
|
||||
|
||||
private final IRDimBusGlobalDService irDimBusGlobalDService;
|
||||
|
||||
private final IRDimMonitorRateDService irDimMonitorRateDService;
|
||||
|
||||
private final IRDimMonitorRateMService irDimMonitorRateMService;
|
||||
|
||||
private final IRDimObjRateDService irDimObjRateDService;
|
||||
|
||||
private final IRDimObjRateMService irDimObjRateMService;
|
||||
|
||||
private final IRDimObjRateYService irDimObjRateYService;
|
||||
|
||||
private final IRDimMonitorRateYService irDimMonitorRateYService;
|
||||
|
||||
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
||||
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/dayDimGlobal")
|
||||
@ApiOperation("母线变电站每日运行情况统计")
|
||||
@@ -48,4 +72,56 @@ public class IRDimBusGlobalDController extends BaseController {
|
||||
|
||||
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/monitorRate")
|
||||
@ApiOperation("母线变电站监测率统计")
|
||||
@ApiImplicitParam(name = "calculatedParam", value = "参数", required = true)
|
||||
public HttpResult<Boolean> monitorRate(@RequestBody CalculatedParam calculatedParam) {
|
||||
String methodDescribe = getMethodDescribe("monitorRate");
|
||||
|
||||
Dept data = deptFeignClient.getRootDept().getData();
|
||||
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
||||
deptGetLineParam.setDeptId(data.getId());
|
||||
deptGetLineParam.setSystemType(0);
|
||||
List<DeptGetChildrenDTO> dept = commTerminalGeneralClient.deptGetLineList(deptGetLineParam).getData();
|
||||
calculatedParam.setIdList(dept);
|
||||
calculatedParam.setDataDate("2023-11-22");
|
||||
|
||||
irDimMonitorRateDService.monitorRateDay(calculatedParam);
|
||||
|
||||
|
||||
irDimMonitorRateMService.monitorRateMonth(calculatedParam);
|
||||
|
||||
|
||||
irDimMonitorRateYService.monitorRateYear(calculatedParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/objMonitorRate")
|
||||
@ApiOperation("源荷类型监测率统计")
|
||||
@ApiImplicitParam(name = "calculatedParam", value = "参数", required = true)
|
||||
public HttpResult<Boolean> objMonitorRate(@RequestBody CalculatedParam calculatedParam) {
|
||||
String methodDescribe = getMethodDescribe("objMonitorRate");
|
||||
|
||||
Dept data = deptFeignClient.getRootDept().getData();
|
||||
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
||||
deptGetLineParam.setDeptId(data.getId());
|
||||
deptGetLineParam.setSystemType(0);
|
||||
List<DeptGetChildrenDTO> dept = commTerminalGeneralClient.deptGetLineList(deptGetLineParam).getData();
|
||||
calculatedParam.setIdList(dept);
|
||||
|
||||
|
||||
irDimObjRateDService.objMonitorRateDay(calculatedParam);
|
||||
|
||||
|
||||
irDimObjRateMService.objMonitorRateMonth(calculatedParam);
|
||||
|
||||
|
||||
irDimObjRateYService.objMonitorRateYear(calculatedParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateD;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
public interface RDimMonitorRateDMapper extends MppBaseMapper<RDimMonitorRateD> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateM;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
public interface RDimMonitorRateMMapper extends MppBaseMapper<RDimMonitorRateM> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateY;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
public interface RDimMonitorRateYMapper extends MppBaseMapper<RDimMonitorRateY> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimObjRateD;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
public interface RDimObjRateDMapper extends MppBaseMapper<RDimObjRateD> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimObjRateM;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
public interface RDimObjRateMMapper extends MppBaseMapper<RDimObjRateM> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimObjRateY;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
public interface RDimObjRateYMapper extends MppBaseMapper<RDimObjRateY> {
|
||||
|
||||
}
|
||||
@@ -25,4 +25,6 @@ public interface IRDimBusGlobalDService extends IMppService<RDimBusGlobalD> {
|
||||
|
||||
void globalCalBusBarYear(CalculatedParam<DeptGetChildrenDTO> calculatedParam);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateD;
|
||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
public interface IRDimMonitorRateDService extends IMppService<RDimMonitorRateD> {
|
||||
|
||||
/**
|
||||
* 母线,电站监测率
|
||||
* @author cdf
|
||||
* @date 2023/11/23
|
||||
*/
|
||||
void monitorRateDay(CalculatedParam<DeptGetChildrenDTO> calculatedParam);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateM;
|
||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
public interface IRDimMonitorRateMService extends IMppService<RDimMonitorRateM> {
|
||||
/**
|
||||
* 母线,电站监测率
|
||||
* @author cdf
|
||||
* @date 2023/11/23
|
||||
*/
|
||||
void monitorRateMonth(CalculatedParam<DeptGetChildrenDTO> calculatedParam);
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateY;
|
||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
public interface IRDimMonitorRateYService extends IMppService<RDimMonitorRateY> {
|
||||
|
||||
void monitorRateYear(CalculatedParam<DeptGetChildrenDTO> calculatedParam);
|
||||
|
||||
}
|
||||
@@ -1,7 +1,9 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimObjGlobalD;
|
||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimObjRateD;
|
||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
public interface IRDimObjRateDService extends IMppService<RDimObjRateD> {
|
||||
|
||||
/**
|
||||
* 源荷对象监测率
|
||||
* @author cdf
|
||||
* @date 2023/11/23
|
||||
*/
|
||||
void objMonitorRateDay(CalculatedParam<DeptGetChildrenDTO> calculatedParam);
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimObjRateM;
|
||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
public interface IRDimObjRateMService extends IMppService<RDimObjRateM> {
|
||||
|
||||
/**
|
||||
* 源荷对象监测率
|
||||
* @author cdf
|
||||
* @date 2023/11/23
|
||||
*/
|
||||
void objMonitorRateMonth(CalculatedParam<DeptGetChildrenDTO> calculatedParam);
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimObjRateY;
|
||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
public interface IRDimObjRateYService extends IMppService<RDimObjRateY> {
|
||||
|
||||
/**
|
||||
* 源荷对象监测率
|
||||
* @author cdf
|
||||
* @date 2023/11/23
|
||||
*/
|
||||
void objMonitorRateYear(CalculatedParam<DeptGetChildrenDTO> calculatedParam);
|
||||
}
|
||||
@@ -21,14 +21,18 @@ import com.njcn.device.pms.pojo.po.Monitor;
|
||||
import com.njcn.harmonic.pojo.po.RMpEventDetailDPO;
|
||||
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimBusGlobalD;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateD;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.area.PmsMonitorPOMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.area.ROperatingIndexDPOMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.day.RStatIntegrityDMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.day.RStatLimitTargetDMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.GeneratrixWireMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.PmsCountLedgerMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimBusGlobalDMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.RMpEventDetailDMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.ROperatingMonitorDMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||
import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorDPO;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimBusGlobalDService;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.po.Dept;
|
||||
@@ -75,6 +79,9 @@ public class RDimBusGlobalDServiceImpl extends MppServiceImpl<RDimBusGlobalDMapp
|
||||
private final PmsCountLedgerMapper pmsCountLedgerMapper;
|
||||
|
||||
|
||||
private final ROperatingMonitorDMapper rOperatingMonitorDMapper;
|
||||
|
||||
|
||||
/**
|
||||
* 本算法只有pms使用到,只针对pms主网测点
|
||||
*
|
||||
@@ -248,4 +255,6 @@ public class RDimBusGlobalDServiceImpl extends MppServiceImpl<RDimBusGlobalDMapp
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,118 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||
import com.njcn.device.pms.pojo.po.Monitor;
|
||||
import com.njcn.device.pms.pojo.po.PmsCountLedger;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateD;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.area.PmsMonitorPOMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.PmsCountLedgerMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimMonitorRateDMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.ROperatingMonitorDMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||
import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorDPO;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimMonitorRateDService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class RDimMonitorRateDServiceImpl extends MppServiceImpl<RDimMonitorRateDMapper, RDimMonitorRateD> implements IRDimMonitorRateDService {
|
||||
|
||||
private final PmsCountLedgerMapper pmsCountLedgerMapper;
|
||||
|
||||
private final ROperatingMonitorDMapper rOperatingMonitorDMapper;
|
||||
|
||||
private final PmsMonitorPOMapper pmsMonitorPOMapper;
|
||||
|
||||
@Override
|
||||
public void monitorRateDay(CalculatedParam<DeptGetChildrenDTO> calculatedParam) {
|
||||
List<RDimMonitorRateD> poList = new ArrayList<>();
|
||||
LocalDate date = LocalDate.parse(calculatedParam.getDataDate());
|
||||
|
||||
List<PmsCountLedger> pmsMidLedgerList = pmsCountLedgerMapper.newDateData();
|
||||
Map<String, PmsCountLedger> map = pmsMidLedgerList.stream().collect(Collectors.toMap(PmsCountLedger::getSection, Function.identity()));
|
||||
|
||||
List<DeptGetChildrenDTO> deptList = calculatedParam.getIdList();
|
||||
for (DeptGetChildrenDTO dto : deptList) {
|
||||
Float busMonitorRate = 0f;
|
||||
Float stationMonitorRate = 0f;
|
||||
RDimMonitorRateD rDimMonitorRateD = new RDimMonitorRateD();
|
||||
rDimMonitorRateD.setOrgId(dto.getDeptId());
|
||||
rDimMonitorRateD.setStatisDate(date);
|
||||
|
||||
List<String> monitorIds = dto.getLineIds();
|
||||
if (CollUtil.isEmpty(monitorIds)) {
|
||||
rDimMonitorRateD.setBusMonitorRate(busMonitorRate);
|
||||
rDimMonitorRateD.setStationMonitorRate(stationMonitorRate);
|
||||
poList.add(rDimMonitorRateD);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (map.containsKey(dto.getDeptId())) {
|
||||
PmsCountLedger pmsCountLedger = map.get(dto.getDeptId());
|
||||
Integer stationNum = pmsCountLedger.getSubCount();
|
||||
Integer busBarNum = pmsCountLedger.getSubvCount();
|
||||
|
||||
LambdaQueryWrapper<ROperatingMonitorDPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(ROperatingMonitorDPO::getDataDate, date).in(ROperatingMonitorDPO::getMeasurementPointId, monitorIds);
|
||||
List<ROperatingMonitorDPO> rOperatingMonitorDPOList = rOperatingMonitorDMapper.selectList(lambdaQueryWrapper);
|
||||
|
||||
|
||||
List<ROperatingMonitorDPO> goodList = rOperatingMonitorDPOList.stream().filter(item -> item.getIsUnusual() == 0 && item.getIndexIntegrityRate().floatValue() >= 0.95).collect(Collectors.toList());
|
||||
List<String> ids = goodList.stream().map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(ids)) {
|
||||
|
||||
List<Monitor> monitorList = pmsMonitorPOMapper.selectList(new LambdaQueryWrapper<Monitor>().in(Monitor::getId, ids));
|
||||
|
||||
if (busBarNum > 0) {
|
||||
long count = monitorList.stream().map(Monitor::getLineId).distinct().count();
|
||||
if (count > 0) {
|
||||
busMonitorRate = (float) count / busBarNum;
|
||||
}
|
||||
}
|
||||
if (stationNum > 0) {
|
||||
long count = monitorList.stream().map(Monitor::getPowerrId).distinct().count();
|
||||
if (count > 0) {
|
||||
stationMonitorRate = (float) count / stationNum;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
rDimMonitorRateD.setBusMonitorRate(busMonitorRate);
|
||||
rDimMonitorRateD.setStationMonitorRate(stationMonitorRate);
|
||||
poList.add(rDimMonitorRateD);
|
||||
continue;
|
||||
}
|
||||
rDimMonitorRateD.setBusMonitorRate(busMonitorRate);
|
||||
rDimMonitorRateD.setStationMonitorRate(stationMonitorRate);
|
||||
poList.add(rDimMonitorRateD);
|
||||
}
|
||||
|
||||
if (CollUtil.isNotEmpty(poList)) {
|
||||
this.saveOrUpdateBatchByMultiId(poList,100);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateD;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateM;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimMonitorRateMMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimMonitorRateDService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimMonitorRateMService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class RDimMonitorRateMServiceImpl extends MppServiceImpl<RDimMonitorRateMMapper, RDimMonitorRateM> implements IRDimMonitorRateMService {
|
||||
|
||||
private final IRDimMonitorRateDService irDimMonitorRateDService;
|
||||
|
||||
@Override
|
||||
public void monitorRateMonth(CalculatedParam<DeptGetChildrenDTO> calculatedParam) {
|
||||
List<RDimMonitorRateM> poList = new ArrayList<>();
|
||||
DateTime start = DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate()));
|
||||
QueryWrapper<RDimMonitorRateD> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().between(RDimMonitorRateD::getStatisDate,start,DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(),DatePattern.NORM_DATE_FORMAT)));
|
||||
queryWrapper.select("Org_Id as orgId,avg(Bus_Monitor_Rate) as busMonitorRate,avg(Station_Monitor_Rate) as stationMonitorRate").groupBy("Org_Id");
|
||||
List<RDimMonitorRateD> rDimMonitorRateDList = irDimMonitorRateDService.list(queryWrapper);
|
||||
|
||||
if(CollUtil.isNotEmpty(rDimMonitorRateDList)){
|
||||
for(RDimMonitorRateD rDimMonitorRateD : rDimMonitorRateDList){
|
||||
RDimMonitorRateM rDimMonitorRateM = new RDimMonitorRateM();
|
||||
rDimMonitorRateM.setBusMonitorRate(rDimMonitorRateD.getBusMonitorRate());
|
||||
rDimMonitorRateM.setStationMonitorRate(rDimMonitorRateD.getStationMonitorRate());
|
||||
rDimMonitorRateM.setOrgId(rDimMonitorRateD.getOrgId());
|
||||
rDimMonitorRateM.setStatisDate(LocalDate.parse(DateUtil.format(start,DatePattern.NORM_DATE_PATTERN)));
|
||||
poList.add(rDimMonitorRateM);
|
||||
}
|
||||
this.saveOrUpdateBatchByMultiId(poList,100);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateD;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateM;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateY;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimMonitorRateYMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimMonitorRateDService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimMonitorRateMService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimMonitorRateYService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class RDimMonitorRateYServiceImpl extends MppServiceImpl<RDimMonitorRateYMapper, RDimMonitorRateY> implements IRDimMonitorRateYService {
|
||||
|
||||
private final IRDimMonitorRateMService irDimMonitorRateMService;
|
||||
|
||||
@Override
|
||||
public void monitorRateYear(CalculatedParam<DeptGetChildrenDTO> calculatedParam) {
|
||||
List<RDimMonitorRateY> poList = new ArrayList<>();
|
||||
DateTime start = DateUtil.beginOfYear(DateUtil.parse(calculatedParam.getDataDate(),DatePattern.NORM_DATE_FORMAT));
|
||||
|
||||
QueryWrapper<RDimMonitorRateM> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().between(RDimMonitorRateM::getStatisDate,start,DateUtil.endOfYear(DateUtil.parse(calculatedParam.getDataDate(),DatePattern.NORM_DATE_FORMAT)));
|
||||
queryWrapper.select("Org_Id as orgId,avg(Bus_Monitor_Rate) as busMonitorRate,avg(Station_Monitor_Rate) as stationMonitorRate").groupBy("Org_Id");
|
||||
List<RDimMonitorRateM> rDimMonitorRateMDList = irDimMonitorRateMService.list(queryWrapper);
|
||||
|
||||
if(CollUtil.isNotEmpty(rDimMonitorRateMDList)){
|
||||
for(RDimMonitorRateM rDimMonitorRateM : rDimMonitorRateMDList){
|
||||
RDimMonitorRateY rDimMonitorRateY = new RDimMonitorRateY();
|
||||
rDimMonitorRateY.setBusMonitorRate(rDimMonitorRateM.getBusMonitorRate());
|
||||
rDimMonitorRateY.setStationMonitorRate(rDimMonitorRateM.getStationMonitorRate());
|
||||
rDimMonitorRateY.setOrgId(rDimMonitorRateM.getOrgId());
|
||||
rDimMonitorRateY.setStatisDate(LocalDate.parse(DateUtil.format(start,DatePattern.NORM_DATE_PATTERN)));
|
||||
poList.add(rDimMonitorRateY);
|
||||
}
|
||||
this.saveOrUpdateBatchByMultiId(poList,100);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||
import com.njcn.device.pms.pojo.po.Monitor;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateD;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimObjRateD;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.area.PmsMonitorPOMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimObjRateDMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.ROperatingMonitorDMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||
import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorDPO;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimObjRateDService;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
import com.njcn.system.pojo.po.DictData;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class RDimObjRateDServiceImpl extends MppServiceImpl<RDimObjRateDMapper, RDimObjRateD> implements IRDimObjRateDService {
|
||||
|
||||
private final DicDataFeignClient dicDataFeignClient;
|
||||
|
||||
private final ROperatingMonitorDMapper rOperatingMonitorDMapper;
|
||||
|
||||
private final PmsMonitorPOMapper pmsMonitorPOMapper;
|
||||
|
||||
|
||||
@Override
|
||||
public void objMonitorRateDay(CalculatedParam<DeptGetChildrenDTO> calculatedParam) {
|
||||
List<RDimObjRateD> poList = new ArrayList<>();
|
||||
LocalDate date = LocalDate.parse(calculatedParam.getDataDate());
|
||||
|
||||
List<DictData> dictDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.MONITORING_LABELS.getCode()).getData();
|
||||
dictDataList = dictDataList.stream().filter(item -> item.getCode().equals(DicDataEnum.ONSHORE_WIND.getCode()) || item.getCode().equals(DicDataEnum.POWER_STATION.getCode()) || item.getCode().equals(DicDataEnum.POWER_STATION.getCode()) || item.getCode().equals(DicDataEnum.ONSHORE_WIND.getCode())).collect(Collectors.toList());
|
||||
|
||||
List<DeptGetChildrenDTO> deptList = calculatedParam.getIdList();
|
||||
for (DeptGetChildrenDTO dto : deptList) {
|
||||
List<String> monitorIds = dto.getLineIds();
|
||||
|
||||
if (CollUtil.isEmpty(monitorIds)) {
|
||||
for (DictData dictData : dictDataList) {
|
||||
RDimObjRateD rDimObjRateD = new RDimObjRateD();
|
||||
rDimObjRateD.setOrgId(dto.getDeptId());
|
||||
rDimObjRateD.setStatisDate(date);
|
||||
rDimObjRateD.setObjType(dictData.getId());
|
||||
rDimObjRateD.setObjMonitorRate(0f);
|
||||
poList.add(rDimObjRateD);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
LambdaQueryWrapper<ROperatingMonitorDPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(ROperatingMonitorDPO::getDataDate, date)
|
||||
.in(ROperatingMonitorDPO::getMeasurementPointId, monitorIds)
|
||||
.eq(ROperatingMonitorDPO::getIsUnusual, 1).ge(ROperatingMonitorDPO::getIndexIntegrityRate, 0.95);
|
||||
List<ROperatingMonitorDPO> rOperatingMonitorDPOList = rOperatingMonitorDMapper.selectList(lambdaQueryWrapper);
|
||||
|
||||
if (CollUtil.isNotEmpty(rOperatingMonitorDPOList)) {
|
||||
List<String> ids = rOperatingMonitorDPOList.stream().map(ROperatingMonitorDPO::getMeasurementPointId).collect(Collectors.toList());
|
||||
|
||||
LambdaQueryWrapper<Monitor> monitorLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
monitorLambdaQueryWrapper.in(Monitor::getId, ids);
|
||||
List<Monitor> monitorList = pmsMonitorPOMapper.selectList(monitorLambdaQueryWrapper);
|
||||
Map<String,List<Monitor>> map = monitorList.stream().collect(Collectors.groupingBy(Monitor::getMonitorTag));
|
||||
|
||||
for (DictData dictData : dictDataList) {
|
||||
RDimObjRateD rDimObjRateD = new RDimObjRateD();
|
||||
rDimObjRateD.setOrgId(dto.getDeptId());
|
||||
rDimObjRateD.setStatisDate(date);
|
||||
rDimObjRateD.setObjType(dictData.getId());
|
||||
if(map.containsKey(dictData.getId())){
|
||||
List<Monitor> temList = map.get(dictData.getId());
|
||||
rDimObjRateD.setObjMonitorRate((float)temList.size()/100);
|
||||
}else {
|
||||
rDimObjRateD.setObjMonitorRate(0f);
|
||||
}
|
||||
poList.add(rDimObjRateD);
|
||||
}
|
||||
}else {
|
||||
for (DictData dictData : dictDataList) {
|
||||
RDimObjRateD rDimObjRateD = new RDimObjRateD();
|
||||
rDimObjRateD.setOrgId(dto.getDeptId());
|
||||
rDimObjRateD.setStatisDate(date);
|
||||
rDimObjRateD.setObjType(dictData.getId());
|
||||
rDimObjRateD.setObjMonitorRate(0f);
|
||||
poList.add(rDimObjRateD);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
this.saveOrUpdateBatchByMultiId(poList,100);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateD;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimMonitorRateM;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimObjRateD;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimObjRateM;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimObjRateMMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimObjRateDService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimObjRateMService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class RDimObjRateMServiceImpl extends MppServiceImpl<RDimObjRateMMapper, RDimObjRateM> implements IRDimObjRateMService {
|
||||
|
||||
private final IRDimObjRateDService irDimObjRateService;
|
||||
|
||||
@Override
|
||||
public void objMonitorRateMonth(CalculatedParam<DeptGetChildrenDTO> calculatedParam) {
|
||||
List<RDimObjRateM> poList = new ArrayList<>();
|
||||
DateTime start = DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate()));
|
||||
QueryWrapper<RDimObjRateD> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().between(RDimObjRateD::getStatisDate,start,DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMAT)));
|
||||
queryWrapper.select("Org_Id as orgId,Obj_type as objType,avg(Obj_Monitor_Rate) as objMonitorRate").groupBy("Org_Id","Obj_type");
|
||||
List<RDimObjRateD> rDimObjRateDList = irDimObjRateService.list(queryWrapper);
|
||||
|
||||
if(CollUtil.isNotEmpty(rDimObjRateDList)){
|
||||
for(RDimObjRateD rDimObjRateD : rDimObjRateDList){
|
||||
RDimObjRateM rDimMonitorRateM = new RDimObjRateM();
|
||||
rDimMonitorRateM.setObjType(rDimObjRateD.getObjType());
|
||||
rDimMonitorRateM.setObjMonitorRate(rDimObjRateD.getObjMonitorRate());
|
||||
rDimMonitorRateM.setOrgId(rDimObjRateD.getOrgId());
|
||||
rDimMonitorRateM.setStatisDate(LocalDate.parse(DateUtil.format(start,DatePattern.NORM_DATE_PATTERN)));
|
||||
poList.add(rDimMonitorRateM);
|
||||
}
|
||||
this.saveOrUpdateBatchByMultiId(poList,100);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.dim.impl;
|
||||
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimObjRateD;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimObjRateM;
|
||||
import com.njcn.harmonic.pojo.po.dim.RDimObjRateY;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.dim.RDimObjRateYMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimObjRateDService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimObjRateMService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.dim.IRDimObjRateYService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2023-11-23
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class RDimObjRateYServiceImpl extends MppServiceImpl<RDimObjRateYMapper, RDimObjRateY> implements IRDimObjRateYService {
|
||||
|
||||
private final IRDimObjRateMService irDimObjRateMService;
|
||||
|
||||
@Override
|
||||
public void objMonitorRateYear(CalculatedParam<DeptGetChildrenDTO> calculatedParam) {
|
||||
List<RDimObjRateY> poList = new ArrayList<>();
|
||||
DateTime start = DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate()));
|
||||
QueryWrapper<RDimObjRateM> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().between(RDimObjRateM::getStatisDate,start,DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_FORMAT)));
|
||||
queryWrapper.select("Org_Id as orgId,Obj_type as objType,avg(Obj_Monitor_Rate) as objMonitorRate").groupBy("Org_Id","Obj_type");
|
||||
List<RDimObjRateM> rDimObjRateDList = irDimObjRateMService.list(queryWrapper);
|
||||
|
||||
if(CollUtil.isNotEmpty(rDimObjRateDList)){
|
||||
for(RDimObjRateM rDimObjRateM : rDimObjRateDList){
|
||||
RDimObjRateY rDimObjRateY = new RDimObjRateY();
|
||||
rDimObjRateY.setObjMonitorRate(rDimObjRateM.getObjMonitorRate());
|
||||
rDimObjRateY.setObjType(rDimObjRateM.getObjType());
|
||||
rDimObjRateY.setOrgId(rDimObjRateM.getOrgId());
|
||||
rDimObjRateY.setStatisDate(LocalDate.parse(DateUtil.format(start,DatePattern.NORM_DATE_PATTERN)));
|
||||
poList.add(rDimObjRateY);
|
||||
}
|
||||
this.saveOrUpdateBatchByMultiId(poList,100);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -55,6 +55,8 @@ public class RDimStationBaseDServiceImpl extends ServiceImpl<RDimStationBaseDMap
|
||||
|
||||
private final PmsMonitorMapper pmsMonitorMapper;
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void stationStatisticDay(CalculatedParam<DeptGetChildrenDTO> calculatedParam) {
|
||||
List<RDimStationBaseD> poList = new ArrayList<>();
|
||||
|
||||
@@ -34,7 +34,12 @@ spring:
|
||||
refresh: true
|
||||
main:
|
||||
allow-bean-definition-overriding: true
|
||||
|
||||
servlet:
|
||||
multipart:
|
||||
max-file-size: 100MB
|
||||
max-request-size: 100MB
|
||||
jackson:
|
||||
time-zone: GMT+8
|
||||
|
||||
|
||||
#项目日志的配置
|
||||
|
||||
Reference in New Issue
Block a user