Browse Source

内蒙山洪运维系统-应急系统功能模块开发

dylan 2 years ago
parent
commit
d2a0cd149d
35 changed files with 2334 additions and 47 deletions
  1. 3 0
      src/main/java/org/springblade/constant/BusinessConstant.java
  2. 103 0
      src/main/java/org/springblade/enums/DanagerAreaCehckTypeEnum.java
  3. 865 0
      src/main/java/org/springblade/etl/controller/EtlTestController.java
  4. 50 47
      src/main/java/org/springblade/modules/business/rtumanage/service/impl/RtuManageServiceImpl.java
  5. 82 0
      src/main/java/org/springblade/modules/test/TestController.java
  6. 156 0
      src/main/java/org/springblade/modules/yjxt/base/servicePerson/controller/YjxtServicePersonController.java
  7. 36 0
      src/main/java/org/springblade/modules/yjxt/base/servicePerson/dto/YjxtServicePersonDTO.java
  8. 46 0
      src/main/java/org/springblade/modules/yjxt/base/servicePerson/entity/YjxtServicePersonEntity.java
  9. 29 0
      src/main/java/org/springblade/modules/yjxt/base/servicePerson/mapper/YjxtServicePersonMapper.java
  10. 39 0
      src/main/java/org/springblade/modules/yjxt/base/servicePerson/mapper/YjxtServicePersonMapper.xml
  11. 26 0
      src/main/java/org/springblade/modules/yjxt/base/servicePerson/service/IYjxtServicePersonServcie.java
  12. 32 0
      src/main/java/org/springblade/modules/yjxt/base/servicePerson/service/impl/YjxtServicePersonServcieImpl.java
  13. 37 0
      src/main/java/org/springblade/modules/yjxt/base/servicePerson/vo/YjxtServicePersonVO.java
  14. 47 0
      src/main/java/org/springblade/modules/yjxt/base/servicePerson/wrapper/YjxtServicePersonWrapper.java
  15. 60 0
      src/main/java/org/springblade/modules/yjxt/business/check/controller/DanagerAreaCheckController.java
  16. 25 0
      src/main/java/org/springblade/modules/yjxt/business/check/dto/DanagerAreaCheckInfoDTO.java
  17. 88 0
      src/main/java/org/springblade/modules/yjxt/business/check/entity/DanagerAreaCheckInfoEntity.java
  18. 24 0
      src/main/java/org/springblade/modules/yjxt/business/check/mapper/DanagerAreaCheckInfoMapper.java
  19. 20 0
      src/main/java/org/springblade/modules/yjxt/business/check/mapper/DanagerAreaCheckInfoMapper.xml
  20. 21 0
      src/main/java/org/springblade/modules/yjxt/business/check/service/IDanagerAreaCheckService.java
  21. 26 0
      src/main/java/org/springblade/modules/yjxt/business/check/service/impl/DanagerAreaCheckServiceImpl.java
  22. 24 0
      src/main/java/org/springblade/modules/yjxt/business/check/vo/DanagerAreaCheckInfoVO.java
  23. 34 0
      src/main/java/org/springblade/modules/yjxt/business/check/wrapper/DanagerAreaCheckWrapper.java
  24. 65 0
      src/main/java/org/springblade/modules/yjxt/business/transfer/controller/DamageTransferController.java
  25. 24 0
      src/main/java/org/springblade/modules/yjxt/business/transfer/dto/DamageTransferPersonInfoDTO.java
  26. 53 0
      src/main/java/org/springblade/modules/yjxt/business/transfer/entity/DamageTransferPersonInfoEntity.java
  27. 24 0
      src/main/java/org/springblade/modules/yjxt/business/transfer/mapper/DamageTransferPersonInfoMapper.java
  28. 15 0
      src/main/java/org/springblade/modules/yjxt/business/transfer/mapper/DamageTransferPersonInfoMapper.xml
  29. 21 0
      src/main/java/org/springblade/modules/yjxt/business/transfer/service/IDamageTransferPersonService.java
  30. 25 0
      src/main/java/org/springblade/modules/yjxt/business/transfer/service/impl/DamageTransferPersonServiceImpl.java
  31. 24 0
      src/main/java/org/springblade/modules/yjxt/business/transfer/vo/DamageTransferPersonInfoVO.java
  32. 34 0
      src/main/java/org/springblade/modules/yjxt/business/transfer/wrapper/DamageTransferPersonInfoWrapper.java
  33. 1 0
      src/main/java/org/springblade/mq/kafka/handler/MessageHandler.java
  34. 174 0
      src/main/java/org/springblade/share/DataShareController.java
  35. 1 0
      src/main/resources/application.yml

+ 3 - 0
src/main/java/org/springblade/constant/BusinessConstant.java

@@ -76,4 +76,7 @@ public class BusinessConstant {
 	public static final Long DEPT_ROOT_ID =0L;
 
 	public static final Long DEPT_NM_ID=1123598813738675201L;
+
+
+	public static final String OSS_BASE_PATH ="http://111.204.228.227:20002/oss/galaxy/";
 }

+ 103 - 0
src/main/java/org/springblade/enums/DanagerAreaCehckTypeEnum.java

@@ -0,0 +1,103 @@
+/**
+ * Copyright
+ * All right reserved.
+ * 项目名称:
+ * 创建日期:2022/3/7
+ */
+package org.springblade.enums;
+
+/***
+ * Date:2022/3/7
+ * Title:应急巡查种类
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author admin
+ * @mender:(文件的修改者,文件创建者之外的人)
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public enum DanagerAreaCehckTypeEnum {
+
+    /** 独立巡查 */
+    CHECK_1(1, "独立巡查"),
+
+    /** 应急发起巡查 */
+    CHECK_2(2, "应急发起巡查");
+
+    private int code;
+
+    private String name;
+
+	private DanagerAreaCehckTypeEnum(int code, String name) {
+        this.code = code;
+        this.name = name;
+    }
+
+    /**
+     * Function:根据code来获取对应的name
+     * Author: Admin
+     * Date:2021/6/26
+      * @param code
+     * @return java.lang.String
+     * @throws Exception
+     */
+    public static String getName(int code) {
+        for (DanagerAreaCehckTypeEnum type : DanagerAreaCehckTypeEnum.values()) {
+            if (type.code == code) {
+                return type.name;
+            }
+        }
+        return "";
+    }
+
+    /**
+     * Function:根据code来获取对应的枚举常量
+     * Author: Admin
+     * Date:2021/6/26
+      * @param code
+     * @return com.zhgzjg.web.enums.IsValid
+     * @throws Exception
+     */
+    public static DanagerAreaCehckTypeEnum getEnumByCode(int code) {
+        for (DanagerAreaCehckTypeEnum type : DanagerAreaCehckTypeEnum.values()) {
+			if (type.code == code) {
+                return type;
+            }
+        }
+        return null;
+    }
+
+	/**
+	 * Function:根据name来获取对应的枚举常量
+	 * Author: Admin
+	 * Date:2021/6/26
+	 * @param name
+	 * @return com.zhgzjg.web.enums.DeleteFlag
+	 * @throws Exception
+	 */
+	public static DanagerAreaCehckTypeEnum getEnumByName(String name) {
+		for (DanagerAreaCehckTypeEnum type : DanagerAreaCehckTypeEnum.values()) {
+			if (type.name.equals(name)) {
+				return type;
+			}
+		}
+		return null;
+	}
+
+
+    public Integer getCode() {
+    return code;
+}
+
+    public void setCode(int code) {
+    this.code = code;
+}
+
+    public String getName() {
+    return name;
+}
+
+    public void setName(String name) {
+    this.name = name;
+}
+
+}

+ 865 - 0
src/main/java/org/springblade/etl/controller/EtlTestController.java

@@ -0,0 +1,865 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/22
+ */
+package org.springblade.etl.controller;
+
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+
+import io.swagger.annotations.Api;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.tool.api.R;
+import org.springblade.etl.entity.EtlRainDataEntity;
+
+import org.springblade.etl.entity.EtlRsvrDataEntity;
+
+import org.springblade.etl.service.IEtlRainDataService;
+
+import org.springblade.modules.baseinfo.rtu.service.IRtuBaseInfoService;
+import org.springblade.modules.business.warning.service.IRtuWarningService;
+import org.springblade.surfacerain.SurfaceRainDataProcessor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.core.ValueOperations;
+import org.springframework.kafka.core.KafkaTemplate;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import ucar.nc2.NetcdfFile;
+import ucar.nc2.NetcdfFiles;
+
+import javax.annotation.Resource;
+
+import java.util.*;
+
+
+/***
+ * Date:2022/8/22
+ * Title:行政区划管理
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@RestController
+@RequestMapping("galaxy-test/etl/test")
+@AllArgsConstructor
+@Api(value = "业务字典", tags = "业务字典")
+@Slf4j
+public class EtlTestController extends BladeController {
+	private final IRtuBaseInfoService rtuBaseInfoService;
+	private final IEtlRainDataService etlRainDataService;
+
+	private final IRtuWarningService rtuWarningService;
+
+	@Resource
+	private RedisTemplate redisTemplate;
+	@Autowired
+	private KafkaTemplate<String, String> kafkaTemplate;
+
+	@Resource
+	private SurfaceRainDataProcessor surfDataProcessTask;
+
+
+	@GetMapping("/data/rain")
+	@ApiOperationSupport(order = 1)
+	public R<String> addRain(@RequestParam(name = "rtuCode") String rtuCode) {
+		try {
+			String filename = "D:\\tmp\\test\\Z_SURF_C_BABJ_20230517112343_P_CMPA_RT_BEHT_0P01_HOR-PRE-2023051711.GRB2";
+
+
+			//NetcdfFile netcdfFile = NetcdfFiles.open(filename, null);
+			NetcdfFile netcdfFile = NetcdfFiles.open(filename);
+			///	ImmutableList<Variable> variables = netcdfFile.getVariables();
+			//	surfDataProcessTask.submit(filename,Func.formatDateTime(new Date()));
+
+//			log.info("***************************");
+//			log.info("{}",	netcdfFile.getFileTypeId());
+//			log.info("***************************");
+//			log.info("{}",	netcdfFile.getTitle());
+//			log.info("***************************");
+//			log.info("{}",	netcdfFile.getDetailInfo());
+//			log.info("***************************");
+//			log.info("{}",netcdfFile.getLocation());
+//			log.info("***************************");
+			//	ImmutableDescriptor
+			//ImmutableList<Variable> variables = netcdfFile.getVariables();
+//			ImmutableList<Attribute> attributeIterator =	netcdfFile.getGlobalAttributes();
+//			for(Attribute a:attributeIterator){
+//				log.info("***************************");
+//				log.info("Attribute {},{},{}",a.getName(),a.getStringValue(),a.getDataType().toString());
+//			}
+
+			//	List<String> lons = new LinkedList<>();
+//			List<String> lats = new LinkedList<>();
+//			List<String> times = new LinkedList<>();
+//
+//			List<Map<String, String>> values = new LinkedList<>();
+//
+//			for (Variable v : variables) {
+//				log.info("***************************");
+//				log.info("{},{},{}", v.getFullName(), v.getDataType().toString(), v.getDimensionsString());
+//				log.info("***************************");
+//				if (v.getFullName().equals("lon")) {
+//					log.info("lon size {}", v.getSize());
+//					Array datas = v.read();
+//					Index index = datas.getIndex();
+//					int[] shapelist = v.getShape();
+//					for (int i = 0; i < shapelist[0]; i++) {
+//						float lonv = datas.getFloat(index.set(i));
+//						lons.add(Func.toStr(lonv));
+//					}
+//				}
+//				log.info("***************************");
+//				if (v.getFullName().equals("lat")) {
+//					log.info("lat size {}", v.getSize());
+//					Array datas = v.read();
+//					Index index = datas.getIndex();
+//					int[] shapelist = v.getShape();
+//					for (int i = 0; i < shapelist[0]; i++) {
+//						float latv = datas.getFloat(index.set(i));
+//						lats.add(Func.toStr(latv));
+//					}
+//				}
+//				log.info("***************************");
+//				if (v.getFullName().equals("time")) {
+//					log.info("time size {}", v.getSize());
+//					Array datas = v.read();
+//					Index index = datas.getIndex();
+//					int[] shapelist = v.getShape();
+//					for (int i = 0; i < shapelist[0]; i++) {
+//						double timev = datas.getDouble(index.set(i));
+//						times.add(Func.toStr(timev));
+//					}
+//				}
+//				log.info("***************************");
+//				if (v.getFullName().equals("reftime")) {
+//					log.info("reftime size {}", v.getSize());
+////					Array datas = v.read();
+////					Index index= datas.getIndex();
+////					int[] shapelist= v.getShape();
+////					for (int i = 0; i < shapelist[0]; i++) {
+////						double timev=	datas.getDouble(index.set(i));
+////						times.add(Func.toStr(timev));
+////					}
+//				}
+//
+//
+//				log.info("***************************");
+//				if (v.getFullName().equals("Total_precipitation_surface")) {
+//					log.info("surface size {}", v.getSize());
+//					Array datas = v.read();
+//					int[] shapelist = v.getShape();
+//					Index index = datas.getIndex();
+//					//按时间
+//					for (int i = 0; i < shapelist[0]; i++) {
+//						// 按维度
+//						for (int n = 0; n < shapelist[1]; n++) {
+//							// 按经度
+//							for (int k = 0; k < 100; k++) {
+//								// 按照对应索引获取数据并转换为string类型添加到数组中
+//								float dval = datas.getFloat(index.set(i, n, k));
+//								log.info("shape {} {} {}", i, n, k);
+//								log.info("time,lat,lon,value:    {},{},{}", lats.get(n), lons.get(k), dval);
+//							}
+//						}
+//					}
+//				}
+//
+//			}
+
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		return R.data("ok");
+	}
+
+	@GetMapping("/data/rain/1")
+	@ApiOperationSupport(order = 1)
+	public R<String> addRain1() {
+		EtlRainDataEntity etlRainDataEntity = new EtlRainDataEntity();
+		Calendar calendar = Calendar.getInstance();
+		//calendar.set(Calendar.HOUR_OF_DAY, 1);
+		calendar.set(Calendar.MINUTE, 0);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01710140");
+		etlRainDataEntity.setIntv(1.0);
+		etlRainDataEntity.setDrp(3.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+		return R.data("ok");
+	}
+
+	@GetMapping("/data/rain/2")
+	@ApiOperationSupport(order = 1)
+	public R<String> addRain2() {
+		EtlRainDataEntity etlRainDataEntity = new EtlRainDataEntity();
+		Calendar calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 2);
+		calendar.set(Calendar.MINUTE, 0);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01740030");
+		etlRainDataEntity.setIntv(1.0);
+		etlRainDataEntity.setDrp(3.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+		return R.data("ok");
+	}
+
+	@GetMapping("/data/rain/3")
+	@ApiOperationSupport(order = 1)
+	public R<String> addRain3() {
+		EtlRainDataEntity etlRainDataEntity = new EtlRainDataEntity();
+		Calendar calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 3);
+		calendar.set(Calendar.MINUTE, 0);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01740030");
+		etlRainDataEntity.setIntv(1.0);
+		etlRainDataEntity.setDrp(3.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+		return R.data("ok");
+	}
+
+	@GetMapping("/data/rain/4")
+	@ApiOperationSupport(order = 1)
+	public R<String> addRain4() {
+		EtlRainDataEntity etlRainDataEntity = new EtlRainDataEntity();
+		Calendar calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 4);
+		calendar.set(Calendar.MINUTE, 0);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+		return R.data("ok");
+	}
+
+	@GetMapping("/data/rain/5")
+	@ApiOperationSupport(order = 1)
+	public R<String> addRain5() {
+		EtlRainDataEntity etlRainDataEntity = new EtlRainDataEntity();
+		Calendar calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 5);
+		calendar.set(Calendar.MINUTE, 0);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(1.0);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+		return R.data("ok");
+	}
+
+	@GetMapping("/data/river/0")
+	@ApiOperationSupport(order = 1)
+	public R<String> addriver0() {
+		ValueOperations<String, String> ops = redisTemplate.opsForValue();
+		String key = "etl.river.40516502.up.5min";
+		JSONArray array = new JSONArray();
+		ops.set(key, array.toJSONString());
+		return R.data("ok");
+	}
+
+	@GetMapping("/data/river/1")
+	@ApiOperationSupport(order = 1)
+	public R<String> addriver1() {
+
+		EtlRsvrDataEntity etlRsvrDataEntity = new EtlRsvrDataEntity();
+
+		Calendar calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 9);
+		calendar.set(Calendar.MINUTE, 0);
+		calendar.set(Calendar.SECOND, 0);
+		etlRsvrDataEntity.setTm(calendar.getTime());
+
+		calendar.set(Calendar.HOUR_OF_DAY, 11);
+		calendar.set(Calendar.MINUTE, 0);
+		calendar.set(Calendar.SECOND, 0);
+		etlRsvrDataEntity.setFromDate(calendar.getTime());
+
+		etlRsvrDataEntity.setRtuCode("20911190");
+		etlRsvrDataEntity.setRz(0.05);
+
+
+		kafkaTemplate.send("topic-etl-rsvr-data", JSONObject.toJSONString(etlRsvrDataEntity));
+		return R.data("ok");
+	}
+
+	@GetMapping("/data/river/2")
+	@ApiOperationSupport(order = 1)
+	public R<String> addriver2() {
+		EtlRsvrDataEntity etlRsvrDataEntity = new EtlRsvrDataEntity();
+
+		Calendar calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 9);
+		calendar.set(Calendar.MINUTE, 10);
+		calendar.set(Calendar.SECOND, 0);
+		etlRsvrDataEntity.setTm(calendar.getTime());
+
+		calendar.set(Calendar.HOUR_OF_DAY, 12);
+		calendar.set(Calendar.MINUTE, 0);
+		calendar.set(Calendar.SECOND, 0);
+
+		etlRsvrDataEntity.setFromDate(calendar.getTime());
+
+		etlRsvrDataEntity.setRtuCode("01718530");
+		etlRsvrDataEntity.setRz(0.05);
+
+
+		kafkaTemplate.send("topic-etl-rsvr-data", JSONObject.toJSONString(etlRsvrDataEntity));
+		return R.data("ok");
+
+
+	}
+
+	@GetMapping("/data/river/3")
+	@ApiOperationSupport(order = 1)
+	public R<String> addriver3() {
+		EtlRsvrDataEntity etlRsvrDataEntity = new EtlRsvrDataEntity();
+
+		Calendar calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 12);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRsvrDataEntity.setTm(calendar.getTime());
+
+		calendar.set(Calendar.MINUTE, 27);
+
+		etlRsvrDataEntity.setFromDate(calendar.getTime());
+
+		etlRsvrDataEntity.setRtuCode("20911190");
+		etlRsvrDataEntity.setRz(0.05);
+
+
+		kafkaTemplate.send("topic-etl-rsvr-data", JSONObject.toJSONString(etlRsvrDataEntity));
+		return R.data("ok");
+
+
+	}
+
+	@GetMapping("/data/river/4")
+	@ApiOperationSupport(order = 1)
+	public R<String> addriver4() {
+		EtlRsvrDataEntity etlRsvrDataEntity = new EtlRsvrDataEntity();
+
+		Calendar calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 12);
+		calendar.set(Calendar.MINUTE, 20);
+		calendar.set(Calendar.SECOND, 0);
+		etlRsvrDataEntity.setTm(calendar.getTime());
+
+		calendar.set(Calendar.MINUTE, 35);
+
+		etlRsvrDataEntity.setFromDate(calendar.getTime());
+
+		etlRsvrDataEntity.setRtuCode("20911190");
+		etlRsvrDataEntity.setRz(0.05);
+
+
+		kafkaTemplate.send("topic-etl-rsvr-data", JSONObject.toJSONString(etlRsvrDataEntity));
+		return R.data("ok");
+
+
+	}
+
+	@GetMapping("/data/rain/hour/0")
+	@ApiOperationSupport(order = 1)
+	public R<String> addrainhour0() {
+		String key = "etl.rain.01751310.up.hour";
+
+		ValueOperations<String, String> ops = redisTemplate.opsForValue();
+
+		JSONArray array = new JSONArray();
+		ops.set(key, array.toJSONString());
+		return R.data("ok");
+	}
+
+	@GetMapping("/data/rain/hour")
+	@ApiOperationSupport(order = 1)
+	public R<String> addrainhour() {
+		EtlRainDataEntity etlRainDataEntity = new EtlRainDataEntity();
+		Calendar calendar = Calendar.getInstance();
+		calendar.set(Calendar.DAY_OF_MONTH, 9);
+		calendar.set(Calendar.HOUR_OF_DAY, 12);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.DAY_OF_MONTH, 9);
+		calendar.set(Calendar.HOUR_OF_DAY, 13);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.DAY_OF_MONTH, 9);
+		calendar.set(Calendar.HOUR_OF_DAY, 13);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+//		 etlRainDataEntity= new EtlRainDataEntity();
+//		 calendar=Calendar.getInstance();
+//		calendar.set(Calendar.DAY_OF_MONTH,9);
+//		calendar.set(Calendar.HOUR_OF_DAY,14);
+//		calendar.set(Calendar.MINUTE,15);
+//		calendar.set(Calendar.SECOND,0);
+//		etlRainDataEntity.setTm(calendar.getTime());
+//		calendar.set(Calendar.MINUTE,27);
+//		etlRainDataEntity.setFromDate(calendar.getTime());
+//		etlRainDataEntity.setRtuCode("01751310");
+//		etlRainDataEntity.setIntv(0.05);
+//		etlRainDataEntity.setDrp(1.0);
+//		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+//		 etlRainDataEntity= new EtlRainDataEntity();
+//		 calendar=Calendar.getInstance();
+//		calendar.set(Calendar.DAY_OF_MONTH,9);
+//		calendar.set(Calendar.HOUR_OF_DAY,15);
+//		calendar.set(Calendar.MINUTE,15);
+//		calendar.set(Calendar.SECOND,0);
+//		etlRainDataEntity.setTm(calendar.getTime());
+//		calendar.set(Calendar.MINUTE,27);
+//		etlRainDataEntity.setFromDate(calendar.getTime());
+//		etlRainDataEntity.setRtuCode("01751310");
+//		etlRainDataEntity.setIntv(0.05);
+//		etlRainDataEntity.setDrp(1.0);
+//		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+//		 etlRainDataEntity= new EtlRainDataEntity();
+//		 calendar=Calendar.getInstance();
+//		calendar.set(Calendar.DAY_OF_MONTH,9);
+//		calendar.set(Calendar.HOUR_OF_DAY,16);
+//		calendar.set(Calendar.MINUTE,15);
+//		calendar.set(Calendar.SECOND,0);
+//		etlRainDataEntity.setTm(calendar.getTime());
+//		calendar.set(Calendar.MINUTE,27);
+//		etlRainDataEntity.setFromDate(calendar.getTime());
+//		etlRainDataEntity.setRtuCode("01751310");
+//		etlRainDataEntity.setIntv(0.05);
+//		etlRainDataEntity.setDrp(1.0);
+//		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.DAY_OF_MONTH, 9);
+		calendar.set(Calendar.HOUR_OF_DAY, 17);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.DAY_OF_MONTH, 9);
+		calendar.set(Calendar.HOUR_OF_DAY, 18);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+//		 etlRainDataEntity= new EtlRainDataEntity();
+//		 calendar=Calendar.getInstance();
+//		calendar.set(Calendar.DAY_OF_MONTH,9);
+//		calendar.set(Calendar.HOUR_OF_DAY,19);
+//		calendar.set(Calendar.MINUTE,15);
+//		calendar.set(Calendar.SECOND,0);
+//		etlRainDataEntity.setTm(calendar.getTime());
+//		calendar.set(Calendar.MINUTE,27);
+//		etlRainDataEntity.setFromDate(calendar.getTime());
+//		etlRainDataEntity.setRtuCode("01751310");
+//		etlRainDataEntity.setIntv(0.05);
+//		etlRainDataEntity.setDrp(1.0);
+//		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+//		 etlRainDataEntity= new EtlRainDataEntity();
+//		 calendar=Calendar.getInstance();
+//		calendar.set(Calendar.DAY_OF_MONTH,9);
+//		calendar.set(Calendar.HOUR_OF_DAY,20);
+//		calendar.set(Calendar.MINUTE,15);
+//		calendar.set(Calendar.SECOND,0);
+//		etlRainDataEntity.setTm(calendar.getTime());
+//		calendar.set(Calendar.MINUTE,27);
+//		etlRainDataEntity.setFromDate(calendar.getTime());
+//		etlRainDataEntity.setRtuCode("01751310");
+//		etlRainDataEntity.setIntv(0.05);
+//		etlRainDataEntity.setDrp(1.0);
+//		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.DAY_OF_MONTH, 9);
+		calendar.set(Calendar.HOUR_OF_DAY, 21);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.DAY_OF_MONTH, 9);
+		calendar.set(Calendar.HOUR_OF_DAY, 22);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.DAY_OF_MONTH, 9);
+		calendar.set(Calendar.HOUR_OF_DAY, 23);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 0);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 1);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 2);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 3);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 4);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 5);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 6);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 7);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+//		etlRainDataEntity= new EtlRainDataEntity();
+//		calendar=Calendar.getInstance();
+//		calendar.set(Calendar.HOUR_OF_DAY,8);
+//		calendar.set(Calendar.MINUTE,15);
+//		calendar.set(Calendar.SECOND,0);
+//		etlRainDataEntity.setTm(calendar.getTime());
+//		calendar.set(Calendar.MINUTE,27);
+//		etlRainDataEntity.setFromDate(calendar.getTime());
+//		etlRainDataEntity.setRtuCode("01751310");
+//		etlRainDataEntity.setIntv(0.05);
+//		etlRainDataEntity.setDrp(1.0);
+//		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 9);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 10);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 11);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 12);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 13);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+//
+//		etlRainDataEntity= new EtlRainDataEntity();
+//		calendar=Calendar.getInstance();
+//		calendar.set(Calendar.HOUR_OF_DAY,14);
+//		calendar.set(Calendar.MINUTE,15);
+//		calendar.set(Calendar.SECOND,0);
+//		etlRainDataEntity.setTm(calendar.getTime());
+//		calendar.set(Calendar.MINUTE,27);
+//		etlRainDataEntity.setFromDate(calendar.getTime());
+//		etlRainDataEntity.setRtuCode("01751310");
+//		etlRainDataEntity.setIntv(0.05);
+//		etlRainDataEntity.setDrp(1.0);
+//		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 15);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 16);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+//
+//
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 17);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 18);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 19);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+
+		etlRainDataEntity = new EtlRainDataEntity();
+		calendar = Calendar.getInstance();
+		calendar.set(Calendar.HOUR_OF_DAY, 20);
+		calendar.set(Calendar.MINUTE, 15);
+		calendar.set(Calendar.SECOND, 0);
+		etlRainDataEntity.setTm(calendar.getTime());
+		calendar.set(Calendar.MINUTE, 27);
+		etlRainDataEntity.setFromDate(calendar.getTime());
+		etlRainDataEntity.setRtuCode("01751310");
+		etlRainDataEntity.setIntv(0.05);
+		etlRainDataEntity.setDrp(1.0);
+		kafkaTemplate.send("topic-etl-rain-data", JSONObject.toJSONString(etlRainDataEntity));
+
+		return R.data("ok");
+	}
+}

+ 50 - 47
src/main/java/org/springblade/modules/business/rtumanage/service/impl/RtuManageServiceImpl.java

@@ -37,56 +37,59 @@ import java.util.Date;
 @Slf4j
 @Service
 public class RtuManageServiceImpl extends BaseServiceImpl<RtuManageMapper, RtuStatusEntity> implements IRtuManageService {
-	@Resource
-	private RedisTemplate redisTemplate;
+    @Resource
+    private RedisTemplate redisTemplate;
 
-	@Override
-	public IPage<RtuStatusVO> selectPage(IPage<RtuStatusVO> page, RtuInfoDTO rtuInfoDTO) {
-		return page.setRecords(baseMapper.selectPage(page, rtuInfoDTO));
-	}
+    @Override
+    public IPage<RtuStatusVO> selectPage(IPage<RtuStatusVO> page, RtuInfoDTO rtuInfoDTO) {
+        return page.setRecords(baseMapper.selectPage(page, rtuInfoDTO));
+    }
 
-	@Override
-	public IPage<RtuStatusVO> selectWarnPage(IPage<RtuStatusVO> page, RtuInfoDTO rtuInfoDTO) {
-		return page.setRecords(baseMapper.selectWarnPage(page, rtuInfoDTO));
-	}
+    @Override
+    public IPage<RtuStatusVO> selectWarnPage(IPage<RtuStatusVO> page, RtuInfoDTO rtuInfoDTO) {
+        return page.setRecords(baseMapper.selectWarnPage(page, rtuInfoDTO));
+    }
 
-	@Override
-	public boolean updateLastTime(RtuStatusEntity rtuStatusEntity) {
-		LambdaQueryWrapper<RtuStatusEntity> querywrapper = Wrappers.<RtuStatusEntity>query().lambda();
-		querywrapper.eq(RtuStatusEntity::getIsDeleted, 0);
-		querywrapper.eq(RtuStatusEntity::getRtuCode, rtuStatusEntity.getRtuCode());
-		RtuStatusEntity entity = this.getOne(querywrapper);
-		if (null != entity) {
-			if (null != entity.getLastUpTime()) {
-				if (entity.getLastUpTime().before(rtuStatusEntity.getLastUpTime())) {
-					entity.setLastUpTime(rtuStatusEntity.getLastUpTime());
-				}
-			} else {
-				entity.setLastUpTime(rtuStatusEntity.getLastUpTime());
-			}
-			return this.updateById(entity);
-		} else {
-			rtuStatusEntity.setRunStatusId(EquipmentStatusEnum.STATUS_RUN.getCode());
-			return this.save(rtuStatusEntity);
-		}
-	}
+    @Override
+    public boolean updateLastTime(RtuStatusEntity rtuStatusEntity) {
+        if (Func.isNull(rtuStatusEntity.getLastUpTime())) {
+            return false;
+        }
+        LambdaQueryWrapper<RtuStatusEntity> querywrapper = Wrappers.<RtuStatusEntity>query().lambda();
+        querywrapper.eq(RtuStatusEntity::getIsDeleted, 0);
+        querywrapper.eq(RtuStatusEntity::getRtuCode, rtuStatusEntity.getRtuCode());
+        RtuStatusEntity entity = this.getOne(querywrapper);
+        if (!Func.isNull(entity)) {
+            if (!Func.isNull(entity.getLastUpTime())) {
+                if (entity.getLastUpTime().before(rtuStatusEntity.getLastUpTime())) {
+                    entity.setLastUpTime(rtuStatusEntity.getLastUpTime());
+                }
+            } else {
+                entity.setLastUpTime(rtuStatusEntity.getLastUpTime());
+            }
+            return this.updateById(entity);
+        } else {
+            rtuStatusEntity.setRunStatusId(EquipmentStatusEnum.STATUS_RUN.getCode());
+            return this.save(rtuStatusEntity);
+        }
+    }
 
-	@Override
-	public boolean updateRtuStatus(RtuStatusEntity rtuStatusEntity) {
-		LambdaQueryWrapper<RtuStatusEntity> querywrapper = Wrappers.<RtuStatusEntity>query().lambda();
-		querywrapper.eq(RtuStatusEntity::getIsDeleted, 0);
-		querywrapper.eq(RtuStatusEntity::getRtuCode, rtuStatusEntity.getRtuCode());
-		RtuStatusEntity entity = this.getOne(querywrapper);
-		if (entity != null) {
-			entity.setRunStatusId(rtuStatusEntity.getRunStatusId());
-			return this.updateById(entity);
-		} else {
-			return this.save(rtuStatusEntity);
-		}
-	}
+    @Override
+    public boolean updateRtuStatus(RtuStatusEntity rtuStatusEntity) {
+        LambdaQueryWrapper<RtuStatusEntity> querywrapper = Wrappers.<RtuStatusEntity>query().lambda();
+        querywrapper.eq(RtuStatusEntity::getIsDeleted, 0);
+        querywrapper.eq(RtuStatusEntity::getRtuCode, rtuStatusEntity.getRtuCode());
+        RtuStatusEntity entity = this.getOne(querywrapper);
+        if (entity != null) {
+            entity.setRunStatusId(rtuStatusEntity.getRunStatusId());
+            return this.updateById(entity);
+        } else {
+            return this.save(rtuStatusEntity);
+        }
+    }
 
-	@Override
-	public Long rtuUpDataCount(RtuStatusDTO rtuStatusDTO) {
-		return this.baseMapper.rtuUpDataCount(rtuStatusDTO);
-	}
+    @Override
+    public Long rtuUpDataCount(RtuStatusDTO rtuStatusDTO) {
+        return this.baseMapper.rtuUpDataCount(rtuStatusDTO);
+    }
 }

+ 82 - 0
src/main/java/org/springblade/modules/test/TestController.java

@@ -0,0 +1,82 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/9/12
+ */
+package org.springblade.modules.test;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.tool.api.R;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+
+/***
+ * Date:2023/9/12
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@RestController
+@Slf4j
+@RequestMapping("galaxy-test/test")
+@AllArgsConstructor
+@Api(value = "运维单位管理", tags = "运维单位管理")
+public class TestController extends BladeController {
+
+	@GetMapping("/map/json")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "获取配置项", notes = "获取配置项")
+	public R<List<JSONObject>> getMapJson() {
+		List<JSONObject> area = new ArrayList<>();
+
+		JSONObject jsonObject = null;
+		try {
+			jsonObject = JSONObject.parseObject(new FileInputStream("D:\\tmp\\sh.json"), JSONObject.class);
+			log.info(jsonObject.toJSONString());
+			JSONArray features = jsonObject.getJSONArray("features");
+			for (int j = 0; j < features.size(); j++) {
+				JSONObject d = new JSONObject();
+				List<JSONObject> datas = new ArrayList<>();
+				JSONObject d1 = features.getJSONObject(j);
+				JSONObject geometry = d1.getJSONObject("geometry");
+				JSONObject pp = d1.getJSONObject("properties");
+				JSONArray center = pp.getJSONArray("center");
+				JSONArray coordinates = geometry.getJSONArray("coordinates");
+				JSONArray locations = coordinates.getJSONArray(0).getJSONArray(0);
+				for (int i = 0; i < locations.size(); i++) {
+					JSONArray l = locations.getJSONArray(i);
+					JSONObject p = new JSONObject();
+					p.put("longitude", l.getDoubleValue(0));
+					p.put("latitude", l.getDoubleValue(1));
+					datas.add(p);
+				}
+				log.info(coordinates.toJSONString());
+				d.put("data", datas);
+				d.put("center", center);
+				d.put("name", pp.getString("name"));
+				d.put("id",j);
+				area.add(d);
+			}
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		return R.data(area);
+	}
+}

+ 156 - 0
src/main/java/org/springblade/modules/yjxt/base/servicePerson/controller/YjxtServicePersonController.java

@@ -0,0 +1,156 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/11/9
+ */
+package org.springblade.modules.yjxt.base.servicePerson.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.*;
+import lombok.AllArgsConstructor;
+import org.springblade.constant.BusinessConstant;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.system.entity.User;
+import org.springblade.modules.system.service.IDeptService;
+import org.springblade.modules.system.service.IUserService;
+import org.springblade.modules.yjxt.base.servicePerson.dto.YjxtServicePersonDTO;
+import org.springblade.modules.yjxt.base.servicePerson.entity.YjxtServicePersonEntity;
+import org.springblade.modules.yjxt.base.servicePerson.service.IYjxtServicePersonServcie;
+import org.springblade.modules.yjxt.base.servicePerson.vo.YjxtServicePersonVO;
+import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
+
+
+import java.util.List;
+import java.util.Objects;
+
+/***
+ * Date:2023/11/9
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@RestController
+@RequestMapping("galaxy-business/yj/base/serviceperson")
+@AllArgsConstructor
+@Api(value = "应急系统工作人员管理接口", tags = "增、删、改、查")
+public class YjxtServicePersonController extends BladeController {
+
+    private final IYjxtServicePersonServcie yjxtServicePersonServcie;
+    private final IUserService userService;
+    private final IDeptService deptService;
+
+
+    @GetMapping("/page")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "userName", value = "名称", paramType = "query", dataType = "string"),
+    })
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "分页")
+    public R<IPage<YjxtServicePersonVO>> page(@ApiIgnore YjxtServicePersonDTO dto, Query query) {
+        BladeUser user = AuthUtil.getUser();
+        IPage<YjxtServicePersonVO> pages = yjxtServicePersonServcie.selectPage(Condition.getPage(query), dto);
+        return R.data(pages);
+    }
+
+    /**
+     * 详情
+     */
+    @GetMapping("/detail")
+    @ApiOperationSupport(order = 3)
+    @ApiOperation(value = "详情", notes = "传入 User")
+    public R<YjxtServicePersonEntity> detail(YjxtServicePersonEntity user) {
+        YjxtServicePersonEntity detail = yjxtServicePersonServcie.getById(user.getId());
+        return R.data(detail);
+    }
+
+    /**
+     * 新增
+     */
+    @PostMapping("/save")
+    @ApiOperationSupport(order = 4)
+    @ApiOperation(value = "新增", notes = "传入 User")
+    public R save(@RequestBody YjxtServicePersonDTO dto) {
+//        LambdaQueryWrapper<User> wrapper = Wrappers.<User>query().lambda();
+//        wrapper.eq(User::getAccount, userEntity.getAccount());
+//        wrapper.eq(User::getIsDeleted, 0);
+//        List<User> list = userService.list(wrapper);
+//        if (null != list && list.size() > 0) {
+//            return R.fail("帐号已经存在");
+//        }
+//        userEntity.setName(userEntity.getRealName());
+//        userEntity.setPassword(DigestUtil.encrypt(userEntity.getAccount() + BusinessConstant.ACCOUNT_PW_SUFFIX));
+//        BladeUser user = AuthUtil.getUser();
+//        if (BusinessConstant.ROLE_SYS_ADMIN.equals(user.getRoleName())) {
+//            userEntity.setRoleId(BusinessConstant.ROLE_ORG_ADMIN_ID);
+//            userEntity.setPostId(BusinessConstant.POST_ADMIN_ID);
+//        } else if (BusinessConstant.ROLE_ORG_ADMIN.equals(user.getRoleName())) {
+//            userEntity.setRoleId(BusinessConstant.ROLE_COMPANY_ADMIN_ID);
+//            userEntity.setPostId(BusinessConstant.POST_ADMIN_ID);
+//        } else if (BusinessConstant.ROLE_COMPANY_ADMIN.equals(user.getRoleName())) {
+//            userEntity.setRoleId(BusinessConstant.ROLE_COMPANY_SERVICE_PERSON_ID);
+//            userEntity.setPostId(BusinessConstant.POST_SERVICE_PERSON_ID);
+//            userEntity.setDeptId(user.getDeptId());
+//        } else {
+//            return R.fail("用户创建错误!");
+//        }
+//        userEntity.setUserType(1);
+        User userEntity = new User();
+        userEntity.setAccount(dto.getUserAccount());
+        userEntity.setName(dto.getUserName());
+        if (userService.save(userEntity)) {
+            dto.setUserId(userEntity.getId());
+            yjxtServicePersonServcie.save(dto);
+        }
+        return R.status(true);
+    }
+
+    /**
+     * 修改
+     */
+    @PostMapping("/update")
+    @ApiOperationSupport(order = 5)
+    @ApiOperation(value = "修改", notes = "传入 User")
+    public R update(@RequestBody YjxtServicePersonDTO dto) {
+        if (Objects.isNull(dto.getId())) {
+            return R.fail("用户ID不能为空!");
+        }
+        YjxtServicePersonEntity entity = yjxtServicePersonServcie.getById(dto.getId());
+        User user = new User();
+        user.setId(entity.getUserId());
+        user.setName(dto.getUserName());
+        return R.status(userService.updateById(user));
+    }
+
+    /**
+     * 删除
+     */
+    @PostMapping("/remove")
+    @ApiOperationSupport(order = 7)
+    @ApiOperation(value = "逻辑删除", notes = "传入 ids")
+    public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
+        List<Long> list = Func.toLongList(ids);
+        if (list.size() > 0) {
+            for (Long id : list) {
+                YjxtServicePersonEntity entity = yjxtServicePersonServcie.getById(id);
+                if (userService.removeById(entity.getUserId())) {
+                    yjxtServicePersonServcie.removeById(id);
+                }
+            }
+        }
+        return R.status(true);
+    }
+
+}

+ 36 - 0
src/main/java/org/springblade/modules/yjxt/base/servicePerson/dto/YjxtServicePersonDTO.java

@@ -0,0 +1,36 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/11/9
+ */
+package org.springblade.modules.yjxt.base.servicePerson.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.yjxt.base.servicePerson.entity.YjxtServicePersonEntity;
+
+/***
+ * Date:2023/11/9
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class YjxtServicePersonDTO extends YjxtServicePersonEntity {
+    /**
+     * 帐号
+     */
+    @ApiModelProperty(value = "帐号")
+    private String userAccount;
+
+    /**
+     * 用户名称
+     */
+    @ApiModelProperty(value = "用户名称")
+    private String userName;
+}

+ 46 - 0
src/main/java/org/springblade/modules/yjxt/base/servicePerson/entity/YjxtServicePersonEntity.java

@@ -0,0 +1,46 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/11/9
+ */
+package org.springblade.modules.yjxt.base.servicePerson.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+/***
+ * Date:2023/11/9
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("yjxt_base_service_person")
+public class YjxtServicePersonEntity extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 租户ID
+     */
+    @ApiModelProperty("租户ID")
+    private String tenantId;
+
+    /**
+     * 系统用户ID
+     */
+    @ApiModelProperty(value = "系统用户ID")
+    private Long userId;
+
+    /**
+     * 行政区编码
+     */
+    @ApiModelProperty("行政区编码")
+    private String adCode;
+}

+ 29 - 0
src/main/java/org/springblade/modules/yjxt/base/servicePerson/mapper/YjxtServicePersonMapper.java

@@ -0,0 +1,29 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 运维系统
+ * 创建日期:2022/8/22
+ */
+package org.springblade.modules.yjxt.base.servicePerson.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.modules.yjxt.base.servicePerson.dto.YjxtServicePersonDTO;
+import org.springblade.modules.yjxt.base.servicePerson.entity.YjxtServicePersonEntity;
+import org.springblade.modules.yjxt.base.servicePerson.vo.YjxtServicePersonVO;
+
+import java.util.List;
+
+/***
+ * Date:2022/8/22
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface YjxtServicePersonMapper extends BaseMapper<YjxtServicePersonEntity> {
+	List<YjxtServicePersonVO> selectPage(IPage page, @Param("dto") YjxtServicePersonDTO dto);
+}

+ 39 - 0
src/main/java/org/springblade/modules/yjxt/base/servicePerson/mapper/YjxtServicePersonMapper.xml

@@ -0,0 +1,39 @@
+<?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="org.springblade.modules.yjxt.base.servicePerson.mapper.YjxtServicePersonMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="servicePersonResultMap" type="org.springblade.modules.yjxt.base.servicePerson.entity.YjxtServicePersonEntity">
+
+        <result column="user_id" property="userId"/>
+        <result column="ad_code" property="adCode"/>
+
+    </resultMap>
+
+    <resultMap id="servicePersonVOResultMap" type="org.springblade.modules.yjxt.base.servicePerson.vo.YjxtServicePersonVO">
+
+        <result column="user_id" property="userId"/>
+        <result column="ad_code" property="adCode"/>
+        <result column="real_name" property="userName"/>
+        <result column="account" property="userAccount"/>
+
+    </resultMap>
+
+    <select id="selectPage" resultMap="servicePersonVOResultMap">
+
+        SELECT
+        p.*,
+        u.real_name,u.account
+        FROM
+        yjxt_base_service_person p
+        LEFT JOIN blade_user u ON u.id = p.user_id and u.is_deleted = 0
+        WHERE
+        p.is_deleted = 0
+        <if test="dto.userName!=null">
+            and u.real_name like concat(concat('%', #{dto.userName}), '%')
+        </if>
+        ORDER BY
+        u.real_name
+    </select>
+
+</mapper>

+ 26 - 0
src/main/java/org/springblade/modules/yjxt/base/servicePerson/service/IYjxtServicePersonServcie.java

@@ -0,0 +1,26 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/11/9
+ */
+package org.springblade.modules.yjxt.base.servicePerson.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.core.mp.base.BaseService;
+import org.springblade.modules.yjxt.base.servicePerson.dto.YjxtServicePersonDTO;
+import org.springblade.modules.yjxt.base.servicePerson.entity.YjxtServicePersonEntity;
+import org.springblade.modules.yjxt.base.servicePerson.vo.YjxtServicePersonVO;
+
+/***
+ * Date:2023/11/9
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface IYjxtServicePersonServcie extends BaseService<YjxtServicePersonEntity> {
+    IPage<YjxtServicePersonVO> selectPage(IPage page, YjxtServicePersonDTO dto);
+}

+ 32 - 0
src/main/java/org/springblade/modules/yjxt/base/servicePerson/service/impl/YjxtServicePersonServcieImpl.java

@@ -0,0 +1,32 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/11/9
+ */
+package org.springblade.modules.yjxt.base.servicePerson.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.yjxt.base.servicePerson.dto.YjxtServicePersonDTO;
+import org.springblade.modules.yjxt.base.servicePerson.entity.YjxtServicePersonEntity;
+import org.springblade.modules.yjxt.base.servicePerson.mapper.YjxtServicePersonMapper;
+import org.springblade.modules.yjxt.base.servicePerson.service.IYjxtServicePersonServcie;
+import org.springblade.modules.yjxt.base.servicePerson.vo.YjxtServicePersonVO;
+import org.springframework.stereotype.Service;
+
+/***
+ * Date:2023/11/9
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Service
+public class YjxtServicePersonServcieImpl extends BaseServiceImpl<YjxtServicePersonMapper, YjxtServicePersonEntity> implements IYjxtServicePersonServcie {
+    @Override
+    public IPage<YjxtServicePersonVO> selectPage(IPage page, YjxtServicePersonDTO dto) {
+        return page.setRecords(baseMapper.selectPage(page,dto));
+    }
+}

+ 37 - 0
src/main/java/org/springblade/modules/yjxt/base/servicePerson/vo/YjxtServicePersonVO.java

@@ -0,0 +1,37 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/11/9
+ */
+package org.springblade.modules.yjxt.base.servicePerson.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.yjxt.base.servicePerson.entity.YjxtServicePersonEntity;
+
+/***
+ * Date:2023/11/9
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class YjxtServicePersonVO extends YjxtServicePersonEntity {
+    /**
+     * 帐号
+     */
+    @ApiModelProperty(value = "帐号")
+    private String userAccount;
+
+    /**
+     * 用户名称
+     */
+    @ApiModelProperty(value = "用户名称")
+    private String userName;
+
+}

+ 47 - 0
src/main/java/org/springblade/modules/yjxt/base/servicePerson/wrapper/YjxtServicePersonWrapper.java

@@ -0,0 +1,47 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 运维系统
+ * 创建日期:2022/8/22
+ */
+package org.springblade.modules.yjxt.base.servicePerson.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.yjxt.base.servicePerson.entity.YjxtServicePersonEntity;
+import org.springblade.modules.yjxt.base.servicePerson.vo.YjxtServicePersonVO;
+
+import java.util.Objects;
+
+/***
+ * Date:2022/8/22
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public class YjxtServicePersonWrapper extends BaseEntityWrapper<YjxtServicePersonEntity, YjxtServicePersonVO> {
+	public static YjxtServicePersonWrapper build() {
+		return new YjxtServicePersonWrapper();
+	}
+//
+//	private static IDeptService deptService;
+//
+//	private static IDeptService getDeptService() {
+//		if (deptService == null) {
+//			deptService = SpringUtil.getBean(IDeptService.class);
+//		}
+//		return deptService;
+//	}
+
+	@Override
+	public YjxtServicePersonVO entityVO(YjxtServicePersonEntity entity) {
+		YjxtServicePersonVO servicePersonVO = Objects.requireNonNull(BeanUtil.copy(entity, YjxtServicePersonVO.class));
+//		Dept dept = getDeptService().getById(Func.toLong(entity.getDeptId()));
+//		if (null != dept) {
+//			servicePersonVO.setDeptName(dept.getDeptName());
+//		}
+		return servicePersonVO;
+	}
+}

+ 60 - 0
src/main/java/org/springblade/modules/yjxt/business/check/controller/DanagerAreaCheckController.java

@@ -0,0 +1,60 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/11/9
+ */
+package org.springblade.modules.yjxt.business.check.controller;
+
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+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.springblade.core.tool.utils.Func;
+import org.springblade.enums.DanagerAreaCehckTypeEnum;
+import org.springblade.modules.system.entity.User;
+import org.springblade.modules.yjxt.business.check.dto.DanagerAreaCheckInfoDTO;
+import org.springblade.modules.yjxt.business.check.entity.DanagerAreaCheckInfoEntity;
+import org.springblade.modules.yjxt.business.check.service.IDanagerAreaCheckService;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/***
+ * Date:2023/11/9
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@RestController
+@RequestMapping("galaxy-business/yj/check")
+@AllArgsConstructor
+@Api(value = "应急系统巡查巡检管理接口", tags = "增、删、改、查")
+public class DanagerAreaCheckController extends BladeController {
+
+    private final IDanagerAreaCheckService danagerAreaCheckService;
+
+    /**
+     * 上报
+     */
+    @PostMapping("/report")
+    @ApiOperationSupport(order = 4)
+    @ApiOperation(value = "新增", notes = "传入 User")
+    public R report(@RequestBody DanagerAreaCheckInfoEntity entity) {
+        if (Func.isNull(entity.getCheckType())) {
+            return R.fail("参数错误");
+        }
+        if (DanagerAreaCehckTypeEnum.CHECK_2.getCode().intValue() == entity.getCheckType().intValue()) {
+            if (Func.isNull(entity.getWarnId())) {
+                return R.fail("参数错误");
+            }
+        }
+        danagerAreaCheckService.save(entity);
+        return R.status(true);
+    }
+}

+ 25 - 0
src/main/java/org/springblade/modules/yjxt/business/check/dto/DanagerAreaCheckInfoDTO.java

@@ -0,0 +1,25 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/11/9
+ */
+package org.springblade.modules.yjxt.business.check.dto;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.yjxt.business.check.entity.DanagerAreaCheckInfoEntity;
+
+/***
+ * Date:2023/11/9
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class DanagerAreaCheckInfoDTO extends DanagerAreaCheckInfoEntity {
+
+}

+ 88 - 0
src/main/java/org/springblade/modules/yjxt/business/check/entity/DanagerAreaCheckInfoEntity.java

@@ -0,0 +1,88 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/11/9
+ */
+package org.springblade.modules.yjxt.business.check.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+/***
+ * Date:2023/11/9
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("yjxt_danager_area_check_info")
+public class DanagerAreaCheckInfoEntity extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 租户ID
+     */
+    @ApiModelProperty("租户ID")
+    private String tenantId;
+
+    /**
+     * 巡查类型 1 独立巡查 2 应急发起巡查
+     */
+    @ApiModelProperty("巡查类型")
+    private Integer checkType;
+
+    /**
+     * 巡查类型为1时,此值为空
+     */
+    @ApiModelProperty("预警ID")
+    private String warnId;
+
+    /**
+     * 纬度
+     */
+    @ApiModelProperty("纬度")
+    private String latitude;
+
+    /**
+     * 经度
+     */
+    @ApiModelProperty("经度")
+    private String longitude;
+
+    /**
+     * 定位地址
+     */
+    @ApiModelProperty("定位地址")
+    private String address;
+
+    /**
+     * 是否有山洪 0 否 1 是
+     */
+    @ApiModelProperty("是否有山洪")
+    private Integer isFlood;
+
+    /**
+     * 是否成灾 0 否 1 是
+     */
+    @ApiModelProperty("是否成灾")
+    private Integer isDamage;
+
+    /**
+     * 巡查说明
+     */
+    @ApiModelProperty("巡查说明")
+    private String remark;
+
+    /**
+     * 巡查图片
+     */
+    @ApiModelProperty("巡查图片")
+    private String checkPhotos;
+}

+ 24 - 0
src/main/java/org/springblade/modules/yjxt/business/check/mapper/DanagerAreaCheckInfoMapper.java

@@ -0,0 +1,24 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 运维系统
+ * 创建日期:2022/8/22
+ */
+package org.springblade.modules.yjxt.business.check.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springblade.modules.yjxt.business.check.entity.DanagerAreaCheckInfoEntity;
+
+
+/***
+ * Date:2022/8/22
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface DanagerAreaCheckInfoMapper extends BaseMapper<DanagerAreaCheckInfoEntity> {
+
+}

+ 20 - 0
src/main/java/org/springblade/modules/yjxt/business/check/mapper/DanagerAreaCheckInfoMapper.xml

@@ -0,0 +1,20 @@
+<?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="org.springblade.modules.yjxt.business.check.mapper.DanagerAreaCheckInfoMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="servicePersonResultMap" type="org.springblade.modules.yjxt.business.check.entity.DanagerAreaCheckInfoEntity">
+
+        <result column="check_type" property="checkType"/>
+        <result column="warn_id" property="warnId"/>
+        <result column="latitude" property="latitude"/>
+        <result column="longitude" property="longitude"/>
+        <result column="address" property="address"/>
+        <result column="is_flood" property="isFlood"/>
+        <result column="is_damage" property="isDamage"/>
+        <result column="remark" property="remark"/>
+        <result column="check_photos" property="checkPhotos"/>
+
+    </resultMap>
+
+</mapper>

+ 21 - 0
src/main/java/org/springblade/modules/yjxt/business/check/service/IDanagerAreaCheckService.java

@@ -0,0 +1,21 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/11/9
+ */
+package org.springblade.modules.yjxt.business.check.service;
+
+import org.springblade.core.mp.base.BaseService;
+import org.springblade.modules.yjxt.business.check.entity.DanagerAreaCheckInfoEntity;
+
+/***
+ * Date:2023/11/9
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface IDanagerAreaCheckService extends BaseService<DanagerAreaCheckInfoEntity> {
+}

+ 26 - 0
src/main/java/org/springblade/modules/yjxt/business/check/service/impl/DanagerAreaCheckServiceImpl.java

@@ -0,0 +1,26 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/11/9
+ */
+package org.springblade.modules.yjxt.business.check.service.impl;
+
+import org.springblade.core.mp.base.BaseServiceImpl;
+
+import org.springblade.modules.yjxt.business.check.entity.DanagerAreaCheckInfoEntity;
+import org.springblade.modules.yjxt.business.check.mapper.DanagerAreaCheckInfoMapper;
+import org.springblade.modules.yjxt.business.check.service.IDanagerAreaCheckService;
+import org.springframework.stereotype.Service;
+
+/***
+ * Date:2023/11/9
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Service
+public class DanagerAreaCheckServiceImpl extends BaseServiceImpl<DanagerAreaCheckInfoMapper, DanagerAreaCheckInfoEntity> implements IDanagerAreaCheckService {
+}

+ 24 - 0
src/main/java/org/springblade/modules/yjxt/business/check/vo/DanagerAreaCheckInfoVO.java

@@ -0,0 +1,24 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/11/9
+ */
+package org.springblade.modules.yjxt.business.check.vo;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.yjxt.business.check.entity.DanagerAreaCheckInfoEntity;
+
+/***
+ * Date:2023/11/9
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class DanagerAreaCheckInfoVO extends DanagerAreaCheckInfoEntity {
+}

+ 34 - 0
src/main/java/org/springblade/modules/yjxt/business/check/wrapper/DanagerAreaCheckWrapper.java

@@ -0,0 +1,34 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 运维系统
+ * 创建日期:2022/8/22
+ */
+package org.springblade.modules.yjxt.business.check.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.yjxt.business.check.entity.DanagerAreaCheckInfoEntity;
+import org.springblade.modules.yjxt.business.check.vo.DanagerAreaCheckInfoVO;
+
+import java.util.Objects;
+
+/***
+ * Date:2022/8/22
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public class DanagerAreaCheckWrapper extends BaseEntityWrapper<DanagerAreaCheckInfoEntity, DanagerAreaCheckInfoVO> {
+    public static DanagerAreaCheckWrapper build() {
+        return new DanagerAreaCheckWrapper();
+    }
+
+    @Override
+    public DanagerAreaCheckInfoVO entityVO(DanagerAreaCheckInfoEntity entity) {
+        DanagerAreaCheckInfoVO vo = Objects.requireNonNull(BeanUtil.copy(entity, DanagerAreaCheckInfoVO.class));
+        return vo;
+    }
+}

+ 65 - 0
src/main/java/org/springblade/modules/yjxt/business/transfer/controller/DamageTransferController.java

@@ -0,0 +1,65 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/11/10
+ */
+package org.springblade.modules.yjxt.business.transfer.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+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.springblade.core.tool.utils.Func;
+import org.springblade.enums.DanagerAreaCehckTypeEnum;
+import org.springblade.modules.yjxt.business.check.entity.DanagerAreaCheckInfoEntity;
+import org.springblade.modules.yjxt.business.transfer.entity.DamageTransferPersonInfoEntity;
+import org.springblade.modules.yjxt.business.transfer.service.IDamageTransferPersonService;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/***
+ * Date:2023/11/10
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@RestController
+@RequestMapping("galaxy-business/yj/transfer")
+@AllArgsConstructor
+@Api(value = "应急系统灾害转移管理接口", tags = "增、删、改、查")
+public class DamageTransferController extends BladeController {
+
+    private final IDamageTransferPersonService damageTransferPersonService;
+
+    /**
+     * 转移人员记录
+     */
+    @PostMapping("/person/record")
+    @ApiOperationSupport(order = 4)
+    @ApiOperation(value = "新增", notes = "")
+    public R record(@RequestBody DamageTransferPersonInfoEntity entity) {
+        if (Func.isNull(entity.getWarnId()) || Func.isNull(entity.getPersonId()) || Func.isNull(entity.getPersonName())) {
+            return R.fail("参数错误");
+        }
+        LambdaQueryWrapper<DamageTransferPersonInfoEntity> wrapper = Wrappers.<DamageTransferPersonInfoEntity>query().lambda();
+        wrapper.eq(DamageTransferPersonInfoEntity::getIsDeleted, 0);
+        wrapper.eq(DamageTransferPersonInfoEntity::getWarnId, entity.getWarnId());
+        wrapper.eq(DamageTransferPersonInfoEntity::getPersonId, entity.getPersonId());
+        long count = damageTransferPersonService.count(wrapper);
+        if (0 == count) {
+            damageTransferPersonService.save(entity);
+            return R.status(true);
+        } else {
+            return R.fail("该人员已经登记");
+        }
+    }
+}

+ 24 - 0
src/main/java/org/springblade/modules/yjxt/business/transfer/dto/DamageTransferPersonInfoDTO.java

@@ -0,0 +1,24 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/11/10
+ */
+package org.springblade.modules.yjxt.business.transfer.dto;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.yjxt.business.transfer.entity.DamageTransferPersonInfoEntity;
+
+/***
+ * Date:2023/11/10
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class DamageTransferPersonInfoDTO extends DamageTransferPersonInfoEntity {
+}

+ 53 - 0
src/main/java/org/springblade/modules/yjxt/business/transfer/entity/DamageTransferPersonInfoEntity.java

@@ -0,0 +1,53 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/11/10
+ */
+package org.springblade.modules.yjxt.business.transfer.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+/***
+ * Date:2023/11/10
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("yjxt_damage_transfer_person_info")
+public class DamageTransferPersonInfoEntity extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 租户ID
+     */
+    @ApiModelProperty("租户ID")
+    private String tenantId;
+
+    /**
+     * 预警ID
+     */
+    @ApiModelProperty("预警ID")
+    private String warnId;
+
+
+    /**
+     * 转移人员名称
+     */
+    @ApiModelProperty("转移人员名称")
+    private String personName;
+
+    /**
+     * 转移人员身份证号
+     */
+    @ApiModelProperty("转移人员身份证号")
+    private String personId;
+}

+ 24 - 0
src/main/java/org/springblade/modules/yjxt/business/transfer/mapper/DamageTransferPersonInfoMapper.java

@@ -0,0 +1,24 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 运维系统
+ * 创建日期:2022/8/22
+ */
+package org.springblade.modules.yjxt.business.transfer.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springblade.modules.yjxt.business.transfer.entity.DamageTransferPersonInfoEntity;
+
+
+/***
+ * Date:2022/8/22
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface DamageTransferPersonInfoMapper extends BaseMapper<DamageTransferPersonInfoEntity> {
+
+}

+ 15 - 0
src/main/java/org/springblade/modules/yjxt/business/transfer/mapper/DamageTransferPersonInfoMapper.xml

@@ -0,0 +1,15 @@
+<?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="org.springblade.modules.yjxt.business.transfer.mapper.DamageTransferPersonInfoMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="servicePersonResultMap"
+               type="org.springblade.modules.yjxt.business.transfer.entity.DamageTransferPersonInfoEntity">
+
+        <result column="warn_id" property="warnId"/>
+        <result column="person_name" property="personName"/>
+        <result column="person_id" property="personId"/>
+
+    </resultMap>
+
+</mapper>

+ 21 - 0
src/main/java/org/springblade/modules/yjxt/business/transfer/service/IDamageTransferPersonService.java

@@ -0,0 +1,21 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/11/10
+ */
+package org.springblade.modules.yjxt.business.transfer.service;
+
+import org.springblade.core.mp.base.BaseService;
+import org.springblade.modules.yjxt.business.transfer.entity.DamageTransferPersonInfoEntity;
+
+/***
+ * Date:2023/11/10
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface IDamageTransferPersonService extends BaseService<DamageTransferPersonInfoEntity> {
+}

+ 25 - 0
src/main/java/org/springblade/modules/yjxt/business/transfer/service/impl/DamageTransferPersonServiceImpl.java

@@ -0,0 +1,25 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/11/10
+ */
+package org.springblade.modules.yjxt.business.transfer.service.impl;
+
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.yjxt.business.transfer.entity.DamageTransferPersonInfoEntity;
+import org.springblade.modules.yjxt.business.transfer.mapper.DamageTransferPersonInfoMapper;
+import org.springblade.modules.yjxt.business.transfer.service.IDamageTransferPersonService;
+import org.springframework.stereotype.Service;
+
+/***
+ * Date:2023/11/10
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Service
+public class DamageTransferPersonServiceImpl extends BaseServiceImpl<DamageTransferPersonInfoMapper, DamageTransferPersonInfoEntity> implements IDamageTransferPersonService {
+}

+ 24 - 0
src/main/java/org/springblade/modules/yjxt/business/transfer/vo/DamageTransferPersonInfoVO.java

@@ -0,0 +1,24 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/11/10
+ */
+package org.springblade.modules.yjxt.business.transfer.vo;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.yjxt.business.transfer.entity.DamageTransferPersonInfoEntity;
+
+/***
+ * Date:2023/11/10
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class DamageTransferPersonInfoVO extends DamageTransferPersonInfoEntity {
+}

+ 34 - 0
src/main/java/org/springblade/modules/yjxt/business/transfer/wrapper/DamageTransferPersonInfoWrapper.java

@@ -0,0 +1,34 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 运维系统
+ * 创建日期:2022/8/22
+ */
+package org.springblade.modules.yjxt.business.transfer.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.yjxt.business.transfer.entity.DamageTransferPersonInfoEntity;
+import org.springblade.modules.yjxt.business.transfer.vo.DamageTransferPersonInfoVO;
+
+import java.util.Objects;
+
+/***
+ * Date:2022/8/22
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public class DamageTransferPersonInfoWrapper extends BaseEntityWrapper<DamageTransferPersonInfoEntity, DamageTransferPersonInfoVO> {
+    public static DamageTransferPersonInfoWrapper build() {
+        return new DamageTransferPersonInfoWrapper();
+    }
+
+    @Override
+    public DamageTransferPersonInfoVO entityVO(DamageTransferPersonInfoEntity entity) {
+        DamageTransferPersonInfoVO vo = Objects.requireNonNull(BeanUtil.copy(entity, DamageTransferPersonInfoVO.class));
+        return vo;
+    }
+}

+ 1 - 0
src/main/java/org/springblade/mq/kafka/handler/MessageHandler.java

@@ -557,6 +557,7 @@ public class MessageHandler {
 	public void ywxtRtuStatus(ConsumerRecord record, Acknowledgment acknowledgment) {
 		try {
 			String message = (String) record.value();
+			log.info(message);
 			RtuStatusDTO dto = JsonUtil.parse(message, RtuStatusDTO.class);
 			//更新测站最新上报时间状态
 			RtuStatusEntity statusEntity = new RtuStatusEntity();

+ 174 - 0
src/main/java/org/springblade/share/DataShareController.java

@@ -0,0 +1,174 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2023/11/10
+ */
+package org.springblade.share;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springblade.constant.BusinessConstant;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.business.check.order.dto.CheckOrderInfoDTO;
+import org.springblade.modules.business.check.process.vo.OrderProcessInfoVO;
+import org.springblade.modules.business.check.process.wrapper.RtuOrderProcessWrapper;
+import org.springblade.modules.system.entity.User;
+import org.springblade.modules.system.service.IUserService;
+import org.springblade.modules.yjxt.business.check.dto.DanagerAreaCheckInfoDTO;
+import org.springblade.modules.yjxt.business.check.entity.DanagerAreaCheckInfoEntity;
+import org.springblade.modules.yjxt.business.check.service.IDanagerAreaCheckService;
+import org.springblade.modules.yjxt.business.transfer.dto.DamageTransferPersonInfoDTO;
+import org.springblade.modules.yjxt.business.transfer.service.IDamageTransferPersonService;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.*;
+
+/***
+ * Date:2023/11/10
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@RestController
+@RequestMapping("ywxt-business/third/data/share")
+@AllArgsConstructor
+@Api(value = "共享管理接口", tags = "提供第三方查询接口")
+public class DataShareController extends BladeController {
+
+    private final IUserService userService;
+    private final IDanagerAreaCheckService danagerAreaCheckService;
+    private final IDamageTransferPersonService damageTransferPersonService;
+
+    /**
+     * 巡查巡检列表查询,不分页
+     */
+    @GetMapping("/yj/check/list")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "warnId", value = "预警ID", paramType = "query", dataType = "string")
+    })
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "不分页", notes = "")
+    public R<List<JSONObject>> yjCheckList(DanagerAreaCheckInfoDTO dto) {
+        if (Func.isNull(dto.getWarnId())) {
+            return R.fail("参数错误");
+        }
+        LambdaQueryWrapper<DanagerAreaCheckInfoEntity> wrapper = Wrappers.<DanagerAreaCheckInfoEntity>query().lambda();
+        wrapper.eq(DanagerAreaCheckInfoEntity::getIsDeleted, 0);
+        wrapper.eq(DanagerAreaCheckInfoEntity::getWarnId, dto.getWarnId());
+        wrapper.orderByAsc(DanagerAreaCheckInfoEntity::getCreateTime);
+        List<DanagerAreaCheckInfoEntity> list = danagerAreaCheckService.list(wrapper);
+        List<JSONObject> datas = new ArrayList<>(list.size());
+        for (DanagerAreaCheckInfoEntity entity : list) {
+            JSONObject d = new JSONObject();
+            d.put("warnId", entity.getWarnId());
+            User user = userService.getById(entity.getCreateUser());
+            if (!Func.isNull(user)) {
+                d.put("checkPerson", user.getRealName());
+            } else {
+                d.put("checkPerson", "");
+            }
+            d.put("checkTime", entity.getCreateTime().getTime());
+            if (!Func.isNull(entity.getLongitude())) {
+                d.put("lng", entity.getLongitude());
+            }
+            if (!Func.isNull(entity.getLatitude())) {
+                d.put("lat", entity.getLatitude());
+            }
+            if (!Func.isNull(entity.getAddress())) {
+                d.put("location", entity.getAddress());
+            }
+            d.put("isFlood", entity.getIsFlood());
+            d.put("isDamage", entity.getIsDamage());
+            if (!Func.isNull(entity.getRemark())) {
+                d.put("remark", entity.getRemark());
+            }
+            JSONArray photos = new JSONArray();
+            if (!Func.isNull(entity.getCheckPhotos())) {
+                String photo = entity.getCheckPhotos();
+                String[] photoArr = photo.trim().split(",");
+                for (String url : photoArr) {
+                    JSONObject p = new JSONObject();
+                    p.put("url", BusinessConstant.OSS_BASE_PATH + url);
+                    photos.add(p);
+                }
+            }
+            d.put("photos", photos);
+            datas.add(d);
+        }
+        return R.data(datas);
+    }
+
+    /**
+     * 灾害转移统计查询
+     */
+    @GetMapping("/yj/transfer/count")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "warnId", value = "预警ID", paramType = "query", dataType = "string")
+    })
+    @ApiOperationSupport(order = 1)
+    @ApiOperation(value = "不分页", notes = "")
+    public R<List<JSONObject>> yjTransferCount(DamageTransferPersonInfoDTO dto) {
+        if (Func.isNull(dto.getWarnId())) {
+            return R.fail("参数错误");
+        }
+        LambdaQueryWrapper<DanagerAreaCheckInfoEntity> wrapper = Wrappers.<DanagerAreaCheckInfoEntity>query().lambda();
+        wrapper.eq(DanagerAreaCheckInfoEntity::getIsDeleted, 0);
+        wrapper.eq(DanagerAreaCheckInfoEntity::getWarnId, dto.getWarnId());
+        wrapper.orderByAsc(DanagerAreaCheckInfoEntity::getCreateTime);
+        List<DanagerAreaCheckInfoEntity> list = danagerAreaCheckService.list(wrapper);
+        List<JSONObject> datas = new ArrayList<>(list.size());
+        for (DanagerAreaCheckInfoEntity entity : list) {
+            JSONObject d = new JSONObject();
+            d.put("warnId", entity.getWarnId());
+            User user = userService.getById(entity.getCreateUser());
+            if (!Func.isNull(user)) {
+                d.put("checkPerson", user.getRealName());
+            } else {
+                d.put("checkPerson", "");
+            }
+            d.put("checkTime", entity.getCreateTime().getTime());
+            if (!Func.isNull(entity.getLongitude())) {
+                d.put("lng", entity.getLongitude());
+            }
+            if (!Func.isNull(entity.getLatitude())) {
+                d.put("lat", entity.getLatitude());
+            }
+            if (!Func.isNull(entity.getAddress())) {
+                d.put("location", entity.getAddress());
+            }
+            d.put("isFlood", entity.getIsFlood());
+            d.put("isDamage", entity.getIsDamage());
+            if (!Func.isNull(entity.getRemark())) {
+                d.put("remark", entity.getRemark());
+            }
+            JSONArray photos = new JSONArray();
+            if (!Func.isNull(entity.getCheckPhotos())) {
+                String photo = entity.getCheckPhotos();
+                String[] photoArr = photo.trim().split(",");
+                for (String url : photoArr) {
+                    JSONObject p = new JSONObject();
+                    p.put("url", BusinessConstant.OSS_BASE_PATH + url);
+                    photos.add(p);
+                }
+            }
+            d.put("photos", photos);
+            datas.add(d);
+        }
+        return R.data(datas);
+    }
+}

+ 1 - 0
src/main/resources/application.yml

@@ -204,6 +204,7 @@ blade:
     skip-url:
       - /galaxy-test/**
       - /galaxy-business/version/app/qr/url
+      - /ywxt-business/third/data/share/yj/check
     #授权认证配置
     auth:
       - method: ALL