5 changed files with 215 additions and 0 deletions
			
			
		@ -0,0 +1,61 @@ | 
				
			|||||||
 | 
					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.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 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 java.util.List; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author ysj | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@RestController | 
				
			||||||
 | 
					@RequestMapping("/history") | 
				
			||||||
 | 
					@Api(value = "历史数据查询", tags = "历史数据查询") | 
				
			||||||
 | 
					@AllArgsConstructor | 
				
			||||||
 | 
					public class HistoryController extends BladeController { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private final PointService pointService; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private final AlarmService alarmService; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@PostMapping("/alarm") | 
				
			||||||
 | 
						@ApiOperationSupport(order = 1) | 
				
			||||||
 | 
						@ApiOperation(value = "告警数据查询", notes = "根据站点查询数据") | 
				
			||||||
 | 
						public R<IPage<SoeData>> alarm(@RequestBody SoeQueryCondition soeQueryCondition) { | 
				
			||||||
 | 
							return R.data(alarmService.alarm(soeQueryCondition)); | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@GetMapping("/projectSid") | 
				
			||||||
 | 
						@ApiOperationSupport(order = 2) | 
				
			||||||
 | 
						@ApiOperation(value = "查询站点sid", notes = "根据站点id查询sid") | 
				
			||||||
 | 
						public R<String> projectSid(@RequestParam(value = "stationId") String projectId) { | 
				
			||||||
 | 
							return R.data(pointService.projectSid(projectId)); | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@GetMapping("/projectGroup") | 
				
			||||||
 | 
						@ApiOperationSupport(order = 3) | 
				
			||||||
 | 
						@ApiOperation(value = "站点分组信息", notes = "根据站点sid查询厂信息分组") | 
				
			||||||
 | 
						public R<List<Device>> projectGroup(@RequestParam(value = "sid") String sid) { | 
				
			||||||
 | 
							return R.data(pointService.projectGroup(sid)); | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@GetMapping("/onlineAttr") | 
				
			||||||
 | 
						@ApiOperationSupport(order = 3) | 
				
			||||||
 | 
						@ApiOperation(value = "分组点位信息", notes = "根据分组Id查询分组点位") | 
				
			||||||
 | 
						public R<List<DeviceInstanceAttrVO>> onlineAttr(@RequestParam(value = "groupId") String groupId) { | 
				
			||||||
 | 
							return R.data(pointService.onlineAttr(groupId)); | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,14 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.operational.history.service; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.metadata.IPage; | 
				
			||||||
 | 
					import com.hnac.hzinfo.datasearch.soe.domian.SoeData; | 
				
			||||||
 | 
					import com.hnac.hzinfo.datasearch.soe.domian.SoeQueryCondition; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author ysj | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					public interface AlarmService { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    IPage<SoeData> alarm(SoeQueryCondition soeQueryCondition); | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,22 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.operational.history.service; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.metadata.IPage; | 
				
			||||||
 | 
					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 java.util.List; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author ysj | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					public interface PointService { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    String projectSid(String projectId); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    List<Device> projectGroup(String projectId); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    List<DeviceInstanceAttrVO> onlineAttr(String groupId); | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,45 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.operational.history.service.impl; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.metadata.IPage; | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.history.service.AlarmService; | 
				
			||||||
 | 
					import com.hnac.hzinfo.dataconfig.entity.Device; | 
				
			||||||
 | 
					import com.hnac.hzinfo.datasearch.soe.ISoeClient; | 
				
			||||||
 | 
					import com.hnac.hzinfo.datasearch.soe.domian.SoeData; | 
				
			||||||
 | 
					import com.hnac.hzinfo.datasearch.soe.domian.SoeQueryCondition; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.core.response.HzPage; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.core.response.Result; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.v5.device.client.DeviceClient; | 
				
			||||||
 | 
					import lombok.AllArgsConstructor; | 
				
			||||||
 | 
					import lombok.extern.slf4j.Slf4j; | 
				
			||||||
 | 
					import org.springblade.core.tool.utils.ObjectUtil; | 
				
			||||||
 | 
					import org.springframework.stereotype.Service; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.List; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author ysj | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Slf4j | 
				
			||||||
 | 
					@Service | 
				
			||||||
 | 
					@AllArgsConstructor | 
				
			||||||
 | 
					public class AlarmServiceImpl implements AlarmService { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private final ISoeClient soeClient; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private final DeviceClient deviceClient; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override | 
				
			||||||
 | 
					    public IPage<SoeData> alarm(SoeQueryCondition soeQueryCondition) { | 
				
			||||||
 | 
					        IPage<SoeData> page = new Page<>(soeQueryCondition.getPage(), soeQueryCondition.getLimit()); | 
				
			||||||
 | 
					        Result<HzPage<SoeData>> result = soeClient.getByTypeAndTimeRangeOfPage(soeQueryCondition); | 
				
			||||||
 | 
					        if(!result.isSuccess() || ObjectUtil.isEmpty(result.getData())){ | 
				
			||||||
 | 
					            return page; | 
				
			||||||
 | 
					        } | 
				
			||||||
 | 
					        page.setPages(result.getData().getCurrent()); | 
				
			||||||
 | 
					        page.setSize(result.getData().getSize()); | 
				
			||||||
 | 
					        page.setTotal(result.getData().getTotal()); | 
				
			||||||
 | 
					        page.setRecords(result.getData().getRecords()); | 
				
			||||||
 | 
					        return page; | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,73 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.operational.history.service.impl; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.hnac.hzims.operational.history.service.PointService; | 
				
			||||||
 | 
					import com.hnac.hzinfo.dataconfig.entity.Device; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.core.response.Result; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.v5.device.client.DeviceClient; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.v5.device.vo.DeviceInstanceAttrVO; | 
				
			||||||
 | 
					import com.hnac.hzinfo.sdk.v5.project.ProjectClient; | 
				
			||||||
 | 
					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.StringUtil; | 
				
			||||||
 | 
					import org.springframework.stereotype.Service; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.ArrayList; | 
				
			||||||
 | 
					import java.util.List; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author ysj | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Slf4j | 
				
			||||||
 | 
					@Service | 
				
			||||||
 | 
					@AllArgsConstructor | 
				
			||||||
 | 
					public class PointServiceImpl implements PointService { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private final ProjectClient projectClient; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private final DeviceClient deviceClient; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 查询站点厂信息分组 | 
				
			||||||
 | 
					     * @param projectId | 
				
			||||||
 | 
					     * @return | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    @Override | 
				
			||||||
 | 
					    public String projectSid(String projectId) { | 
				
			||||||
 | 
					        Result<String> result = projectClient.getProjectBySid(projectId); | 
				
			||||||
 | 
					        if(!result.isSuccess() || StringUtil.isBlank(result.getData())){ | 
				
			||||||
 | 
					            return ""; | 
				
			||||||
 | 
					        } | 
				
			||||||
 | 
					        return result.getData(); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 厂信息分组 | 
				
			||||||
 | 
					     * @param sid | 
				
			||||||
 | 
					     * @return | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    @Override | 
				
			||||||
 | 
					    public List<Device> projectGroup(String sid) { | 
				
			||||||
 | 
					        Result<List<Device>> result = deviceClient.facDeviceByProjectId(sid); | 
				
			||||||
 | 
					        if(!result.isSuccess() || CollectionUtil.isEmpty(result.getData())){ | 
				
			||||||
 | 
					            return new ArrayList<>(); | 
				
			||||||
 | 
					        } | 
				
			||||||
 | 
					        return result.getData(); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 查询分组点位信息 | 
				
			||||||
 | 
					     * @param groupId | 
				
			||||||
 | 
					     * @return | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    @Override | 
				
			||||||
 | 
					    public List<DeviceInstanceAttrVO> onlineAttr(String groupId) { | 
				
			||||||
 | 
					        R<List<DeviceInstanceAttrVO>> result = deviceClient.getOnlineAttr(groupId); | 
				
			||||||
 | 
					        if(!result.isSuccess() || CollectionUtil.isEmpty(result.getData())){ | 
				
			||||||
 | 
					            return new ArrayList<>(); | 
				
			||||||
 | 
					        } | 
				
			||||||
 | 
					        return result.getData(); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} | 
				
			||||||
					Loading…
					
					
				
		Reference in new issue