Browse Source

印尼项目-易达接口对接4/6

master
王寅 10 months ago
parent
commit
266f24f1c7
12 changed files with 271 additions and 13 deletions
  1. +8
    -8
      inspect-ivs/src/main/java/com/inspect/ivs/controller/IvsDeviceController.java
  2. +19
    -5
      inspect-ivs/src/main/java/com/inspect/ivs/service/IvsCommonService.java
  3. +1
    -0
      inspect-main/inspect-main-task/src/main/resources/mapper/task/PatrolResultMapper.xml
  4. +34
    -0
      inspect-metadata/src/main/java/com/inspect/metadata/eqpbook/controller/BasedataEqpBookChannelController.java
  5. +16
    -0
      inspect-metadata/src/main/java/com/inspect/metadata/eqpbook/domain/vo/PatrolDeviceStatusVo.java
  6. +31
    -0
      inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/controller/BasedataPatrolPointController.java
  7. +34
    -0
      inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/domain/vo/PointLatestResultVo.java
  8. +20
    -0
      inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/domain/vo/PointStatsVo.java
  9. +6
    -0
      inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/mapper/BasedataPatrolPointMapper.java
  10. +6
    -0
      inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/service/IBasedataPatrolPointService.java
  11. +21
    -0
      inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/service/impl/BasedataPatrolPointServiceImpl.java
  12. +75
    -0
      inspect-metadata/src/main/resources/mapper/patrolpointmnt/BasedataPatrolPointMapper.xml

+ 8
- 8
inspect-ivs/src/main/java/com/inspect/ivs/controller/IvsDeviceController.java View File

@ -60,14 +60,14 @@ public class IvsDeviceController {
public ResponseEntity<InputStreamResource> channelSnap(IvsDevChanSnapVo ivsDevChanSnapVo) throws Exception {
if (version.equals("1800")) {
byte[] bytes = Ivs1800channelSnap(ivsDevChanSnapVo);
String filePath = "/home/1.JPG"; // 替换为你想保存图片的本地路径
try (FileOutputStream fos = new FileOutputStream(filePath)) {
fos.write(bytes);
log.info("图片已成功保存到本地:" + filePath);
} catch (IOException e) {
e.printStackTrace();
log.info("保存图片时出现错误:" + e.getMessage());
}
// String filePath = "/home/1.JPG"; // 替换为你想保存图片的本地路径
// try (FileOutputStream fos = new FileOutputStream(filePath)) {
// fos.write(bytes);
// log.info("图片已成功保存到本地:" + filePath);
// } catch (IOException e) {
// e.printStackTrace();
// log.info("保存图片时出现错误:" + e.getMessage());
// }
// byte[] bytes = readStream(content);
InputStream inputStream = new ByteArrayInputStream(bytes);
return ResponseEntity.ok().body(new InputStreamResource(inputStream));


+ 19
- 5
inspect-ivs/src/main/java/com/inspect/ivs/service/IvsCommonService.java View File

@ -168,6 +168,8 @@ public class IvsCommonService {
}
public byte[] sendSSLPost(String url, String param) throws Exception {
OutputStream out = null;
// log.info("执行sendssl方法");
String Cookie = this.getCookie();
StringBuilder result = new StringBuilder();
String urlNameString = url;
@ -180,19 +182,30 @@ public class IvsCommonService {
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
// conn.setRequestProperty("Accept-Charset", "utf-8");
// conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
conn.setRequestProperty("Cookie", Cookie);
// conn.setDoOutput(true);
conn.setRequestProperty("Accept-Charset", "utf-8");
conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
conn.setRequestProperty("Cookie", "JSESSIONID=" + Cookie);
conn.setDoOutput(true);
conn.setDoInput(true);
conn.connect();
out = conn.getOutputStream();
out.write(param.getBytes());
out.flush();
try (InputStream is = conn.getInputStream()){
// log.info("返回sendssl方法");
return readStream(is);
} catch (Exception e) {
e.printStackTrace();
}
} finally {
} catch (Exception e) {
e.printStackTrace();
}
finally {
if (conn != null) {
conn.disconnect();
}
}
return null;
}
public byte[] readStream(InputStream inStream) throws Exception {
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
@ -203,6 +216,7 @@ public class IvsCommonService {
}
outStream.close();
inStream.close();
// log.info("返回readStream方法{}" , outStream.toByteArray());
return outStream.toByteArray();
}
public static void main(String[] args) {


+ 1
- 0
inspect-main/inspect-main-task/src/main/resources/mapper/task/PatrolResultMapper.xml View File

@ -387,6 +387,7 @@
<if test="deviceTypeName != null and deviceTypeName != ''">and e.device_type_name like
concat('%',#{deviceTypeName},'%')
</if>
<if test="deviceId != null and deviceId != ''"> and a.device_id =#{deviceId} </if>
<if test="mainId != null and mainId != ''">and a.main_id =#{mainId}</if>
<if test="taskName != null and taskName != ''">and a.task_name like concat('%',#{taskName},'%')</if>
</where>


+ 34
- 0
inspect-metadata/src/main/java/com/inspect/metadata/eqpbook/controller/BasedataEqpBookChannelController.java View File

@ -2,6 +2,7 @@ package com.inspect.metadata.eqpbook.controller;
import com.inspect.metadata.eqpbook.domain.BasedataEqpBook;
import com.inspect.metadata.eqpbook.domain.BasedataEqpBookChannel;
import com.inspect.metadata.eqpbook.domain.vo.PatrolDeviceStatusVo;
import com.inspect.metadata.eqpbook.service.IBasedataEqpBookChannelService;
import com.inspect.metadata.eqpbook.service.IBasedataEqpBookService;
import com.inspect.base.core.utils.poi.ExcelUtil;
@ -12,6 +13,7 @@ import com.inspect.common.log.annotation.Log;
import com.inspect.common.log.enums.BizType;
import com.inspect.common.security.annotation.RequiresPermissions;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
@ -115,4 +117,36 @@ public class BasedataEqpBookChannelController extends BaseController {
List<BasedataEqpBookChannel> list = this.basedataEqpBookChannelService.getChannelByEqpBookCode(basedataEqpbook);
return AjaxResult.success(list);
}
/**
* 获取双光摄像头光摄像头数量统计包括正常和异常状
* @return
*/
@GetMapping({"/patroldeviceState"})
public AjaxResult patroldeviceState() {
List<BasedataEqpBookChannel> list = this.basedataEqpBookChannelService.selectBasedataEqpBookChannelList(new BasedataEqpBookChannel());
List<PatrolDeviceStatusVo> patroDeviceStatusVoList = new ArrayList<>();
PatrolDeviceStatusVo vl = new PatrolDeviceStatusVo("可⻅光摄像头", 0, 0);
PatrolDeviceStatusVo ir = new PatrolDeviceStatusVo("双光摄像头", 0, 0);
for (BasedataEqpBookChannel channel : list) {
if(channel.getChannelType().equals("vl")){
if(channel.getOnlineState().equals("1")){
vl.setNormalCount(vl.getNormalCount() + 1);
} else {
vl.setAnomalyCount(vl.getAnomalyCount() + 1);
}
}
if(channel.getChannelType().equals("ir")){
if(channel.getOnlineState().equals("1")){
ir.setNormalCount(vl.getNormalCount() + 1);
} else {
ir.setAnomalyCount(vl.getAnomalyCount() + 1);
}
}
}
patroDeviceStatusVoList.add(vl);
patroDeviceStatusVoList.add(ir);
return AjaxResult.success(patroDeviceStatusVoList);
}
}

+ 16
- 0
inspect-metadata/src/main/java/com/inspect/metadata/eqpbook/domain/vo/PatrolDeviceStatusVo.java View File

@ -0,0 +1,16 @@
package com.inspect.metadata.eqpbook.domain.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.checkerframework.checker.units.qual.N;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class PatrolDeviceStatusVo {
private String patroldeviceType;
private int normalCount;
private int anomalyCount;
}

+ 31
- 0
inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/controller/BasedataPatrolPointController.java View File

@ -9,6 +9,8 @@ import com.inspect.metadata.montdatamqhandle.service.component.BasedataMontPatro
import com.inspect.metadata.patrolpointmnt.domain.BasedataPatrolPoint;
import com.inspect.metadata.patrolpointmnt.domain.BasedataStdPatrolPoint;
import com.inspect.metadata.patrolpointmnt.domain.vo.DevicePointModelItem;
import com.inspect.metadata.patrolpointmnt.domain.vo.PointLatestResultVo;
import com.inspect.metadata.patrolpointmnt.domain.vo.PointStatsVo;
import com.inspect.metadata.patrolpointmnt.service.IBasedataPatrolPointService;
import com.inspect.metadata.patrolpointmnt.service.IBasedataStdPatrolPointService;
import com.inspect.metadata.prodevmnt.domain.BasedataDevice;
@ -244,4 +246,33 @@ public class BasedataPatrolPointController extends BaseController {
return null;
}
/**
* 获取巡检点位总数和异常数
* @param
* @return
* 获取巡检点位的总数以及异常点位的数量比如查询当天的异常 点位数如果个点位多次告警次统计
*/
@GetMapping({"/getInspectPointStats"})
public AjaxResult getInspectPointStats (PointStatsVo pointStatsVo) {
return AjaxResult.success(this.basedataPatrolPointService.getInspectPointStats(pointStatsVo));
}
/**
* 获取某个巡视设备相关点位最近次巡检结果列表接
* @param
* @return
* 获取某摄像头相关点位最近次巡检结果列表接
*/
@GetMapping({"/pointLatestResult"})
public AjaxResult pointLatestResult (PointLatestResultVo pointLatestResultVo) {
return AjaxResult.success(this.basedataPatrolPointService.pointLatestResult(pointLatestResultVo));
}
}

+ 34
- 0
inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/domain/vo/PointLatestResultVo.java View File

@ -0,0 +1,34 @@
package com.inspect.metadata.patrolpointmnt.domain.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PointLatestResultVo {
private Integer id;
private String patroldeviceCode;
private String patroldeviceName;
private String taskCode;
private String taskName;
private String taskPatrolledId;
private String deviceId;
private String deviceName;
private String mainDevId;
private String mainDevName;
private String componentId;
private String componentName;
private String value;
private String unit;
private String recognitionType;
private String time;
private String fileType;
private String filePath;
private String baseFilePath;
private String rectangle;
private String valid;
}

+ 20
- 0
inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/domain/vo/PointStatsVo.java View File

@ -0,0 +1,20 @@
package com.inspect.metadata.patrolpointmnt.domain.vo;
import io.swagger.models.auth.In;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PointStatsVo {
//开始时间
String startTime;
//结束时间
String endTime;
//巡检点总数
Integer inspectionPointTotal;
//异常数
Integer inspectionPointAnomalyCount;
}

+ 6
- 0
inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/mapper/BasedataPatrolPointMapper.java View File

@ -1,6 +1,8 @@
package com.inspect.metadata.patrolpointmnt.mapper;
import com.inspect.metadata.patrolpointmnt.domain.BasedataPatrolPoint;
import com.inspect.metadata.patrolpointmnt.domain.vo.PointLatestResultVo;
import com.inspect.metadata.patrolpointmnt.domain.vo.PointStatsVo;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@ -26,4 +28,8 @@ public interface BasedataPatrolPointMapper {
int selectPresetPosByPatrolPointId(Long[] patrolPointIds);
BasedataPatrolPoint selectBasedataPatrolPointPresetForOne(BasedataPatrolPoint patrolPoint);
PointStatsVo getInspectPointStats(PointStatsVo pointStatsVo);
List<PointLatestResultVo> pointLatestResult(PointLatestResultVo pointLatestResultVo);
}

+ 6
- 0
inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/service/IBasedataPatrolPointService.java View File

@ -2,6 +2,8 @@ package com.inspect.metadata.patrolpointmnt.service;
import com.inspect.metadata.patrolpointmnt.domain.BasedataPatrolPoint;
import com.inspect.metadata.patrolpointmnt.domain.vo.DevicePointModelItem;
import com.inspect.metadata.patrolpointmnt.domain.vo.PointLatestResultVo;
import com.inspect.metadata.patrolpointmnt.domain.vo.PointStatsVo;
import java.util.List;
@ -27,4 +29,8 @@ public interface IBasedataPatrolPointService {
String superSystemSynPatrolPointModel();
String xml(DevicePointModelItem item, Long[] ids);
PointStatsVo getInspectPointStats(PointStatsVo pointStatsVo);
List<PointLatestResultVo> pointLatestResult(PointLatestResultVo pointLatestResultVo);
}

+ 21
- 0
inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/service/impl/BasedataPatrolPointServiceImpl.java View File

@ -15,6 +15,8 @@ import com.inspect.metadata.patrolpointmnt.domain.BasedataPatrolPoint;
import com.inspect.metadata.patrolpointmnt.domain.BasedataPatrolPointPreset;
import com.inspect.metadata.patrolpointmnt.domain.vo.DevicePointModel;
import com.inspect.metadata.patrolpointmnt.domain.vo.DevicePointModelItem;
import com.inspect.metadata.patrolpointmnt.domain.vo.PointLatestResultVo;
import com.inspect.metadata.patrolpointmnt.domain.vo.PointStatsVo;
import com.inspect.metadata.patrolpointmnt.mapper.BasedataPatrolPointMapper;
import com.inspect.metadata.patrolpointmnt.mapper.BasedataPatrolPointPresetMapper;
import com.inspect.metadata.patrolpointmnt.service.IBasedataPatrolPointService;
@ -313,6 +315,8 @@ public class BasedataPatrolPointServiceImpl implements IBasedataPatrolPointServi
return pulseGet.getXml(devicePointModel).replaceAll("amp;", StringUtils.EMPTY);
}
private JSONArray modelPatrolPointPresetHandle(BasedataPatrolPointPreset basedataPatrolpointPreset) {
JSONArray jsonArray = new JSONArray();
List<BasedataPatrolPointPreset> presets = this.basedataPatrolpointPresetMapper.selectBasedataPatrolPointPresetList(basedataPatrolpointPreset);
@ -422,4 +426,21 @@ public class BasedataPatrolPointServiceImpl implements IBasedataPatrolPointServi
return fileUpPath + filename + ".xml";
}
@Override
public PointStatsVo getInspectPointStats(PointStatsVo pointStatsVo) {
PointStatsVo inspectPointStats = basedataPatrolpointMapper.getInspectPointStats(pointStatsVo);
List<BasedataPatrolPoint> basedataPatrolPoints = basedataPatrolpointMapper.selectBasedataPatrolPointList(new BasedataPatrolPoint());
inspectPointStats.setInspectionPointTotal(basedataPatrolPoints.size());
return inspectPointStats;
}
@Override
public List<PointLatestResultVo> pointLatestResult(PointLatestResultVo pointLatestResultVo) {
List<PointLatestResultVo> result = basedataPatrolpointMapper.pointLatestResult(pointLatestResultVo);
// List<BasedataPatrolPoint> basedataPatrolPoints = basedataPatrolpointMapper.selectBasedataPatrolPointList(new BasedataPatrolPoint());
// inspectPointStats.setInspectionPointTotal(basedataPatrolPoints.size());
return result;
}
}

+ 75
- 0
inspect-metadata/src/main/resources/mapper/patrolpointmnt/BasedataPatrolPointMapper.xml View File

@ -315,4 +315,79 @@
#{patrolPointId}
</foreach>
</delete>
<resultMap type="PointStatsVo" id="PointStatsResult">
<result property="inspectionPointTotal" column="inspect_point_total"/>
<result property="inspectionPointAnomalyCount" column="inspectionPointAnomalyCount"/>
</resultMap>
<select id="getInspectPointStats" parameterType="PointStatsVo"
resultMap="PointStatsResult">
SELECT COUNT(*) AS inspectionPointAnomalyCount
FROM (
SELECT
ra.objectId,
bp.patrol_point_id
FROM result_analysis ra
LEFT JOIN basedata_patrolpoint bp ON ra.objectId = bp.patrol_point_id
<where>
ra.point_status != 1
AND bp.patrol_point_id IS NOT NULL
<if test="startTime != null ">and ra.create_time &gt; CONCAT(#{startTime}, ' 00:00:00')</if>
<if test="endTime != null ">and ra.create_time &lt; CONCAT(#{endTime}, ' 23:59:59')</if>
</where>
GROUP BY ra.objectId, bp.patrol_point_id
) AS temp_table;
</select>
<resultMap id="InspectionTaskResultMap" type="PointLatestResultVo">
<id property="id" column="id" />
<result property="patroldeviceCode" column="patroldevice_code" />
<result property="patroldeviceName" column="patroldevice_name" />
<result property="taskCode" column="task_code" />
<result property="taskName" column="task_name" />
<result property="taskPatrolledId" column="task_patrolled_id" />
<result property="deviceId" column="device_id" />
<result property="deviceName" column="device_name" />
<result property="mainDevId" column="main_dev_id" />
<result property="mainDevName" column="main_dev_name" />
<result property="componentId" column="component_id" />
<result property="componentName" column="component_name" />
<result property="value" column="value" />
<result property="unit" column="unit" />
<result property="recognitionType" column="recognition_type" />
<result property="time" column="time" />
<result property="fileType" column="file_type" />
<result property="filePath" column="file_path" />
<result property="baseFilePath" column="base_file_path" />
<result property="rectangle" column="rectangle" />
<result property="valid" column="valid" />
</resultMap>
<select id="pointLatestResult" parameterType="PointLatestResultVo"
resultMap="InspectionTaskResultMap">
SELECT bd.device_name main_dev_name,bd.device_id main_dev_id ,bp.patrol_point_name device_name,bp.patrol_point_id device_id,
bec.channel_code patroldevice_code,bec.channel_name patroldevice_name,
latest_pr.task_code,latest_pr.task_name,latest_pr.line_id task_patrolled_id,
bpp.patrol_point_preset_id device_id, bpp.preset_name device_name,
latest_pr.value ,latest_pr.value_unit unit,latest_pr.recognition_type,latest_pr.time,
latest_pr.file_type,latest_pr.file_path,latest_pr.rectangle,latest_pr.valid
-- #bec.*, bpp.*, latest_ra.*,latest_pr.*
FROM basedata_eqpbook_channel bec
LEFT JOIN basedata_patrolpoint_preset bpp ON bec.channel_code = bpp.channel_code
left join basedata_patrolpoint bp on bp.patrol_point_id = bpp.patrol_point_id
left join basedata_device bd on bp.main_device_id = bd.device_id
LEFT JOIN ( SELECT pr.*
FROM patrol_result pr
INNER JOIN (
SELECT device_id, MAX(time) AS max_create_time
FROM patrol_result
GROUP BY device_id
) pr2 ON pr.device_id = pr2.device_id AND pr.time = pr2.max_create_time) latest_pr ON latest_pr.device_id = bpp.patrol_point_id
<where>
bpp.patrol_point_id IS NOT NULL AND latest_pr.line_id IS NOT NULL
<if test="patroldeviceCode != null ">and bpp.channel_code = #{patroldeviceCode}</if>
</where>
</select>
</mapper>

Loading…
Cancel
Save