xieb
2024-06-05 5de64bfed18ebd82e0034e242e842aeaadecc57a
Merge remote-tracking branch 'origin/jtdev' into jtdev
3 files modified
7 files added
529 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/constant/HkConstant.java 4 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/controller/HkStaffGaugeMonController.java 114 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/entity/HkEvent.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/entity/HkStaffGaugeMon.java 144 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/mapper/HkStaffGaugeMonMapper.java 21 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/mapper/HkStaffGaugeMonMapper.xml 49 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/service/HkStaffGaugeMonService.java 36 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/service/impl/HkStaffGaugeMonServiceImpl.java 91 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/util/GetCameraUtils.java 20 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/vo/HkStaffGaugeMonVO.java 48 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/constant/HkConstant.java
@@ -163,6 +163,10 @@
     */
    public static final String regionNodesByParamsURLs = "/api/irds/v2/region/nodesByParams";
    /**
     * 查询水尺监测信息
     */
    public static final String waterGaugeURLs = "/api/v1/waterGauge/list";
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/controller/HkStaffGaugeMonController.java
New file
@@ -0,0 +1,114 @@
package cn.gistack.sm.hk.controller;
import cn.gistack.sm.hk.entity.HkStaffGaugeMon;
import cn.gistack.sm.hk.service.HkStaffGaugeMonService;
import cn.gistack.sm.hk.vo.HkStaffGaugeMonVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.*;
/**
 * @author zhongrj
 * @Description: 水尺监测
 * @date 2024-06-05
 */
@Slf4j
@Api(tags = "水尺监测")
@RestController
@RequestMapping("/hk/hkStaffGaugeMon")
@AllArgsConstructor
public class HkStaffGaugeMonController {
    private final HkStaffGaugeMonService hkStaffGaugeMonService;
    /**
     * 分页列表查询
     *
     * @param hkStaffGaugeMon
     * @return
     */
    @ApiOperation(value="水尺监测-分页列表查询", notes="水尺监测-分页列表查询")
    @GetMapping(value = "/list")
    public R queryPageList(HkStaffGaugeMon hkStaffGaugeMon, Query query) {
        IPage<HkStaffGaugeMon> pageList = hkStaffGaugeMonService.page(Condition.getPage(query), Condition.getQueryWrapper(hkStaffGaugeMon));
        return R.data(pageList);
    }
    /**
     * 自定义分页列表查询
     * @param query
     * @param hkStaffGaugeMon
     * @return
     */
    @ApiOperation(value="水尺监测-自定义分页列表查询", notes="水尺监测-自定义分页列表查询")
    @GetMapping(value = "/page")
    public R selectAlarmPage(HkStaffGaugeMonVO hkStaffGaugeMon, Query query) {
        return R.data(hkStaffGaugeMonService.selectHkStaffGaugeMonPage(Condition.getPage(query),hkStaffGaugeMon));
    }
    /**
     * 添加
     *
     * @param hkStaffGaugeMon
     * @return
     */
    @ApiOperation(value="水尺监测-添加", notes="水尺监测-添加")
    @PostMapping(value = "/add")
    public R add(@RequestBody HkStaffGaugeMon hkStaffGaugeMon) {
        return R.data(hkStaffGaugeMonService.save(hkStaffGaugeMon));
    }
    /**
     * 编辑
     *
     * @param hkStaffGaugeMon
     * @return
     */
    @ApiOperation(value="水尺监测-编辑", notes="水尺监测-编辑")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public R edit(@RequestBody HkStaffGaugeMon hkStaffGaugeMon) {
        return R.data(hkStaffGaugeMonService.updateById(hkStaffGaugeMon));
    }
    /**
     * 通过id查询
     *
     * @param id
     * @return
     */
    @ApiOperation(value="水尺监测-通过id查询", notes="水尺监测-通过id查询")
    @GetMapping(value = "/queryById")
    public R queryById(@RequestParam(name="id",required=true) String id) {
        HkStaffGaugeMon hkStaffGaugeMon = hkStaffGaugeMonService.getById(id);
        return R.data(hkStaffGaugeMon);
    }
    /**
     * 定时读取
     * @return
     */
    @GetMapping(value = "/insert")
    public void insert() {
        // 保存数据
        hkStaffGaugeMonService.saveHkStaffGaugeMonInfo();
    }
    /**
     * 定时读取
     * @return
     */
    @PostMapping(value = "/test")
    public void insert(@RequestBody String data) {
        // 保存数据
        hkStaffGaugeMonService.saveHkStaffGaugeMonInfo(data);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/entity/HkEvent.java
@@ -19,7 +19,7 @@
 */
@Data
@TableName(value = "sm_hk_event")
@ApiModel(value = "sm_hk_event对象", description = "考核方案")
@ApiModel(value = "sm_hk_event对象", description = "海康视频事件")
public class HkEvent implements Serializable {
    /**
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/entity/HkStaffGaugeMon.java
New file
@@ -0,0 +1,144 @@
package cn.gistack.sm.hk.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
 * 海康水尺监测
 *
 * @author zhongrj
 * @date 2024-06-05
 */
@Data
@TableName(value = "sm_hk_staff_gauge_mon")
@ApiModel(value = "sm_hk_staff_gauge_mon对象", description = "水尺监测")
public class HkStaffGaugeMon implements Serializable {
    /**
     * 主键id
     */
    @TableId(value = "id")
    private String id;
    /**
     * 水尺名称
     */
    @ApiModelProperty(value = "水尺名称")
    private String waterGaugeName;
    /**
     * 水尺编号
     */
    @ApiModelProperty(value = "水尺编号")
    private String waterGaugeCode;
    /**
     * 设备编号
     */
    @ApiModelProperty(value = "设备编号")
    private String cameraIndexCode;
    /**
     * 设备名称
     */
    @ApiModelProperty(value = "设备名称")
    private String cameraName;
    /**
     * 监测位置
     */
    @ApiModelProperty(value = "监测位置")
    private String location;
    /**
     * 原始的比对的图片
     */
    @ApiModelProperty(value = "原始的比对的图片")
    private String markPic;
    /**
     * 虚拟水尺的坐标
     */
    private String markData;
    /**
     * 当前虚拟水尺图片
     */
    @ApiModelProperty(value = "当前虚拟水尺图片")
    private String currentPic;
    /**
     * 水位高度
     */
    @ApiModelProperty(value = "水位高度")
    private Double alarmHeight;
    /**
     * 备注1
     */
    @ApiModelProperty(value = "备注1")
    private String remark1;
    /**
     * 备注2
     */
    @ApiModelProperty(value = "备注2")
    private String remark2;
    /**
     * 备注3
     */
    @ApiModelProperty(value = "备注3")
    private String remark3;
    /**
     * 备注4
     */
    @ApiModelProperty(value = "备注4")
    private String remark4;
    /**
     * 备注5
     */
    @ApiModelProperty(value = "备注5")
    private String remark5;
    /**
     * 设置更新时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "设置更新时间")
    private Date configUpdateTime;
    /**
     * 创建时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    @TableField(value = "create_time",fill = FieldFill.INSERT)
    private Date createTime;
    /**
     * 数据分析上报时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "数据分析上报时间")
    @TableField(value = "update_time")
    private Date updateTime;
    /**
     * 删除状态
     */
    @ApiModelProperty(value = "删除状态")
    private Integer deleteStatus;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/mapper/HkStaffGaugeMonMapper.java
New file
@@ -0,0 +1,21 @@
package cn.gistack.sm.hk.mapper;
import cn.gistack.sm.hk.entity.HkStaffGaugeMon;
import cn.gistack.sm.hk.vo.HkStaffGaugeMonVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface HkStaffGaugeMonMapper extends BaseMapper<HkStaffGaugeMon> {
    /**
     * 自定义分页列表查询
     * @param page
     * @param hkStaffGaugeMon
     * @return
     */
    List<HkStaffGaugeMonVO> selectHkStaffGaugeMonPage(@Param("page") IPage<HkStaffGaugeMonVO> page,
                                                      @Param("hkStaffGaugeMon")  HkStaffGaugeMonVO hkStaffGaugeMon);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/mapper/HkStaffGaugeMonMapper.xml
New file
@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.gistack.sm.hk.mapper.HkStaffGaugeMonMapper">
    <!--自定义分页列表查询-->
    <select id="selectHkStaffGaugeMonPage" resultType="cn.gistack.sm.hk.vo.HkStaffGaugeMonVO">
        select
        shsgm.*,
        awb."res_guid" as resGuid,
        a."name" as resName,
        case when b."ad_grad" = 4 THEN b."ad_name"
        ELSE NULL END AS townName,
        case when b."ad_grad" = 3 THEN b."ad_name"
        when c."ad_grad" = 3 THEN C."ad_name"
        END AS countyName,
        case when b."ad_grad" = 2 THEN b."ad_name"
        when c."ad_grad" = 2 THEN c."ad_name"
        ELSE d."ad_name" END AS cityName
        from YWXT.sm_hk_staff_gauge_mon shsgm
        left join (
            select "res_guid","video_guid" from SJZT_MD."att_wmst_base"
            union all
            select "regionindexcode" as "res_guid","gbindexcode" as "video_guid" from SJZT_ODS."haik_gb_wmst_base"
        )
        awb on awb."video_guid" = shsgm.camera_index_code
        left join SJZT_MD."att_res_base" a on a."guid" = awb."res_guid"
        left join SJZT_MD."att_ad_base" b on b."guid" = a."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" c ON b."p_ad_code" = c."guid"
        LEFT JOIN SJZT_MD."att_ad_base" d ON c."p_ad_code" = d."guid"
        where 1 =1
        <if test="hkStaffGaugeMon.cameraName!=null and hkStaffGaugeMon.cameraName!=''">
            and shsgm.camera_name like concat('%',#{hkStaffGaugeMon.cameraName},'%')
        </if>
        <if test="hkStaffGaugeMon.resName!=null and hkStaffGaugeMon.resName!=''">
            and a."name" like concat('%',#{hkStaffGaugeMon.resName},'%')
        </if>
        <if test="hkStaffGaugeMon.startTime !=null and hkStaffGaugeMon.startTime !=''">
            AND DATE_FORMAT(shsgm.update_time,'%Y-%m-%d') &gt;= #{hkStaffGaugeMon.startTime}
        </if>
        <if test="hkStaffGaugeMon.endTime !=null and hkStaffGaugeMon.endTime !=''">
            AND DATE_FORMAT(shsgm.update_time,'%Y-%m-%d') &lt;= #{hkStaffGaugeMon.endTime}
        </if>
        <if test="hkStaffGaugeMon.adCode != null and hkStaffGaugeMon.adCode !='' and hkStaffGaugeMon.adCode !='420000000000'">
            AND (b."ad_code" = #{hkStaffGaugeMon.adCode} or c."ad_code" =#{hkStaffGaugeMon.adCode} or d."ad_code" = #{hkStaffGaugeMon.adCode})
        </if>
        order by shsgm.id desc,shsgm.update_time desc
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/service/HkStaffGaugeMonService.java
New file
@@ -0,0 +1,36 @@
package cn.gistack.sm.hk.service;
import cn.gistack.sm.hk.entity.HkStaffGaugeMon;
import cn.gistack.sm.hk.vo.HkStaffGaugeMonVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * 水尺监测服务接口层
 * @author zhongrj
 * @date 2024-06-05
 */
public interface HkStaffGaugeMonService extends IService<HkStaffGaugeMon> {
    /**
     * 自定义分页列表查询
     * @param page
     * @param hkStaffGaugeMon
     * @return
     */
    IPage<HkStaffGaugeMonVO> selectHkStaffGaugeMonPage(IPage<HkStaffGaugeMonVO> page, HkStaffGaugeMonVO hkStaffGaugeMon);
    /**
     * 保存数据
     * @return
     */
    void saveHkStaffGaugeMonInfo();
    /**
     * 保存数据
     * @param data
     * @return
     */
    void saveHkStaffGaugeMonInfo(String data);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/service/impl/HkStaffGaugeMonServiceImpl.java
New file
@@ -0,0 +1,91 @@
package cn.gistack.sm.hk.service.impl;
import cn.gistack.sm.hk.entity.HkEvent;
import cn.gistack.sm.hk.entity.HkStaffGaugeMon;
import cn.gistack.sm.hk.mapper.HkStaffGaugeMonMapper;
import cn.gistack.sm.hk.service.HkStaffGaugeMonService;
import cn.gistack.sm.hk.util.GetCameraUtils;
import cn.gistack.sm.hk.vo.HkStaffGaugeMonVO;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.Map;
import static cn.gistack.sm.hk.constant.HkConstant.waterGaugeURLs;
/**
 * 水尺监测服务接口实现层
 * @author zhongrj
 * @date 2024-06-05
 */
@Service
@Slf4j
public class HkStaffGaugeMonServiceImpl extends ServiceImpl<HkStaffGaugeMonMapper, HkStaffGaugeMon> implements HkStaffGaugeMonService {
    /**
     * 自定义分页列表查询
     * @param page
     * @param hkStaffGaugeMon
     * @return
     */
    @Override
    public IPage<HkStaffGaugeMonVO> selectHkStaffGaugeMonPage(IPage<HkStaffGaugeMonVO> page, HkStaffGaugeMonVO hkStaffGaugeMon) {
        return page.setRecords(baseMapper.selectHkStaffGaugeMonPage(page,hkStaffGaugeMon));
    }
    /**
     * 保存数据
     * @return
     */
    @Override
    public void saveHkStaffGaugeMonInfo() {
        // 解析json
        String result = GetCameraUtils.getStaffGaugeMon(3, waterGaugeURLs);
        // 保存
        saveHkStaffGaugeMonInfo(result);
    }
    /**
     * 保存数据
     * @param result
     * @return
     */
    @Override
    public void saveHkStaffGaugeMonInfo(String result) {
        // 解析json
        log.info("水尺监测信息:" + result);
        JSONObject jsonObject = JSONObject.parseObject(result);
        JSONArray jsonArray = jsonObject.getJSONArray("data");
        if (null!= jsonArray && jsonArray.size()>0) {
            for (int i = 0; i < jsonArray.size(); i++) {
                HkStaffGaugeMon hkStaffGaugeMon = new HkStaffGaugeMon();
                hkStaffGaugeMon.setId(jsonArray.getJSONObject(i).getString("id"));
                hkStaffGaugeMon.setWaterGaugeName(jsonArray.getJSONObject(i).getString("waterGaugeName"));
                hkStaffGaugeMon.setWaterGaugeCode(jsonArray.getJSONObject(i).getString("waterGaugeCode"));
                hkStaffGaugeMon.setCameraIndexCode(jsonArray.getJSONObject(i).getString("cameraIndexCode"));
                hkStaffGaugeMon.setCameraName(jsonArray.getJSONObject(i).getString("cameraName"));
                hkStaffGaugeMon.setLocation(jsonArray.getJSONObject(i).getString("location"));
                hkStaffGaugeMon.setMarkPic(jsonArray.getJSONObject(i).getString("markPic"));
                hkStaffGaugeMon.setMarkData(jsonArray.getJSONObject(i).getString("markData"));
                hkStaffGaugeMon.setCreateTime(jsonArray.getJSONObject(i).getDate("createTime"));
                hkStaffGaugeMon.setConfigUpdateTime(jsonArray.getJSONObject(i).getDate("configUpdateTime"));
                hkStaffGaugeMon.setUpdateTime(jsonArray.getJSONObject(i).getDate("updateTime"));
                hkStaffGaugeMon.setDeleteStatus(jsonArray.getJSONObject(i).getInteger("deleteStatus"));
                hkStaffGaugeMon.setCurrentPic(jsonArray.getJSONObject(i).getString("currentPic"));
                hkStaffGaugeMon.setAlarmHeight(jsonArray.getJSONObject(i).getDouble("alarmHeight"));
                hkStaffGaugeMon.setRemark1(jsonArray.getJSONObject(i).getString("remark1"));
                hkStaffGaugeMon.setRemark2(jsonArray.getJSONObject(i).getString("remark2"));
                hkStaffGaugeMon.setRemark3(jsonArray.getJSONObject(i).getString("remark3"));
                hkStaffGaugeMon.setRemark4(jsonArray.getJSONObject(i).getString("remark4"));
                hkStaffGaugeMon.setRemark5(jsonArray.getJSONObject(i).getString("remark5"));
                // 保存
                save(hkStaffGaugeMon);
            }
        }
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/util/GetCameraUtils.java
@@ -370,6 +370,26 @@
        return common(null==eventVO.getType()?1:eventVO.getType(),url, body);
    }
    /**
     * 调用水尺检测信息
     * @param type
     * @param url
     * @return
     */
    public static String getStaffGaugeMon(Integer type, String url) {
        /**
         * 组装请求参数
         */
        JSONObject jsonBody = new JSONObject();
        String body = jsonBody.toJSONString();
        /**
         * 调用接口并返回数据
         * post请求application/json类型参数;
         */
        return common(null==type?1:type,url, body);
    }
//    public static void main(String[] args) {
//
//        String previewURL = GetCameraPreviewURL(1, HkConstant.previewURLs,
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/vo/HkStaffGaugeMonVO.java
New file
@@ -0,0 +1,48 @@
package cn.gistack.sm.hk.vo;
import cn.gistack.sm.hk.entity.HkStaffGaugeMon;
import lombok.Data;
import java.io.Serializable;
@Data
public class HkStaffGaugeMonVO extends HkStaffGaugeMon implements Serializable {
    /**
     * 开始时间
     */
    private String startTime;
    /**
     * 结束时间
     */
    private String endTime;
    /**
     * 水库编号
     */
    private String resGuid;
    /**
     * 水库名称
     */
    private String resName;
    /**
     * 市州名称
     */
    private String cityName;
    /**
     * 区县
     */
    private String countyName;
    /**
     * 乡镇
     */
    private String townName;
    /**
     * 区域编号
     */
    private String adCode;
}