tyty
2 years ago
222 changed files with 8212 additions and 3121 deletions
@ -1,4 +1,4 @@ |
|||||||
package com.hnac.hzims.operational.station.vo; |
package com.hnac.hzims.operational.main.vo; |
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty; |
import io.swagger.annotations.ApiModelProperty; |
||||||
import lombok.Data; |
import lombok.Data; |
@ -1,4 +1,4 @@ |
|||||||
package com.hnac.hzims.operational.station.vo; |
package com.hnac.hzims.operational.main.vo; |
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty; |
import io.swagger.annotations.ApiModelProperty; |
||||||
import lombok.Data; |
import lombok.Data; |
@ -1,4 +1,4 @@ |
|||||||
package com.hnac.hzims.operational.station.vo; |
package com.hnac.hzims.operational.main.vo; |
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty; |
import io.swagger.annotations.ApiModelProperty; |
||||||
import io.swagger.models.auth.In; |
import io.swagger.models.auth.In; |
@ -1,4 +1,4 @@ |
|||||||
package com.hnac.hzims.operational.station.vo; |
package com.hnac.hzims.operational.main.vo; |
||||||
|
|
||||||
import lombok.Data; |
import lombok.Data; |
||||||
|
|
@ -1,59 +0,0 @@ |
|||||||
// package com.hnac.hzims.scheduled.config;
|
|
||||||
//
|
|
||||||
// import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
|
|
||||||
// import lombok.extern.slf4j.Slf4j;
|
|
||||||
// import org.springframework.beans.factory.annotation.Value;
|
|
||||||
// import org.springframework.context.annotation.Bean;
|
|
||||||
// import org.springframework.context.annotation.ComponentScan;
|
|
||||||
// import org.springframework.context.annotation.Configuration;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * @Author WL
|
|
||||||
// * @Version v1.0
|
|
||||||
// * @Serial 1.0
|
|
||||||
// * @Date 2022/1/8 10:23
|
|
||||||
// */
|
|
||||||
// @Slf4j
|
|
||||||
// @Configuration
|
|
||||||
// //指定任务Handler所在包路径
|
|
||||||
// public class XxlJobConfig {
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// @Value("${xxl.job.admin.addresses}")
|
|
||||||
// private String adminAddresses;
|
|
||||||
//
|
|
||||||
// @Value("${xxl.job.executor.appname}")
|
|
||||||
// private String appName;
|
|
||||||
//
|
|
||||||
// @Value("${xxl.job.executor.ip}")
|
|
||||||
// private String ip;
|
|
||||||
//
|
|
||||||
// @Value("${xxl.job.executor.port}")
|
|
||||||
// private int port;
|
|
||||||
//
|
|
||||||
// @Value("${xxl.job.accessToken}")
|
|
||||||
// private String accessToken;
|
|
||||||
//
|
|
||||||
// @Value("${xxl.job.executor.logpath}")
|
|
||||||
// private String logPath;
|
|
||||||
//
|
|
||||||
// @Value("${xxl.job.executor.logretentiondays}")
|
|
||||||
// private int logRetentionDays;
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// @Bean(initMethod = "start", destroyMethod = "destroy")
|
|
||||||
// public XxlJobSpringExecutor xxlJobExecutor() {
|
|
||||||
// log.info("====xxl-job config init====");
|
|
||||||
// XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
|
|
||||||
// xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
|
|
||||||
// xxlJobSpringExecutor.setAppName(appName);
|
|
||||||
// xxlJobSpringExecutor.setIp(ip);
|
|
||||||
// xxlJobSpringExecutor.setPort(port);
|
|
||||||
// xxlJobSpringExecutor.setAccessToken(accessToken);
|
|
||||||
// xxlJobSpringExecutor.setLogPath(logPath);
|
|
||||||
// xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);
|
|
||||||
// return xxlJobSpringExecutor;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
//
|
|
@ -0,0 +1,17 @@ |
|||||||
|
package com.hnac.hzims.scheduled.mapper.equipment; |
||||||
|
|
||||||
|
|
||||||
|
import com.hnac.hzims.equipment.entity.PlanGenerationEntity; |
||||||
|
import org.apache.ibatis.annotations.Param; |
||||||
|
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface PlanMapper extends UserDataScopeBaseMapper<PlanGenerationEntity> { |
||||||
|
|
||||||
|
// 查询计划发电量
|
||||||
|
List<PlanGenerationEntity> planGeneration(@Param("stationIds") List<String> stationIds, @Param("deptIds") List<String> deptIds, @Param("date") String date); |
||||||
|
} |
@ -0,0 +1,10 @@ |
|||||||
|
package com.hnac.hzims.scheduled.mapper.equipment; |
||||||
|
|
||||||
|
import com.hnac.hzims.equipment.entity.WorkshopInfoEntity; |
||||||
|
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface WorkshopInfoMapper extends UserDataScopeBaseMapper<WorkshopInfoEntity> { |
||||||
|
} |
@ -0,0 +1,13 @@ |
|||||||
|
package com.hnac.hzims.scheduled.mapper.inspect; |
||||||
|
|
||||||
|
import com.hnac.hzinfo.inspect.task.entity.TaskEntity; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface TaskMapper extends UserDataScopeBaseMapper<TaskEntity> { |
||||||
|
|
||||||
|
} |
@ -1,20 +1,14 @@ |
|||||||
package com.hnac.hzims.scheduled.mapper.operation; |
package com.hnac.hzims.scheduled.mapper.operation; |
||||||
|
|
||||||
import com.hnac.hzims.operational.alert.entity.AbnormalAlarmEntity; |
import com.hnac.hzims.operational.alert.entity.AbnormalAlarmEntity; |
||||||
import org.apache.ibatis.annotations.Param; |
|
||||||
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||||
|
|
||||||
import java.util.List; |
import java.util.List; |
||||||
|
|
||||||
/** |
/** |
||||||
* @Author WL |
* @author ysj |
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/19 10:30 |
|
||||||
*/ |
*/ |
||||||
public interface AbnormalAlarmMapper extends UserDataScopeBaseMapper<AbnormalAlarmEntity>{ |
public interface AbnormalAlarmMapper extends UserDataScopeBaseMapper<AbnormalAlarmEntity> { |
||||||
|
|
||||||
AbnormalAlarmEntity getAbnormalAlarm(@Param("stationId") String stationId, @Param("type") String type); |
List<String> abnormalAlarms(); |
||||||
|
|
||||||
List<String> getAbnormalAlarmList(); |
|
||||||
} |
} |
||||||
|
@ -0,0 +1,11 @@ |
|||||||
|
package com.hnac.hzims.scheduled.mapper.operation; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.access.entity.OperAccessTaskEntity; |
||||||
|
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface AccessMapper extends UserDataScopeBaseMapper<OperAccessTaskEntity> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,12 @@ |
|||||||
|
package com.hnac.hzims.scheduled.mapper.operation; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.defect.entity.OperDefectEntity; |
||||||
|
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface DefectMapper extends UserDataScopeBaseMapper<OperDefectEntity> { |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,17 @@ |
|||||||
|
package com.hnac.hzims.scheduled.mapper.operation; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.fill.entity.GenerateEntity; |
||||||
|
import org.apache.ibatis.annotations.Param; |
||||||
|
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
* @date 2023/04/10 11:22:14 |
||||||
|
* @version 4.0.0 |
||||||
|
*/ |
||||||
|
public interface GenerateMapper extends UserDataScopeBaseMapper<GenerateEntity> { |
||||||
|
|
||||||
|
List<GenerateEntity> records(@Param("date") String date,@Param("station") String station); |
||||||
|
} |
@ -1,21 +0,0 @@ |
|||||||
package com.hnac.hzims.scheduled.mapper.operation; |
|
||||||
|
|
||||||
import com.hnac.hzims.operational.alert.entity.HistoryAbnormalAlarmEntity; |
|
||||||
import org.apache.ibatis.annotations.Param; |
|
||||||
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
|
||||||
|
|
||||||
import java.util.List; |
|
||||||
|
|
||||||
/** |
|
||||||
* @Author WL |
|
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/19 11:12 |
|
||||||
*/ |
|
||||||
public interface HistoryAbnormalAlarmMapper extends UserDataScopeBaseMapper<HistoryAbnormalAlarmEntity> { |
|
||||||
|
|
||||||
List<HistoryAbnormalAlarmEntity> getHistoryAbnormalAlarm(@Param("stationId") String stationId, @Param("type") String type); |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
} |
|
@ -0,0 +1,11 @@ |
|||||||
|
package com.hnac.hzims.scheduled.mapper.operation; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.maintenance.entity.OperMaintenanceTaskEntity; |
||||||
|
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface MaintenanceMapper extends UserDataScopeBaseMapper<OperMaintenanceTaskEntity> { |
||||||
|
|
||||||
|
} |
@ -1,8 +1,11 @@ |
|||||||
package com.hnac.hzims.operational.fill.mapper; |
package com.hnac.hzims.scheduled.mapper.operation; |
||||||
|
|
||||||
import com.hnac.hzims.operational.fill.entity.OtherEntity; |
import com.hnac.hzims.operational.fill.entity.OtherEntity; |
||||||
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
public interface OtherMapper extends UserDataScopeBaseMapper<OtherEntity> { |
public interface OtherMapper extends UserDataScopeBaseMapper<OtherEntity> { |
||||||
|
|
||||||
} |
} |
@ -0,0 +1,11 @@ |
|||||||
|
package com.hnac.hzims.scheduled.mapper.operation; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.fill.entity.OverDetailsEntity; |
||||||
|
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface OverDetailsMapper extends UserDataScopeBaseMapper<OverDetailsEntity> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
package com.hnac.hzims.scheduled.mapper.operation; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.fill.entity.OverEntity; |
||||||
|
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface OverMapper extends UserDataScopeBaseMapper<OverEntity> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
package com.hnac.hzims.scheduled.mapper.operation; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.defect.entity.OperPhenomenonEntity; |
||||||
|
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface PhenomenonMapper extends UserDataScopeBaseMapper<OperPhenomenonEntity> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
package com.hnac.hzims.scheduled.mapper.operation; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.fill.entity.PowerEntity; |
||||||
|
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface PowerMapper extends UserDataScopeBaseMapper<PowerEntity> { |
||||||
|
|
||||||
|
} |
@ -1,14 +1,17 @@ |
|||||||
package com.hnac.hzims.scheduled.mapper.operation; |
package com.hnac.hzims.scheduled.mapper.operation; |
||||||
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||||
import com.hnac.hzims.operational.config.entity.StAlarmRecordEntity; |
import com.hnac.hzims.operational.config.entity.StAlarmRecordEntity; |
||||||
|
import com.hnac.hzims.operational.config.vo.StAlarmRecordVo; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
/** |
/** |
||||||
* @Author WL |
* @author ysj |
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/19 15:47 |
|
||||||
*/ |
*/ |
||||||
public interface StAlarmRecordMapper extends BaseMapper<StAlarmRecordEntity> { |
public interface RecordMapper extends BaseMapper<StAlarmRecordEntity> { |
||||||
|
|
||||||
Long insertReturnId(StAlarmRecordEntity record); |
Long insertReturnId(StAlarmRecordEntity record); |
||||||
} |
} |
@ -0,0 +1,11 @@ |
|||||||
|
package com.hnac.hzims.scheduled.mapper.operation; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.fill.entity.SolveEntity; |
||||||
|
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface SolveMapper extends UserDataScopeBaseMapper<SolveEntity> { |
||||||
|
|
||||||
|
} |
@ -1,13 +0,0 @@ |
|||||||
package com.hnac.hzims.scheduled.mapper.operation; |
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|
||||||
import com.hnac.hzims.operational.config.entity.StFocusPropertiesEntity; |
|
||||||
|
|
||||||
/** |
|
||||||
* @Author WL |
|
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/19 11:28 |
|
||||||
*/ |
|
||||||
public interface StFocusPropertiesMapper extends BaseMapper<StFocusPropertiesEntity> { |
|
||||||
} |
|
@ -1,13 +1,16 @@ |
|||||||
package com.hnac.hzims.scheduled.mapper.operation; |
package com.hnac.hzims.scheduled.mapper.operation; |
||||||
|
|
||||||
import com.hnac.hzims.operational.station.entity.StationAttributeEntity; |
import com.hnac.hzims.operational.station.entity.StationAttributeEntity; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
/** |
/** |
||||||
* @Author WL |
* @author hx |
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/19 11:39 |
|
||||||
*/ |
*/ |
||||||
|
@Mapper |
||||||
public interface StationAttributeMapper extends UserDataScopeBaseMapper<StationAttributeEntity> { |
public interface StationAttributeMapper extends UserDataScopeBaseMapper<StationAttributeEntity> { |
||||||
|
|
||||||
|
List<StationAttributeEntity> PointUnit(); |
||||||
} |
} |
||||||
|
@ -1,21 +1,12 @@ |
|||||||
package com.hnac.hzims.scheduled.mapper.operation; |
package com.hnac.hzims.scheduled.mapper.operation; |
||||||
|
|
||||||
|
|
||||||
import com.hnac.hzims.operational.station.entity.StationEntity; |
import com.hnac.hzims.operational.station.entity.StationEntity; |
||||||
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||||
|
|
||||||
import java.util.List; |
|
||||||
|
|
||||||
/** |
/** |
||||||
* @Author WL |
* @author ysj |
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/19 10:36 |
|
||||||
*/ |
*/ |
||||||
public interface StationMapper extends UserDataScopeBaseMapper<StationEntity> { |
public interface StationMapper extends UserDataScopeBaseMapper<StationEntity> { |
||||||
|
|
||||||
List<StationEntity> selectStationByType(Integer stationType, Integer serveType); |
|
||||||
|
|
||||||
List<StationEntity> selectAll(); |
|
||||||
|
|
||||||
List<StationEntity> selectStationByInCode(List<String> codes); |
|
||||||
} |
} |
||||||
|
@ -0,0 +1,13 @@ |
|||||||
|
package com.hnac.hzims.scheduled.mapper.operation; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.fill.entity.UseEntity; |
||||||
|
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
* @date 2023/04/10 11:22:14 |
||||||
|
* @version 4.0.0 |
||||||
|
*/ |
||||||
|
public interface UseMapper extends UserDataScopeBaseMapper<UseEntity> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,10 @@ |
|||||||
|
package com.hnac.hzims.scheduled.mapper.safeproduct; |
||||||
|
|
||||||
|
import com.hnac.hzims.safeproduct.entity.CheckCompanyEntity; |
||||||
|
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface CompanyMapper extends UserDataScopeBaseMapper<CheckCompanyEntity> { |
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
package com.hnac.hzims.scheduled.mapper.safeproduct; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import com.hnac.hzims.safeproduct.entity.CheckItemInstanceEntity; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author Lch |
||||||
|
*/ |
||||||
|
public interface InstanceMapper extends BaseMapper<CheckItemInstanceEntity> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
package com.hnac.hzims.scheduled.mapper.safeproduct; |
||||||
|
|
||||||
|
import com.hnac.hzims.safeproduct.entity.CheckMonthEntity; |
||||||
|
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface MonthMapper extends UserDataScopeBaseMapper<CheckMonthEntity> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
package com.hnac.hzims.scheduled.mapper.safeproduct; |
||||||
|
|
||||||
|
import com.hnac.hzims.safeproduct.entity.SafeEquipmentTrialEntity; |
||||||
|
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* 设备试验mapper接口 |
||||||
|
*/ |
||||||
|
public interface TrialMapper extends UserDataScopeBaseMapper<SafeEquipmentTrialEntity> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
package com.hnac.hzims.scheduled.mapper.ticket; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import com.hnac.hzims.ticket.allTicket.entity.TicketInfoEvaluateEntity; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface TicketEvaluateMapper extends BaseMapper<TicketInfoEvaluateEntity> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,13 @@ |
|||||||
|
package com.hnac.hzims.scheduled.mapper.ticket; |
||||||
|
|
||||||
|
import com.hnac.hzims.ticket.standardTicket.entity.StandardTicketInfoEntity; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface TicketMapper extends UserDataScopeBaseMapper<StandardTicketInfoEntity> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,14 @@ |
|||||||
|
package com.hnac.hzims.scheduled.mapper.ticket; |
||||||
|
|
||||||
|
import com.hnac.hzims.ticket.workTicket.entity.WorkTicketInfoEntity; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface WorkTicketMapper extends UserDataScopeBaseMapper<WorkTicketInfoEntity> { |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,65 @@ |
|||||||
|
package com.hnac.hzims.scheduled.scheduled; |
||||||
|
|
||||||
|
import com.hnac.hzims.scheduled.service.operation.MonitorService; |
||||||
|
import com.xxl.job.core.biz.model.ReturnT; |
||||||
|
import com.xxl.job.core.handler.annotation.XxlJob; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
import org.springblade.core.tool.utils.DateUtil; |
||||||
|
import org.springblade.core.tool.utils.Func; |
||||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||||
|
import org.springframework.stereotype.Component; |
||||||
|
|
||||||
|
import java.util.Date; |
||||||
|
|
||||||
|
import static com.hnac.hzims.operational.main.constant.MainConstants.*; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
@Slf4j |
||||||
|
@Component |
||||||
|
public class MonitorScheduledTask { |
||||||
|
|
||||||
|
@Autowired |
||||||
|
private MonitorService service; |
||||||
|
|
||||||
|
/** |
||||||
|
* realId刷新 |
||||||
|
*/ |
||||||
|
@XxlJob(REAL_ID_DATA) |
||||||
|
public ReturnT<String> loadRealId(String param) { |
||||||
|
if (Func.isBlank(param)) { |
||||||
|
param = DateUtil.format(new Date(), "yyyy-MM"); |
||||||
|
} |
||||||
|
service.loadRealId(param); |
||||||
|
return new ReturnT<>("SUCCESS"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 实时数据刷新 |
||||||
|
* @return ReturnT<String> |
||||||
|
*/ |
||||||
|
@XxlJob(REAL_TIME_DATA) |
||||||
|
//@Scheduled(cron = "0/40 * * * * ? ")
|
||||||
|
public ReturnT<String> loadRealData(String param) { |
||||||
|
if (Func.isBlank(param)) { |
||||||
|
param = DateUtil.format(new Date(), "yyyy-MM"); |
||||||
|
} |
||||||
|
service.loadRealData(param); |
||||||
|
return new ReturnT<>("SUCCESS"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 集中监控数据处理 |
||||||
|
* @return ReturnT<String> |
||||||
|
*/ |
||||||
|
@XxlJob(CENTRALIZED_MONITORING) |
||||||
|
public ReturnT<String> loadMonitoring(String param) { |
||||||
|
if (Func.isBlank(param)) { |
||||||
|
param = DateUtil.format(new Date(), "yyyy-MM"); |
||||||
|
} |
||||||
|
service.loadMonitoring(param); |
||||||
|
return new ReturnT<>("SUCCESS"); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,126 @@ |
|||||||
|
package com.hnac.hzims.scheduled.scheduled; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.main.constant.HomePageConstant; |
||||||
|
import com.hnac.hzims.scheduled.service.operation.RealTargetService; |
||||||
|
import com.xxl.job.core.biz.model.ReturnT; |
||||||
|
import com.xxl.job.core.handler.annotation.XxlJob; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
import org.springblade.core.tool.utils.DateUtil; |
||||||
|
import org.springblade.core.tool.utils.Func; |
||||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||||
|
import org.springframework.stereotype.Component; |
||||||
|
|
||||||
|
import java.util.Arrays; |
||||||
|
import java.util.Date; |
||||||
|
|
||||||
|
import static com.hnac.hzims.operational.main.constant.MainConstants.*; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
@Slf4j |
||||||
|
@Component |
||||||
|
public class RealTargetScheduledTask { |
||||||
|
|
||||||
|
@Autowired |
||||||
|
private RealTargetService service; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 水电站-机组实时加载 |
||||||
|
*/ |
||||||
|
@XxlJob(LOAD_HYDROPOWER_UNIT_REAL) |
||||||
|
public ReturnT<String> loadHydropowerReal(String param) { |
||||||
|
if (Func.isBlank(param)) { |
||||||
|
param = DateUtil.format(new Date(), "yyyy-MM"); |
||||||
|
} |
||||||
|
service.loadHydropowerReal(param); |
||||||
|
return new ReturnT<>("SUCCESS"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 水电站-机组指标加载 |
||||||
|
*/ |
||||||
|
@XxlJob(LOAD_HYDROPOWER_UNIT_TARGET) |
||||||
|
public ReturnT<String> loadHydropowerTarget(String param) { |
||||||
|
if (Func.isBlank(param)) { |
||||||
|
param = DateUtil.format(new Date(), "yyyy-MM"); |
||||||
|
} |
||||||
|
service.loadHydropowerTarget(param); |
||||||
|
return new ReturnT<>("SUCCESS"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 水利-泵组实时加载 |
||||||
|
*/ |
||||||
|
@XxlJob(LOAD_WATER_PUMP_REAL) |
||||||
|
public ReturnT<String> loadWaterPumpReal(String param) { |
||||||
|
if (Func.isBlank(param)) { |
||||||
|
param = DateUtil.format(new Date(), "yyyy-MM"); |
||||||
|
} |
||||||
|
service.loadWaterPumpReal(param); |
||||||
|
return new ReturnT<>("SUCCESS"); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 水利-泵组指标加载 |
||||||
|
*/ |
||||||
|
@XxlJob(LOAD_WATER_PUMP_TARGET) |
||||||
|
public ReturnT<String> loadWaterPumpTarget(String param) { |
||||||
|
if (Func.isBlank(param)) { |
||||||
|
param = DateUtil.format(new Date(), "yyyy-MM"); |
||||||
|
} |
||||||
|
service.loadWaterPumpTarget(param); |
||||||
|
return new ReturnT<>("SUCCESS"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 水利-站点水位数据 |
||||||
|
*/ |
||||||
|
@XxlJob(LOAD_WATER_LEVEL) |
||||||
|
public ReturnT<String> loadWaterLevel(String param) { |
||||||
|
if (Func.isBlank(param)) { |
||||||
|
param = DateUtil.format(new Date(), "yyyy-MM"); |
||||||
|
} |
||||||
|
service.loadWaterLevel(param); |
||||||
|
return new ReturnT<>("SUCCESS"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 光伏站-逆变器实时加载 |
||||||
|
*/ |
||||||
|
@XxlJob(LOAD_PHOTOVOLTAIC_REAL) |
||||||
|
public ReturnT<String> loadPhotovoltaicReal(String param) { |
||||||
|
if (Func.isBlank(param)) { |
||||||
|
param = DateUtil.format(new Date(), "yyyy-MM"); |
||||||
|
} |
||||||
|
service.loadPhotovoltaicReal(param); |
||||||
|
return new ReturnT<>("SUCCESS"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 光伏站-逆变器指标加载 |
||||||
|
*/ |
||||||
|
@XxlJob(LOAD_PHOTOVOLTAIC_TARGET) |
||||||
|
public ReturnT<String> loadPhotovoltaicTarget(String param) { |
||||||
|
if (Func.isBlank(param)) { |
||||||
|
param = DateUtil.format(new Date(), "yyyy-MM"); |
||||||
|
} |
||||||
|
service.loadPhotovoltaicTarget(param); |
||||||
|
return new ReturnT<>("SUCCESS"); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 获取站点近3年发电量数据 |
||||||
|
*/ |
||||||
|
@XxlJob(ELECTRICITY_GENERATION_RECENT_YEAR) |
||||||
|
public ReturnT<String> loadPowerData(String param) { |
||||||
|
if (Func.isBlank(param)) { |
||||||
|
param = DateUtil.format(new Date(), "yyyy-MM"); |
||||||
|
} |
||||||
|
service.loadPowerData(param, Arrays.asList(HomePageConstant.HYDROPOWER,HomePageConstant.PHOTOVOLTAIC),2,3); |
||||||
|
return new ReturnT<>("SUCCESS"); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,40 @@ |
|||||||
|
package com.hnac.hzims.scheduled.scheduled; |
||||||
|
|
||||||
|
import com.hnac.hzims.scheduled.service.operation.ReportService; |
||||||
|
import com.xxl.job.core.biz.model.ReturnT; |
||||||
|
import com.xxl.job.core.handler.annotation.XxlJob; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
import org.springblade.core.tool.utils.DateUtil; |
||||||
|
import org.springblade.core.tool.utils.Func; |
||||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||||
|
import org.springframework.stereotype.Component; |
||||||
|
|
||||||
|
import java.util.Date; |
||||||
|
|
||||||
|
import static com.hnac.hzims.operational.main.constant.MainConstants.AREA_MONTH_REPORT; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
@Slf4j |
||||||
|
@Component |
||||||
|
public class ReportScheduledTask { |
||||||
|
|
||||||
|
@Autowired |
||||||
|
private ReportService service; |
||||||
|
|
||||||
|
/** |
||||||
|
* 首页-生产月报表 |
||||||
|
* @return ReturnT<String> |
||||||
|
*/ |
||||||
|
@XxlJob(AREA_MONTH_REPORT) |
||||||
|
public ReturnT<String> loadMonthReport(String param) { |
||||||
|
if (Func.isBlank(param)) { |
||||||
|
param = DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"); |
||||||
|
} |
||||||
|
service.loadMonthReport(param,1); |
||||||
|
return new ReturnT<>("SUCCESS"); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -1,54 +0,0 @@ |
|||||||
package com.hnac.hzims.scheduled.scheduled; |
|
||||||
|
|
||||||
import com.hnac.hzims.scheduled.service.IWaterService; |
|
||||||
import com.xxl.job.core.biz.model.ReturnT; |
|
||||||
import com.xxl.job.core.handler.annotation.XxlJob; |
|
||||||
import lombok.extern.slf4j.Slf4j; |
|
||||||
import org.springblade.core.tool.utils.DateUtil; |
|
||||||
import org.springblade.core.tool.utils.Func; |
|
||||||
import org.springframework.beans.factory.annotation.Autowired; |
|
||||||
import org.springframework.stereotype.Component; |
|
||||||
|
|
||||||
import java.util.Date; |
|
||||||
|
|
||||||
import static com.hnac.hzims.operational.main.constant.MainConstants.LOAD_WATER_LEVEL; |
|
||||||
|
|
||||||
/** |
|
||||||
* @Author WL |
|
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/22 11:21 |
|
||||||
*/ |
|
||||||
@Slf4j |
|
||||||
@Component |
|
||||||
public class ScheduledCreateTask { |
|
||||||
|
|
||||||
@Autowired |
|
||||||
private IWaterService waterService; |
|
||||||
|
|
||||||
/** |
|
||||||
* 水利-站点水位数据 |
|
||||||
* @return ReturnT<String> |
|
||||||
*/ |
|
||||||
@XxlJob(LOAD_WATER_LEVEL) |
|
||||||
public ReturnT<String> loadWaterLevel(String param) throws Exception { |
|
||||||
if (Func.isBlank(param)) { |
|
||||||
param = DateUtil.format(new Date(), "yyyy-MM"); |
|
||||||
} |
|
||||||
waterService.loadWaterLevel(param); |
|
||||||
return new ReturnT<>("SUCCESS"); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** |
|
||||||
* 水利-站点水位数据 |
|
||||||
* @return ReturnT<String> |
|
||||||
*/ |
|
||||||
@XxlJob("cheshi") |
|
||||||
public ReturnT<String> cheshi(String param) throws Exception { |
|
||||||
System.out.println("执行呢方法"); |
|
||||||
return new ReturnT<>("SUCCESS"); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -0,0 +1,38 @@ |
|||||||
|
package com.hnac.hzims.scheduled.scheduled; |
||||||
|
|
||||||
|
import com.hnac.hzims.scheduled.service.operation.ShowService; |
||||||
|
import com.xxl.job.core.biz.model.ReturnT; |
||||||
|
import com.xxl.job.core.handler.annotation.XxlJob; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
import org.springblade.core.tool.utils.DateUtil; |
||||||
|
import org.springblade.core.tool.utils.Func; |
||||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||||
|
import org.springframework.stereotype.Component; |
||||||
|
|
||||||
|
import java.util.Date; |
||||||
|
|
||||||
|
import static com.hnac.hzims.operational.main.constant.MainConstants.LOAD_HOME_TARGET; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
@Slf4j |
||||||
|
@Component |
||||||
|
public class ShowScheduledTask { |
||||||
|
|
||||||
|
@Autowired |
||||||
|
private ShowService service; |
||||||
|
|
||||||
|
/** |
||||||
|
* 首页-指标数据加载 |
||||||
|
*/ |
||||||
|
@XxlJob(LOAD_HOME_TARGET) |
||||||
|
public ReturnT<String> loadHomeTarget(String param) { |
||||||
|
if (Func.isBlank(param)) { |
||||||
|
param = DateUtil.format(new Date(), "yyyy-MM"); |
||||||
|
} |
||||||
|
service.loadHomeTarget(param); |
||||||
|
return new ReturnT<>("SUCCESS"); |
||||||
|
} |
||||||
|
} |
@ -1,101 +0,0 @@ |
|||||||
package com.hnac.hzims.scheduled.scheduled; |
|
||||||
|
|
||||||
import com.hnac.hzims.scheduled.service.AbnormalAlarmService; |
|
||||||
import com.hnac.hzims.scheduled.service.IRealMonitorService; |
|
||||||
import com.hnac.hzims.scheduled.service.StFocusPropertiesService; |
|
||||||
import com.xxl.job.core.biz.model.ReturnT; |
|
||||||
import com.xxl.job.core.handler.annotation.XxlJob; |
|
||||||
import lombok.extern.slf4j.Slf4j; |
|
||||||
import org.springblade.core.tool.utils.DateUtil; |
|
||||||
import org.springblade.core.tool.utils.Func; |
|
||||||
import org.springframework.beans.factory.annotation.Autowired; |
|
||||||
import org.springframework.beans.factory.annotation.Value; |
|
||||||
import org.springframework.stereotype.Component; |
|
||||||
|
|
||||||
import java.util.Date; |
|
||||||
|
|
||||||
import static com.hnac.hzims.operational.main.constant.MainConstants.*; |
|
||||||
|
|
||||||
/** |
|
||||||
* 集中监控 |
|
||||||
* @Author WL |
|
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/19 10:17 |
|
||||||
*/ |
|
||||||
@Slf4j |
|
||||||
@Component |
|
||||||
public class StAlamRecordTask { |
|
||||||
|
|
||||||
@Value("${hzims.operation.comprehensiveD}") |
|
||||||
public String path; |
|
||||||
|
|
||||||
// @Autowired
|
|
||||||
private IRealMonitorService monitorService; |
|
||||||
|
|
||||||
@Autowired |
|
||||||
private AbnormalAlarmService abnormalAlarmService; |
|
||||||
|
|
||||||
@Autowired |
|
||||||
private StFocusPropertiesService stFocusPropertiesService; |
|
||||||
|
|
||||||
/** |
|
||||||
* 数据中断告警 |
|
||||||
* @return ReturnT<String> |
|
||||||
*/ |
|
||||||
@XxlJob(ALARM_DATA_HANDLE) |
|
||||||
public ReturnT<String> alarmDataHandle(String param) throws Exception { |
|
||||||
if (Func.isBlank(param)) { |
|
||||||
param = DateUtil.format(new Date(), "yyyy-MM"); |
|
||||||
} |
|
||||||
abnormalAlarmService.alarmDataHandle(param); |
|
||||||
return new ReturnT<>("SUCCESS"); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** |
|
||||||
* realId获取 |
|
||||||
* @return ReturnT<String> |
|
||||||
*/ |
|
||||||
@XxlJob(REAL_ID_DATA) |
|
||||||
public ReturnT<String> realIdData(String param) throws Exception { |
|
||||||
if (Func.isBlank(param)) { |
|
||||||
param = DateUtil.format(new Date(), "yyyy-MM"); |
|
||||||
} |
|
||||||
stFocusPropertiesService.getStationRealIds(param); |
|
||||||
return new ReturnT<>("SUCCESS"); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* 站点实时数据 |
|
||||||
* @return ReturnT<String> |
|
||||||
*/ |
|
||||||
@XxlJob(REAL_TIME_DATA) |
|
||||||
//@Scheduled(cron = "0/40 * * * * ? ")
|
|
||||||
public ReturnT<String> realTimeData(String param) throws Exception { |
|
||||||
if (Func.isBlank(param)) { |
|
||||||
param = DateUtil.format(new Date(), "yyyy-MM"); |
|
||||||
} |
|
||||||
monitorService.realTimeData(param); |
|
||||||
return new ReturnT<>("SUCCESS"); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** |
|
||||||
* 集中监控数据处理 |
|
||||||
* @return ReturnT<String> |
|
||||||
*/ |
|
||||||
@XxlJob(CENTRALIZED_MONITORING) |
|
||||||
//@Scheduled(cron = "0/40 * * * * ? ")
|
|
||||||
public ReturnT<String> centralizedMonitoring(String param) throws Exception { |
|
||||||
if (Func.isBlank(param)) { |
|
||||||
param = DateUtil.format(new Date(), "yyyy-MM"); |
|
||||||
} |
|
||||||
monitorService.centralizedMonitoring(param); |
|
||||||
return new ReturnT<>("SUCCESS"); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
} |
|
@ -1,16 +0,0 @@ |
|||||||
package com.hnac.hzims.scheduled.service; |
|
||||||
|
|
||||||
import com.hnac.hzims.operational.alert.entity.HistoryAbnormalAlarmEntity; |
|
||||||
import org.springblade.core.mp.base.BaseService; |
|
||||||
|
|
||||||
/** |
|
||||||
* @Author WL |
|
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/19 11:09 |
|
||||||
*/ |
|
||||||
public interface HistoryAbnormalAlarmService extends BaseService<HistoryAbnormalAlarmEntity> { |
|
||||||
|
|
||||||
|
|
||||||
HistoryAbnormalAlarmEntity getAbnormalAlarm(String station, String soeType); |
|
||||||
} |
|
@ -1,17 +0,0 @@ |
|||||||
package com.hnac.hzims.scheduled.service; |
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
||||||
import com.hnac.hzims.operational.station.entity.HzimsAnalyzeModelStationEntity; |
|
||||||
import org.springblade.core.mp.base.BaseService; |
|
||||||
|
|
||||||
import java.util.List; |
|
||||||
|
|
||||||
/** |
|
||||||
* @Author WL |
|
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/22 11:31 |
|
||||||
*/ |
|
||||||
public interface IHzimsAnalyzeModelStationService extends BaseService<HzimsAnalyzeModelStationEntity> { |
|
||||||
|
|
||||||
} |
|
@ -1,16 +0,0 @@ |
|||||||
package com.hnac.hzims.scheduled.service; |
|
||||||
|
|
||||||
import com.hnac.hzims.equipment.vo.EminfoAndEmParamVo; |
|
||||||
|
|
||||||
import java.util.List; |
|
||||||
|
|
||||||
/** |
|
||||||
* @Author WL |
|
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/19 14:00 |
|
||||||
*/ |
|
||||||
public interface IMainSystemMonitoringService { |
|
||||||
|
|
||||||
List<EminfoAndEmParamVo> getEmInfoList(); |
|
||||||
} |
|
@ -1,13 +0,0 @@ |
|||||||
package com.hnac.hzims.scheduled.service; |
|
||||||
|
|
||||||
/** |
|
||||||
* @Author WL |
|
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/19 10:20 |
|
||||||
*/ |
|
||||||
public interface IRealMonitorService { |
|
||||||
void realTimeData(String param); |
|
||||||
|
|
||||||
void centralizedMonitoring(String param); |
|
||||||
} |
|
@ -1,16 +0,0 @@ |
|||||||
package com.hnac.hzims.scheduled.service; |
|
||||||
|
|
||||||
import com.hnac.hzims.operational.station.entity.StationAttrConfigEntity; |
|
||||||
import org.springblade.core.mp.base.BaseService; |
|
||||||
|
|
||||||
import java.util.List; |
|
||||||
|
|
||||||
/** |
|
||||||
* @Author WL |
|
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/19 16:06 |
|
||||||
*/ |
|
||||||
public interface IStationAttrConfigService extends BaseService<StationAttrConfigEntity> { |
|
||||||
List<String> getHideList(); |
|
||||||
} |
|
@ -1,13 +0,0 @@ |
|||||||
package com.hnac.hzims.scheduled.service; |
|
||||||
|
|
||||||
import com.hnac.hzims.operational.station.entity.StationAttributeEntity; |
|
||||||
import org.springblade.core.mp.base.BaseService; |
|
||||||
|
|
||||||
/** |
|
||||||
* @Author WL |
|
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/19 11:34 |
|
||||||
*/ |
|
||||||
public interface IStationAttributeService extends BaseService<StationAttributeEntity> { |
|
||||||
} |
|
@ -1,27 +0,0 @@ |
|||||||
package com.hnac.hzims.scheduled.service; |
|
||||||
|
|
||||||
import com.hnac.hzims.operational.station.entity.StationEntity; |
|
||||||
import org.springblade.core.mp.base.BaseService; |
|
||||||
|
|
||||||
import java.util.ArrayList; |
|
||||||
import java.util.List; |
|
||||||
|
|
||||||
/** |
|
||||||
* @Author WL |
|
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/19 10:33 |
|
||||||
*/ |
|
||||||
public interface IStationService extends BaseService<StationEntity> { |
|
||||||
|
|
||||||
List<StationEntity> getStationByType(Integer stationType, Integer serveType); |
|
||||||
|
|
||||||
List<StationEntity> getAll(); |
|
||||||
|
|
||||||
List<StationEntity> getStationByInCode(List<String> strings); |
|
||||||
|
|
||||||
|
|
||||||
List<StationEntity> getStationType(Integer serveType,List<Integer> typeList,List<Long> departIdList); |
|
||||||
|
|
||||||
|
|
||||||
} |
|
@ -1,11 +0,0 @@ |
|||||||
package com.hnac.hzims.scheduled.service; |
|
||||||
|
|
||||||
/** |
|
||||||
* @Author WL |
|
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/22 11:22 |
|
||||||
*/ |
|
||||||
public interface IWaterService { |
|
||||||
void loadWaterLevel(String param); |
|
||||||
} |
|
@ -1,14 +0,0 @@ |
|||||||
package com.hnac.hzims.scheduled.service; |
|
||||||
|
|
||||||
import com.hnac.hzims.operational.config.entity.StAlarmRecordEntity; |
|
||||||
import org.springblade.core.mp.base.BaseService; |
|
||||||
|
|
||||||
/** |
|
||||||
* @Author WL |
|
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/19 15:41 |
|
||||||
*/ |
|
||||||
public interface StAlamRecordService extends BaseService<StAlarmRecordEntity> { |
|
||||||
Long insertAlert(String stationId, String monitorId); |
|
||||||
} |
|
@ -1,14 +0,0 @@ |
|||||||
package com.hnac.hzims.scheduled.service; |
|
||||||
|
|
||||||
import com.hnac.hzims.operational.config.entity.StFocusPropertiesEntity; |
|
||||||
import org.springblade.core.mp.base.BaseService; |
|
||||||
|
|
||||||
/** |
|
||||||
* @Author WL |
|
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/19 10:21 |
|
||||||
*/ |
|
||||||
public interface StFocusPropertiesService extends BaseService<StFocusPropertiesEntity> { |
|
||||||
void getStationRealIds(String param); |
|
||||||
} |
|
@ -0,0 +1,16 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.equipment; |
||||||
|
|
||||||
|
import com.hnac.hzims.equipment.entity.PlanGenerationEntity; |
||||||
|
import org.springblade.core.mp.base.BaseService; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface PlanService extends BaseService<PlanGenerationEntity> { |
||||||
|
|
||||||
|
|
||||||
|
// 查询计划发电量
|
||||||
|
List<PlanGenerationEntity> planGeneration(List<String> stationIds, List<String> deptIds, String date); |
||||||
|
} |
@ -0,0 +1,12 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.equipment; |
||||||
|
|
||||||
|
import com.hnac.hzims.equipment.entity.WorkshopInfoEntity; |
||||||
|
import org.springblade.core.mp.base.BaseService; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* @author hx |
||||||
|
*/ |
||||||
|
public interface WorkshopInfoService extends BaseService<WorkshopInfoEntity> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,35 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.equipment.impl; |
||||||
|
|
||||||
|
import com.baomidou.dynamic.datasource.annotation.DS; |
||||||
|
import com.hnac.hzims.equipment.entity.PlanGenerationEntity; |
||||||
|
import com.hnac.hzims.scheduled.mapper.equipment.PlanMapper; |
||||||
|
import com.hnac.hzims.scheduled.service.equipment.PlanService; |
||||||
|
import lombok.AllArgsConstructor; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
import org.springblade.core.mp.base.BaseServiceImpl; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
@Service |
||||||
|
@Slf4j |
||||||
|
@AllArgsConstructor |
||||||
|
@DS("equipment") |
||||||
|
public class PlanServiceImpl extends BaseServiceImpl<PlanMapper, PlanGenerationEntity> implements PlanService { |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 查询计划发电量 |
||||||
|
* @param stationIds |
||||||
|
* @param deptIds |
||||||
|
* @param date |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public List<PlanGenerationEntity> planGeneration(List<String> stationIds, List<String> deptIds, String date) { |
||||||
|
return this.baseMapper.planGeneration(stationIds,deptIds,date); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,21 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.equipment.impl; |
||||||
|
|
||||||
|
import com.baomidou.dynamic.datasource.annotation.DS; |
||||||
|
import com.hnac.hzims.equipment.entity.WorkshopInfoEntity; |
||||||
|
import com.hnac.hzims.scheduled.mapper.equipment.WorkshopInfoMapper; |
||||||
|
import com.hnac.hzims.scheduled.service.equipment.WorkshopInfoService; |
||||||
|
import groovy.util.logging.Slf4j; |
||||||
|
import lombok.AllArgsConstructor; |
||||||
|
import org.springblade.core.mp.base.BaseServiceImpl; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author hx |
||||||
|
*/ |
||||||
|
@Service |
||||||
|
@AllArgsConstructor |
||||||
|
@Slf4j |
||||||
|
@DS("equipment") |
||||||
|
public class WorkshopInfoServiceImpl extends BaseServiceImpl<WorkshopInfoMapper, WorkshopInfoEntity> implements WorkshopInfoService { |
||||||
|
|
||||||
|
} |
@ -1,242 +0,0 @@ |
|||||||
package com.hnac.hzims.scheduled.service.impl; |
|
||||||
|
|
||||||
import com.hnac.hzims.message.MessageConstants; |
|
||||||
import com.hnac.hzims.message.dto.MessagePushRecordDto; |
|
||||||
import com.hnac.hzims.message.fegin.IMessageClient; |
|
||||||
import com.hnac.hzims.operational.alert.constants.AbnormalAlarmConstant; |
|
||||||
import com.hnac.hzims.operational.alert.entity.AbnormalAlarmEntity; |
|
||||||
import com.hnac.hzims.operational.alert.entity.HistoryAbnormalAlarmEntity; |
|
||||||
import com.hnac.hzims.operational.main.constant.HomePageConstant; |
|
||||||
import com.hnac.hzims.operational.station.entity.StationEntity; |
|
||||||
import com.hnac.hzims.scheduled.mapper.operation.AbnormalAlarmMapper; |
|
||||||
import com.hnac.hzims.scheduled.service.AbnormalAlarmService; |
|
||||||
import com.hnac.hzims.scheduled.service.HistoryAbnormalAlarmService; |
|
||||||
import com.hnac.hzims.scheduled.service.IStationService; |
|
||||||
import com.hnac.hzinfo.datasearch.soe.ISoeClient; |
|
||||||
import com.hnac.hzinfo.datasearch.soe.domian.SoeData; |
|
||||||
import com.hnac.hzinfo.datasearch.soe.domian.SoeQueryConditionByStation; |
|
||||||
import com.hnac.hzinfo.sdk.core.response.HzPage; |
|
||||||
import com.hnac.hzinfo.sdk.core.response.Result; |
|
||||||
import lombok.RequiredArgsConstructor; |
|
||||||
import lombok.extern.slf4j.Slf4j; |
|
||||||
import org.springblade.core.mp.base.BaseServiceImpl; |
|
||||||
import org.springblade.core.tool.api.R; |
|
||||||
import org.springblade.core.tool.utils.CollectionUtil; |
|
||||||
import org.springblade.core.tool.utils.DateUtil; |
|
||||||
import org.springblade.core.tool.utils.ObjectUtil; |
|
||||||
import org.springblade.core.tool.utils.StringUtil; |
|
||||||
import org.springblade.system.feign.ISysClient; |
|
||||||
import org.springblade.system.user.entity.User; |
|
||||||
import org.springblade.system.user.feign.IUserClient; |
|
||||||
import org.springframework.stereotype.Service; |
|
||||||
|
|
||||||
import java.time.LocalDateTime; |
|
||||||
import java.util.*; |
|
||||||
import java.util.concurrent.CompletableFuture; |
|
||||||
import java.util.function.Function; |
|
||||||
import java.util.stream.Collectors; |
|
||||||
|
|
||||||
/** |
|
||||||
* @Author WL |
|
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/19 10:29 |
|
||||||
*/ |
|
||||||
@Slf4j |
|
||||||
@Service |
|
||||||
@RequiredArgsConstructor |
|
||||||
public class AbnormalAlarmServiceImpl extends BaseServiceImpl<AbnormalAlarmMapper, AbnormalAlarmEntity> implements AbnormalAlarmService { |
|
||||||
|
|
||||||
|
|
||||||
private final IStationService stationService; |
|
||||||
|
|
||||||
|
|
||||||
private final HistoryAbnormalAlarmService historyAbnormalAlarmService; |
|
||||||
|
|
||||||
private final ISysClient sysClient; |
|
||||||
|
|
||||||
private final ISoeClient soeClient; |
|
||||||
|
|
||||||
private final IUserClient userClient; |
|
||||||
|
|
||||||
private final IMessageClient messageClient; |
|
||||||
|
|
||||||
|
|
||||||
/** |
|
||||||
* 数据中断、数据异常告警 |
|
||||||
* @param param |
|
||||||
*/ |
|
||||||
@Override |
|
||||||
public void alarmDataHandle(String param) { |
|
||||||
// 查询代运维站点
|
|
||||||
List<StationEntity> stations = stationService.getStationByType(null, HomePageConstant.HYDROPOWER_SERVETYPE); |
|
||||||
if(CollectionUtil.isEmpty(stations)){ |
|
||||||
return; |
|
||||||
} |
|
||||||
SoeQueryConditionByStation query = new SoeQueryConditionByStation(); |
|
||||||
query.setTypes(AbnormalAlarmConstant.SEND_MESSSAGE_TYPE_LIST); |
|
||||||
query.setStationIds(stations.stream().map(StationEntity::getCode).collect(Collectors.toList())); |
|
||||||
Calendar calendar = Calendar.getInstance(); |
|
||||||
query.setEndTime(LocalDateTime.parse(DateUtil.format(calendar.getTime(), DateUtil.PATTERN_DATETIME),DateUtil.DATETIME_FORMATTER)); |
|
||||||
calendar.add(Calendar.MINUTE,-2); |
|
||||||
query.setBeginTime(LocalDateTime.parse(DateUtil.format(calendar.getTime() , DateUtil.PATTERN_DATETIME),DateUtil.DATETIME_FORMATTER)); |
|
||||||
query.setNeedPage(false); |
|
||||||
log.error("alarm_data_handle_param : {}",query); |
|
||||||
Result<HzPage<SoeData>> result = soeClient.getByStationsAndTime(query); |
|
||||||
// 未查询到告警信息
|
|
||||||
if(!result.isSuccess() || ObjectUtil.isEmpty(result.getData().getRecords())){ |
|
||||||
return; |
|
||||||
} |
|
||||||
log.error("alarm_data_handle_begin_result : {}",result.getData().getRecords()); |
|
||||||
// 遍历告警信息
|
|
||||||
List<SoeData> list = new ArrayList<>(result.getData().getRecords().stream().sorted(Comparator.comparing(SoeData::getTs).reversed()) |
|
||||||
.collect(Collectors.toMap(o -> o.getStation() + o.getSoeType(), Function.identity(), (o1, o2) -> o1)).values()); |
|
||||||
log.error("alarm_data_handle_end_result : {}",list); |
|
||||||
list.forEach(item -> { |
|
||||||
AbnormalAlarmEntity queryEntity = this.baseMapper.getAbnormalAlarm(item.getStation(),item.getSoeType()); |
|
||||||
boolean flag = AbnormalAlarmConstant.ABNORMAL_STATUS.equals(item.getSoeAlarmType()); |
|
||||||
String stationName = Optional.ofNullable(stations.stream().filter(o-> o.getCode().equals(item.getStation())).collect(Collectors.toList())).map(o->o.get(0).getName()).orElse(null); |
|
||||||
if(ObjectUtil.isEmpty(queryEntity)){ |
|
||||||
AbnormalAlarmEntity entity = new AbnormalAlarmEntity(); |
|
||||||
entity.setStationId(item.getStation()); |
|
||||||
entity.setStationName(stationName); |
|
||||||
entity.setRealId(item.getRealId()); |
|
||||||
entity.setSoeExplain(item.getSoeExplain()); |
|
||||||
entity.setType(item.getSoeType()); |
|
||||||
entity.setStartTime(item.getTs()); |
|
||||||
entity.setEndTime(null); |
|
||||||
entity.setStatus(0); |
|
||||||
if(flag){ |
|
||||||
entity.setStartTime(null); |
|
||||||
entity.setEndTime(item.getTs()); |
|
||||||
entity.setStatus(1); |
|
||||||
} |
|
||||||
// 保存告警信息
|
|
||||||
this.save(entity); |
|
||||||
return; |
|
||||||
} |
|
||||||
queryEntity.setSoeExplain(item.getSoeExplain()); |
|
||||||
queryEntity.setStationName(stationName); |
|
||||||
queryEntity.setType(item.getSoeType()); |
|
||||||
queryEntity.setStartTime(queryEntity.getStartTime()); |
|
||||||
queryEntity.setUpdateTime(new Date()); |
|
||||||
queryEntity.setEndTime(null); |
|
||||||
queryEntity.setStatus(0); |
|
||||||
if(flag){ |
|
||||||
queryEntity.setEndTime(item.getTs()); |
|
||||||
queryEntity.setStatus(1); |
|
||||||
} |
|
||||||
this.updateById(queryEntity); |
|
||||||
}); |
|
||||||
|
|
||||||
// 异步保存历史告警
|
|
||||||
CompletableFuture.supplyAsync(()-> this.saveHistoryAlarm(result.getData().getRecords(),stations)); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
/** |
|
||||||
* 保存告警历史信息 |
|
||||||
* @param list |
|
||||||
* @return |
|
||||||
*/ |
|
||||||
private String saveHistoryAlarm(List<SoeData> list,List<StationEntity> stations) { |
|
||||||
list.forEach(item -> { |
|
||||||
Date ts = DateUtil.parse(DateUtil.format(item.getTs(),DateUtil.PATTERN_DATETIME),DateUtil.DATETIME_FORMAT); |
|
||||||
// 历史数据异常查询
|
|
||||||
HistoryAbnormalAlarmEntity queryEntity = this.historyAbnormalAlarmService.getAbnormalAlarm(item.getStation(),item.getSoeType()); |
|
||||||
// 数据中断恢复
|
|
||||||
boolean flag = AbnormalAlarmConstant.ABNORMAL_STATUS.equals(item.getSoeAlarmType()); |
|
||||||
String stationName = Optional.ofNullable(stations.stream().filter(o-> o.getCode().equals(item.getStation())).collect(Collectors.toList())).map(o->o.get(0).getName()).orElse(null); |
|
||||||
if(ObjectUtil.isEmpty(queryEntity) || !flag){ |
|
||||||
HistoryAbnormalAlarmEntity entity = new HistoryAbnormalAlarmEntity(); |
|
||||||
entity.setAlarmId(item.getId()); |
|
||||||
entity.setStationId(item.getStation()); |
|
||||||
entity.setStationName(stationName); |
|
||||||
entity.setRealId(item.getRealId()); |
|
||||||
entity.setSoeExplain(item.getSoeExplain()); |
|
||||||
entity.setType(item.getSoeType()); |
|
||||||
entity.setStartTime(ts); |
|
||||||
entity.setStatus(0); |
|
||||||
this.historyAbnormalAlarmService.save(entity); |
|
||||||
// 消息推送
|
|
||||||
this.sendAlarmMessage(Collections.singletonList(entity),stations); |
|
||||||
return; |
|
||||||
} |
|
||||||
queryEntity.setSoeExplain(item.getSoeExplain()); |
|
||||||
queryEntity.setUpdateTime(new Date()); |
|
||||||
queryEntity.setEndTime(ts); |
|
||||||
queryEntity.setStatus(1); |
|
||||||
this.historyAbnormalAlarmService.updateById(queryEntity); |
|
||||||
}); |
|
||||||
return "success"; |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** |
|
||||||
* 告警消息推送 |
|
||||||
* @param entitys |
|
||||||
*/ |
|
||||||
private void sendAlarmMessage(List<HistoryAbnormalAlarmEntity> entitys,List<StationEntity> stations) { |
|
||||||
if(CollectionUtil.isEmpty(entitys)){ |
|
||||||
return; |
|
||||||
} |
|
||||||
// 告警等级 :事故、数据中断
|
|
||||||
List<HistoryAbnormalAlarmEntity> alarms = entitys.stream().filter(entity -> AbnormalAlarmConstant.SEND_MESSSAGE_TYPE_LIST.contains(entity.getType())).collect(Collectors.toList()); |
|
||||||
if(CollectionUtil.isEmpty(alarms)){ |
|
||||||
return; |
|
||||||
} |
|
||||||
// 查询站点用户
|
|
||||||
entitys.forEach(entity->{ |
|
||||||
if(StringUtil.isEmpty(entity.getStationId())){ |
|
||||||
return; |
|
||||||
} |
|
||||||
List<Long> depts = stations.stream().filter(station -> station.getCode().equals(entity.getStationId())).map(StationEntity::getRefDept).collect(Collectors.toList()); |
|
||||||
if(CollectionUtil.isEmpty(depts)){ |
|
||||||
return; |
|
||||||
} |
|
||||||
// 获取站点用户
|
|
||||||
R<List<User>> result = userClient.userListByDeptId(depts.get(0)); |
|
||||||
if(!result.isSuccess() || CollectionUtil.isEmpty(result.getData())){ |
|
||||||
return; |
|
||||||
} |
|
||||||
MessagePushRecordDto message = new MessagePushRecordDto(); |
|
||||||
message.setBusinessClassify("warning"); |
|
||||||
message.setBusinessKey(MessageConstants.BusinessClassifyEnum.WARNING.getKey()); |
|
||||||
message.setSubject(MessageConstants.BusinessClassifyEnum.WARNING.getDescription()); |
|
||||||
message.setTaskId(entity.getId()); |
|
||||||
message.setTenantId("200000"); |
|
||||||
message.setContent(entity.getSoeExplain()); |
|
||||||
message.setTypes(Arrays.asList(MessageConstants.APP_PUSH, MessageConstants.WS_PUSH)); |
|
||||||
message.setPushType(MessageConstants.IMMEDIATELY); |
|
||||||
message.setDeptId(depts.get(0)); |
|
||||||
R<String> deptName = sysClient.getDeptName(depts.get(0)); |
|
||||||
if (deptName.isSuccess()) { |
|
||||||
message.setDeptName(deptName.getData()); |
|
||||||
} |
|
||||||
User admin = userClient.userByAccount("200000", "admin").getData(); |
|
||||||
message.setCreateDept(admin.getCreateDept()); |
|
||||||
message.setCreateUser(admin.getCreateUser()); |
|
||||||
result.getData().forEach(user->{ |
|
||||||
message.setPusher(String.valueOf(user.getId())); |
|
||||||
message.setPusherName(user.getName()); |
|
||||||
message.setAccount(String.valueOf(user.getId())); |
|
||||||
messageClient.sendMessage(message); |
|
||||||
}); |
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
/** |
|
||||||
* 查询实时告警数据 |
|
||||||
* @return |
|
||||||
*/ |
|
||||||
@Override |
|
||||||
public List<String> getAbnormalAlarmList() { |
|
||||||
List<String> alarmList = this.baseMapper.getAbnormalAlarmList(); |
|
||||||
if(CollectionUtil.isEmpty(alarmList)){ |
|
||||||
return new ArrayList<>(); |
|
||||||
} |
|
||||||
return alarmList; |
|
||||||
} |
|
||||||
} |
|
@ -1,41 +0,0 @@ |
|||||||
package com.hnac.hzims.scheduled.service.impl; |
|
||||||
|
|
||||||
import com.hnac.hzims.operational.alert.entity.HistoryAbnormalAlarmEntity; |
|
||||||
import com.hnac.hzims.scheduled.mapper.operation.HistoryAbnormalAlarmMapper; |
|
||||||
import com.hnac.hzims.scheduled.service.HistoryAbnormalAlarmService; |
|
||||||
import lombok.RequiredArgsConstructor; |
|
||||||
import lombok.extern.slf4j.Slf4j; |
|
||||||
import org.springblade.core.mp.base.BaseServiceImpl; |
|
||||||
import org.springblade.core.tool.utils.CollectionUtil; |
|
||||||
import org.springframework.stereotype.Service; |
|
||||||
|
|
||||||
import java.util.Comparator; |
|
||||||
import java.util.List; |
|
||||||
import java.util.stream.Collectors; |
|
||||||
|
|
||||||
/** |
|
||||||
* @Author WL |
|
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/19 11:12 |
|
||||||
*/ |
|
||||||
@Slf4j |
|
||||||
@Service |
|
||||||
@RequiredArgsConstructor |
|
||||||
public class HistoryAbnormalAlarmServiceImpl extends BaseServiceImpl<HistoryAbnormalAlarmMapper, HistoryAbnormalAlarmEntity> implements HistoryAbnormalAlarmService { |
|
||||||
/** |
|
||||||
* 查询单条历史告警 |
|
||||||
* |
|
||||||
* @param station |
|
||||||
* @param soeType |
|
||||||
* @return |
|
||||||
*/ |
|
||||||
@Override |
|
||||||
public HistoryAbnormalAlarmEntity getAbnormalAlarm(String station, String soeType) { |
|
||||||
List<HistoryAbnormalAlarmEntity> alarms = this.baseMapper.getHistoryAbnormalAlarm(station, soeType); |
|
||||||
if(CollectionUtil.isEmpty(alarms)){ |
|
||||||
return null; |
|
||||||
} |
|
||||||
return alarms.stream().sorted(Comparator.comparing(HistoryAbnormalAlarmEntity::getStartTime)).collect(Collectors.toList()).get(0); |
|
||||||
} |
|
||||||
} |
|
@ -1,17 +0,0 @@ |
|||||||
package com.hnac.hzims.scheduled.service.impl; |
|
||||||
|
|
||||||
import com.hnac.hzims.operational.station.entity.HzimsAnalyzeModelStationEntity; |
|
||||||
import com.hnac.hzims.scheduled.mapper.operation.HzimsAnalyzeModelStationMapper; |
|
||||||
import com.hnac.hzims.scheduled.service.IHzimsAnalyzeModelStationService; |
|
||||||
import org.springblade.core.mp.base.BaseServiceImpl; |
|
||||||
import org.springframework.stereotype.Service; |
|
||||||
|
|
||||||
/** |
|
||||||
* @Author WL |
|
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/22 11:42 |
|
||||||
*/ |
|
||||||
@Service |
|
||||||
public class HzimsAnalyzeModelStationServiceImpl extends BaseServiceImpl<HzimsAnalyzeModelStationMapper, HzimsAnalyzeModelStationEntity> implements IHzimsAnalyzeModelStationService { |
|
||||||
} |
|
@ -1,51 +0,0 @@ |
|||||||
package com.hnac.hzims.scheduled.service.impl; |
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject; |
|
||||||
import com.alibaba.fastjson.TypeReference; |
|
||||||
import com.hnac.hzims.equipment.vo.EminfoAndEmParamVo; |
|
||||||
import com.hnac.hzims.scheduled.service.IMainSystemMonitoringService; |
|
||||||
import lombok.RequiredArgsConstructor; |
|
||||||
import lombok.extern.slf4j.Slf4j; |
|
||||||
import org.springblade.core.tool.utils.ObjectUtil; |
|
||||||
import org.springframework.beans.factory.annotation.Value; |
|
||||||
import org.springframework.data.redis.core.RedisTemplate; |
|
||||||
import org.springframework.stereotype.Service; |
|
||||||
|
|
||||||
import java.util.ArrayList; |
|
||||||
import java.util.List; |
|
||||||
|
|
||||||
/** |
|
||||||
* @Author WL |
|
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/19 14:01 |
|
||||||
*/ |
|
||||||
@Service |
|
||||||
@Slf4j |
|
||||||
@RequiredArgsConstructor |
|
||||||
public class MainSystemMonitoringServiceImpl implements IMainSystemMonitoringService { |
|
||||||
|
|
||||||
|
|
||||||
private final RedisTemplate redisTemplate; |
|
||||||
|
|
||||||
|
|
||||||
@Value("${hzims.equipment.emInfo.emInfoList}") |
|
||||||
public String emInfoListPath; |
|
||||||
|
|
||||||
/** |
|
||||||
* 从Redis获取设备信息 |
|
||||||
* |
|
||||||
* @return |
|
||||||
*/ |
|
||||||
@Override |
|
||||||
public List<EminfoAndEmParamVo> getEmInfoList() { |
|
||||||
List<EminfoAndEmParamVo> list = new ArrayList<>(); |
|
||||||
Object json = redisTemplate.opsForValue().get(emInfoListPath); |
|
||||||
if (ObjectUtil.isNotEmpty(json)) { |
|
||||||
list = JSONObject.parseObject(json.toString(), new TypeReference<List<EminfoAndEmParamVo>>() { |
|
||||||
}); |
|
||||||
} |
|
||||||
return list; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,164 +0,0 @@ |
|||||||
package com.hnac.hzims.scheduled.service.impl; |
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject; |
|
||||||
import com.alibaba.fastjson.TypeReference; |
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
||||||
import com.google.common.collect.Lists; |
|
||||||
import com.hnac.hzims.equipment.entity.WorkshopInfoEntity; |
|
||||||
import com.hnac.hzims.equipment.feign.IEmInfoClient; |
|
||||||
import com.hnac.hzims.equipment.feign.IWorkshopInfoClient; |
|
||||||
import com.hnac.hzims.equipment.vo.EminfoAndEmParamVo; |
|
||||||
import com.hnac.hzims.operational.config.entity.StFocusPropertiesEntity; |
|
||||||
import com.hnac.hzims.operational.main.constant.HomePageConstant; |
|
||||||
import com.hnac.hzims.operational.station.entity.StationAttributeEntity; |
|
||||||
import com.hnac.hzims.operational.station.entity.StationEntity; |
|
||||||
import com.hnac.hzims.scheduled.mapper.operation.StFocusPropertiesMapper; |
|
||||||
import com.hnac.hzims.scheduled.service.IStationAttributeService; |
|
||||||
import com.hnac.hzims.scheduled.service.IStationService; |
|
||||||
import com.hnac.hzims.scheduled.service.StFocusPropertiesService; |
|
||||||
import com.hnac.hzims.scheduled.vo.StationRealVo; |
|
||||||
import com.hnac.hzinfo.datasearch.analyse.IAnalyseDataSearchClient; |
|
||||||
import com.hnac.hzinfo.datasearch.analyse.vo.AnalyzeCodeBySignagesVO; |
|
||||||
import com.hnac.hzinfo.sdk.analyse.po.MultiAnalyzeCodePO; |
|
||||||
import lombok.RequiredArgsConstructor; |
|
||||||
import org.springblade.core.log.logger.BladeLogger; |
|
||||||
import org.springblade.core.mp.base.BaseServiceImpl; |
|
||||||
import org.springblade.core.tool.api.R; |
|
||||||
import org.springblade.core.tool.utils.CollectionUtil; |
|
||||||
import org.springblade.core.tool.utils.Func; |
|
||||||
import org.springblade.core.tool.utils.ObjectUtil; |
|
||||||
import org.springblade.core.tool.utils.StringUtil; |
|
||||||
import org.springframework.beans.factory.annotation.Value; |
|
||||||
import org.springframework.data.redis.core.RedisTemplate; |
|
||||||
import org.springframework.stereotype.Service; |
|
||||||
|
|
||||||
import java.util.ArrayList; |
|
||||||
import java.util.List; |
|
||||||
import java.util.Optional; |
|
||||||
import java.util.function.Function; |
|
||||||
import java.util.stream.Collectors; |
|
||||||
|
|
||||||
/** |
|
||||||
* @Author WL |
|
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/19 11:27 |
|
||||||
*/ |
|
||||||
@Service |
|
||||||
@RequiredArgsConstructor |
|
||||||
public class StFocusPropertiesServiceImpl extends BaseServiceImpl<StFocusPropertiesMapper, StFocusPropertiesEntity> implements StFocusPropertiesService { |
|
||||||
|
|
||||||
|
|
||||||
private final IStationService stationService; |
|
||||||
|
|
||||||
private final IStationAttributeService attbtService; |
|
||||||
|
|
||||||
private final IEmInfoClient emInfoClient; |
|
||||||
|
|
||||||
private final IAnalyseDataSearchClient analyseDataSearchClient; |
|
||||||
|
|
||||||
private final IWorkshopInfoClient workshopInfoClient; |
|
||||||
|
|
||||||
private final RedisTemplate redisTemplate; |
|
||||||
|
|
||||||
private final BladeLogger logger; |
|
||||||
|
|
||||||
@Value("${hzims.operation.monitor.realId}") |
|
||||||
public String moniter_realId_key; |
|
||||||
|
|
||||||
@Value("${hzims.equipment.emInfo.emInfoList}") |
|
||||||
public String em_info_list_path; |
|
||||||
|
|
||||||
@Override |
|
||||||
public void getStationRealIds(String param) { |
|
||||||
// 所有站点
|
|
||||||
List<StationEntity> stationList = stationService.getAll(); |
|
||||||
if(CollectionUtil.isEmpty(stationList)){ |
|
||||||
return; |
|
||||||
} |
|
||||||
// 设备监测点list
|
|
||||||
Object json = redisTemplate.opsForValue().get(em_info_list_path); |
|
||||||
List<EminfoAndEmParamVo> eminfoAndEmParams = JSONObject.parseObject(json.toString(), new TypeReference<List<EminfoAndEmParamVo>>() {}); |
|
||||||
// 厂房监测点list
|
|
||||||
List<AnalyzeCodeBySignagesVO> wsMonitorList = this.getRealIdByWsCodeAndSign(); |
|
||||||
// 实时监控监测点list
|
|
||||||
List<StationAttributeEntity> timeList = attbtService.list(new LambdaQueryWrapper<StationAttributeEntity>() {{ |
|
||||||
eq(StationAttributeEntity::getIsDeleted, "0"); |
|
||||||
isNotNull(StationAttributeEntity::getMonitorId); |
|
||||||
orderByAsc(StationAttributeEntity::getSort); |
|
||||||
}}); |
|
||||||
// 监测点存储list
|
|
||||||
List<StationRealVo> list = new ArrayList<>(); |
|
||||||
stationList.forEach(station->{ |
|
||||||
StationRealVo stationRealVo = new StationRealVo(); |
|
||||||
stationRealVo.setStation(station.getCode()); |
|
||||||
List<String> realDeviceList = this.getRealDeviceList(station.getRefDept(),eminfoAndEmParams); |
|
||||||
// 厂站匹配站点监测点集合
|
|
||||||
List<String> realWsList = wsMonitorList.stream().filter( |
|
||||||
o -> Func.isNotEmpty(o.getStation()) && o.getStation().equals(station.getCode()) |
|
||||||
).map(AnalyzeCodeBySignagesVO::getRealId).collect(Collectors.toList()); |
|
||||||
// 实时监控匹配站点监测点集合
|
|
||||||
List<String> realTimeList = timeList.stream().filter(o -> null != o.getStationId() && o.getStationId().equals(station.getCode())).map(StationAttributeEntity::getMonitorId).collect(Collectors.toList()); |
|
||||||
if(CollectionUtil.isNotEmpty(realTimeList)){ |
|
||||||
realDeviceList.addAll(realTimeList); |
|
||||||
} |
|
||||||
if(CollectionUtil.isNotEmpty(realWsList)) { |
|
||||||
realDeviceList.addAll(realWsList); |
|
||||||
} |
|
||||||
if(CollectionUtil.isEmpty(realDeviceList)){ |
|
||||||
return; |
|
||||||
} |
|
||||||
List<String> realList = realDeviceList.stream().distinct().collect(Collectors.toList()); |
|
||||||
String[] realArr = StringUtil.join(realList,",").split(","); |
|
||||||
stationRealVo.setRealId(realArr); |
|
||||||
list.add(stationRealVo); |
|
||||||
}); |
|
||||||
redisTemplate.opsForValue().set(moniter_realId_key,list); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private List<AnalyzeCodeBySignagesVO> getRealIdByWsCodeAndSign() { |
|
||||||
R<List<WorkshopInfoEntity>> wsInfoListR = workshopInfoClient.getAllWorkshop(); |
|
||||||
List<WorkshopInfoEntity> wsInfoList = Optional.ofNullable(wsInfoListR).filter(r -> r.isSuccess() && CollectionUtil.isNotEmpty(wsInfoListR.getData())) |
|
||||||
.map(R::getData).orElse(null); |
|
||||||
if(CollectionUtil.isEmpty(wsInfoList)) { |
|
||||||
return Lists.newArrayList(); |
|
||||||
} |
|
||||||
Function<String, MultiAnalyzeCodePO> getAnalyzeCodePO = wsCode -> { |
|
||||||
MultiAnalyzeCodePO multiAnalyzeCodePO = new MultiAnalyzeCodePO(); |
|
||||||
multiAnalyzeCodePO.setDeviceCode(wsCode); |
|
||||||
multiAnalyzeCodePO.setSignages(Lists.newArrayList(HomePageConstant.PV_JOINT_RELAY,HomePageConstant.PV_REACTIVE_POWER,HomePageConstant.PV_GENERATION_CAPACITY)); |
|
||||||
return multiAnalyzeCodePO; |
|
||||||
}; |
|
||||||
List<MultiAnalyzeCodePO> analyzeCodePOList = wsInfoList.stream().map(WorkshopInfoEntity::getNumber).map(getAnalyzeCodePO).collect(Collectors.toList()); |
|
||||||
R<List<AnalyzeCodeBySignagesVO>> analyzeCodeBySignages = analyseDataSearchClient.getAnalyzeCodeBySignages(analyzeCodePOList); |
|
||||||
return Optional.ofNullable(analyzeCodeBySignages).filter(r -> r.isSuccess()).map(R::getData).orElse(Lists.newArrayList()); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** |
|
||||||
* 获取站点realId |
|
||||||
* @param refDept |
|
||||||
* @param eminfoAndEmParams |
|
||||||
* @return |
|
||||||
*/ |
|
||||||
private List<String> getRealDeviceList(Long refDept, List<EminfoAndEmParamVo> eminfoAndEmParams) { |
|
||||||
// 参数检查
|
|
||||||
if(CollectionUtil.isEmpty(eminfoAndEmParams) || ObjectUtil.isEmpty(refDept)){ |
|
||||||
return new ArrayList<>(); |
|
||||||
} |
|
||||||
// 有效设备
|
|
||||||
List<EminfoAndEmParamVo> filters = eminfoAndEmParams.stream().filter(o-> o.getCreateDept().equals(refDept)).collect(Collectors.toList()); |
|
||||||
if(CollectionUtil.isEmpty(filters)){ |
|
||||||
return new ArrayList<>(); |
|
||||||
} |
|
||||||
// 遍历设备
|
|
||||||
List<String> result = new ArrayList<>(); |
|
||||||
for(EminfoAndEmParamVo device : filters){ |
|
||||||
result.addAll(device.getPoint().values()); |
|
||||||
} |
|
||||||
return result; |
|
||||||
} |
|
||||||
} |
|
@ -1,22 +0,0 @@ |
|||||||
package com.hnac.hzims.scheduled.service.impl; |
|
||||||
|
|
||||||
import com.hnac.hzims.operational.station.entity.StationAttributeEntity; |
|
||||||
import com.hnac.hzims.scheduled.mapper.operation.StationAttributeMapper; |
|
||||||
import com.hnac.hzims.scheduled.service.IStationAttributeService; |
|
||||||
import lombok.RequiredArgsConstructor; |
|
||||||
import lombok.extern.slf4j.Slf4j; |
|
||||||
import org.springblade.core.mp.base.BaseServiceImpl; |
|
||||||
import org.springframework.stereotype.Service; |
|
||||||
|
|
||||||
/** |
|
||||||
* @Author WL |
|
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/19 11:39 |
|
||||||
*/ |
|
||||||
@Service |
|
||||||
@Slf4j |
|
||||||
@RequiredArgsConstructor |
|
||||||
public class StationAttributeServiceImpl extends BaseServiceImpl<StationAttributeMapper, StationAttributeEntity> implements IStationAttributeService { |
|
||||||
|
|
||||||
} |
|
@ -1,60 +0,0 @@ |
|||||||
package com.hnac.hzims.scheduled.service.impl; |
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
||||||
import com.hnac.hzims.operational.station.entity.StationEntity; |
|
||||||
import com.hnac.hzims.scheduled.mapper.operation.StationMapper; |
|
||||||
import com.hnac.hzims.scheduled.service.IStationService; |
|
||||||
import lombok.RequiredArgsConstructor; |
|
||||||
import lombok.extern.slf4j.Slf4j; |
|
||||||
import org.springblade.core.mp.base.BaseServiceImpl; |
|
||||||
import org.springblade.core.tool.utils.CollectionUtil; |
|
||||||
import org.springblade.core.tool.utils.ObjectUtil; |
|
||||||
import org.springframework.stereotype.Service; |
|
||||||
|
|
||||||
import java.util.List; |
|
||||||
|
|
||||||
/** |
|
||||||
* @Author WL |
|
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/19 10:36 |
|
||||||
*/ |
|
||||||
@Service |
|
||||||
@RequiredArgsConstructor |
|
||||||
@Slf4j |
|
||||||
public class StationServiceImpl extends BaseServiceImpl<StationMapper, StationEntity> implements IStationService { |
|
||||||
|
|
||||||
@Override |
|
||||||
public List<StationEntity> getStationByType(Integer stationType, Integer serveType) { |
|
||||||
return this.baseMapper.selectStationByType(stationType, serveType); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public List<StationEntity> getAll() { |
|
||||||
return this.baseMapper.selectAll(); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
@Override |
|
||||||
public List<StationEntity> getStationByInCode(List<String> codes) { |
|
||||||
return this.baseMapper.selectStationByInCode(codes); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override |
|
||||||
public List<StationEntity> getStationType(Integer serveType, List<Integer> typeList, List<Long> departIdList) { |
|
||||||
return this.list(new LambdaQueryWrapper<StationEntity>() {{ |
|
||||||
eq(StationEntity::getIsDeleted, 0); |
|
||||||
if (ObjectUtil.isNotEmpty(serveType)) { |
|
||||||
eq(StationEntity::getServeType, serveType); |
|
||||||
} |
|
||||||
if (CollectionUtil.isNotEmpty(typeList)) { |
|
||||||
in(StationEntity::getType, typeList); |
|
||||||
} |
|
||||||
if (CollectionUtil.isNotEmpty(departIdList)) { |
|
||||||
in(StationEntity::getRefDept, departIdList); |
|
||||||
} |
|
||||||
}}); |
|
||||||
} |
|
||||||
} |
|
@ -1,201 +0,0 @@ |
|||||||
package com.hnac.hzims.scheduled.service.impl; |
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
||||||
import com.hnac.hzims.EquipmentConstants; |
|
||||||
import com.hnac.hzims.operational.main.constant.HomePageConstant; |
|
||||||
import com.hnac.hzims.operational.main.vo.WaterLevelVo; |
|
||||||
import com.hnac.hzims.operational.station.entity.HzimsAnalyzeModelStationEntity; |
|
||||||
import com.hnac.hzims.operational.station.entity.StationEntity; |
|
||||||
import com.hnac.hzims.scheduled.service.IHzimsAnalyzeModelStationService; |
|
||||||
import com.hnac.hzims.scheduled.service.IStationService; |
|
||||||
import com.hnac.hzims.scheduled.service.IWaterService; |
|
||||||
import com.hnac.hzinfo.datasearch.analyse.IAnalyseDataSearchClient; |
|
||||||
import com.hnac.hzinfo.datasearch.analyse.domain.FieldsData; |
|
||||||
import com.hnac.hzinfo.datasearch.analyse.po.AnalyseCodeByAnalyseDataPO; |
|
||||||
import com.hnac.hzinfo.datasearch.analyse.po.AnalyzeDataConditionPO; |
|
||||||
import com.hnac.hzinfo.datasearch.analyse.vo.AnalyzeCodeBySignagesVO; |
|
||||||
import com.hnac.hzinfo.datasearch.analyse.vo.AnalyzeDataConditionVO; |
|
||||||
import com.hnac.hzinfo.datasearch.real.po.RealDataSearchPO; |
|
||||||
import com.hnac.hzinfo.sdk.analyse.po.MultiAnalyzeCodePO; |
|
||||||
import lombok.RequiredArgsConstructor; |
|
||||||
import lombok.extern.slf4j.Slf4j; |
|
||||||
import org.springblade.core.tool.api.R; |
|
||||||
import org.springblade.core.tool.utils.CollectionUtil; |
|
||||||
import org.springblade.core.tool.utils.DateUtil; |
|
||||||
import org.springblade.core.tool.utils.StringUtil; |
|
||||||
import org.springframework.beans.factory.annotation.Value; |
|
||||||
import org.springframework.data.redis.core.RedisTemplate; |
|
||||||
import org.springframework.stereotype.Service; |
|
||||||
|
|
||||||
import java.time.LocalDateTime; |
|
||||||
import java.util.*; |
|
||||||
import java.util.stream.Collectors; |
|
||||||
|
|
||||||
/** |
|
||||||
* @Author WL |
|
||||||
* @Version v1.0 |
|
||||||
* @Serial 1.0 |
|
||||||
* @Date 2023/5/22 11:23 |
|
||||||
*/ |
|
||||||
@Service |
|
||||||
@RequiredArgsConstructor |
|
||||||
@Slf4j |
|
||||||
public class WaterServiceImpl implements IWaterService { |
|
||||||
|
|
||||||
|
|
||||||
private final IStationService stationService; |
|
||||||
|
|
||||||
|
|
||||||
private final IHzimsAnalyzeModelStationService modelStationService; |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private final IAnalyseDataSearchClient analyseDataSearchClient; |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private final RedisTemplate redisTemplate; |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private final static String loadwater_level_key = "hzims:operation:loadwater:level:key"; |
|
||||||
/** |
|
||||||
* 水利-站点水位数据 |
|
||||||
* @param param |
|
||||||
*/ |
|
||||||
@Override |
|
||||||
public void loadWaterLevel(String param) { |
|
||||||
// 有效站点模型
|
|
||||||
List<HzimsAnalyzeModelStationEntity> modelList = getModelStationList(); |
|
||||||
if(CollectionUtil.isEmpty(modelList)){ |
|
||||||
return; |
|
||||||
} |
|
||||||
List<WaterLevelVo> list = new ArrayList<>(); |
|
||||||
modelList.forEach(item -> { |
|
||||||
List<MultiAnalyzeCodePO> multiAnalyzeCodePOList = new ArrayList<>(); |
|
||||||
MultiAnalyzeCodePO multiAnalyzeCodePO = new MultiAnalyzeCodePO(); |
|
||||||
multiAnalyzeCodePO.setDeviceCode(item.getInstanceCode()); |
|
||||||
multiAnalyzeCodePO.setSignages(Collections.singletonList(HomePageConstant.FRONT_WATER_LEVEL)); |
|
||||||
multiAnalyzeCodePOList.add(multiAnalyzeCodePO); |
|
||||||
R<List<AnalyzeCodeBySignagesVO>> result = analyseDataSearchClient.getAnalyzeCodeBySignages(multiAnalyzeCodePOList); |
|
||||||
if(!result.isSuccess() || CollectionUtil.isEmpty(result.getData())){ |
|
||||||
return; |
|
||||||
} |
|
||||||
WaterLevelVo waterLevelVo = new WaterLevelVo(); |
|
||||||
waterLevelVo.setStationCode(item.getStationId()); |
|
||||||
// 前水位
|
|
||||||
double frontWaterLevel = this.getWaterLevel(item.getInstanceCode(),HomePageConstant.FRONT_WATER_LEVEL); |
|
||||||
waterLevelVo.setFrontWaterLevel(frontWaterLevel); |
|
||||||
// 后水位
|
|
||||||
double rearWaterLevel = this.getWaterLevel(item.getInstanceCode(),HomePageConstant.REAR_WATER_LEVEL); |
|
||||||
waterLevelVo.setRearWaterLevel(rearWaterLevel); |
|
||||||
// 前水位当日曲线
|
|
||||||
Map<Integer,String> frontCurveMap = this.getWaterLevelMap(item.getInstanceCode(),HomePageConstant.FRONT_WATER_LEVEL); |
|
||||||
waterLevelVo.setFrontCurveMap(frontCurveMap); |
|
||||||
// 后水位当日曲线
|
|
||||||
Map<Integer,String> rearCurveMap = this.getWaterLevelMap(item.getInstanceCode(),HomePageConstant.REAR_WATER_LEVEL); |
|
||||||
waterLevelVo.setRearCurveMap(rearCurveMap); |
|
||||||
list.add(waterLevelVo); |
|
||||||
}); |
|
||||||
redisTemplate.opsForValue().set(loadwater_level_key,list); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
/** |
|
||||||
* 获取水位实时数据 |
|
||||||
* @param instanceCode |
|
||||||
* @param signage |
|
||||||
* @return |
|
||||||
*/ |
|
||||||
private double getWaterLevel(String instanceCode, String signage) { |
|
||||||
RealDataSearchPO realData = new RealDataSearchPO(); |
|
||||||
realData.setAnalyzeCode(instanceCode); |
|
||||||
List<String> signages = Collections.singletonList(signage); |
|
||||||
realData.setSignages(signages); |
|
||||||
// 调用fegin接口查询实时数据
|
|
||||||
R<List<FieldsData>> R = analyseDataSearchClient.getRealDataByAnalyzeCode(realData); |
|
||||||
if(!R.isSuccess() || CollectionUtil.isEmpty(R.getData())){ |
|
||||||
return 0.0; |
|
||||||
} |
|
||||||
// 时间限制
|
|
||||||
String time = R.getData().get(0).getTime(); |
|
||||||
if(StringUtil.isEmpty(time) || "-".equals(time)){ |
|
||||||
return 0.0; |
|
||||||
} |
|
||||||
Date date = DateUtil.parse(time, "yyyy-MM-dd HH:mm:ss.sss"); |
|
||||||
if(System.currentTimeMillis() - date.getTime() > 30 * 60 * 1000L){ |
|
||||||
return 0.0; |
|
||||||
} |
|
||||||
return Double.parseDouble(R.getData().get(0).getValue()); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** |
|
||||||
* 获取水位当年数据 |
|
||||||
* @param instanceCode |
|
||||||
* @param signage |
|
||||||
* @return |
|
||||||
*/ |
|
||||||
private Map<Integer, String> getWaterLevelMap(String instanceCode, String signage) { |
|
||||||
LocalDateTime beginTime = LocalDateTime.parse(DateUtil.format(new Date(), "yyyy-MM-dd 00:00:00"), DateUtil.DATETIME_FORMATTER); |
|
||||||
LocalDateTime endTime = LocalDateTime.now(); |
|
||||||
AnalyseCodeByAnalyseDataPO po = new AnalyseCodeByAnalyseDataPO(); |
|
||||||
List<AnalyzeDataConditionPO> signboardConditions = new ArrayList<>(); |
|
||||||
AnalyzeDataConditionPO analyzeDataConditionPO = new AnalyzeDataConditionPO(); |
|
||||||
analyzeDataConditionPO.setFull(1); |
|
||||||
analyzeDataConditionPO.setSignages(signage); |
|
||||||
// 取数规则: 0=(整点值/最早值)、1=最大值、2=最小值、3=平均值、4=(累计值/和值)、5=(变化值/差值) 6=最新值
|
|
||||||
analyzeDataConditionPO.setAccessRules(EquipmentConstants.AccessRulesEnum.FINAL_CYCLE.getType()); |
|
||||||
// 周期类型: 0-> s(秒) 1->、m(分)、2->h(小时)3->、d(天)4->、w(周)5->、n(自然月)、6->y(自然年)
|
|
||||||
analyzeDataConditionPO.setSaveTimeType(2); |
|
||||||
// 间隔
|
|
||||||
analyzeDataConditionPO.setTimeInterval(1); |
|
||||||
analyzeDataConditionPO.setBeginTime(beginTime); |
|
||||||
analyzeDataConditionPO.setEndTime(endTime); |
|
||||||
signboardConditions.add(analyzeDataConditionPO); |
|
||||||
po.setDeviceCode(instanceCode); |
|
||||||
po.setSignboardConditions(signboardConditions); |
|
||||||
R<List<AnalyzeDataConditionVO>> R = analyseDataSearchClient.getAnalyzeDataByAnalyzeCodeAndSignages(po); |
|
||||||
if(!R.isSuccess() || CollectionUtil.isEmpty(R.getData())){ |
|
||||||
return null; |
|
||||||
} |
|
||||||
if(CollectionUtil.isEmpty(R.getData().get(0).getList())){ |
|
||||||
return null; |
|
||||||
} |
|
||||||
return R.getData().get(0).getList().stream().collect(Collectors.toMap(key-> { |
|
||||||
Date dateTime = DateUtil.parse(key.getTs(), "yyyy-MM-dd HH:mm:ss.s"); |
|
||||||
return dateTime.getHours(); |
|
||||||
}, value -> { |
|
||||||
if(StringUtil.isBlank(value.getVal())){ |
|
||||||
return "0"; |
|
||||||
} |
|
||||||
return value.getVal(); |
|
||||||
})); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* 获取有效站点模型 |
|
||||||
* @return |
|
||||||
*/ |
|
||||||
private List<HzimsAnalyzeModelStationEntity> getModelStationList() { |
|
||||||
// 水利站点(All)
|
|
||||||
List<StationEntity> stationList = stationService.getStationType(HomePageConstant.HYDROPOWER_SERVETYPE, null, null); |
|
||||||
if(CollectionUtil.isEmpty(stationList)){ |
|
||||||
return null; |
|
||||||
} |
|
||||||
// 站点code集合
|
|
||||||
List<String> codes = stationList.stream().map(StationEntity::getCode).collect(Collectors.toList()); |
|
||||||
if(CollectionUtil.isEmpty(codes)){ |
|
||||||
return null; |
|
||||||
} |
|
||||||
// 查询站点模型列表
|
|
||||||
List<HzimsAnalyzeModelStationEntity> list = modelStationService.list(new LambdaQueryWrapper<HzimsAnalyzeModelStationEntity>() {{ |
|
||||||
in(HzimsAnalyzeModelStationEntity::getStationId, codes); |
|
||||||
}}); |
|
||||||
if(CollectionUtil.isEmpty(list)){ |
|
||||||
return null; |
|
||||||
} |
|
||||||
return list; |
|
||||||
} |
|
||||||
} |
|
@ -0,0 +1,15 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.inspect; |
||||||
|
|
||||||
|
import com.hnac.hzinfo.inspect.task.entity.TaskEntity; |
||||||
|
import com.hnac.hzinfo.inspect.task.vo.DutyInspectTaskVO; |
||||||
|
import org.springblade.core.mp.base.BaseService; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface TaskService extends BaseService<TaskEntity> { |
||||||
|
|
||||||
|
DutyInspectTaskVO task(String start, String end, List<Long> areas); |
||||||
|
} |
@ -0,0 +1,64 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.inspect.impl; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||||
|
import com.hnac.hzims.scheduled.mapper.inspect.TaskMapper; |
||||||
|
import com.hnac.hzims.scheduled.service.inspect.TaskService; |
||||||
|
import com.hnac.hzinfo.inspect.task.entity.TaskEntity; |
||||||
|
import com.hnac.hzinfo.inspect.task.vo.DutyInspectTaskVO; |
||||||
|
import lombok.AllArgsConstructor; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
import org.springblade.core.mp.base.BaseServiceImpl; |
||||||
|
import org.springblade.core.tool.api.R; |
||||||
|
import org.springblade.core.tool.utils.CollectionUtil; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
import java.util.stream.Collectors; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
@Service |
||||||
|
@Slf4j |
||||||
|
@AllArgsConstructor |
||||||
|
public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, TaskEntity> implements TaskService { |
||||||
|
|
||||||
|
/** |
||||||
|
* 时间区间机构的巡检任务数据查询 |
||||||
|
* @param start |
||||||
|
* @param end |
||||||
|
* @param areas |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public DutyInspectTaskVO task(String start, String end, List<Long> areas) { |
||||||
|
DutyInspectTaskVO task = new DutyInspectTaskVO(); |
||||||
|
task.setInspectTaskSum(0); |
||||||
|
task.setInspectTaskFinish(0); |
||||||
|
task.setNotExecuteTaskCount(0); |
||||||
|
// 查询所有巡检任务
|
||||||
|
List<TaskEntity> tasks = this.list(new LambdaQueryWrapper<TaskEntity>() {{ |
||||||
|
ge(TaskEntity::getPlanStartTime, start) |
||||||
|
.le(TaskEntity::getPlanStartTime, end) |
||||||
|
.in(TaskEntity::getCreateDept, areas); |
||||||
|
}}); |
||||||
|
if(CollectionUtil.isEmpty(tasks)){ |
||||||
|
return task; |
||||||
|
} |
||||||
|
task.setInspectTaskIds(tasks.stream().map(TaskEntity::getId).map(Object::toString).collect(Collectors.joining(","))); |
||||||
|
task.setInspectTaskSum(tasks.size()); |
||||||
|
// 所有处理完成巡检任务
|
||||||
|
List<TaskEntity> finshList = tasks.stream().filter(o-> null != o.getStatus() && o.getStatus().equals(3)).collect(Collectors.toList()); |
||||||
|
if(CollectionUtil.isEmpty(finshList)){ |
||||||
|
return task; |
||||||
|
} |
||||||
|
task.setInspectTaskFinish(finshList.size()); |
||||||
|
// 未执行任务数
|
||||||
|
List<TaskEntity> notExecuteList = tasks.stream().filter(o-> null != o.getStatus() && o.getStatus().equals(0)).collect(Collectors.toList()); |
||||||
|
if(CollectionUtil.isEmpty(notExecuteList)){ |
||||||
|
return task; |
||||||
|
} |
||||||
|
task.setNotExecuteTaskCount(notExecuteList.size()); |
||||||
|
return task; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,17 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.operation; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.access.entity.OperAccessTaskEntity; |
||||||
|
import com.hnac.hzims.operational.main.vo.OverhaulVo; |
||||||
|
import org.springblade.core.mp.base.BaseService; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface AccessService extends BaseService<OperAccessTaskEntity> { |
||||||
|
|
||||||
|
double accessCount(List<Long> areas); |
||||||
|
|
||||||
|
OverhaulVo overhaul(String start, String end, List<Long> areas); |
||||||
|
} |
@ -0,0 +1,22 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.operation; |
||||||
|
|
||||||
|
import com.hnac.hzinfo.datasearch.analyse.vo.AnalyseDataTaosVO; |
||||||
|
import com.hnac.hzinfo.datasearch.analyse.vo.AnalyzeCodeBySignagesVO; |
||||||
|
import com.hnac.hzinfo.sdk.analyse.po.MultiAnalyzeCodePO; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
import java.util.function.Function; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface AnalyseDataService { |
||||||
|
|
||||||
|
<T> List<AnalyzeCodeBySignagesVO> getAnalyzeCodeBySignages(Function<T, MultiAnalyzeCodePO> convert, T resource); |
||||||
|
|
||||||
|
|
||||||
|
List<AnalyseDataTaosVO> periodTargetData(String startTime, String endTime, Integer accessRules, Integer cycleType, String deviceCode, String signages); |
||||||
|
|
||||||
|
Float periodTargetFloat(String startTime, String endTime, Integer accessRules, Integer cycleType, String deviceCode, Integer ride ,String signages); |
||||||
|
} |
@ -0,0 +1,14 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.operation; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.defect.entity.OperDefectEntity; |
||||||
|
import org.springblade.core.mp.base.BaseService; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author Lch |
||||||
|
*/ |
||||||
|
public interface DefectService extends BaseService<OperDefectEntity> { |
||||||
|
|
||||||
|
Double defectCount(List<Long> areas); |
||||||
|
} |
@ -0,0 +1,25 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.operation; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.fill.entity.GenerateEntity; |
||||||
|
import com.hnac.hzims.operational.main.vo.GenerationPowerVo; |
||||||
|
import com.hnac.hzims.operational.main.vo.PowerMonthVo; |
||||||
|
import org.springblade.core.mp.base.BaseService; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
* @date 2023/04/10 11:16:07 |
||||||
|
* @version 4.0.0 |
||||||
|
*/ |
||||||
|
public interface GenerateService extends BaseService<GenerateEntity> { |
||||||
|
|
||||||
|
// 查询填报用电量
|
||||||
|
Float generate(String date,String station); |
||||||
|
|
||||||
|
// 查询30天填报用电量
|
||||||
|
List<GenerationPowerVo> generate30Day(String day, String station); |
||||||
|
|
||||||
|
// 获取站点填报发电量
|
||||||
|
List<PowerMonthVo> generateThreeYear(String start, String end, String station); |
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.operation; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.main.vo.MaintainVo; |
||||||
|
import com.hnac.hzims.operational.maintenance.entity.OperMaintenanceTaskEntity; |
||||||
|
import org.springblade.core.mp.base.BaseService; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface MaintenanceService extends BaseService<OperMaintenanceTaskEntity> { |
||||||
|
|
||||||
|
// 查询当年日常维护数量
|
||||||
|
Integer maintenanceCount(List<Long> departList); |
||||||
|
|
||||||
|
MaintainVo maintain(String start, String end, List<Long> areas); |
||||||
|
} |
@ -0,0 +1,12 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.operation; |
||||||
|
|
||||||
|
|
||||||
|
import com.hnac.hzims.operational.station.entity.HzimsAnalyzeModelStationEntity; |
||||||
|
import org.springblade.core.mp.base.BaseService; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface ModelStationService extends BaseService<HzimsAnalyzeModelStationEntity> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,21 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.operation; |
||||||
|
|
||||||
|
import org.springblade.core.tool.api.R; |
||||||
|
|
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
/** |
||||||
|
* WEB水电站首页接口 |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface MonitorService { |
||||||
|
|
||||||
|
// realId刷新
|
||||||
|
void loadRealId(String param); |
||||||
|
|
||||||
|
// 实时数据刷新
|
||||||
|
void loadRealData(String param); |
||||||
|
|
||||||
|
// 集中监控数据处理
|
||||||
|
void loadMonitoring(String param); |
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.operation; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.fill.entity.OtherEntity; |
||||||
|
import org.springblade.core.mp.base.BaseService; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface OtherService extends BaseService<OtherEntity> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,12 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.operation; |
||||||
|
|
||||||
|
|
||||||
|
import com.hnac.hzims.operational.fill.entity.OverDetailsEntity; |
||||||
|
import org.springblade.core.mp.base.BaseService; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface OverDetailsService extends BaseService<OverDetailsEntity> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.operation; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.fill.entity.OverEntity; |
||||||
|
import org.springblade.core.mp.base.BaseService; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface OverService extends BaseService<OverEntity> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,15 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.operation; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.defect.entity.OperPhenomenonEntity; |
||||||
|
import com.hnac.hzims.operational.report.vo.DutyDefectVO; |
||||||
|
import org.springblade.core.mp.base.BaseService; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface PhenomenonService extends BaseService<OperPhenomenonEntity> { |
||||||
|
|
||||||
|
DutyDefectVO defect(String start, String end, List<Long> areas); |
||||||
|
} |
@ -0,0 +1,17 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.operation; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.fill.entity.PowerEntity; |
||||||
|
import com.hnac.hzims.operational.main.vo.PowerMonthVo; |
||||||
|
import org.springblade.core.mp.base.BaseService; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface PowerService extends BaseService<PowerEntity> { |
||||||
|
|
||||||
|
Double generate(String date,Long station); |
||||||
|
|
||||||
|
List<PowerMonthVo> generateThreeYear(String start,String end,Long station); |
||||||
|
} |
@ -0,0 +1,34 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.operation; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* WEB水电站首页接口 |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface RealTargetService { |
||||||
|
|
||||||
|
// 水电站实时数据加载
|
||||||
|
void loadHydropowerReal(String param); |
||||||
|
|
||||||
|
// 水电站指标数据加载
|
||||||
|
void loadHydropowerTarget(String param); |
||||||
|
|
||||||
|
// 泵站实时数据加载
|
||||||
|
void loadWaterPumpReal(String param); |
||||||
|
|
||||||
|
// 泵站指标数据加载
|
||||||
|
void loadWaterPumpTarget(String param); |
||||||
|
|
||||||
|
// 站点水位指标数据
|
||||||
|
void loadWaterLevel(String param); |
||||||
|
|
||||||
|
// 光伏站实时数据加载
|
||||||
|
void loadPhotovoltaicReal(String param); |
||||||
|
|
||||||
|
// 光伏站指标数据加载
|
||||||
|
void loadPhotovoltaicTarget(String param); |
||||||
|
|
||||||
|
// 光伏、水电站近3年发电量
|
||||||
|
void loadPowerData(String param, List<Integer> types, Integer serveType, int year); |
||||||
|
} |
@ -0,0 +1,13 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.operation; |
||||||
|
|
||||||
|
|
||||||
|
import com.hnac.hzims.operational.config.entity.StAlarmRecordEntity; |
||||||
|
import org.springblade.core.mp.base.BaseService; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface RecordService extends BaseService<StAlarmRecordEntity> { |
||||||
|
|
||||||
|
Long insertAlert(String stationId, String monitorId); |
||||||
|
} |
@ -0,0 +1,9 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.operation; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface ReportService { |
||||||
|
|
||||||
|
void loadMonthReport(String param, int i); |
||||||
|
} |
@ -0,0 +1,9 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.operation; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface ShowService { |
||||||
|
|
||||||
|
void loadHomeTarget(String param); |
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.operation; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.fill.entity.SolveEntity; |
||||||
|
import org.springblade.core.mp.base.BaseService; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface SolveService extends BaseService<SolveEntity> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,14 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.operation; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.station.entity.StationAttrConfigEntity; |
||||||
|
import org.springblade.core.mp.base.BaseService; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface StationAttrConfigService extends BaseService<StationAttrConfigEntity> { |
||||||
|
|
||||||
|
List<String> getHideList(); |
||||||
|
} |
@ -0,0 +1,14 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.operation; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.station.entity.StationAttributeEntity; |
||||||
|
import org.springblade.core.mp.base.BaseService; |
||||||
|
|
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author hx |
||||||
|
*/ |
||||||
|
public interface StationAttributeService extends BaseService<StationAttributeEntity> { |
||||||
|
|
||||||
|
Map<String,String> PointUnit(); |
||||||
|
} |
@ -0,0 +1,12 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.operation; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.station.entity.StationEntity; |
||||||
|
import org.springblade.core.mp.base.BaseService; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface StationService extends BaseService<StationEntity> { |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,29 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.operation; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||||
|
import com.hnac.hzims.operational.fill.entity.UseEntity; |
||||||
|
import com.hnac.hzims.operational.fill.vo.QueryVo; |
||||||
|
import com.hnac.hzims.operational.fill.vo.UseVo; |
||||||
|
import com.hnac.hzims.operational.main.vo.UsrPowerVo; |
||||||
|
import org.springblade.core.mp.base.BaseService; |
||||||
|
import org.springblade.core.mp.support.Query; |
||||||
|
import org.springblade.core.tool.api.R; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
* @date 2023/04/10 11:16:07 |
||||||
|
* @version 4.0.0 |
||||||
|
*/ |
||||||
|
public interface UseService extends BaseService<UseEntity> { |
||||||
|
|
||||||
|
// 查询填报用电量
|
||||||
|
Float use(String date,String station); |
||||||
|
|
||||||
|
// 查询30天填报用电量
|
||||||
|
List<UsrPowerVo> use30Day(String day, String station); |
||||||
|
|
||||||
|
Map<String, Float> generateThreeYear(String start, String end, String station); |
||||||
|
} |
@ -0,0 +1,33 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.operation.impl; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.alert.entity.AbnormalAlarmEntity; |
||||||
|
import com.hnac.hzims.scheduled.mapper.operation.AbnormalAlarmMapper; |
||||||
|
import com.hnac.hzims.scheduled.service.operation.AbnormalAlarmService; |
||||||
|
import lombok.RequiredArgsConstructor; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
import org.springblade.core.mp.base.BaseServiceImpl; |
||||||
|
import org.springblade.core.tool.utils.CollectionUtil; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
|
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* 告警实现类 |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
@Slf4j |
||||||
|
@Service |
||||||
|
@RequiredArgsConstructor |
||||||
|
public class AbnormalAlarmServiceImpl extends BaseServiceImpl<AbnormalAlarmMapper, AbnormalAlarmEntity> implements AbnormalAlarmService { |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
public List<String> abnormalAlarms() { |
||||||
|
List<String> alarmList = this.baseMapper.abnormalAlarms(); |
||||||
|
if(CollectionUtil.isEmpty(alarmList)){ |
||||||
|
return new ArrayList<>(); |
||||||
|
} |
||||||
|
return alarmList; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,86 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.operation.impl; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||||
|
import com.hnac.hzims.operational.access.constants.AccessConstants; |
||||||
|
import com.hnac.hzims.operational.access.entity.OperAccessTaskEntity; |
||||||
|
import com.hnac.hzims.operational.main.vo.OverhaulVo; |
||||||
|
import com.hnac.hzims.scheduled.mapper.operation.AccessMapper; |
||||||
|
import com.hnac.hzims.scheduled.service.operation.AccessService; |
||||||
|
import lombok.AllArgsConstructor; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
import org.springblade.core.mp.base.BaseServiceImpl; |
||||||
|
import org.springblade.core.tool.utils.CollectionUtil; |
||||||
|
import org.springblade.core.tool.utils.Func; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
|
||||||
|
import java.time.LocalDate; |
||||||
|
import java.time.LocalDateTime; |
||||||
|
import java.time.LocalTime; |
||||||
|
import java.util.List; |
||||||
|
import java.util.stream.Collectors; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
@Service |
||||||
|
@Slf4j |
||||||
|
@AllArgsConstructor |
||||||
|
public class AccessServiceImpl extends BaseServiceImpl<AccessMapper, OperAccessTaskEntity> implements AccessService { |
||||||
|
|
||||||
|
/** |
||||||
|
* 查询当年检修任务数量 |
||||||
|
* @param areas |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public double accessCount(List<Long> areas) { |
||||||
|
if(CollectionUtil.isEmpty(areas)) { |
||||||
|
return 0; |
||||||
|
} |
||||||
|
LocalDate firstDay = LocalDate.now().withDayOfYear(1); |
||||||
|
LocalDateTime firstDateTime = LocalDateTime.of(firstDay, LocalTime.MIN); |
||||||
|
LocalDateTime now = LocalDateTime.now(); |
||||||
|
//日常维护
|
||||||
|
List<OperAccessTaskEntity> accesss = this.list(new LambdaQueryWrapper<OperAccessTaskEntity>(){{ |
||||||
|
ge(OperAccessTaskEntity::getPlanStartTime,firstDateTime); |
||||||
|
le(OperAccessTaskEntity::getPlanStartTime,now); |
||||||
|
in(OperAccessTaskEntity::getCreateDept,areas); |
||||||
|
}}); |
||||||
|
if(CollectionUtil.isEmpty(accesss)){ |
||||||
|
return 0; |
||||||
|
} |
||||||
|
return accesss.size(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 时间区间机构的巡检数据查询 |
||||||
|
* @param start |
||||||
|
* @param end |
||||||
|
* @param areas |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public OverhaulVo overhaul(String start, String end, List<Long> areas) { |
||||||
|
OverhaulVo overhaulVo = new OverhaulVo(); |
||||||
|
// 检修总数
|
||||||
|
List<OperAccessTaskEntity> overhaulList = this.list(new LambdaQueryWrapper<OperAccessTaskEntity>(){{ |
||||||
|
ge(OperAccessTaskEntity::getPlanStartTime,start); |
||||||
|
le(OperAccessTaskEntity::getPlanStartTime,end); |
||||||
|
in(OperAccessTaskEntity::getCreateDept,areas); |
||||||
|
}}); |
||||||
|
if(CollectionUtil.isEmpty(overhaulList)){ |
||||||
|
overhaulVo.setOverhaul(0); |
||||||
|
overhaulVo.setOverhaulFinish(0); |
||||||
|
return overhaulVo; |
||||||
|
} |
||||||
|
overhaulVo.setOverhaul(overhaulList.size()); |
||||||
|
// 检修完成数量
|
||||||
|
List<Long> overhaulFinishTask = overhaulList.stream().filter(task-> Func.isNotEmpty(task.getStatus()) && AccessConstants.ACCESS_TASK_STATUS_4 == task.getStatus()) |
||||||
|
.map(OperAccessTaskEntity::getId).collect(Collectors.toList()); |
||||||
|
if(CollectionUtil.isEmpty(overhaulFinishTask)){ |
||||||
|
overhaulVo.setOverhaulFinish(0); |
||||||
|
} |
||||||
|
overhaulVo.setOverhaulFinish(overhaulFinishTask.size()); |
||||||
|
return overhaulVo; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,139 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.operation.impl; |
||||||
|
|
||||||
|
import com.google.common.collect.Lists; |
||||||
|
import com.hnac.hzims.scheduled.service.operation.AnalyseDataService; |
||||||
|
import com.hnac.hzinfo.datasearch.analyse.IAnalyseDataSearchClient; |
||||||
|
import com.hnac.hzinfo.datasearch.analyse.po.AnalyseCodeByAnalyseDataPO; |
||||||
|
import com.hnac.hzinfo.datasearch.analyse.po.AnalyzeDataConditionPO; |
||||||
|
import com.hnac.hzinfo.datasearch.analyse.vo.AnalyseDataTaosVO; |
||||||
|
import com.hnac.hzinfo.datasearch.analyse.vo.AnalyzeCodeBySignagesVO; |
||||||
|
import com.hnac.hzinfo.datasearch.analyse.vo.AnalyzeDataConditionVO; |
||||||
|
import com.hnac.hzinfo.sdk.analyse.po.MultiAnalyzeCodePO; |
||||||
|
import lombok.AllArgsConstructor; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
import org.springblade.core.tool.api.R; |
||||||
|
import org.springblade.core.tool.utils.CollectionUtil; |
||||||
|
import org.springblade.core.tool.utils.DateUtil; |
||||||
|
import org.springblade.core.tool.utils.ObjectUtil; |
||||||
|
import org.springblade.core.tool.utils.StringUtil; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
|
||||||
|
import java.time.LocalDateTime; |
||||||
|
import java.time.format.DateTimeFormatter; |
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.Date; |
||||||
|
import java.util.List; |
||||||
|
import java.util.Optional; |
||||||
|
import java.util.function.Function; |
||||||
|
import java.util.stream.Collectors; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author hx |
||||||
|
*/ |
||||||
|
@Service |
||||||
|
@AllArgsConstructor |
||||||
|
@Slf4j |
||||||
|
public class AnalyseDataServiceImpl implements AnalyseDataService { |
||||||
|
|
||||||
|
private final IAnalyseDataSearchClient analyseDataSearchClient; |
||||||
|
|
||||||
|
@Override |
||||||
|
public <T> List<AnalyzeCodeBySignagesVO> getAnalyzeCodeBySignages(Function<T, MultiAnalyzeCodePO> convert, T resource) { |
||||||
|
List<AnalyzeCodeBySignagesVO> result = Lists.newArrayList(); |
||||||
|
List<MultiAnalyzeCodePO> multiAnalyzeCodePOList = Lists.newArrayList(resource).stream().map(convert).collect(Collectors.toList()); |
||||||
|
R<List<AnalyzeCodeBySignagesVO>> analyzeCodeBySignResult = analyseDataSearchClient.getAnalyzeCodeBySignages(multiAnalyzeCodePOList); |
||||||
|
if(analyzeCodeBySignResult.isSuccess() && CollectionUtil.isNotEmpty(analyzeCodeBySignResult.getData())) { |
||||||
|
result = analyzeCodeBySignResult.getData(); |
||||||
|
} |
||||||
|
return result; |
||||||
|
} |
||||||
|
|
||||||
|
/*** |
||||||
|
* 指标数据列表查询 |
||||||
|
* @param startTime 开始时间 |
||||||
|
* @param endTime 结束时间 |
||||||
|
* @param accessRules 取数规则 : 0=最早值 1=最大值 2=最小值 3=平均值 4=和值 5=差值 6=最新值 |
||||||
|
* @param cycleType 间隔周期 : 0-> 秒 1-> 分 2-> 小时 3->天 4-> 周 5-> 月 6-> 年 |
||||||
|
* @param deviceCode 设备编号 |
||||||
|
* @param signages 指标 |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public List<AnalyseDataTaosVO> periodTargetData(String startTime, String endTime, Integer accessRules, Integer cycleType, String deviceCode, String signages) { |
||||||
|
AnalyseCodeByAnalyseDataPO po = new AnalyseCodeByAnalyseDataPO(); |
||||||
|
List<AnalyzeDataConditionPO> signboardConditions = new ArrayList<>(); |
||||||
|
AnalyzeDataConditionPO analyzeDataConditionPO = new AnalyzeDataConditionPO(); |
||||||
|
analyzeDataConditionPO.setFull(1); |
||||||
|
po.setDeviceCode(deviceCode); |
||||||
|
analyzeDataConditionPO.setSignages(signages); |
||||||
|
analyzeDataConditionPO.setKeepFigures(2); |
||||||
|
analyzeDataConditionPO.setAccessRules(accessRules); |
||||||
|
analyzeDataConditionPO.setSaveTimeType(cycleType); |
||||||
|
// 间隔
|
||||||
|
analyzeDataConditionPO.setTimeInterval(1); |
||||||
|
analyzeDataConditionPO.setBeginTime(LocalDateTime.parse(DateUtil.format(new Date(), startTime), DateTimeFormatter.ofPattern(DateUtil.PATTERN_DATETIME))); |
||||||
|
analyzeDataConditionPO.setEndTime(LocalDateTime.parse(DateUtil.format(new Date(), endTime), DateTimeFormatter.ofPattern(DateUtil.PATTERN_DATETIME))); |
||||||
|
signboardConditions.add(analyzeDataConditionPO); |
||||||
|
po.setSignboardConditions(signboardConditions); |
||||||
|
log.error("period_target_data_request {}",po); |
||||||
|
R<List<AnalyzeDataConditionVO>> result = analyseDataSearchClient.getAnalyzeDataByAnalyzeCodeAndSignages(po); |
||||||
|
if (!result.isSuccess() || CollectionUtil.isEmpty(result.getData())) { |
||||||
|
return new ArrayList<>(); |
||||||
|
} |
||||||
|
log.error("period_target_data_resp {}",result); |
||||||
|
return result.getData().get(0).getList(); |
||||||
|
} |
||||||
|
|
||||||
|
/*** |
||||||
|
* 指标数据列表查询 |
||||||
|
* @param startTime 开始时间 |
||||||
|
* @param endTime 结束时间 |
||||||
|
* @param accessRules 取数规则 : 0=最早值 1=最大值 2=最小值 3=平均值 4=和值 5=差值 6=最新值 |
||||||
|
* @param cycleType 间隔周期 : 0-> 秒 1-> 分 2-> 小时 3->天 4-> 周 5-> 月 6-> 年 |
||||||
|
* @param deviceCode 设备编号 |
||||||
|
* @param ride 配电比 |
||||||
|
* @param signages 指标 |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public Float periodTargetFloat(String startTime, String endTime, Integer accessRules, Integer cycleType, String deviceCode,Integer ride,String signages) { |
||||||
|
AnalyseCodeByAnalyseDataPO po = new AnalyseCodeByAnalyseDataPO(); |
||||||
|
List<AnalyzeDataConditionPO> signboardConditions = new ArrayList<>(); |
||||||
|
AnalyzeDataConditionPO analyzeDataConditionPO = new AnalyzeDataConditionPO(); |
||||||
|
analyzeDataConditionPO.setFull(1); |
||||||
|
po.setDeviceCode(deviceCode); |
||||||
|
analyzeDataConditionPO.setSignages(signages); |
||||||
|
analyzeDataConditionPO.setKeepFigures(2); |
||||||
|
analyzeDataConditionPO.setAccessRules(accessRules); |
||||||
|
analyzeDataConditionPO.setSaveTimeType(cycleType); |
||||||
|
// 间隔
|
||||||
|
analyzeDataConditionPO.setTimeInterval(1); |
||||||
|
analyzeDataConditionPO.setBeginTime(LocalDateTime.parse(DateUtil.format(new Date(), startTime), DateTimeFormatter.ofPattern(DateUtil.PATTERN_DATETIME))); |
||||||
|
analyzeDataConditionPO.setEndTime(LocalDateTime.parse(DateUtil.format(new Date(), endTime), DateTimeFormatter.ofPattern(DateUtil.PATTERN_DATETIME))); |
||||||
|
signboardConditions.add(analyzeDataConditionPO); |
||||||
|
po.setSignboardConditions(signboardConditions); |
||||||
|
R<List<AnalyzeDataConditionVO>> result = analyseDataSearchClient.getAnalyzeDataByAnalyzeCodeAndSignages(po); |
||||||
|
if (!result.isSuccess() || CollectionUtil.isEmpty(result.getData())) { |
||||||
|
return 0f; |
||||||
|
} |
||||||
|
List<AnalyzeDataConditionVO> records = result.getData(); |
||||||
|
if(CollectionUtil.isEmpty(records)){ |
||||||
|
return 0f; |
||||||
|
} |
||||||
|
AnalyzeDataConditionVO analyzeDataConditionVO = records.get(0); |
||||||
|
if (ObjectUtil.isEmpty(analyzeDataConditionVO)) { |
||||||
|
return 0f; |
||||||
|
} |
||||||
|
List<AnalyseDataTaosVO> analyseDataTaosVOList = analyzeDataConditionVO.getList(); |
||||||
|
if (CollectionUtil.isEmpty(analyseDataTaosVOList)) { |
||||||
|
return 0f; |
||||||
|
} |
||||||
|
AnalyseDataTaosVO analyseDataTaosVO = analyzeDataConditionVO.getList().get(0); |
||||||
|
if (ObjectUtil.isEmpty(analyseDataTaosVO) || StringUtil.isBlank(analyseDataTaosVO.getVal())) { |
||||||
|
return 0f; |
||||||
|
} |
||||||
|
return Float.parseFloat(Optional.ofNullable(analyseDataTaosVO.getVal()).orElse("0")) * ride; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,55 @@ |
|||||||
|
package com.hnac.hzims.scheduled.service.operation.impl; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||||
|
import com.hnac.hzims.operational.defect.entity.OperDefectEntity; |
||||||
|
import com.hnac.hzims.scheduled.mapper.operation.DefectMapper; |
||||||
|
import com.hnac.hzims.scheduled.service.operation.DefectService; |
||||||
|
import lombok.AllArgsConstructor; |
||||||
|
import org.springblade.core.mp.base.BaseServiceImpl; |
||||||
|
import org.springblade.core.tool.utils.CollectionUtil; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
|
||||||
|
import java.math.BigDecimal; |
||||||
|
import java.time.LocalDate; |
||||||
|
import java.time.LocalDateTime; |
||||||
|
import java.time.LocalTime; |
||||||
|
import java.util.List; |
||||||
|
import java.util.stream.Collectors; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
@Service |
||||||
|
@AllArgsConstructor |
||||||
|
public class DefectServiceImpl extends BaseServiceImpl<DefectMapper, OperDefectEntity> implements DefectService { |
||||||
|
|
||||||
|
/** |
||||||
|
* 获取消缺率 |
||||||
|
* @param areas |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public Double defectCount(List<Long> areas) { |
||||||
|
if(CollectionUtil.isEmpty(areas)) { |
||||||
|
return 100.00; |
||||||
|
} |
||||||
|
LocalDate firstDay = LocalDate.now().withDayOfYear(1); |
||||||
|
LocalDateTime firstDateTime = LocalDateTime.of(firstDay, LocalTime.MIN); |
||||||
|
LocalDateTime now = LocalDateTime.now(); |
||||||
|
List<OperDefectEntity> pTaskList = this.list(new LambdaQueryWrapper<OperDefectEntity>(){{ |
||||||
|
ge(OperDefectEntity::getCreateTime,firstDateTime); |
||||||
|
le(OperDefectEntity::getCreateTime,now); |
||||||
|
in(OperDefectEntity::getCreateDept,areas); |
||||||
|
}}); |
||||||
|
if(CollectionUtil.isEmpty(pTaskList)){ |
||||||
|
return 0.0; |
||||||
|
} |
||||||
|
// 缺陷处理完成数
|
||||||
|
List<OperDefectEntity> finishTask = pTaskList.stream().filter(defect -> "1".equals(defect.getHandleStatus())).collect(Collectors.toList()); |
||||||
|
if(CollectionUtil.isEmpty(finishTask)){ |
||||||
|
return 0.0; |
||||||
|
} |
||||||
|
// 消缺率 = (缺陷数 / 总数) * 100
|
||||||
|
return BigDecimal.valueOf(finishTask.size() / (double) pTaskList.size() * 100).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); |
||||||
|
} |
||||||
|
} |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue