From 502a46d9f79f3a2e6ba8bf8c90b71c0c8ebf4815 Mon Sep 17 00:00:00 2001
From: shenyijian <1178253012@qq.com>
Date: Thu, 13 Jun 2024 09:24:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtdev' into jtdev

---
 skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/HkStaffGaugeMonXxlJob.java |   43 +++
 skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/hk/IHkStaffGaugeMonClient.java              |   26 ++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/mapper/HkStaffGaugeMonMapper.java                |   21 +
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/service/impl/HkStaffGaugeMonServiceImpl.java     |  105 ++++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/feign/HkStaffGaugeMonClient.java                 |   33 ++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztdw/service/impl/DwsResFormDiServiceImpl.java    |    4 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/entity/HkEvent.java                              |    2 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztdw/mapper/DwsWaterResZEightDetailAllMapper.xml  |    4 
 skjcmanager/skjcmanager-common/src/main/java/cn/gistack/common/utils/IdUtils.java                                              |   21 +
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbProjectMapper.xml                   |    2 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/controller/HkStaffGaugeMonController.java        |  114 ++++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/vo/HkStaffGaugeMonVO.java                        |   53 ++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/entity/HkStaffGaugeMon.java                      |  157 ++++++++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/service/HkStaffGaugeMonService.java              |   36 ++
 skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/hk/HkStaffGaugeMonClientFallback.java       |   18 +
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/constant/HkConstant.java                         |    4 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/mapper/HkStaffGaugeMonMapper.xml                 |   55 ++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbResGeneralInvestigation.java        |    6 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/util/GetCameraUtils.java                         |   20 +
 19 files changed, 719 insertions(+), 5 deletions(-)

diff --git a/skjcmanager/skjcmanager-common/src/main/java/cn/gistack/common/utils/IdUtils.java b/skjcmanager/skjcmanager-common/src/main/java/cn/gistack/common/utils/IdUtils.java
new file mode 100644
index 0000000..61f0765
--- /dev/null
+++ b/skjcmanager/skjcmanager-common/src/main/java/cn/gistack/common/utils/IdUtils.java
@@ -0,0 +1,21 @@
+package cn.gistack.common.utils;
+
+import java.util.UUID;
+
+public class IdUtils {
+
+	/**
+	 * 随机生成36位id
+	 * @return
+	 */
+	public static String getIdBy36(){
+		//生成uuid
+		String randomId = UUID.randomUUID().toString();
+		String trim = randomId.replaceAll("-", "");
+		//再拼接4位
+		long l = System.currentTimeMillis();
+		String time = String.valueOf(l);
+		String subTime = time.substring(time.length() - 4);
+		return trim + subTime;
+	}
+}
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/hk/HkStaffGaugeMonClientFallback.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/hk/HkStaffGaugeMonClientFallback.java
new file mode 100644
index 0000000..ef7c29a
--- /dev/null
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/hk/HkStaffGaugeMonClientFallback.java
@@ -0,0 +1,18 @@
+package cn.gistack.sm.hk;
+
+import org.springframework.stereotype.Component;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION: 海康设备水尺监测
+ * @USER: zhongrj
+ * @DATE: 2024/06/05
+ */
+@Component
+public class HkStaffGaugeMonClientFallback implements IHkStaffGaugeMonClient {
+
+	@Override
+	public void insertHkStaffGaugeMonInfo() {
+
+	}
+}
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/hk/IHkStaffGaugeMonClient.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/hk/IHkStaffGaugeMonClient.java
new file mode 100644
index 0000000..cf303b1
--- /dev/null
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/hk/IHkStaffGaugeMonClient.java
@@ -0,0 +1,26 @@
+package cn.gistack.sm.hk;
+
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION: 海康设备水尺监测
+ * @USER: zhongrj
+ * @DATE: 2024/06/05
+ */
+@FeignClient(
+	value = "blade-sm",
+	fallback = HkStaffGaugeMonClientFallback.class
+)
+public interface IHkStaffGaugeMonClient {
+
+	String API_PREFIX = "/client";
+	String INSERT_HK_STAFF_GAUGE_MON = API_PREFIX + "/insertHkStaffGaugeMonInfo";
+
+
+	@GetMapping(INSERT_HK_STAFF_GAUGE_MON)
+	void insertHkStaffGaugeMonInfo();
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/constant/HkConstant.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/constant/HkConstant.java
index b8baf08..ac28e86 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/constant/HkConstant.java
+++ b/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";
 
 
 
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/controller/HkStaffGaugeMonController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/controller/HkStaffGaugeMonController.java
new file mode 100644
index 0000000..49114a9
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/controller/HkStaffGaugeMonController.java
@@ -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);
+	}
+
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/entity/HkEvent.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/entity/HkEvent.java
index bf6872c..e82963a 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/entity/HkEvent.java
+++ b/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 {
 
 	/**
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/entity/HkStaffGaugeMon.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/entity/HkStaffGaugeMon.java
new file mode 100644
index 0000000..1e39089
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/entity/HkStaffGaugeMon.java
@@ -0,0 +1,157 @@
+package cn.gistack.sm.hk.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+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;
+
+	/**
+	 * 监测id
+	 */
+	@ApiModelProperty(value = "监测id")
+	private String gaugeMonId;
+
+	/**
+	 * 水尺名称
+	 */
+	@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;
+
+	/**
+	 * 虚拟水尺的坐标
+	 */
+	@ApiModelProperty(value = "虚拟水尺的坐标")
+	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;
+
+	/**
+	 * 系统创建时间
+	 */
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@ApiModelProperty(value = "系统创建时间")
+	@TableField(value = "sys_create_time",fill = FieldFill.INSERT)
+	private Date sysCreateTime;
+
+	/**
+	 * 删除状态
+	 */
+	@ApiModelProperty(value = "删除状态")
+	private Integer deleteStatus;
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/feign/HkStaffGaugeMonClient.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/feign/HkStaffGaugeMonClient.java
new file mode 100644
index 0000000..36d5474
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/feign/HkStaffGaugeMonClient.java
@@ -0,0 +1,33 @@
+package cn.gistack.sm.hk.feign;
+
+import cn.gistack.sm.hk.IHkStaffGaugeMonClient;
+import cn.gistack.sm.hk.service.HkStaffGaugeMonService;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.tenant.annotation.NonDS;
+import org.springframework.web.bind.annotation.RestController;
+import springfox.documentation.annotations.ApiIgnore;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION: 海康设备水尺监测
+ * @USER: zhongrj
+ * @DATE: 2024/06/05
+ */
+@NonDS
+@ApiIgnore
+@RestController
+@AllArgsConstructor
+@Slf4j
+public class HkStaffGaugeMonClient implements IHkStaffGaugeMonClient {
+
+	private final HkStaffGaugeMonService hkStaffGaugeMonService;
+
+	/**
+	 * 保存水尺监测数据
+	 */
+	@Override
+	public void insertHkStaffGaugeMonInfo() {
+		hkStaffGaugeMonService.saveHkStaffGaugeMonInfo();
+	}
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/mapper/HkStaffGaugeMonMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/mapper/HkStaffGaugeMonMapper.java
new file mode 100644
index 0000000..c1d1522
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/mapper/HkStaffGaugeMonMapper.java
@@ -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);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/mapper/HkStaffGaugeMonMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/mapper/HkStaffGaugeMonMapper.xml
new file mode 100644
index 0000000..d4b62d6
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/mapper/HkStaffGaugeMonMapper.xml
@@ -0,0 +1,55 @@
+<?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.resGuid!=null and hkStaffGaugeMon.resGuid!=''">
+            and awb."res_guid" = #{hkStaffGaugeMon.resGuid}
+        </if>
+        <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.sendTime !=null and hkStaffGaugeMon.sendTime !=''">
+            AND DATE_FORMAT(shsgm.update_time,'%Y-%m-%d') &lt;= #{hkStaffGaugeMon.sendTime}
+        </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>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/service/HkStaffGaugeMonService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/service/HkStaffGaugeMonService.java
new file mode 100644
index 0000000..69b3b70
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/service/HkStaffGaugeMonService.java
@@ -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);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/service/impl/HkStaffGaugeMonServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/service/impl/HkStaffGaugeMonServiceImpl.java
new file mode 100644
index 0000000..a3b0c8b
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/service/impl/HkStaffGaugeMonServiceImpl.java
@@ -0,0 +1,105 @@
+package cn.gistack.sm.hk.service.impl;
+
+import cn.gistack.common.utils.IdUtils;
+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.conditions.query.QueryWrapper;
+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.List;
+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++) {
+				String cameraIndexCode = jsonArray.getJSONObject(i).getString("cameraIndexCode");
+				Date updateTime = jsonArray.getJSONObject(i).getDate("updateTime");
+				// 查询去重
+				QueryWrapper<HkStaffGaugeMon> wrapper = new QueryWrapper<>();
+				wrapper.eq("camera_index_code",cameraIndexCode).eq("update_time",updateTime);
+				List<HkStaffGaugeMon> list = list(wrapper);
+				if (list.size()==0) {
+					HkStaffGaugeMon hkStaffGaugeMon = new HkStaffGaugeMon();
+					// 设置数据
+					hkStaffGaugeMon.setId(IdUtils.getIdBy36());
+					hkStaffGaugeMon.setGaugeMonId(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"));
+					hkStaffGaugeMon.setSysCreateTime(new Date());
+					// 保存
+					save(hkStaffGaugeMon);
+				}
+			}
+		}
+	}
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/util/GetCameraUtils.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/util/GetCameraUtils.java
index d2d286a..f128cd9 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/util/GetCameraUtils.java
+++ b/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,
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/vo/HkStaffGaugeMonVO.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/vo/HkStaffGaugeMonVO.java
new file mode 100644
index 0000000..6a5b75a
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/hk/vo/HkStaffGaugeMonVO.java
@@ -0,0 +1,53 @@
+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 sendTime;
+	/**
+	 * 水库编号
+	 */
+	private String resGuid;
+
+	/**
+	 * 水库名称
+	 */
+	private String resName;
+
+	/**
+	 * 市州名称
+	 */
+	private String cityName;
+
+	/**
+	 * 区县
+	 */
+	private String countyName;
+
+	/**
+	 * 乡镇
+	 */
+	private String townName;
+
+	/**
+	 * 区域编号
+	 */
+	private String adCode;
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztdw/mapper/DwsWaterResZEightDetailAllMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztdw/mapper/DwsWaterResZEightDetailAllMapper.xml
index 23182b1..3a0dc43 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztdw/mapper/DwsWaterResZEightDetailAllMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztdw/mapper/DwsWaterResZEightDetailAllMapper.xml
@@ -7,10 +7,10 @@
 
         UPDATE SJZT_DW."dws_water_res_z_eight_detail_all" SET
             <if test="entity.rz != null and entity.rz !='' ">
-                "rz" = #{entity.rz},
+                "rz" = #{entity.rz}
             </if>
             <if test="entity.lowZ != null and entity.lowZ !='' ">
-                "low_z" = #{entity.lowZ}
+                ,"low_z" = #{entity.lowZ}
             </if>
         WHERE 1=1
             <if test="entity.isTb != null and entity.isTb != ''">
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztdw/service/impl/DwsResFormDiServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztdw/service/impl/DwsResFormDiServiceImpl.java
index 927ca3d..f9df837 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztdw/service/impl/DwsResFormDiServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztdw/service/impl/DwsResFormDiServiceImpl.java
@@ -42,6 +42,7 @@
 	private IDsmSpgSpprmpService dsmSpgSpprmpService;
 
 	@Override
+	@Transactional
 	public void importDbPersonData(List<DbExcel> data, String resGuid,String ch) {
 
 		//获取行政区划
@@ -61,7 +62,7 @@
 		List<DsmSpgSpqnmp> dsmSpgSpqnmpList = dsmSpgSpqnmpService.getList(paramSl);
 
 		data.forEach(dbExcel->{
-
+			dbExcel.setAvgValue(dbExcel.getAvgValue().replace(",",","));
 			if (StringUtil.isBlank(dbExcel.getRz())){
 				dbExcel.setRz("");
 			}
@@ -200,6 +201,7 @@
 				}
 			}
 		}catch (Exception e){
+			e.printStackTrace();
 			throw new RuntimeException("表格渗压数据个数超过当前水库断面测点个数");
 		}
 
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbResGeneralInvestigation.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbResGeneralInvestigation.java
index 1d3aa11..96547f6 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbResGeneralInvestigation.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/TbResGeneralInvestigation.java
@@ -101,6 +101,12 @@
 	@ApiModelProperty(value = "部位")
 	@TableField(value = "\"part_place\"", fill = FieldFill.UPDATE)
 	private String partPlace;
+	/**
+	 * 部位
+	 */
+	@ApiModelProperty(value = "部位描述")
+	@TableField(value = "\"part_place_info\"", fill = FieldFill.UPDATE)
+	private String partPlaceInfo;
 
 	/**
 	 * 普查面积
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbProjectMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbProjectMapper.xml
index cc335f4..160d2b8 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbProjectMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbProjectMapper.xml
@@ -67,7 +67,7 @@
         <if test="vo.endTime!=null and vo.endTime!=''">
             and tb."check_date" &lt;= #{vo.endTime}
         </if>
-        order by city_code,county_code asc
+        order by CAST(city_code AS number) asc,CAST(county_code AS number) asc,CAST(guid AS number) desc
     </select>
 
     <resultMap id="dto" type="cn.gistack.sm.sjztmd.dto.TbProjectDTO">
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/HkStaffGaugeMonXxlJob.java b/skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/HkStaffGaugeMonXxlJob.java
new file mode 100644
index 0000000..5f08133
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/HkStaffGaugeMonXxlJob.java
@@ -0,0 +1,43 @@
+package cn.gistack.job.executor.jobhandler;
+
+import cn.gistack.sm.hk.IHkStaffGaugeMonClient;
+import com.xxl.job.core.biz.model.ReturnT;
+import com.xxl.job.core.handler.annotation.XxlJob;
+import com.xxl.job.core.log.XxlJobLogger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION: 海康设备水尺监测
+ * @USER: zhongrj
+ * @DATE: 2024/06/05
+ */
+@Component
+public class HkStaffGaugeMonXxlJob {
+
+	@Autowired
+	private IHkStaffGaugeMonClient hkStaffGaugeMonClient;
+
+	/**
+	 * 海康设备水尺监测
+	 * @return
+	 */
+	@XxlJob("insertHkStaffGaugeMonInfo")
+	public ReturnT<String> insertHkStaffGaugeMonInfo(String param) {
+		XxlJobLogger.log("开始执行任务...");
+		// 海康设备水尺监测任务
+		ExecutorService executorService = Executors.newSingleThreadExecutor();
+		executorService.submit(() -> {
+			// 这里是你的异步任务逻辑
+			hkStaffGaugeMonClient.insertHkStaffGaugeMonInfo();
+		});
+
+		XxlJobLogger.log("结束自动创建任务...");
+		// 返回
+		return ReturnT.SUCCESS;
+	}
+
+}

--
Gitblit v1.9.3