67 changed files with 1455 additions and 295 deletions
			
			
		@ -0,0 +1,59 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.operational.history.vo; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.fasterxml.jackson.annotation.JsonFormat; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModel; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModelProperty; | 
				
			||||||
 | 
					import lombok.Data; | 
				
			||||||
 | 
					import org.springblade.core.tool.utils.DateUtil; | 
				
			||||||
 | 
					import org.springframework.format.annotation.DateTimeFormat; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.time.LocalDateTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author ysj | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Data | 
				
			||||||
 | 
					@ApiModel(value = "历史告警数据查询") | 
				
			||||||
 | 
					public class HistoricalCurveVo { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@ApiModelProperty(value = "第一个点位") | 
				
			||||||
 | 
						private String firstAttrId; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@ApiModelProperty(value = "第二个点位") | 
				
			||||||
 | 
						private String secondAttrId; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@ApiModelProperty(value = "第三个点位") | 
				
			||||||
 | 
						private String thirdlyAttrId; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@ApiModelProperty(value = "第四个点位") | 
				
			||||||
 | 
						private String fourthAttrId; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@ApiModelProperty(value = "第五个点位") | 
				
			||||||
 | 
						private String fifthAttrId; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@ApiModelProperty(value = "开始时间") | 
				
			||||||
 | 
						@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME) | 
				
			||||||
 | 
						@JsonFormat(pattern = DateUtil.PATTERN_DATETIME) | 
				
			||||||
 | 
						private LocalDateTime startTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@ApiModelProperty(value = "结束时间") | 
				
			||||||
 | 
						@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME) | 
				
			||||||
 | 
						@JsonFormat(pattern = DateUtil.PATTERN_DATETIME) | 
				
			||||||
 | 
						private LocalDateTime endTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@ApiModelProperty(value = "厂组点/设备") | 
				
			||||||
 | 
						private Integer dimension; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@ApiModelProperty(value = "维度 :0-10秒 、 1-1分钟 、2-5分钟 .....") | 
				
			||||||
 | 
						private Integer intervalType; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@ApiModelProperty(value = "是否分页") | 
				
			||||||
 | 
						private Boolean isPage; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@ApiModelProperty(value = "页码") | 
				
			||||||
 | 
						private Integer current; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@ApiModelProperty(value = "页码条数") | 
				
			||||||
 | 
						private Integer pageSize; | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,32 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.operational.history.vo; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModel; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModelProperty; | 
				
			||||||
 | 
					import lombok.Data; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author ysj | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Data | 
				
			||||||
 | 
					@ApiModel(value = "历史告警数据查询") | 
				
			||||||
 | 
					public class HistoryProjectAlarmVo { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@ApiModelProperty(value = "站点编号") | 
				
			||||||
 | 
						private String projectId; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@ApiModelProperty(value = "维度") | 
				
			||||||
 | 
						private Integer dimension; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@ApiModelProperty(value = "主键Id") | 
				
			||||||
 | 
						private String id; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@ApiModelProperty(value = "告警类型") | 
				
			||||||
 | 
						private Integer soeType; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@ApiModelProperty(value = "开始时间") | 
				
			||||||
 | 
						private String startTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@ApiModelProperty(value = "结束时间") | 
				
			||||||
 | 
						private String endTime; | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,22 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.middle.process.fallback; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.hnac.hzims.middle.process.feign.ICompensateProcessClient; | 
				
			||||||
 | 
					import org.springblade.core.tool.api.R; | 
				
			||||||
 | 
					import org.springframework.stereotype.Component; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.ArrayList; | 
				
			||||||
 | 
					import java.util.List; | 
				
			||||||
 | 
					import java.util.Map; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author ysj | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Component | 
				
			||||||
 | 
					public class CompensateProcessClientFallback implements ICompensateProcessClient { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override | 
				
			||||||
 | 
					    public R startFlow(String userId, String dictValue, String taskId, String processName, Map<String, Object> variables) { | 
				
			||||||
 | 
					        return R.fail("流程开启失败,请稍后重试"); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,34 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.middle.process.feign; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.hnac.hzims.middle.process.fallback.CompensateProcessClientFallback; | 
				
			||||||
 | 
					import org.springblade.core.tool.api.R; | 
				
			||||||
 | 
					import org.springframework.cloud.openfeign.FeignClient; | 
				
			||||||
 | 
					import org.springframework.web.bind.annotation.GetMapping; | 
				
			||||||
 | 
					import org.springframework.web.bind.annotation.PostMapping; | 
				
			||||||
 | 
					import org.springframework.web.bind.annotation.RequestBody; | 
				
			||||||
 | 
					import org.springframework.web.bind.annotation.RequestParam; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.List; | 
				
			||||||
 | 
					import java.util.Map; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author ysj | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@FeignClient( | 
				
			||||||
 | 
						value = "hzims-middle", | 
				
			||||||
 | 
						fallback = CompensateProcessClientFallback.class | 
				
			||||||
 | 
					) | 
				
			||||||
 | 
					public interface ICompensateProcessClient { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						String API_PREFIX = "/feign/compensateProcess"; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						String START_FLOW = API_PREFIX + "/startFlow"; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@PostMapping(START_FLOW) | 
				
			||||||
 | 
						R startFlow(@RequestParam("userId") String  userId, | 
				
			||||||
 | 
										   @RequestParam("dictValue")String dictValue, | 
				
			||||||
 | 
										   @RequestParam("taskId")String taskId, | 
				
			||||||
 | 
										   @RequestParam("processName")String processName, | 
				
			||||||
 | 
										   @RequestBody Map<String, Object> variables); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,4 @@ | 
				
			|||||||
 | 
					ALTER TABLE `hzims_alarm_handle_flow` | 
				
			||||||
 | 
					    ADD COLUMN `is_normal` tinyint(2) NULL DEFAULT 1 ; | 
				
			||||||
 | 
					ALTER TABLE `hzims_alarm_handle_flow` | 
				
			||||||
 | 
					    ADD COLUMN `remark` text NULL ; | 
				
			||||||
@ -0,0 +1,41 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.middle.processflow.feign; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.hnac.hzims.middle.process.feign.ICompensateProcessClient; | 
				
			||||||
 | 
					import com.hnac.hzims.middle.processflow.strategy.abstracts.ProcessAbstractService; | 
				
			||||||
 | 
					import com.hnac.hzims.middle.processflow.strategy.serviceimpl.DefectProcessServiceImpl; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.access.feign.IOperAccessTaskClient; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.access.vo.MaterialConsumeVO; | 
				
			||||||
 | 
					import lombok.RequiredArgsConstructor; | 
				
			||||||
 | 
					import lombok.extern.slf4j.Slf4j; | 
				
			||||||
 | 
					import org.springblade.core.tool.api.R; | 
				
			||||||
 | 
					import org.springframework.beans.factory.annotation.Autowired; | 
				
			||||||
 | 
					import org.springframework.web.bind.annotation.*; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import javax.annotation.Resource; | 
				
			||||||
 | 
					import java.util.List; | 
				
			||||||
 | 
					import java.util.Map; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import static com.hnac.hzims.middle.process.feign.ICompensateProcessClient.START_FLOW; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author ysj | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@RestController | 
				
			||||||
 | 
					@RequestMapping("/feign/compensateProcess") | 
				
			||||||
 | 
					@Slf4j | 
				
			||||||
 | 
					@RequiredArgsConstructor | 
				
			||||||
 | 
					public class CompensateProcessClient implements ICompensateProcessClient { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@Resource | 
				
			||||||
 | 
						private DefectProcessServiceImpl processService; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@Override | 
				
			||||||
 | 
						@PostMapping("/startFlow") | 
				
			||||||
 | 
						public R startFlow(@RequestParam("userId") String  userId, | 
				
			||||||
 | 
										   @RequestParam("dictValue")String dictValue, | 
				
			||||||
 | 
										   @RequestParam("taskId")String taskId, | 
				
			||||||
 | 
										   @RequestParam("processName")String processName, | 
				
			||||||
 | 
										   @RequestBody Map<String, Object> variables) { | 
				
			||||||
 | 
							return processService.startFlow(userId,dictValue,taskId,processName,variables); | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,94 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.operational.history.controller; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.metadata.IPage; | 
				
			||||||
 | 
					import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.history.service.AlarmService; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.history.service.PointService; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.history.vo.HistoricalCurveVo; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.history.vo.HistoryProjectAlarmVo; | 
				
			||||||
 | 
					import com.hnac.hzinfo.dataconfig.entity.Device; | 
				
			||||||
 | 
					import com.hnac.hzinfo.datasearch.soe.domian.SoeData; | 
				
			||||||
 | 
					import com.hnac.hzinfo.datasearch.soe.domian.SoeQueryCondition; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.v5.device.vo.DeviceInstanceAttrVO; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.v5.device.vo.DeviceInstanceVO; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.v5.hzfac.vo.FacDeviceAttrVO; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.v5.hzfac.vo.FacDeviceVO; | 
				
			||||||
 | 
					import io.swagger.annotations.Api; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiOperation; | 
				
			||||||
 | 
					import lombok.AllArgsConstructor; | 
				
			||||||
 | 
					import org.springblade.core.boot.ctrl.BladeController; | 
				
			||||||
 | 
					import org.springblade.core.tool.api.R; | 
				
			||||||
 | 
					import org.springframework.web.bind.annotation.*; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import javax.management.Query; | 
				
			||||||
 | 
					import java.util.List; | 
				
			||||||
 | 
					import java.util.Map; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author ysj | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@RestController | 
				
			||||||
 | 
					@RequestMapping("/history") | 
				
			||||||
 | 
					@Api(value = "历史数据查询", tags = "历史数据查询") | 
				
			||||||
 | 
					@AllArgsConstructor | 
				
			||||||
 | 
					public class HistoryController extends BladeController { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private final PointService pointService; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private final AlarmService alarmService; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@GetMapping("/projectAlarm") | 
				
			||||||
 | 
						@ApiOperationSupport(order = 4) | 
				
			||||||
 | 
						@ApiOperation(value = "站点告警数据", notes = "查询站点告警数据") | 
				
			||||||
 | 
						public R<Map<String, Object>> projectAlarm(HistoryProjectAlarmVo alarm, Query query) { | 
				
			||||||
 | 
							return R.data(alarmService.projectAlarm(alarm,query)); | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@GetMapping("/projectFacDevice") | 
				
			||||||
 | 
						@ApiOperationSupport(order = 2) | 
				
			||||||
 | 
						@ApiOperation(value = "站点厂组", notes = "根据站点id查询厂组信息") | 
				
			||||||
 | 
						public R<List<FacDeviceVO>> projectFacDevice(@RequestParam(value = "projectId") String projectId, | 
				
			||||||
 | 
																	 @RequestParam(value = "attrName",required = false) String attrName) { | 
				
			||||||
 | 
							return R.data(pointService.projectFacDevice(projectId,attrName)); | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@GetMapping("/projectFacDeviceAttr") | 
				
			||||||
 | 
						@ApiOperationSupport(order = 2) | 
				
			||||||
 | 
						@ApiOperation(value = "站点厂租点", notes = "根据厂组Id查询厂组点信息") | 
				
			||||||
 | 
						public R<List<FacDeviceAttrVO>> projectFacDeviceAttr(@RequestParam(value = "facDeviceId") String facDeviceId, | 
				
			||||||
 | 
																	@RequestParam(value = "attrName",required = false) String attrName) { | 
				
			||||||
 | 
							return R.data(pointService.projectFacDeviceAttr(facDeviceId,attrName)); | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
						@GetMapping("/projectDeviceInstance") | 
				
			||||||
 | 
						@ApiOperationSupport(order = 3) | 
				
			||||||
 | 
						@ApiOperation(value = "站点虚拟设备息", notes = "根据站点id查询虚拟设备") | 
				
			||||||
 | 
						public R<List<DeviceInstanceVO>> projectDeviceInstance(@RequestParam(value = "projectId") String projectId, | 
				
			||||||
 | 
																			   @RequestParam(value = "attrName",required = false) String attrName) { | 
				
			||||||
 | 
							return R.data(pointService.projectDeviceInstance(projectId,attrName)); | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@GetMapping("/projectDeviceInstanceAttr") | 
				
			||||||
 | 
						@ApiOperationSupport(order = 4) | 
				
			||||||
 | 
						@ApiOperation(value = "设备点位信息", notes = "根据设备编号查询点位") | 
				
			||||||
 | 
						public R<List<DeviceInstanceAttrVO>> projectDeviceInstanceAttr(@RequestParam(value = "deviceCode") String deviceCode, | 
				
			||||||
 | 
																			 	 @RequestParam(value = "attrName",required = false) String attrName) { | 
				
			||||||
 | 
							return R.data(pointService.projectDeviceInstanceAttr(deviceCode,attrName)); | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@PostMapping("/historicalCurve") | 
				
			||||||
 | 
						@ApiOperationSupport(order = 5) | 
				
			||||||
 | 
						@ApiOperation(value = "查询历史数据曲线图", notes = "获取历史数据折线图数据") | 
				
			||||||
 | 
						public R<Map<String, Object>> historicalCurve(@RequestBody HistoricalCurveVo curve) { | 
				
			||||||
 | 
							return R.data(pointService.historicalCurve(curve)); | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@PostMapping("/attrStatistics") | 
				
			||||||
 | 
						@ApiOperationSupport(order = 6) | 
				
			||||||
 | 
						@ApiOperation(value = "历史数据统计", notes = "获取历史数据统计数据") | 
				
			||||||
 | 
						public R<Map<String, Object>> attrStatistics(@RequestBody HistoricalCurveVo curve) { | 
				
			||||||
 | 
							return R.data(pointService.attrStatistics(curve)); | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,20 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.operational.history.service; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.metadata.IPage; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.history.vo.HistoryProjectAlarmVo; | 
				
			||||||
 | 
					import com.hnac.hzinfo.datasearch.soe.domian.SoeData; | 
				
			||||||
 | 
					import com.hnac.hzinfo.datasearch.soe.domian.SoeQueryCondition; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.v5.device.vo.DeviceInstanceAttrVO; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import javax.management.Query; | 
				
			||||||
 | 
					import java.util.List; | 
				
			||||||
 | 
					import java.util.Map; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author ysj | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					public interface AlarmService { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Map<String, Object> projectAlarm(HistoryProjectAlarmVo alarm, Query query); | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,33 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.operational.history.service; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.metadata.IPage; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.history.vo.HistoricalCurveVo; | 
				
			||||||
 | 
					import com.hnac.hzinfo.dataconfig.entity.Device; | 
				
			||||||
 | 
					import com.hnac.hzinfo.datasearch.soe.domian.SoeData; | 
				
			||||||
 | 
					import com.hnac.hzinfo.datasearch.soe.domian.SoeQueryCondition; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.v5.device.vo.DeviceInstanceAttrVO; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.v5.device.vo.DeviceInstanceVO; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.v5.hzfac.vo.FacDeviceAttrVO; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.v5.hzfac.vo.FacDeviceVO; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.List; | 
				
			||||||
 | 
					import java.util.Map; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author ysj | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					public interface PointService { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    List<FacDeviceVO> projectFacDevice(String projectId, String attrName); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    List<FacDeviceAttrVO> projectFacDeviceAttr(String facDeviceId, String attrName); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    List<DeviceInstanceVO> projectDeviceInstance(String projectId,String attrName); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    List<DeviceInstanceAttrVO> projectDeviceInstanceAttr(String deviceCode, String attrName); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Map<String, Object> historicalCurve(HistoricalCurveVo curve); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Map<String, Object> attrStatistics(HistoricalCurveVo curve); | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,51 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.operational.history.service.impl; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.hnac.hzims.operational.history.service.AlarmService; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.history.vo.HistoryProjectAlarmVo; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.core.response.Result; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.v5.soe.SoeDataClient; | 
				
			||||||
 | 
					import lombok.AllArgsConstructor; | 
				
			||||||
 | 
					import lombok.extern.slf4j.Slf4j; | 
				
			||||||
 | 
					import org.springblade.core.tool.utils.CollectionUtil; | 
				
			||||||
 | 
					import org.springframework.stereotype.Service; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import javax.management.Query; | 
				
			||||||
 | 
					import java.util.HashMap; | 
				
			||||||
 | 
					import java.util.Map; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author ysj | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Slf4j | 
				
			||||||
 | 
					@Service | 
				
			||||||
 | 
					@AllArgsConstructor | 
				
			||||||
 | 
					public class AlarmServiceImpl implements AlarmService { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private final SoeDataClient soeClient; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 查询站点告警数据 | 
				
			||||||
 | 
					     * @param alarm | 
				
			||||||
 | 
					     * @param query | 
				
			||||||
 | 
					     * @return | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    @Override | 
				
			||||||
 | 
					    public Map<String, Object> projectAlarm(HistoryProjectAlarmVo alarm, Query query) { | 
				
			||||||
 | 
					        Result<Map<String, Object>> result = soeClient.getDeviceSoeData( | 
				
			||||||
 | 
					                alarm.getProjectId(), | 
				
			||||||
 | 
					                alarm.getDimension(), | 
				
			||||||
 | 
					                alarm.getId(), | 
				
			||||||
 | 
					                alarm.getSoeType(), | 
				
			||||||
 | 
					                alarm.getStartTime(), | 
				
			||||||
 | 
					                alarm.getEndTime(), | 
				
			||||||
 | 
					                query | 
				
			||||||
 | 
					        ); | 
				
			||||||
 | 
					        if(!result.isSuccess() || CollectionUtil.isEmpty(result.getData())){ | 
				
			||||||
 | 
					            return new HashMap<>(); | 
				
			||||||
 | 
					        } | 
				
			||||||
 | 
					        return result.getData(); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,151 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.operational.history.service.impl; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.hnac.hzims.operational.history.service.PointService; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.history.vo.HistoricalCurveVo; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.core.response.DataResultCode; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.core.response.Result; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.v5.device.DeviceDataClient; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.v5.device.client.DeviceClient; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.v5.device.vo.DeviceInstanceAttrVO; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.v5.device.vo.DeviceInstanceVO; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.v5.hzfac.HzFacClient; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.v5.hzfac.vo.FacDeviceAttrVO; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.v5.hzfac.vo.FacDeviceVO; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.v5.project.ProjectClient; | 
				
			||||||
 | 
					import lombok.AllArgsConstructor; | 
				
			||||||
 | 
					import lombok.extern.slf4j.Slf4j; | 
				
			||||||
 | 
					import org.springblade.core.log.exception.ServiceException; | 
				
			||||||
 | 
					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.Map; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author ysj | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Slf4j | 
				
			||||||
 | 
					@Service | 
				
			||||||
 | 
					@AllArgsConstructor | 
				
			||||||
 | 
					public class PointServiceImpl implements PointService { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private final DeviceDataClient deviceDataClient; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private final ProjectClient projectClient; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private final DeviceClient deviceClient; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private final HzFacClient hzFacClient; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 根据站点查询厂组点信息 | 
				
			||||||
 | 
					     * @param projectId | 
				
			||||||
 | 
					     * @return | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    @Override | 
				
			||||||
 | 
					    public List<FacDeviceVO> projectFacDevice(String projectId,String attrName) { | 
				
			||||||
 | 
					        Result<List<FacDeviceVO>> result = hzFacClient.facDeviceByProjectId(projectId,attrName); | 
				
			||||||
 | 
					        if(!result.isSuccess() || CollectionUtil.isEmpty(result.getData())){ | 
				
			||||||
 | 
					            throw new ServiceException(DataResultCode.FAIL,result.getMsg()); | 
				
			||||||
 | 
					        } | 
				
			||||||
 | 
					        return result.getData(); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 根据厂组Id查询厂组点信息 | 
				
			||||||
 | 
					     * @param facDeviceId | 
				
			||||||
 | 
					     * @param attrName | 
				
			||||||
 | 
					     * @return | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    @Override | 
				
			||||||
 | 
					    public List<FacDeviceAttrVO> projectFacDeviceAttr(String facDeviceId, String attrName) { | 
				
			||||||
 | 
					        Result<List<FacDeviceAttrVO>> result = hzFacClient.facDeviceAttrList(facDeviceId,attrName); | 
				
			||||||
 | 
					        if(!result.isSuccess() || CollectionUtil.isEmpty(result.getData())){ | 
				
			||||||
 | 
					            throw new ServiceException(DataResultCode.FAIL,result.getMsg()); | 
				
			||||||
 | 
					        } | 
				
			||||||
 | 
					        return result.getData(); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 根据站点查询虚拟设备 | 
				
			||||||
 | 
					     * @param projectId | 
				
			||||||
 | 
					     * @return | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    @Override | 
				
			||||||
 | 
					    public List<DeviceInstanceVO> projectDeviceInstance(String projectId,String attrName) { | 
				
			||||||
 | 
					        R<List<DeviceInstanceVO>> result = deviceClient.getOnlineDeviceInstanceSearchName(projectId,attrName); | 
				
			||||||
 | 
					        if(!result.isSuccess() || CollectionUtil.isEmpty(result.getData())){ | 
				
			||||||
 | 
					            throw new ServiceException(DataResultCode.FAIL,result.getMsg()); | 
				
			||||||
 | 
					        } | 
				
			||||||
 | 
					        return result.getData(); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 查询站点厂组/设备点位信息 | 
				
			||||||
 | 
					     * @param deviceCode | 
				
			||||||
 | 
					     * @param attrName | 
				
			||||||
 | 
					     * @return | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    @Override | 
				
			||||||
 | 
					    public List<DeviceInstanceAttrVO> projectDeviceInstanceAttr(String deviceCode, String attrName) { | 
				
			||||||
 | 
					        Result<List<DeviceInstanceAttrVO>> result = deviceClient.getDeviceAttrByName(deviceCode,attrName); | 
				
			||||||
 | 
					        if(!result.isSuccess() || CollectionUtil.isEmpty(result.getData())){ | 
				
			||||||
 | 
					            throw new ServiceException(DataResultCode.FAIL,result.getMsg()); | 
				
			||||||
 | 
					        } | 
				
			||||||
 | 
					        return result.getData(); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 查询历史数据曲线图 | 
				
			||||||
 | 
					     * @return | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    @Override | 
				
			||||||
 | 
					    public Map<String, Object> historicalCurve(HistoricalCurveVo curve) { | 
				
			||||||
 | 
					        Result<Map<String, Object>> result = deviceDataClient.getLineDataByRealId( | 
				
			||||||
 | 
					                curve.getFirstAttrId(), | 
				
			||||||
 | 
					                curve.getSecondAttrId(), | 
				
			||||||
 | 
					                curve.getThirdlyAttrId(), | 
				
			||||||
 | 
					                curve.getFourthAttrId(), | 
				
			||||||
 | 
					                curve.getFifthAttrId(), | 
				
			||||||
 | 
					                curve.getStartTime(), | 
				
			||||||
 | 
					                curve.getEndTime(), | 
				
			||||||
 | 
					                curve.getDimension(), | 
				
			||||||
 | 
					                curve.getIntervalType(), | 
				
			||||||
 | 
					                curve.getIsPage(), | 
				
			||||||
 | 
					                curve.getCurrent(), | 
				
			||||||
 | 
					                curve.getPageSize() | 
				
			||||||
 | 
					        ); | 
				
			||||||
 | 
					        if(!result.isSuccess() || CollectionUtil.isEmpty(result.getData())){ | 
				
			||||||
 | 
					            throw new ServiceException(DataResultCode.FAIL,result.getMsg()); | 
				
			||||||
 | 
					        } | 
				
			||||||
 | 
					        return result.getData(); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 历史数据统计 | 
				
			||||||
 | 
					     * @param curve | 
				
			||||||
 | 
					     * @return | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    @Override | 
				
			||||||
 | 
					    public Map<String, Object> attrStatistics(HistoricalCurveVo curve) { | 
				
			||||||
 | 
					        Result<Map<String, Object>> result = deviceDataClient.getAttrStatistics( | 
				
			||||||
 | 
					                curve.getFirstAttrId(), | 
				
			||||||
 | 
					                curve.getSecondAttrId(), | 
				
			||||||
 | 
					                curve.getThirdlyAttrId(), | 
				
			||||||
 | 
					                curve.getFourthAttrId(), | 
				
			||||||
 | 
					                curve.getFifthAttrId(), | 
				
			||||||
 | 
					                curve.getStartTime(), | 
				
			||||||
 | 
					                curve.getEndTime(), | 
				
			||||||
 | 
					                curve.getDimension(), | 
				
			||||||
 | 
					                curve.getIntervalType()); | 
				
			||||||
 | 
					        if(!result.isSuccess() || CollectionUtil.isEmpty(result.getData())){ | 
				
			||||||
 | 
					            throw new ServiceException(DataResultCode.FAIL,result.getMsg()); | 
				
			||||||
 | 
					        } | 
				
			||||||
 | 
					        return result.getData(); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -0,0 +1,20 @@ | 
				
			|||||||
 | 
					ALTER TABLE `hzims_oper_phenomenon` | 
				
			||||||
 | 
					    MODIFY COLUMN `REMARK` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '冗余字段' ; | 
				
			||||||
 | 
					ALTER TABLE `hz_ims_duty_rec` | 
				
			||||||
 | 
					    ADD COLUMN `is_normal` tinyint(2) NULL DEFAULT 1 ; | 
				
			||||||
 | 
					ALTER TABLE `hzims_oper_access_task` | 
				
			||||||
 | 
					    ADD COLUMN `is_normal` tinyint(2) NULL DEFAULT 1 ; | 
				
			||||||
 | 
					ALTER TABLE `hzims_oper_access_plan` | 
				
			||||||
 | 
					    ADD COLUMN `is_normal` tinyint(2) NULL DEFAULT 1 ; | 
				
			||||||
 | 
					ALTER TABLE `hzims_oper_maintenance_task` | 
				
			||||||
 | 
					    ADD COLUMN `is_normal` tinyint(2) NULL DEFAULT 1 ; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ALTER TABLE `hz_ims_duty_rec` | 
				
			||||||
 | 
					    ADD COLUMN `remark` text NULL ; | 
				
			||||||
 | 
					ALTER TABLE `hzims_oper_access_task` | 
				
			||||||
 | 
					    ADD COLUMN `remark` text NULL ; | 
				
			||||||
 | 
					ALTER TABLE `hzims_oper_access_plan` | 
				
			||||||
 | 
					    ADD COLUMN `remark` text NULL ; | 
				
			||||||
 | 
					ALTER TABLE `hzims_oper_maintenance_task` | 
				
			||||||
 | 
					    ADD COLUMN `remark` text NULL ; | 
				
			||||||
@ -0,0 +1,10 @@ | 
				
			|||||||
 | 
					ALTER TABLE `hzims_inner_danger_info` | 
				
			||||||
 | 
					    ADD COLUMN `is_normal` tinyint(2) NULL DEFAULT 1 ; | 
				
			||||||
 | 
					ALTER TABLE `hzims_risk_hazard_task` | 
				
			||||||
 | 
					    ADD COLUMN `is_normal` tinyint(2) NULL DEFAULT 1 ; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ALTER TABLE `hzims_inner_danger_info` | 
				
			||||||
 | 
					    ADD COLUMN `remark` text NULL ; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ALTER TABLE `hzims_risk_hazard_task` | 
				
			||||||
 | 
					    ADD COLUMN `remark` text NULL ; | 
				
			||||||
@ -0,0 +1,9 @@ | 
				
			|||||||
 | 
					ALTER TABLE `hzims_standard_ticket_info` | 
				
			||||||
 | 
					    ADD COLUMN `remark_flow` text NULL ; | 
				
			||||||
 | 
					ALTER TABLE `hzims_work_ticket_info` | 
				
			||||||
 | 
					    ADD COLUMN `remark` text NULL ; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ALTER TABLE `hzims_standard_ticket_info` | 
				
			||||||
 | 
					    ADD COLUMN `is_normal` tinyint(2) NULL DEFAULT 1 ; | 
				
			||||||
 | 
					ALTER TABLE `hzims_work_ticket_info` | 
				
			||||||
 | 
					    ADD COLUMN `is_normal` tinyint(2) NULL DEFAULT 1 ; | 
				
			||||||
					Loading…
					
					
				
		Reference in new issue