Browse Source

内蒙山洪灾害运维系统版本提交

dylan 3 năm trước cách đây
mục cha
commit
5611525546
47 tập tin đã thay đổi với 2051 bổ sung287 xóa
  1. 2 3
      src/main/java/org/springblade/constant/BusinessConstant.java
  2. 7 0
      src/main/java/org/springblade/constant/DictBusinessConstant.java
  3. 18 10
      src/main/java/org/springblade/etl/EtlTaskManager.java
  4. 3 7
      src/main/java/org/springblade/modules/baseinfo/org/controller/BaseInfoOrgController.java
  5. 13 0
      src/main/java/org/springblade/modules/baseinfo/servicePerson/controller/ProjectServicePersonController.java
  6. 1 0
      src/main/java/org/springblade/modules/baseinfo/servicePerson/vo/ServicePersonVO.java
  7. 70 9
      src/main/java/org/springblade/modules/business/check/order/controller/RtuCheckOrderController.java
  8. 7 0
      src/main/java/org/springblade/modules/business/check/order/dto/CheckOrderInfoDTO.java
  9. 14 0
      src/main/java/org/springblade/modules/business/check/order/entity/CheckOrderInfoEntity.java
  10. 26 15
      src/main/java/org/springblade/modules/business/check/order/mapper/RtuCheckOrderMapper.xml
  11. 12 0
      src/main/java/org/springblade/modules/business/check/order/vo/CheckOrderInfoVO.java
  12. 50 27
      src/main/java/org/springblade/modules/business/check/order/wrapper/RtuCheckOrderWrapper.java
  13. 52 7
      src/main/java/org/springblade/modules/business/check/process/controller/RtuOrderProcessController.java
  14. 2 0
      src/main/java/org/springblade/modules/business/check/process/mapper/RtuOrderProcessMapper.java
  15. 18 0
      src/main/java/org/springblade/modules/business/check/process/mapper/RtuOrderProcessMapper.xml
  16. 3 0
      src/main/java/org/springblade/modules/business/check/process/service/IRtuOrderProcessService.java
  17. 5 0
      src/main/java/org/springblade/modules/business/check/process/service/impl/RtuOrderProcessServiceImpl.java
  18. 12 1
      src/main/java/org/springblade/modules/business/check/process/vo/OrderProcessInfoVO.java
  19. 4 0
      src/main/java/org/springblade/modules/business/check/process/wrapper/RtuOrderProcessWrapper.java
  20. 11 1
      src/main/java/org/springblade/modules/business/data/entity/RtuDataGroundEntity.java
  21. 4 1
      src/main/java/org/springblade/modules/business/data/entity/RtuDataRainEntity.java
  22. 3 1
      src/main/java/org/springblade/modules/business/data/entity/RtuDataRiverEntity.java
  23. 3 1
      src/main/java/org/springblade/modules/business/data/entity/RtuDataRsvrEntity.java
  24. 11 0
      src/main/java/org/springblade/modules/business/desk/controller/NoticeController.java
  25. 13 0
      src/main/java/org/springblade/modules/business/equipment/inspection/plan/controller/EquipmentInspectionPlanController.java
  26. 6 1
      src/main/java/org/springblade/modules/business/equipment/inspection/plan/mapper/EquipmentInspectionPlanRtuMapper.xml
  27. 20 1
      src/main/java/org/springblade/modules/business/equipment/inspection/report/controller/EquipmentInspectionReportController.java
  28. 500 103
      src/main/java/org/springblade/modules/business/equipment/inspection/report/entity/EquipmentInspectionReportEntity.java
  29. 174 52
      src/main/java/org/springblade/modules/business/equipment/inspection/report/mapper/EquipmentInspectionReportMapper.xml
  30. 314 4
      src/main/java/org/springblade/modules/business/rtumanage/controller/RtuManageController.java
  31. 136 0
      src/main/java/org/springblade/modules/business/rtumanage/entity/EquipmentInfoExportEntity.java
  32. 2 0
      src/main/java/org/springblade/modules/business/rtumanage/mapper/RtuManageMapper.xml
  33. 5 0
      src/main/java/org/springblade/modules/business/rtumanage/vo/RtuStatusVO.java
  34. 43 18
      src/main/java/org/springblade/modules/business/rtumanage/wrapper/RtuManageWrapper.java
  35. 1 1
      src/main/java/org/springblade/modules/business/warning/mapper/RtuWarningMapper.xml
  36. 19 8
      src/main/java/org/springblade/modules/manage/task/DataTaskManager.java
  37. 1 5
      src/main/java/org/springblade/modules/manage/task/WarningTask.java
  38. 167 0
      src/main/java/org/springblade/modules/manage/version/controller/VersionManageController.java
  39. 64 0
      src/main/java/org/springblade/modules/manage/version/entity/VersionInfoEntity.java
  40. 24 0
      src/main/java/org/springblade/modules/manage/version/mapper/VersionInfoMapper.java
  41. 32 0
      src/main/java/org/springblade/modules/manage/version/mapper/VersionInfoMapper.xml
  42. 26 0
      src/main/java/org/springblade/modules/manage/version/service/IVersionManageService.java
  43. 32 0
      src/main/java/org/springblade/modules/manage/version/service/impl/VersionManageServiceImpl.java
  44. 40 0
      src/main/java/org/springblade/modules/manage/version/vo/VersionInfoVO.java
  45. 35 0
      src/main/java/org/springblade/modules/manage/version/wrapper/VersionInfoWrapper.java
  46. 25 0
      src/main/java/org/springblade/mq/kafka/handler/MessageHandler.java
  47. 21 11
      src/main/resources/application-dev.yml

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

@@ -24,6 +24,8 @@ public class BusinessConstant {
 
 	public static final  String ROLE_ORG_SERVICE_PERSON ="org_servcie_person";
 
+	public static final  String ROLE_ORG_ADMIN_ID ="1123598816738675204";
+
 	public static final  String ROLE_ORG_SERVICE_PERSON_ID ="1123598816738675205";
 
 	public static final  String SERVICE_PERSON_POST_ID ="1562994107637354498";
@@ -35,7 +37,4 @@ public class BusinessConstant {
 	public static final Long SYS_ADMIN_ID =1499007300681326593L;
 
 	public static final String DEPT_NM_ADCODE="150000000000000";
-
-
-
 }

+ 7 - 0
src/main/java/org/springblade/constant/DictBusinessConstant.java

@@ -18,4 +18,11 @@ package org.springblade.constant;
 public class DictBusinessConstant {
 	public static final  String ORDER_STATUS_CODE ="rtu_check_order_status";
 	public static final  String ORDER_FROM_CODE ="rtu_check_order_from";
+
+	public static final  String WATER_LEVEL_TYPE_DICT_CODE ="rtu_check_order_from";
+
+	public static final  long ORDER_STATUS_KEY_CREATE =1561664032518283266L;
+	public static final  long ORDER_STATUS_KEY_CONFIRM =1563384333744525313L;
+	public static final  long ORDER_STATUS_KEY_PROCESS =1561664210792980482L;
+	public static final  long ORDER_STATUS_KEY_CLOSE =1561664272864485377L;
 }

+ 18 - 10
src/main/java/org/springblade/etl/EtlTaskManager.java

@@ -30,6 +30,7 @@ import org.springblade.modules.business.data.service.IRtuDataRiverService;
 import org.springblade.modules.business.data.service.IRtuDataRsvrService;
 import org.springblade.modules.business.rtumanage.entity.RtuStatusEntity;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.redis.core.HashOperations;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.kafka.core.KafkaTemplate;
@@ -102,25 +103,32 @@ public class EtlTaskManager {
 	@Resource
 	private IRtuBaseInfoService rtuBaseInfoService;
 
-	@Scheduled(cron = "0 1 * * * * ")
+	@Value("${spring.task-config.etl-task}")
+	boolean etlTask;
+
+	@Scheduled(cron = "0 0/5 * * * * ")
 	public void attStBaseReadTask() {
 		try {
-			log.info("ETL-测站-定时同步任务开始执行*********************");
-			EtlMvAttStBaseDataTask mvAttStBaseDataTask = new EtlMvAttStBaseDataTask(etlMvAttStBaseService, mvAttStBaseService);
-			FutureTask<Integer> futureTask = new FutureTask<>(mvAttStBaseDataTask);
-			publicThreadPool.execute(futureTask);
+			if (etlTask) {
+				log.info("ETL-测站-定时同步任务开始执行*********************");
+				EtlMvAttStBaseDataTask mvAttStBaseDataTask = new EtlMvAttStBaseDataTask(etlMvAttStBaseService, mvAttStBaseService);
+				FutureTask<Integer> futureTask = new FutureTask<>(mvAttStBaseDataTask);
+				publicThreadPool.execute(futureTask);
+			}
 		} catch (Exception e) {
 			log.error("{}", e.getMessage());
 		}
 	}
 
-	@Scheduled(cron = "0 5 * * * * ")
+	@Scheduled(cron = "0 0/5 * * * * ")
 	public void rtuDataReadTask() {
 		try {
-			log.info("ETL-数据-定时同步任务开始执行*********************");
-			EtlRtuDataTask etlRtuDataTask = new EtlRtuDataTask();
-			FutureTask<Integer> futureTask = new FutureTask<>(etlRtuDataTask);
-			publicThreadPool.execute(futureTask);
+			if (etlTask) {
+				log.info("ETL-数据-定时同步任务开始执行*********************");
+				EtlRtuDataTask etlRtuDataTask = new EtlRtuDataTask();
+				FutureTask<Integer> futureTask = new FutureTask<>(etlRtuDataTask);
+				publicThreadPool.execute(futureTask);
+			}
 		} catch (Exception e) {
 			log.error("{}", e.getMessage());
 		}

+ 3 - 7
src/main/java/org/springblade/modules/baseinfo/org/controller/BaseInfoOrgController.java

@@ -33,6 +33,9 @@ import org.springblade.modules.baseinfo.region.service.IBaseInfoRegionService;
 import org.springblade.modules.baseinfo.region.vo.RegionInfoVO;
 import org.springblade.modules.baseinfo.region.wrapper.RegionInfoNodeWrapper;
 import org.springblade.modules.baseinfo.region.wrapper.RegionInfoWrapper;
+import org.springblade.modules.baseinfo.servicePerson.entity.ServicePersonEntity;
+import org.springblade.modules.baseinfo.servicePerson.vo.OrgPersonContactVO;
+import org.springblade.modules.baseinfo.servicePerson.vo.ServicePersonVO;
 import org.springblade.modules.system.entity.Dept;
 import org.springblade.modules.system.service.IDeptService;
 import org.springblade.modules.system.service.IRegionService;
@@ -67,24 +70,17 @@ public class BaseInfoOrgController extends BladeController {
 	public R<List<OrgInfoVO>> list() {
 		BladeUser user = AuthUtil.getUser();
 		if (BusinessConstant.ROLE_ORG_ADMIN.equals(user.getRoleName()) || BusinessConstant.ROLE_ORG_SERVICE_PERSON.equals(user.getRoleName())) {
-
 			Dept dept = deptService.getById(Func.toLong(user.getDeptId()));
 			List<Dept> list = new LinkedList<>();
 			list.add(dept);
 			return R.data(OrgInfoWrapper.build().listVO(list));
 		} else {
-
 			LambdaQueryWrapper<Dept> queryWrapper = Wrappers.<Dept>query().lambda();
 			queryWrapper.eq(Dept::getIsDeleted, 0);
 			queryWrapper.eq(Dept::getParentId, BusinessConstant.ORG_ADMIN_ID);
 			List<Dept> list = deptService.list(queryWrapper);
 			return R.data(OrgInfoWrapper.build().listVO(list));
 		}
-
-
 	}
 
-
-
-
 }

+ 13 - 0
src/main/java/org/springblade/modules/baseinfo/servicePerson/controller/ProjectServicePersonController.java

@@ -73,6 +73,19 @@ public class ProjectServicePersonController extends BladeController {
 		return R.data(pages);
 	}
 
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "列表")
+	public R<List<ServicePersonVO>> list() {
+		BladeUser user = AuthUtil.getUser();
+		ServicePersonEntity personEntity = new ServicePersonEntity();
+		if (BusinessConstant.ROLE_ORG_ADMIN.equals(user.getRoleName()) || BusinessConstant.ROLE_ORG_SERVICE_PERSON.equals(user.getRoleName())) {
+			personEntity.setOrgId(Func.toLong(user.getDeptId()));
+		}
+		List<ServicePersonVO> personVOList = this.servicePersonService.selectAllList(personEntity);
+		return R.data(personVOList);
+	}
+
 	/**
 	 * 详情
 	 */

+ 1 - 0
src/main/java/org/springblade/modules/baseinfo/servicePerson/vo/ServicePersonVO.java

@@ -34,4 +34,5 @@ public class ServicePersonVO extends ServicePersonEntity {
 	 */
 	@ApiModelProperty(value = "机构名称")
 	private String orgName;
+
 }

+ 70 - 9
src/main/java/org/springblade/modules/business/check/order/controller/RtuCheckOrderController.java

@@ -61,6 +61,7 @@ import springfox.documentation.annotations.ApiIgnore;
 import java.util.Date;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.Map;
 
 /***
  * Date:2022/8/22
@@ -91,6 +92,7 @@ public class RtuCheckOrderController extends BladeController {
 	private final IRtuDataGroundService iRtuDataGroundService;
 	private final IRtuManageService iRtuManageService;
 	private final IBaseInfoDictService dictService;
+	;
 
 	@GetMapping("/list")
 	@ApiOperationSupport(order = 3)
@@ -129,6 +131,17 @@ public class RtuCheckOrderController extends BladeController {
 		if (BusinessConstant.ROLE_ORG_ADMIN.equals(user.getRoleName()) || BusinessConstant.ROLE_ORG_SERVICE_PERSON.equals(user.getRoleName())) {
 			checkOrderInfoDTO.setOrgId(Func.toLong(user.getDeptId()));
 		}
+		if (null != checkOrderInfoDTO.getRtuCode() && checkOrderInfoDTO.getRtuCode().length() > 0) {
+			if (Func.isNumeric(checkOrderInfoDTO.getRtuCode())) {
+				checkOrderInfoDTO.setRtuName(null);
+			} else {
+				checkOrderInfoDTO.setRtuCode(null);
+			}
+		} else {
+			checkOrderInfoDTO.setRtuCode(null);
+			checkOrderInfoDTO.setRtuName(null);
+		}
+
 		IPage<CheckOrderInfoVO> pages = checkOrderService.selectPage(Condition.getPage(query), checkOrderInfoDTO);
 		List<CheckOrderInfoVO> list = pages.getRecords();
 		for (CheckOrderInfoVO v : list) {
@@ -149,7 +162,7 @@ public class RtuCheckOrderController extends BladeController {
 	@ApiOperation(value = "分页", notes = "传入checkOrderInfoDTO")
 	public R<IPage<CheckOrderInfoVO>> mypage(@ApiIgnore CheckOrderInfoDTO checkOrderInfoDTO, Query query) {
 		BladeUser user = AuthUtil.getUser();
-		checkOrderInfoDTO.setOrderConfirmUser(user.getUserId());
+		checkOrderInfoDTO.setContactUser(user.getUserId());
 		checkOrderInfoDTO.setOrderConfirm(OrderConfirmEnum.ACTIVE_CONFIRM.getCode());
 		checkOrderInfoDTO.setOrderClose(OrderCloseEnum.ACTIVE_OPEN.getCode());
 		IPage<CheckOrderInfoVO> pages = checkOrderService.selectPage(Condition.getPage(query), checkOrderInfoDTO);
@@ -165,18 +178,31 @@ public class RtuCheckOrderController extends BladeController {
 	 * 未确认工单列表,不分页
 	 */
 	@GetMapping("/unconfirm/list")
+	@ApiImplicitParams({
+		@ApiImplicitParam(name = "rtuCode", value = "测站编码", paramType = "query", dataType = "string"),
+		@ApiImplicitParam(name = "rtuName", value = "测站名称", paramType = "query", dataType = "string"),
+		@ApiImplicitParam(name = "adCode", value = "行政区划编码", paramType = "query", dataType = "string"),
+	})
 	@ApiOperationSupport(order = 3)
 	@ApiOperation(value = "不分页", notes = "")
-	public R<List<CheckOrderInfoVO>> unconfirmOrderList() {
+	public R<List<CheckOrderInfoVO>> unconfirmOrderList(@ApiIgnore CheckOrderInfoDTO checkOrderInfoDTO) {
 		BladeUser user = AuthUtil.getUser();
-		CheckOrderInfoDTO checkOrderInfoDTO = new CheckOrderInfoDTO();
-		LambdaQueryWrapper<CheckOrderInfoEntity> wrapper = Wrappers.<CheckOrderInfoEntity>query().lambda();
 		checkOrderInfoDTO.setOrderConfirm(OrderConfirmEnum.ACTIVE_CREATE.getCode());
 		if (BusinessConstant.ROLE_ORG_ADMIN.equals(user.getRoleName()) || BusinessConstant.ROLE_ORG_SERVICE_PERSON.equals(user.getRoleName())) {
 			checkOrderInfoDTO.setOrgId(Func.toLong(user.getDeptId()));
 		} else {
 			checkOrderInfoDTO.setOrgId(null);
 		}
+		if (null != checkOrderInfoDTO.getRtuCode() && checkOrderInfoDTO.getRtuCode().length() > 0) {
+			if (Func.isNumeric(checkOrderInfoDTO.getRtuCode())) {
+				checkOrderInfoDTO.setRtuName(null);
+			} else {
+				checkOrderInfoDTO.setRtuCode(null);
+			}
+		} else {
+			checkOrderInfoDTO.setRtuCode(null);
+			checkOrderInfoDTO.setRtuName(null);
+		}
 		List<CheckOrderInfoVO> list = checkOrderService.unconfirmOrderList(checkOrderInfoDTO);
 		for (CheckOrderInfoVO v : list) {
 			RtuCheckOrderWrapper.build().addInfoVO(v);
@@ -219,6 +245,8 @@ public class RtuCheckOrderController extends BladeController {
 	@ApiOperationSupport(order = 1)
 	@ApiOperation(value = "详情", notes = "传入CheckOrderInfoEntity")
 	public R<CheckOrderInfoVO> detail(CheckOrderInfoEntity checkOrderInfoEntity) {
+		BladeUser user = AuthUtil.getUser();
+
 		CheckOrderInfoEntity detail = checkOrderService.getOne(Condition.getQueryWrapper(checkOrderInfoEntity));
 
 		LambdaQueryWrapper<RtuInfoEntity> wrapper = Wrappers.<RtuInfoEntity>query().lambda();
@@ -227,6 +255,7 @@ public class RtuCheckOrderController extends BladeController {
 		RtuInfoEntity rtuInfoEntity = rtuBaseInfoService.getOne(wrapper);
 
 		CheckOrderInfoVO vo = RtuCheckOrderWrapper.build().entityVO(detail);
+		RtuCheckOrderWrapper.build().addInfoVO(vo);
 
 		vo.setRtuName(rtuInfoEntity.getRtuName());
 		vo.setAdCity(rtuInfoEntity.getAdCity());
@@ -286,7 +315,7 @@ public class RtuCheckOrderController extends BladeController {
 	@ApiOperationSupport(order = 4)
 	@ApiOperation(value = "新增", notes = "传入checkOrderInfoEntity")
 	public R save(@RequestBody CheckOrderInfoEntity checkOrderInfoEntity) {
-		DictInfoEntity dictInfoEntity=dictService.getDict(DictBusinessConstant.ORDER_STATUS_CODE,OrderStatusEnum.STATUS_CREATE.getCode());
+		DictInfoEntity dictInfoEntity = dictService.getDict(DictBusinessConstant.ORDER_STATUS_CODE, OrderStatusEnum.STATUS_CREATE.getCode());
 		checkOrderInfoEntity.setOrderStatusKey(dictInfoEntity.getId());
 		checkOrderService.save(checkOrderInfoEntity);
 		OrderProcessInfoEntity processInfoEntity = new OrderProcessInfoEntity();
@@ -342,7 +371,7 @@ public class RtuCheckOrderController extends BladeController {
 	@ApiOperation(value = "工单关闭", notes = "传入checkOrderInfoEntity")
 	public R orderClose(@ApiIgnore CheckOrderInfoEntity checkOrderInfoEntity) {
 		BladeUser user = AuthUtil.getUser();
-		DictInfoEntity dictInfoEntity=dictService.getDict(DictBusinessConstant.ORDER_STATUS_CODE,OrderStatusEnum.STATUS_CLOSE.getCode());
+		DictInfoEntity dictInfoEntity = dictService.getDict(DictBusinessConstant.ORDER_STATUS_CODE, OrderStatusEnum.STATUS_CLOSE.getCode());
 		checkOrderInfoEntity.setOrderStatusKey(dictInfoEntity.getId());
 		CheckOrderInfoEntity detail = this.checkOrderService.getById(checkOrderInfoEntity.getId());
 		if (null == detail || detail.getOrderClose() == OrderCloseEnum.ACTIVE_CLOSE.getCode()) {
@@ -357,7 +386,7 @@ public class RtuCheckOrderController extends BladeController {
 		OrderProcessInfoEntity processInfoEntity = new OrderProcessInfoEntity();
 		processInfoEntity.setOrderId(detail.getId());
 		processInfoEntity.setOrderStatusKey(detail.getOrderStatusKey());
-		processInfoEntity.setProcessDesc("由["+user.getNickName()+"]人工关闭维修任务:"+checkOrderInfoEntity.getOrderDesc());
+		processInfoEntity.setProcessDesc("由[" + user.getNickName() + "]人工关闭维修任务:" + checkOrderInfoEntity.getOrderDesc());
 		processInfoEntity.setCreateUser(user.getUserId());
 		processInfoEntity.setUpdateUser(user.getUserId());
 		processService.save(processInfoEntity);
@@ -409,7 +438,7 @@ public class RtuCheckOrderController extends BladeController {
 	@ApiOperationSupport(order = 4)
 	@ApiOperation(value = "工单确认", notes = "传入checkOrderInfoEntity")
 	public R orderConfirm(@RequestBody CheckOrderInfoEntity checkOrderInfoEntity) {
-		DictInfoEntity dictInfoEntity=dictService.getDict(DictBusinessConstant.ORDER_STATUS_CODE,OrderStatusEnum.STATUS_CONFIRM.getCode());
+		DictInfoEntity dictInfoEntity = dictService.getDict(DictBusinessConstant.ORDER_STATUS_CODE, OrderStatusEnum.STATUS_CONFIRM.getCode());
 		checkOrderInfoEntity.setOrderStatusKey(dictInfoEntity.getId());
 		BladeUser user = AuthUtil.getUser();
 		User userInfo = userService.getById(user.getUserId());
@@ -422,15 +451,47 @@ public class RtuCheckOrderController extends BladeController {
 		detail.setOrderConfirmUser(user.getUserId());
 		detail.setOrderConfirmTime(new Date());
 		detail.setUpdateTime(new Date());
+		detail.setContactUser(userInfo.getId());
+		detail.setContactPhone(userInfo.getPhone());
 		checkOrderService.updateById(detail);
 		OrderProcessInfoEntity processInfoEntity = new OrderProcessInfoEntity();
 		processInfoEntity.setOrderId(checkOrderInfoEntity.getId());
 		processInfoEntity.setOrderStatusKey(checkOrderInfoEntity.getOrderStatusKey());
-		processInfoEntity.setProcessDesc("维修任务由[" + userInfo.getRealName()+"]确认");
+		processInfoEntity.setProcessDesc("维修任务由[" + userInfo.getRealName() + "]确认");
 		return R.status(processService.save(processInfoEntity));
 	}
 
 
+	@PostMapping("/change")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "任务指派", notes = "CheckOrderInfoDTO")
+	public R orderChange(@RequestBody CheckOrderInfoDTO checkOrderInfoDTO) {
+		CheckOrderInfoEntity detail = this.checkOrderService.getById(checkOrderInfoDTO.getId());
+		if (null == detail) {
+			return R.status(false);
+		}
+		BladeUser user = AuthUtil.getUser();
+		DictInfoEntity dictInfoEntity = dictService.getDict(DictBusinessConstant.ORDER_STATUS_CODE, OrderStatusEnum.STATUS_CONFIRM.getCode());
+		if (detail.getOrderConfirm() != OrderConfirmEnum.ACTIVE_CONFIRM.getCode()) {
+			detail.setOrderConfirm(OrderConfirmEnum.ACTIVE_CONFIRM.getCode());
+			detail.setOrderStatusKey(dictInfoEntity.getId());
+			detail.setOrderConfirmUser(user.getUserId());
+			detail.setOrderConfirmTime(new Date());
+		}
+		User userInfo = userService.getById(checkOrderInfoDTO.getServicePersonId());
+		OrderProcessInfoEntity processInfoEntity = new OrderProcessInfoEntity();
+		processInfoEntity.setOrderId(detail.getId());
+		processInfoEntity.setOrderStatusKey(dictInfoEntity.getId());
+		processInfoEntity.setProcessDesc("维修任务指派给[" + userInfo.getRealName() + "]");
+		processService.save(processInfoEntity);
+		detail.setUpdateTime(new Date());
+		detail.setContactUser(userInfo.getId());
+		detail.setContactPhone(userInfo.getPhone());
+		checkOrderService.updateById(detail);
+		return R.status(checkOrderService.updateById(detail));
+	}
+
+
 	/**
 	 * 工单统计
 	 *

+ 7 - 0
src/main/java/org/springblade/modules/business/check/order/dto/CheckOrderInfoDTO.java

@@ -47,4 +47,11 @@ public class CheckOrderInfoDTO extends CheckOrderInfoEntity {
 	 */
 	@ApiModelProperty(value = "行政区划编码")
 	private String adCode;
+
+	/**
+	 * 运维人员ID
+	 */
+	@ApiModelProperty(value = "运维人员ID")
+	private Long servicePersonId;
+
 }

+ 14 - 0
src/main/java/org/springblade/modules/business/check/order/entity/CheckOrderInfoEntity.java

@@ -96,4 +96,18 @@ public class CheckOrderInfoEntity extends BaseEntity {
 	)
 	private Date orderConfirmTime;
 
+	/**
+	 * 联系电话
+	 */
+	@ApiModelProperty(value = "联系电话")
+	private String contactPhone;
+
+	/**
+	 * 负责人
+	 */
+	@ApiModelProperty(value = "负责人")
+	private Long contactUser;
+
+
+
 }

+ 26 - 15
src/main/java/org/springblade/modules/business/check/order/mapper/RtuCheckOrderMapper.xml

@@ -21,7 +21,8 @@
         <result column="order_close" property="orderClose"/>
         <result column="order_confirm" property="orderConfirm"/>
         <result column="order_confirm_time" property="orderConfirmTime"/>
-
+        <result column="contact_user" property="contactUser"/>
+        <result column="contact_phone" property="contactPhone"/>
     </resultMap>
 
     <!-- 通用查询映射结果 -->
@@ -51,6 +52,9 @@
         <result column="ad_city" property="adCity"/>
         <result column="ad_dist" property="adDist"/>
         <result column="warn_kind" property="warnKind"/>
+        <result column="contact_user" property="contactUser"/>
+        <result column="contact_phone" property="contactPhone"/>
+        <result column="contact_user_name" property="contactUserName"/>
     </resultMap>
 
     <resultMap id="checkOrderCountVOResultMap" type="org.springblade.modules.business.check.order.vo.CheckOrderCountVO">
@@ -58,13 +62,11 @@
         <result column="real_name" property="servicePersonName"/>
         <result column="order_count" property="orderCount"/>
         <result column="processing_order_count" property="processingOrderCount"/>
-
-
     </resultMap>
 
     <select id="selectPage" resultMap="checkOrderInfoVOResultMap">
         SELECT
-        o.*,u.real_name,i.rtu_name,dept.dept_name AS org_name,i.lng,i.lat,i.location_desc,i.ad_city,i.ad_dist, w.warning_kind AS warn_kind
+        o.*,u.real_name,i.rtu_name,dept.dept_name AS org_name,i.lng,i.lat,i.location_desc,i.ad_city,i.ad_dist,u2.real_name AS contact_user_name
         FROM
         rtu_failure_check_order o
         LEFT JOIN rtu_info i ON i.rtu_code = o.rtu_code
@@ -72,8 +74,7 @@
         LEFT JOIN data_ad_cd_b a ON a.adcd = p.ad_code and a.is_deleted=0
         LEFT JOIN blade_dept dept ON dept.id = i.org_id and dept.is_deleted=0
         LEFT JOIN blade_user u ON u.id = o.update_user and u.is_deleted=0
-        LEFT JOIN rtu_warning w ON w.is_deleted=0 and  w.id = o.warn_id
-
+        LEFT JOIN blade_user u2 ON u2.id = o.contact_user and u2.is_deleted=0
         WHERE
         o.is_deleted = 0
         <if test="checkOrderInfoDTO.rtuCode!=null">
@@ -85,8 +86,8 @@
         <if test="checkOrderInfoDTO.orgId!=null">
             and i.org_id = #{checkOrderInfoDTO.orgId}
         </if>
-        <if test="checkOrderInfoDTO.orderConfirmUser!=null">
-            and o.order_confirm_user = #{checkOrderInfoDTO.orderConfirmUser}
+        <if test="checkOrderInfoDTO.contactUser!=null">
+            and o.contact_user = #{checkOrderInfoDTO.contactUser}
         </if>
         <if test="checkOrderInfoDTO.orderConfirm!=null">
             and o.order_confirm = #{checkOrderInfoDTO.orderConfirm}
@@ -97,7 +98,7 @@
         <if test="checkOrderInfoDTO.adCode!=null">
             and (p.ad_code =#{checkOrderInfoDTO.adCode} or a.ancestors in (SELECT ancestors FROM data_ad_cd_b WHERE ancestors  like concat(concat('%', #{checkOrderInfoDTO.adCode}), '%')))
         </if>
-        order by o.update_time ,o.order_confirm  ,o.order_close ,i.org_id
+        order by o.create_time ,o.order_confirm  ,o.order_close
     </select>
 
 
@@ -133,14 +134,15 @@
 
     <select id="unconfirmOrderList" resultMap="checkOrderInfoVOResultMap">
         SELECT
-        o.*,u.real_name,i.rtu_name,p.project_name,d2.dept_name AS org_name,i.lng,i.lat,i.location_desc
+        o.*,u.real_name,i.rtu_name,dept.dept_name AS org_name,i.lng,i.lat,i.location_desc,i.ad_city,i.ad_dist
         FROM
         rtu_failure_check_order o
         LEFT JOIN rtu_info i ON i.rtu_code = o.rtu_code
+        LEFT JOIN data_mv_att_st_base p ON i.rtu_code = p.st_code and p.is_deleted=0
+        LEFT JOIN data_ad_cd_b a ON a.adcd = p.ad_code and a.is_deleted=0
         LEFT JOIN blade_user u ON u.id = o.update_user
-        LEFT JOIN project_info p ON i.project_id = p.id
-        LEFT JOIN blade_user_dept ud ON ud.user_id=u.id
-        LEFT JOIN blade_dept d2 ON ud.dept_id = d2.id
+        LEFT JOIN blade_dept dept ON dept.id = i.org_id and dept.is_deleted=0
+
         WHERE
         o.is_deleted = 0
         <if test="checkOrderInfoDTO.orgId!=null">
@@ -149,7 +151,17 @@
         <if test="checkOrderInfoDTO.orderConfirm!=null">
             and o.order_confirm = #{checkOrderInfoDTO.orderConfirm}
         </if>
-        order by o.create_time desc
+        <if test="checkOrderInfoDTO.rtuCode!=null">
+            and o.rtu_code like concat(concat('%', #{checkOrderInfoDTO.rtuCode}), '%')
+        </if>
+        <if test="checkOrderInfoDTO.rtuName!=null">
+            and i.rtu_name like concat(concat('%', #{checkOrderInfoDTO.rtuName}), '%')
+        </if>
+        <if test="checkOrderInfoDTO.adCode!=null">
+            and (p.ad_code =#{checkOrderInfoDTO.adCode} or a.ancestors in (SELECT ancestors FROM data_ad_cd_b WHERE ancestors  like concat(concat('%', #{checkOrderInfoDTO.adCode}), '%')))
+        </if>
+        order by o.create_time asc
+        limit 10
     </select>
 
 
@@ -167,7 +179,6 @@
         <if test="checkOrderInfoDTO.orderConfirm!=null">
             and o.order_confirm = #{checkOrderInfoDTO.orderConfirm}
         </if>
-
     </select>
 
     <select id="orderReportCount" resultMap="checkOrderCountVOResultMap">

+ 12 - 0
src/main/java/org/springblade/modules/business/check/order/vo/CheckOrderInfoVO.java

@@ -81,6 +81,12 @@ public class CheckOrderInfoVO extends CheckOrderInfoEntity {
 	@ApiModelProperty(value = "处理人")
 	private String processorName;
 
+	/**
+	 * 负责人名称
+	 */
+	@ApiModelProperty(value = "负责人名称")
+	private String contactUserName;
+
 	/**
 	 * 是否确认
 	 */
@@ -170,4 +176,10 @@ public class CheckOrderInfoVO extends CheckOrderInfoEntity {
 	 */
 	@ApiModelProperty(value = "维修时长")
 	private String taskTime;
+
+	/**
+	 * 预警时长
+	 */
+	@ApiModelProperty(value = "预警时长")
+	private String warningTime;
 }

+ 50 - 27
src/main/java/org/springblade/modules/business/check/order/wrapper/RtuCheckOrderWrapper.java

@@ -33,16 +33,16 @@ public class RtuCheckOrderWrapper extends BaseEntityWrapper<CheckOrderInfoEntity
 	@Override
 	public CheckOrderInfoVO entityVO(CheckOrderInfoEntity entity) {
 		CheckOrderInfoVO checkOrderInfoVO = Objects.requireNonNull(BeanUtil.copy(entity, CheckOrderInfoVO.class));
-		DictBiz biz=DictBizCache.getById(checkOrderInfoVO.getOrderFromKey());
+		DictBiz biz = DictBizCache.getById(checkOrderInfoVO.getOrderFromKey());
 		checkOrderInfoVO.setOrderFromName(biz.getDictValue());
-		biz=DictBizCache.getById(checkOrderInfoVO.getOrderStatusKey());
+		biz = DictBizCache.getById(checkOrderInfoVO.getOrderStatusKey());
 		checkOrderInfoVO.setOrderStatusName(biz.getDictValue());
-		if (checkOrderInfoVO.getOrderConfirmUser() != null){
+		if (checkOrderInfoVO.getOrderConfirmUser() != null) {
 			checkOrderInfoVO.setIsConfirm(1);
-		}else{
+		} else {
 			checkOrderInfoVO.setIsConfirm(0);
 		}
-		if (checkOrderInfoVO.getOrderConfirmTime()!=null) {
+		if (checkOrderInfoVO.getOrderConfirmTime() != null) {
 			Duration duration = Func.between(checkOrderInfoVO.getOrderConfirmTime(), new Date());
 			long second = duration.getSeconds();
 			String taskTime = "";
@@ -68,36 +68,59 @@ public class RtuCheckOrderWrapper extends BaseEntityWrapper<CheckOrderInfoEntity
 
 	public CheckOrderInfoVO addInfoVO(CheckOrderInfoVO checkOrderInfoVO) {
 		checkOrderInfoVO.setAreaName(checkOrderInfoVO.getAdCity() + "/" + checkOrderInfoVO.getAdDist());
-		DictBiz biz=DictBizCache.getById(checkOrderInfoVO.getOrderFromKey());
+		DictBiz biz = DictBizCache.getById(checkOrderInfoVO.getOrderFromKey());
 		checkOrderInfoVO.setOrderFromName(biz.getDictValue());
-		biz=DictBizCache.getById(checkOrderInfoVO.getOrderStatusKey());
+		biz = DictBizCache.getById(checkOrderInfoVO.getOrderStatusKey());
 		checkOrderInfoVO.setOrderStatusName(biz.getDictValue());
-		if (checkOrderInfoVO.getOrderConfirmUser() != null){
+		if (checkOrderInfoVO.getOrderConfirmUser() != null) {
 			checkOrderInfoVO.setIsConfirm(1);
-		}else{
+		} else {
 			checkOrderInfoVO.setIsConfirm(0);
 		}
-		if (checkOrderInfoVO.getOrderConfirmTime()!=null) {
-			Duration duration = Func.between(checkOrderInfoVO.getOrderConfirmTime(), new Date());
-			long second = duration.getSeconds();
-			String taskTime = "";
+
+		//if (checkOrderInfoVO.getCreateTime()!=null){
+		Duration duration = Func.between(checkOrderInfoVO.getCreateTime(), new Date());
+		long second = duration.getSeconds();
+		String taskTime = "";
+		if (second >= 60 * 60) {
+			if (second >= 24 * 60 * 60) {
+				taskTime = "" + second / (24 * 60 * 60) + "天";
+				second = second % (24 * 60 * 60);
+			}
 			if (second >= 60 * 60) {
-				if (second >= 24 * 60 * 60) {
-					taskTime = "" + second / (24 * 60 * 60) + "天";
-					second = second % (24 * 60 * 60);
-				}
-				if (second >= 60 * 60) {
-					taskTime += "" + second / (60 * 60) + "小时";
-					second = second % (60 * 60);
-				}
-				if (second >= 60) {
-					taskTime += "" + second / (60) + "分";
-				}
-			} else {
-				taskTime = "1小时内";
+				taskTime += "" + second / (60 * 60) + "小时";
+				second = second % (60 * 60);
 			}
-			checkOrderInfoVO.setTaskTime(taskTime);
+			if (second >= 60) {
+				taskTime += "" + second / (60) + "分";
+			}
+		} else {
+			taskTime = "1小时内";
 		}
+		checkOrderInfoVO.setTaskTime(taskTime);
+		//	}
+
+//		if (checkOrderInfoVO.getOrderConfirmTime()!=null) {
+//			Duration duration = Func.between(checkOrderInfoVO.getOrderConfirmTime(), new Date());
+//			long second = duration.getSeconds();
+//			String taskTime = "";
+//			if (second >= 60 * 60) {
+//				if (second >= 24 * 60 * 60) {
+//					taskTime = "" + second / (24 * 60 * 60) + "天";
+//					second = second % (24 * 60 * 60);
+//				}
+//				if (second >= 60 * 60) {
+//					taskTime += "" + second / (60 * 60) + "小时";
+//					second = second % (60 * 60);
+//				}
+//				if (second >= 60) {
+//					taskTime += "" + second / (60) + "分";
+//				}
+//			} else {
+//				taskTime = "1小时内";
+//			}
+		//checkOrderInfoVO.setTaskTime(taskTime);
+		//}
 		return checkOrderInfoVO;
 	}
 

+ 52 - 7
src/main/java/org/springblade/modules/business/check/process/controller/RtuOrderProcessController.java

@@ -45,6 +45,7 @@ import org.springframework.web.bind.annotation.*;
 import springfox.documentation.annotations.ApiIgnore;
 
 import java.text.DateFormat;
+import java.time.Duration;
 import java.util.Date;
 import java.util.List;
 
@@ -70,16 +71,60 @@ public class RtuOrderProcessController extends BladeController {
 	 */
 	@GetMapping("/list")
 	@ApiImplicitParams({
-		@ApiImplicitParam(name = "orderId", value = "工单ID", paramType = "query", dataType = "long")
+		@ApiImplicitParam(name = "id", value = "工单ID", paramType = "query", dataType = "long")
 	})
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "不分页", notes = "传入checkOrderInfoDTO")
-	public R<List<OrderProcessInfoVO>> list(OrderProcessInfoDTO orderProcessInfoDTO) {
-		LambdaQueryWrapper<OrderProcessInfoEntity> wrapper = Wrappers.<OrderProcessInfoEntity>query().lambda();
-		wrapper.eq(OrderProcessInfoEntity::getOrderId,orderProcessInfoDTO.getOrderId());
-		wrapper.orderByAsc(OrderProcessInfoEntity::getCreateTime);
-		List<OrderProcessInfoEntity> list = rtuOrderProcessService.list(wrapper);
-		return R.data(RtuOrderProcessWrapper.build().listVO(list));
+	public R<List<OrderProcessInfoVO>> list(CheckOrderInfoDTO checkOrderInfoDTO) {
+		List<OrderProcessInfoVO> list = rtuOrderProcessService.selectList(checkOrderInfoDTO);
+
+		CheckOrderInfoEntity checkOrderInfoEntity = checkOrderService.getById(checkOrderInfoDTO.getId());
+
+		for (OrderProcessInfoVO v : list) {
+			RtuOrderProcessWrapper.build().addInfoVO(v);
+//			if (v.getOrderStatusKey()== DictBusinessConstant.ORDER_STATUS_KEY_CONFIRM){
+//				Duration duration = Func.between(v.getCreateTime(),checkOrderInfoEntity.getCreateTime());
+//				long second = duration.getSeconds();
+//				String taskTime = "";
+//				if (second >= 60 * 60) {
+//					if (second >= 24 * 60 * 60) {
+//						taskTime = "" + second / (24 * 60 * 60) + "天";
+//						second = second % (24 * 60 * 60);
+//					}
+//					if (second >= 60 * 60) {
+//						taskTime += "" + second / (60 * 60) + "小时";
+//						second = second % (60 * 60);
+//					}
+//					if (second >= 60) {
+//						taskTime += "" + second / (60) + "分";
+//					}
+//				} else {
+//					taskTime = "1小时内";
+//				}
+//				v.setTaskTime(taskTime);
+//			}else if (v.getOrderStatusKey()==DictBusinessConstant.ORDER_STATUS_KEY_PROCESS){
+				Duration duration = Func.between(v.getCreateTime(),checkOrderInfoEntity.getCreateTime());
+				long second = duration.getSeconds();
+				String taskTime = "";
+				if (second >= 60 * 60) {
+					if (second >= 24 * 60 * 60) {
+						taskTime = "" + second / (24 * 60 * 60) + "天";
+						second = second % (24 * 60 * 60);
+					}
+					if (second >= 60 * 60) {
+						taskTime += "" + second / (60 * 60) + "小时";
+						second = second % (60 * 60);
+					}
+					if (second >= 60) {
+						taskTime += "" + second / (60) + "分";
+					}
+				} else {
+					taskTime = "1小时内";
+				}
+				v.setTaskTime(taskTime);
+		//	}
+		}
+		return R.data(list);
 	}
 
 	/**

+ 2 - 0
src/main/java/org/springblade/modules/business/check/process/mapper/RtuOrderProcessMapper.java

@@ -25,6 +25,8 @@ import java.util.List;
  * Remark:认为有必要的其他信息
  */
 public interface RtuOrderProcessMapper  extends BaseMapper<OrderProcessInfoEntity> {
+	List<OrderProcessInfoVO> selectList(@Param("checkOrderInfoDTO") CheckOrderInfoDTO checkOrderInfoDTO);
+
 	List<OrderProcessInfoVO> selectPage(IPage page, @Param("checkOrderInfoDTO") CheckOrderInfoDTO checkOrderInfoDTO);
 	/**
 	 * 查询当天提交的工单填报信息

+ 18 - 0
src/main/java/org/springblade/modules/business/check/process/mapper/RtuOrderProcessMapper.xml

@@ -148,15 +148,33 @@
         <result column="rtu_code" property="rtuCode"/>
         <result column="real_name" property="orderProcessUserName"/>
         <result column="dict_value" property="orderStatusName"/>
+        <result column="order_confirm_user" property="orderConfirmUser"/>
+
 
     </resultMap>
 
+    <select id="selectList" resultMap="orderProcessInfoVOResultMap">
+        SELECT
+        p.*,u.real_name,o.order_confirm_user
+        FROM
+        rtu_failure_check_order_process p
+        LEFT JOIN blade_user u ON u.id = p.update_user and u.is_deleted=0
+        LEFT JOIN rtu_failure_check_order o ON o.id = p.order_id and o.is_deleted=0
+        WHERE
+        p.is_deleted = 0
+        <if test="checkOrderInfoDTO.id!=null">
+            and p.order_id =#{checkOrderInfoDTO.id}
+        </if>
+        order by p.create_time
+    </select>
+
     <select id="selectPage" resultMap="orderProcessInfoVOResultMap">
         SELECT
         p.*,u.real_name
         FROM
         rtu_failure_check_order_process p
         LEFT JOIN blade_user u ON u.id = p.update_user and u.is_deleted=0
+
         WHERE
         p.is_deleted = 0
         <if test="checkOrderInfoDTO.id!=null">

+ 3 - 0
src/main/java/org/springblade/modules/business/check/process/service/IRtuOrderProcessService.java

@@ -24,6 +24,9 @@ import java.util.List;
  * Remark:认为有必要的其他信息
  */
 public interface IRtuOrderProcessService extends BaseService<OrderProcessInfoEntity> {
+
+	List<OrderProcessInfoVO> selectList(CheckOrderInfoDTO checkOrderInfoDTO);
+
 	/**
 	 * 按工单ID查找填报处理记录
 	 * @param page

+ 5 - 0
src/main/java/org/springblade/modules/business/check/process/service/impl/RtuOrderProcessServiceImpl.java

@@ -29,6 +29,11 @@ import java.util.List;
  */
 @Service
 public class RtuOrderProcessServiceImpl  extends BaseServiceImpl<RtuOrderProcessMapper, OrderProcessInfoEntity> implements IRtuOrderProcessService {
+	@Override
+	public List<OrderProcessInfoVO> selectList(CheckOrderInfoDTO checkOrderInfoDTO) {
+		return baseMapper.selectList(checkOrderInfoDTO);
+	}
+
 	@Override
 	public IPage<OrderProcessInfoVO> selectPage(IPage<OrderProcessInfoVO> page, CheckOrderInfoDTO checkOrderInfoDTO) {
 		return page.setRecords(baseMapper.selectPage(page, checkOrderInfoDTO));

+ 12 - 1
src/main/java/org/springblade/modules/business/check/process/vo/OrderProcessInfoVO.java

@@ -28,6 +28,12 @@ public class OrderProcessInfoVO extends OrderProcessInfoEntity {
 	@ApiModelProperty("工单状态")
 	private String orderStatusName;
 
+	/**
+	 * 工单确认人
+	 */
+	@ApiModelProperty(value = "工单确认人")
+	private Long orderConfirmUser;
+
 	/**
 	 * 工单确认人名称
 	 */
@@ -46,7 +52,6 @@ public class OrderProcessInfoVO extends OrderProcessInfoEntity {
 	@ApiModelProperty("工单填报人名称")
 	private String orderProcessUserName;
 
-
 	/**
 	 * 测站编码
 	 */
@@ -58,4 +63,10 @@ public class OrderProcessInfoVO extends OrderProcessInfoEntity {
 	 */
 	@ApiModelProperty("测站名称")
 	private String rtuName;
+
+	/**
+	 * 维修时长
+	 */
+	@ApiModelProperty(value = "维修时长")
+	private String taskTime;
 }

+ 4 - 0
src/main/java/org/springblade/modules/business/check/process/wrapper/RtuOrderProcessWrapper.java

@@ -7,12 +7,16 @@
 package org.springblade.modules.business.check.process.wrapper;
 
 import org.springblade.common.cache.DictBizCache;
+import org.springblade.constant.DictBusinessConstant;
 import org.springblade.core.mp.support.BaseEntityWrapper;
 import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.Func;
 import org.springblade.modules.business.check.process.entity.OrderProcessInfoEntity;
 import org.springblade.modules.business.check.process.vo.OrderProcessInfoVO;
 import org.springblade.modules.system.entity.DictBiz;
 
+import java.time.Duration;
+import java.util.Date;
 import java.util.Objects;
 
 /***

+ 11 - 1
src/main/java/org/springblade/modules/business/data/entity/RtuDataGroundEntity.java

@@ -8,6 +8,8 @@ package org.springblade.modules.business.data.entity;
 
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.NullSerializer;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -42,7 +44,6 @@ public class RtuDataGroundEntity extends BaseEntity {
 	@ApiModelProperty("测站编码")
 	private String rtuCode;
 
-
 	/**
 	 * 时间
 	 */
@@ -60,53 +61,62 @@ public class RtuDataGroundEntity extends BaseEntity {
 	 * 垂线平均含水量
 	 */
 	@ApiModelProperty("垂线平均含水量")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double vtavslm;
 
 	/**
 	 * 表层含水量
 	 */
 	@ApiModelProperty("表层含水量")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double srlslm;
 
 	/**
 	 * 10CM深度含水量
 	 */
 	@ApiModelProperty("10CM深度含水量")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double slm10;
 
 	/**
 	 * 20CM深度含水量
 	 */
 	@ApiModelProperty("20CM深度含水量")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double slm20;
 
 	/**
 	 * 30CM深度含水量
 	 */
 	@ApiModelProperty("30CM深度含水量")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double slm30;
 
 	/**
 	 * 40CM深度含水量
 	 */
 	@ApiModelProperty("40CM深度含水量")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double slm40;
 
 	/**
 	 * 60CM深度含水量
 	 */
 	@ApiModelProperty("60CM深度含水量")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double slm60;
 
 	/**
 	 * 80CM深度含水量
 	 */
 	@ApiModelProperty("80CM深度含水量")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double slm80;
 
 	/**
 	 * 100CM深度含水量
 	 */
 	@ApiModelProperty("100CM深度含水量")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double slm100;
 }

+ 4 - 1
src/main/java/org/springblade/modules/business/data/entity/RtuDataRainEntity.java

@@ -8,6 +8,8 @@ package org.springblade.modules.business.data.entity;
 
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.NullSerializer;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -42,7 +44,6 @@ public class RtuDataRainEntity extends BaseEntity {
 	@ApiModelProperty("测站编码")
 	private String rtuCode;
 
-
 	/**
 	 * 时间
 	 */
@@ -60,11 +61,13 @@ public class RtuDataRainEntity extends BaseEntity {
 	 * 降水量
 	 */
 	@ApiModelProperty("降水量")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double drp;
 
 	/**
 	 * 时段长
 	 */
 	@ApiModelProperty("时段长")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double intv;
 }

+ 3 - 1
src/main/java/org/springblade/modules/business/data/entity/RtuDataRiverEntity.java

@@ -8,6 +8,8 @@ package org.springblade.modules.business.data.entity;
 
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.NullSerializer;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -42,7 +44,6 @@ public class RtuDataRiverEntity extends BaseEntity {
 	@ApiModelProperty("测站编码")
 	private String rtuCode;
 
-
 	/**
 	 * 时间
 	 */
@@ -60,5 +61,6 @@ public class RtuDataRiverEntity extends BaseEntity {
 	 * 河道水位
 	 */
 	@ApiModelProperty("河道水位")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double z;
 }

+ 3 - 1
src/main/java/org/springblade/modules/business/data/entity/RtuDataRsvrEntity.java

@@ -8,6 +8,8 @@ package org.springblade.modules.business.data.entity;
 
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.NullSerializer;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -42,7 +44,6 @@ public class RtuDataRsvrEntity extends BaseEntity {
 	@ApiModelProperty("测站编码")
 	private String rtuCode;
 
-
 	/**
 	 * 时间
 	 */
@@ -60,5 +61,6 @@ public class RtuDataRsvrEntity extends BaseEntity {
 	 * 库上水位
 	 */
 	@ApiModelProperty("库上水位")
+	@JsonSerialize(nullsUsing = NullSerializer.class)
 	private Double rz;
 }

+ 11 - 0
src/main/java/org/springblade/modules/business/desk/controller/NoticeController.java

@@ -14,6 +14,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import com.github.xiaoymin.knife4j.annotations.ApiSort;
 import io.swagger.annotations.*;
 import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
@@ -50,6 +51,7 @@ import java.util.Map;
  * Remark:认为有必要的其他信息
  */
 @TenantDS
+@Slf4j
 @RestController
 @RequestMapping(AppConstant.APPLICATION_DESK_NAME+ "/notice")
 @AllArgsConstructor
@@ -60,6 +62,15 @@ public class NoticeController extends BladeController {
 	private final INoticeService noticeService;
 	private final INoticeViewService noticeViewService;
 
+	@PostMapping("/test")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入notice")
+	public R update(@RequestBody Map<String,Object> data)
+	{
+		log.info(data.toString());
+		return R.success("ok");
+	}
+
 	/**
 	 * 详情
 	 */

+ 13 - 0
src/main/java/org/springblade/modules/business/equipment/inspection/plan/controller/EquipmentInspectionPlanController.java

@@ -144,6 +144,8 @@ public class EquipmentInspectionPlanController extends BladeController {
 	@GetMapping("/my/page")
 	@ApiImplicitParams({
 		@ApiImplicitParam(name = "adCode", value = "行政区划编码", paramType = "query", dataType = "string"),
+		@ApiImplicitParam(name = "rtuName", value = "测站名称", paramType = "query", dataType = "string"),
+		@ApiImplicitParam(name = "rtuCode", value = "测站编码", paramType = "query", dataType = "string"),
 	})
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页")
@@ -157,6 +159,17 @@ public class EquipmentInspectionPlanController extends BladeController {
 //				rtuDTO.setProjectId(null);
 //			}
 		}
+
+		if ( null != rtuDTO.getRtuCode() && rtuDTO.getRtuCode().length()>0){
+			if (Func.isNumeric(rtuDTO.getRtuCode())){
+				rtuDTO.setRtuName(null);
+			}else{
+				rtuDTO.setRtuCode(null);
+			}
+		}else{
+			rtuDTO.setRtuCode(null);
+			rtuDTO.setRtuName(null);
+		}
 		EquipmentInspectionPlanEntity planEntity= planService.yearPlan();
 		rtuDTO.setPlanId(planEntity.getId());
 		IPage<EquipmentInspectionRtuVO> page = planRtuService.myPage(Condition.getPage(query), rtuDTO);

+ 6 - 1
src/main/java/org/springblade/modules/business/equipment/inspection/plan/mapper/EquipmentInspectionPlanRtuMapper.xml

@@ -183,7 +183,12 @@
         <if test="rtuDTO.orgId!=null">
             and n.org_id = #{rtuDTO.orgId}
         </if>
-
+        <if test="rtuDTO.rtuCode!=null">
+            and n.rtu_code like concat(concat('%', #{rtuDTO.rtuCode}), '%')
+        </if>
+        <if test="rtuDTO.rtuName!=null">
+            and n.rtu_name like concat(concat('%', #{rtuDTO.rtuName}), '%')
+        </if>
         <if test="rtuDTO.adCode!=null">
             and (p.ad_code =#{rtuDTO.adCode} or a.ancestors in (SELECT ancestors FROM data_ad_cd_b WHERE ancestors  like concat(concat('%', #{rtuDTO.adCode}), '%')))
         </if>

+ 20 - 1
src/main/java/org/springblade/modules/business/equipment/inspection/report/controller/EquipmentInspectionReportController.java

@@ -22,6 +22,8 @@ import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.ConcurrentDateFormat;
 import org.springblade.core.tool.utils.Func;
 
+import org.springblade.modules.baseinfo.rtu.entity.RtuInfoEntity;
+import org.springblade.modules.baseinfo.rtu.service.IRtuBaseInfoService;
 import org.springblade.modules.business.equipment.inspection.plan.entity.EquipmentInspectionPlanEntity;
 import org.springblade.modules.business.equipment.inspection.plan.service.IEquipmentInspectionPlanService;
 import org.springblade.modules.business.equipment.inspection.report.dto.EquipmentInspectionReportDTO;
@@ -51,6 +53,7 @@ import java.util.Map;
 public class EquipmentInspectionReportController extends BladeController {
 	private final IEquipmentInspectionReportService reportService;
 	private final IEquipmentInspectionPlanService planService;
+	private final IRtuBaseInfoService rtuBaseInfoService;
 
 	/**
 	 * 分页
@@ -86,6 +89,16 @@ public class EquipmentInspectionReportController extends BladeController {
 		} else {
 			reportDTO.setOrgId(null);
 		}
+		if ( null != reportDTO.getRtuCode() && reportDTO.getRtuCode().length()>0){
+			if (Func.isNumeric(reportDTO.getRtuCode())){
+				reportDTO.setRtuName(null);
+			}else{
+				reportDTO.setRtuCode(null);
+			}
+		}else{
+			reportDTO.setRtuCode(null);
+			reportDTO.setRtuName(null);
+		}
 		LambdaQueryWrapper<EquipmentInspectionPlanEntity> wrapper = Wrappers.<EquipmentInspectionPlanEntity>query().lambda();
 		wrapper.eq(EquipmentInspectionPlanEntity::getIsDeleted, 0L);
 		wrapper.orderByDesc(EquipmentInspectionPlanEntity::getInspectionStartTime);
@@ -140,7 +153,13 @@ public class EquipmentInspectionReportController extends BladeController {
 	@ApiOperation(value = "详情", notes = "传入orderProcessInfoEntity")
 	public R<EquipmentInspectionReportVO> detail(EquipmentInspectionReportEntity reportEntity) {
 		EquipmentInspectionReportEntity detail = reportService.getOne(Condition.getQueryWrapper(reportEntity));
-		return R.data(EquipmentInspectionReportWrapper.build().entityVO(detail));
+		EquipmentInspectionReportVO vo=EquipmentInspectionReportWrapper.build().entityVO(detail);
+		LambdaQueryWrapper<RtuInfoEntity> wrapper = Wrappers.<RtuInfoEntity>query().lambda();
+		wrapper.eq(RtuInfoEntity::getIsDeleted, 0L);
+		wrapper.eq(RtuInfoEntity::getRtuCode, detail.getRtuCode());
+		RtuInfoEntity rtuInfoEntity=rtuBaseInfoService.getOne(wrapper);
+		vo.setRtuName(rtuInfoEntity.getRtuName());
+		return R.data(vo);
 	}
 
 	/**

+ 500 - 103
src/main/java/org/springblade/modules/business/equipment/inspection/report/entity/EquipmentInspectionReportEntity.java

@@ -54,35 +54,34 @@ public class EquipmentInspectionReportEntity extends BaseEntity {
 	private String reportDesc;
 
 	/**
-	 * 图片一是否拍摄
+	 * 站点具体位置描述
 	 */
-	@ApiModelProperty("图片一是否拍摄")
-	private Integer basePhoto1Take;
-
+	@ApiModelProperty("站点具体位置描述")
+	private String buildLocationDesc;
 
 	/**
-	 * 图片一路径
+	 * 雨量站
 	 */
-	@ApiModelProperty("图片一路径")
-	private String basePhoto1Url;
+	@ApiModelProperty("雨量站")
+	private Integer isRain;
 
 	/**
-	 * 图片二是否拍摄
+	 * 水位站
 	 */
-	@ApiModelProperty("图片二是否拍摄")
-	private Integer basePhoto2Take;
+	@ApiModelProperty("水位站")
+	private Integer isWaterLevel;
 
 	/**
-	 * 图片二路径
+	 * 墒情站
 	 */
-	@ApiModelProperty("图片二路径")
-	private String basePhoto2Url;
+	@ApiModelProperty("墒情站")
+	private Integer isGround;
 
 	/**
-	 * 站点具体位置描述
+	 * 视频
 	 */
-	@ApiModelProperty("站点具体位置描述")
-	private String buildLocationDesc;
+	@ApiModelProperty("视频站")
+	private Integer isCamera;
 
 	/**
 	 * 经度
@@ -103,16 +102,54 @@ public class EquipmentInspectionReportEntity extends BaseEntity {
 	private String manageCompany;
 
 	/**
-	 * 测站类型
+	 * 运营商
 	 */
-	@ApiModelProperty("测站类型")
-	private String rtuKinds;
+	@ApiModelProperty("运营商")
+	private Integer isp;
 
 	/**
-	 * RTU品牌
+	 * 网络模式
 	 */
-	@ApiModelProperty("RTU品牌")
-	private String rtuBrand;
+	@ApiModelProperty("网络模式")
+	private Integer networkType;
+
+	/**
+	 * SIM卡号
+	 */
+	@ApiModelProperty("SIM卡号")
+	private String simId;
+
+	/**
+	 * 一站多发
+	 */
+	@ApiModelProperty("一站多发")
+	private Integer datagramIp;
+
+	/**
+	 * 视频平台
+	 */
+	@ApiModelProperty("视频平台")
+	private String platform;
+
+	/**
+	 * 传感器型号
+	 */
+	@ApiModelProperty("传感器型号")
+	private String sensorModel;
+
+	/**
+	 * 传感器品牌
+	 */
+	@ApiModelProperty("传感器品牌")
+	private String sensorBrand;
+
+
+	/**
+	 * 传感器UUID
+	 */
+	@ApiModelProperty("传感器UUID")
+	private String sensorUuid;
+
 
 	/**
 	 * RTU型号
@@ -120,6 +157,447 @@ public class EquipmentInspectionReportEntity extends BaseEntity {
 	@ApiModelProperty("RTU型号")
 	private String rtuModel;
 
+
+	/**
+	 * RTU品牌
+	 */
+	@ApiModelProperty("RTU品牌")
+	private String rtuBrand;
+
+
+	/**
+	 * RTU UUID
+	 */
+	@ApiModelProperty("RTU-UUID")
+	private String rtuUuid;
+
+	/**
+	 * 站点水毁
+	 */
+	@ApiModelProperty("站点水毁")
+	private Integer outsideSiteWaterdamage;
+
+
+	/**
+	 * 站点损坏
+	 */
+	@ApiModelProperty("站点损坏")
+	private Integer outsideSiteDamage;
+
+	/**
+	 * 站点稳固性
+	 */
+	@ApiModelProperty("站点稳固性")
+	private Integer outsideSiteFix;
+
+	/**
+	 * 站点丢失
+	 */
+	@ApiModelProperty("站点丢失")
+	private Integer outsideSiteLose;
+
+	/**
+	 * 传感器检查
+	 */
+	@ApiModelProperty("传感器检查")
+	private Integer outsideSensorStatus;
+
+	/**
+	 * 设备完整性检查
+	 */
+	@ApiModelProperty("设备完整性检查")
+	private Integer outsideEquipmentIntegrity;
+
+	/**
+	 * 传感器保养,是否堵塞
+	 */
+	@ApiModelProperty("是否堵塞")
+	private Integer outsideSensorMaintenanceBlockupClear;
+
+	/**
+	 * 传感器保养,,是否清理,
+	 */
+	@ApiModelProperty("是否清理")
+	private Integer outsideSensorMaintenanceClear;
+
+	/**
+	 * 设备平衡性检查
+	 */
+	@ApiModelProperty("设备平衡性检查")
+	private Integer outsideEquipmentPrecision;
+
+	/**
+	 * 设备维护检查除尘
+	 */
+	@ApiModelProperty("设备维护检查除尘")
+	private Integer outsideEquipmentEeliminationClear;
+
+	/**
+	 * 设备维护检查除锈
+	 */
+	@ApiModelProperty("设备维护检查除锈")
+	private Integer outsideEquipmentRustClear;
+
+	/**
+	 * 接地
+	 */
+	@ApiModelProperty("接地")
+	private Integer secureGroundWire;
+
+	/**
+	 * 电压
+	 */
+	@ApiModelProperty("电压")
+	private Integer secureVoltage;
+
+	/**
+	 * 电池
+	 */
+	@ApiModelProperty("电池")
+	private Integer secureBattery;
+
+	/**
+	 * 电源检查
+	 */
+	@ApiModelProperty("电源检查")
+	private Integer securePower;
+
+	/**
+	 * 信号强度
+	 */
+	@ApiModelProperty("信号强度")
+	private Integer networkSignal;
+
+	/**
+	 * 设备线路连通性
+	 */
+	@ApiModelProperty("设备线路连通性")
+	private Integer networkEquipmentWireWork;
+
+	/**
+	 * 设备线路维护
+	 */
+	@ApiModelProperty("设备线路维护")
+	private Integer networkEquipmentWireMaintenance;
+
+	/**
+	 * 数据校准
+	 */
+	@ApiModelProperty("数据校准")
+	private Integer dataDataCorrect;
+
+	/**
+	 * 上报是否及时
+	 */
+	@ApiModelProperty("上报是否及时")
+	private Integer dataDatagramOntime;
+
+	/**
+	 * 传感器测试
+	 */
+	@ApiModelProperty("传感器测试")
+	private Integer dataSensorTest;
+
+	/**
+	 * 站点状态说明
+	 */
+	@ApiModelProperty("站点状态说明")
+	private String siteStatusDesc;
+
+	/**
+	 * 维护说明
+	 */
+	@ApiModelProperty("维护说明")
+	private String serviceDesc;
+
+	/**
+	 * 维护结论
+	 */
+	@ApiModelProperty("维护结论")
+	private String serviceConclusion;
+
+	/**
+	 * 遗留问题
+	 */
+	@ApiModelProperty("遗留问题")
+	private String remainQuestion;
+
+	/**
+	 * 建议
+	 */
+	@ApiModelProperty("建议")
+	private String suggest;
+
+	/**
+	 * 站点水毁图片
+	 */
+	@ApiModelProperty("站点水毁图片")
+	private Integer siteWaterDamagePhotoTake;
+
+	/**
+	 * 站点水毁图片
+	 */
+	@ApiModelProperty("站点水毁图片")
+	private String siteWaterDamagePhotoUrl;
+
+	/**
+	 * 站点水毁图片
+	 */
+	@ApiModelProperty("站点水毁图片")
+	private Integer siteWaterDamagePhotoTakeAfter;
+
+	/**
+	 * 站点水毁图片
+	 */
+	@ApiModelProperty("站点水毁图片")
+	private String siteWaterDamagePhotoUrlAfter;
+
+	/**
+	 * 站点损坏图片
+	 */
+	@ApiModelProperty("站点损坏图片")
+	private Integer siteDamagePhotoTake;
+
+	/**
+	 * 站点损坏图片
+	 */
+	@ApiModelProperty("站点损坏图片")
+	private String siteDamagePhotoUrl;
+
+	/**
+	 * 站点损坏图片
+	 */
+	@ApiModelProperty("站点损坏图片")
+	private Integer siteDamagePhotoTakeAfter;
+
+	/**
+	 * 站点损坏图片
+	 */
+	@ApiModelProperty("站点损坏图片")
+	private String siteDamagePhotoUrlAfter;
+
+	/**
+	 * 站点丢失图片
+	 */
+	@ApiModelProperty("站点丢失图片")
+	private Integer siteLosePhotoTake;
+
+	/**
+	 * 站点丢失图片
+	 */
+	@ApiModelProperty("站点丢失图片")
+	private String siteLosePhotoUrl;
+
+	/**
+	 * 站点丢失图片
+	 */
+	@ApiModelProperty("站点丢失图片")
+	private Integer siteLosePhotoTakeAfter;
+
+	/**
+	 * 站点丢失图片
+	 */
+	@ApiModelProperty("站点丢失图片")
+	private String siteLosePhotoUrlAfter;
+
+	/**
+	 * 站点稳固性图片
+	 */
+	@ApiModelProperty("站点稳固性图片")
+	private Integer siteFixPhotoTake;
+
+	/**
+	 * 站点稳固性图片
+	 */
+	@ApiModelProperty("站点稳固性图片")
+	private String siteFixPhotoUrl;
+
+	/**
+	 * 站点稳固性图片
+	 */
+	@ApiModelProperty("站点稳固性图片")
+	private Integer siteFixPhotoTakeAfter;
+
+	/**
+	 * 站点稳固性图片
+	 */
+	@ApiModelProperty("站点稳固性图片")
+	private String siteFixPhotoUrlAfter;
+
+	/**
+	 * 传感器检查图片
+	 */
+	@ApiModelProperty("传感器检查图片")
+	private Integer sensorStatusPhotoTake;
+
+	/**
+	 * 传感器检查图片
+	 */
+	@ApiModelProperty("传感器检查图片")
+	private String sensorStatusPhotoUrl;
+
+	/**
+	 * 传感器检查图片
+	 */
+	@ApiModelProperty("传感器检查图片")
+	private Integer sensorStatusPhotoTakeAfter;
+
+	/**
+	 * 传感器检查图片
+	 */
+	@ApiModelProperty("传感器检查图片")
+	private String sensorStatusPhotoUrlAfter;
+
+	/**
+	 * 设备完整性检查图片
+	 */
+	@ApiModelProperty("设备完整性检查图片")
+	private Integer equipmentIntegrityPhotoTake;
+
+	/**
+	 * 设备完整性检查图片
+	 */
+	@ApiModelProperty("设备完整性检查图片")
+	private String equipmentIntegrityPhotoUrl;
+
+	/**
+	 * 设备完整性检查图片
+	 */
+	@ApiModelProperty("设备完整性检查图片")
+	private Integer equipmentIntegrityPhotoTakeAfter;
+
+	/**
+	 * 设备完整性检查图片
+	 */
+	@ApiModelProperty("设备完整性检查图片")
+	private String equipmentIntegrityPhotoUrlAfter;
+
+	/**
+	 * 传感器保养是否堵塞图片
+	 */
+	@ApiModelProperty("传感器保养是否堵塞图片")
+	private Integer sensorMaintenanceBlockUpClearPhotoTake;
+
+	/**
+	 * 传感器保养是否堵塞图片
+	 */
+	@ApiModelProperty("传感器保养是否堵塞图片")
+	private String sensorMaintenanceBlockUpClearPhotoUrl;
+
+	/**
+	 * 传感器保养是否堵塞图片
+	 */
+	@ApiModelProperty("传感器保养是否堵塞图片")
+	private Integer sensorMaintenanceBlockUpClearPhotoTakeAfter;
+
+	/**
+	 * 传感器保养是否堵塞图片
+	 */
+	@ApiModelProperty("传感器保养是否堵塞图片")
+	private String sensorMaintenanceBlockUpClearPhotoUrlAfter;
+
+	/**
+	 * 传感器保养是否清理图片
+	 */
+	@ApiModelProperty("传感器保养是否清理图片")
+	private Integer sensorMaintenanceClearPhotoTake;
+
+	/**
+	 * 传感器保养是否清理图片
+	 */
+	@ApiModelProperty("传感器保养是否清理图片")
+	private String sensorMaintenanceClearPhotoUrl;
+
+	/**
+	 * 传感器保养是否清理图片
+	 */
+	@ApiModelProperty("传感器保养是否清理图片")
+	private Integer sensorMaintenanceClearPhotoTakeAfter;
+
+	/**
+	 * 传感器保养是否清理图片
+	 */
+	@ApiModelProperty("传感器保养是否清理图片")
+	private String sensorMaintenanceClearPhotoUrlAfter;
+
+	/**
+	 * 设备平衡性检查图片
+	 */
+	@ApiModelProperty("设备平衡性检查图片")
+	private Integer equipmentPrecisionPhotoTake;
+
+	/**
+	 * 设备平衡性检查图片
+	 */
+	@ApiModelProperty("设备平衡性检查图片")
+	private String equipmentPrecisionPhotoUrl;
+
+	/**
+	 * 设备平衡性检查图片
+	 */
+	@ApiModelProperty("设备平衡性检查图片")
+	private Integer equipmentPrecisionPhotoTakeAfter;
+
+	/**
+	 * 设备平衡性检查图片
+	 */
+	@ApiModelProperty("设备平衡性检查图片")
+	private String equipmentPrecisionPhotoUrlAfter;
+
+	/**
+	 * 设备是否需要除尘图片
+	 */
+	@ApiModelProperty("设备是否需要除尘图片")
+	private Integer equipmentEeliminationClearPhotoTake;
+
+	/**
+	 * 设备是否需要除尘图片
+	 */
+	@ApiModelProperty("设备是否需要除尘图片")
+	private String equipmentEeliminationClearPhotoUrl;
+
+	/**
+	 * 设备是否需要除尘图片
+	 */
+	@ApiModelProperty("设备是否需要除尘图片")
+	private Integer equipmentEeliminationClearPhotoTakeAfter;
+
+	/**
+	 * 设备是否需要除尘图片
+	 */
+	@ApiModelProperty("设备是否需要除尘图片")
+	private String equipmentEeliminationClearPhotoUrlAfter;
+
+	/**
+	 * 设备是否需要除锈图片
+	 */
+	@ApiModelProperty("设备是否需要除锈图片")
+	private Integer equipmentRustClearPhotoTake;
+
+	/**
+	 * 设备是否需要除锈图片
+	 */
+	@ApiModelProperty("设备是否需要除锈图片")
+	private String equipmentRustClearPhotoUrl;
+
+	/**
+	 * 设备是否需要除锈图片
+	 */
+	@ApiModelProperty("设备是否需要除锈图片")
+	private Integer equipmentRustClearPhotoTakeAfter;
+
+	/**
+	 * 设备是否需要除锈图片
+	 */
+	@ApiModelProperty("设备是否需要除锈图片")
+	private String equipmentRustClearPhotoUrlAfter;
+
+	/**
+	 * 测站类型
+	 */
+	@ApiModelProperty("测站类型")
+	private String rtuKinds;
+
 	/**
 	 * RTU更换日期
 	 */
@@ -132,23 +610,7 @@ public class EquipmentInspectionReportEntity extends BaseEntity {
 	)
 	private Date rtuReplaceDate;
 
-	/**
-	 * 上报
-	 */
-	@ApiModelProperty("RTU发往县")
-	private Integer datagramToLevel1;
-
-	/**
-	 * 上报
-	 */
-	@ApiModelProperty("RTU发往市")
-	private Integer datagramToLevel2;
 
-	/**
-	 * 上报
-	 */
-	@ApiModelProperty("RTU发往省")
-	private Integer datagramToLevel3;
 
 	/**
 	 * RTU说明
@@ -168,17 +630,6 @@ public class EquipmentInspectionReportEntity extends BaseEntity {
 	@ApiModelProperty("测站运行状态")
 	private Integer rtuStatus;
 
-	/**
-	 * RTU图片是否拍摄
-	 */
-	@ApiModelProperty("RTU图片是否拍摄")
-	private Integer rtuPhotoTake;
-
-	/**
-	 * RTU图片路径
-	 */
-	@ApiModelProperty("RTU图片路径")
-	private String rtuPhotoUrl;
 
 
 	/**
@@ -223,17 +674,7 @@ public class EquipmentInspectionReportEntity extends BaseEntity {
 	@ApiModelProperty("雨量计状态")
 	private Integer rainSensorStatus;
 
-	/**
-	 * 雨量计图片是否拍摄
-	 */
-	@ApiModelProperty("雨量计图片是否拍摄")
-	private Integer rainSensorPhotoTake;
 
-	/**
-	 * 雨量计图片路径
-	 */
-	@ApiModelProperty("雨量计图片路径")
-	private String rainSensorPhotoUrl;
 
 	/**
 	 * 翻斗式雨量计是否更换:0 否,1更换
@@ -290,17 +731,7 @@ public class EquipmentInspectionReportEntity extends BaseEntity {
 	private Integer waterLevelSensorStatus;
 
 
-	/**
-	 * 水位计图片是否拍摄
-	 */
-	@ApiModelProperty("水位计图片是否拍摄")
-	private Integer waterSensorPhotoTake;
 
-	/**
-	 * 水位计图片路径
-	 */
-	@ApiModelProperty("水位计图片路径")
-	private String waterSensorPhotoUrl;
 
 	/**
 	 * 水位计是否更换:0 否,1更换
@@ -355,17 +786,6 @@ public class EquipmentInspectionReportEntity extends BaseEntity {
 	@ApiModelProperty("墒情计状态")
 	private Integer groundWaterSensorStatus;
 
-	/**
-	 * 墒情图片是否拍摄
-	 */
-	@ApiModelProperty("墒情图片是否拍摄")
-	private Integer groundSensorPhotoTake;
-
-	/**
-	 * 墒情图片路径
-	 */
-	@ApiModelProperty("墒情图片路径")
-	private String groundSensorPhotoUrl;
 
 	/**
 	 * 墒情传感器是否更换:0 否,1更换
@@ -421,29 +841,6 @@ public class EquipmentInspectionReportEntity extends BaseEntity {
 	@ApiModelProperty("供电说明")
 	private String powerDesc;
 
-	/**
-	 * 电池图片是否拍摄
-	 */
-	@ApiModelProperty("电池图片是否拍摄")
-	private Integer batteryPhotoTake;
-
-	/**
-	 * 电池图片路径
-	 */
-	@ApiModelProperty("电池图片路径")
-	private String batteryPhotoUrl;
-
-	/**
-	 * 太阳能板图片是否拍摄
-	 */
-	@ApiModelProperty("太阳能板图片是否拍摄")
-	private Integer sunPhotoTake;
-
-	/**
-	 * 太阳能板图片路径
-	 */
-	@ApiModelProperty("太阳能板图片路径")
-	private String sunPhotoUrl;
 
 
 	/**

+ 174 - 52
src/main/java/org/springblade/modules/business/equipment/inspection/report/mapper/EquipmentInspectionReportMapper.xml

@@ -20,12 +20,7 @@
         <result column="lat" property="lat"/>
         <result column="manage_company" property="manageCompany"/>
         <result column="rtu_kinds" property="rtuKinds"/>
-        <result column="rtu_brand" property="rtuBrand"/>
-        <result column="rtu_model" property="rtuModel"/>
         <result column="rtu_replace_date" property="rtuReplaceDate"/>
-        <result column="datagram_to_level1" property="datagramToLevel1"/>
-        <result column="datagram_to_level2" property="datagramToLevel2"/>
-        <result column="datagram_to_level3" property="datagramToLevel3"/>
         <result column="rtu_desc" property="rtuDesc"/>
         <result column="rtu_replace" property="rtuReplace"/>
         <result column="rain_sensor_brand" property="rainSensorBrand"/>
@@ -33,40 +28,31 @@
         <result column="rain_sensor_replace_date" property="rainSensorReplaceDate"/>
         <result column="rain_sensor_desc" property="rainSensorDesc"/>
         <result column="rain_sensor_replace" property="rainSensorReplace"/>
-
         <result column="water_sensor_type" property="waterSensorType"/>
         <result column="water_sensor_brand" property="waterSensorBrand"/>
         <result column="water_sensor_model" property="waterSensorModel"/>
         <result column="water_sensor_replace_date" property="waterSensorReplaceDate"/>
         <result column="water_sensor_desc" property="waterSensorDesc"/>
         <result column="water_sensor_replace" property="waterSensorReplace"/>
-
-
         <result column="ground_sensor_type" property="groundSensorType"/>
         <result column="ground_sensor_brand" property="groundSensorBrand"/>
         <result column="ground_sensor_model" property="groundSensorModel"/>
         <result column="ground_sensor_replace_date" property="groundSensorReplaceDate"/>
         <result column="ground_sensor_desc" property="groundSensorDesc"/>
         <result column="ground_sensor_replace_date" property="groundSensorReplace"/>
-
         <result column="battery_model" property="batteryModel"/>
         <result column="battery_replace_date" property="batteryReplaceDate"/>
         <result column="sun_power_model" property="sunPowerModel"/>
         <result column="sun_power_replace_date" property="sunPowerReplaceDate"/>
         <result column="power_desc" property="powerDesc"/>
         <result column="sun_power_replace" property="sunPowerReplace"/>
-
         <result column="sim_ccid" property="simCcid"/>
         <result column="sim_pay" property="simPay"/>
         <result column="sim_pay_end_date" property="simPayEndDate"/>
         <result column="network_desc" property="networkDesc"/>
-
-
         <result column="satellite" property="satellite"/>
         <result column="satellite_model" property="satelliteModel"/>
         <result column="satellite_desc" property="satelliteDesc"/>
-
-
         <result column="rtu_status" property="rtuStatus"/>
         <result column="rain_sensor_status" property="rainSensorStatus"/>
         <result column="water_level_sensor_status" property="waterLevelSensorStatus"/>
@@ -79,24 +65,104 @@
         <result column="ground_water_sensor_active" property="groundWaterSensorActive"/>
         <result column="network_active" property="networkActive"/>
         <result column="satellite_active" property="satelliteActive"/>
-
         <result column="network_overdue" property="networkOverdue"/>
-        <result column="base_photo1_take" property="basePhoto1Take"/>
-        <result column="base_photo1_url" property="basePhoto1Url"/>
-        <result column="base_photo2_take" property="basePhoto2Take"/>
-        <result column="base_photo2_url" property="basePhoto2Url"/>
-        <result column="rtu_photo_take" property="rtuPhotoTake"/>
-        <result column="rtu_photo_url" property="rtuPhotoUrl"/>
-        <result column="rain_sensor_photo_take" property="rainSensorPhotoTake"/>
-        <result column="rain_sensor_photo_url" property="rainSensorPhotoUrl"/>
-        <result column="water_sensor_photo_take" property="waterSensorPhotoTake"/>
-        <result column="water_sensor_photo_url" property="waterSensorPhotoUrl"/>
-        <result column="ground_sensor_photo_take" property="groundSensorPhotoTake"/>
-        <result column="ground_sensor_photo_url" property="groundSensorPhotoUrl"/>
-        <result column="battery_photo_take" property="batteryPhotoTake"/>
-        <result column="battery_photo_url" property="batteryPhotoUrl"/>
-        <result column="sun_photo_take" property="sunPhotoTake"/>
-        <result column="sun_photo_url" property="sunPhotoUrl"/>
+
+        <result column="site_water_damage_photo_take" property="siteWaterDamagePhotoTake"/>
+        <result column="site_water_damage_photo_url" property="siteWaterDamagePhotoUrl"/>
+        <result column="site_water_damage_photo_take_after" property="siteWaterDamagePhotoTakeAfter"/>
+        <result column="site_water_damage_photo_url_after" property="siteWaterDamagePhotoUrlAfter"/>
+
+        <result column="site_damage_photo_take" property="siteDamagePhotoTake"/>
+        <result column="site_damage_photo_url" property="siteDamagePhotoUrl"/>
+        <result column="site_damage_photo_take_after" property="siteDamagePhotoTakeAfter"/>
+        <result column="site_damage_photo_url_after" property="siteDamagePhotoUrlAfter"/>
+
+        <result column="site_lose_photo_take" property="siteLosePhotoTake"/>
+        <result column="site_lose_photo_url" property="siteLosePhotoUrl"/>
+        <result column="site_lose_photo_take_after" property="siteLosePhotoTakeAfter"/>
+        <result column="site_lose_photo_url_after" property="siteLosePhotoUrlAfter"/>
+
+        <result column="site_fix_photo_take" property="siteFixPhotoTake"/>
+        <result column="site_fix_photo_url" property="siteFixPhotoUrl"/>
+        <result column="site_fix_photo_take_after" property="siteFixPhotoTakeAfter"/>
+        <result column="site_fix_photo_url_after" property="siteFixPhotoUrlAfter"/>
+
+        <result column="sensor_status_photo_take" property="sensorStatusPhotoTake"/>
+        <result column="sensor_status_photo_url" property="sensorStatusPhotoUrl"/>
+        <result column="sensor_status_photo_take_after" property="sensorStatusPhotoTakeAfter"/>
+        <result column="sensor_status_photo_url_after" property="sensorStatusPhotoUrlAfter"/>
+
+        <result column="equipment_integrity_photo_take" property="equipmentIntegrityPhotoTake"/>
+        <result column="equipment_integrity_photo_url" property="equipmentIntegrityPhotoUrl"/>
+        <result column="equipment_integrity_photo_take_after" property="equipmentIntegrityPhotoTakeAfter"/>
+        <result column="equipment_integrity_photo_url_after" property="equipmentIntegrityPhotoUrlAfter"/>
+
+        <result column="sensor_maintenance_block_up_clear_photo_take" property="sensorMaintenanceBlockUpClearPhotoTake"/>
+        <result column="sensor_maintenance_block_up_clear_photo_url" property="sensorMaintenanceBlockUpClearPhotoUrl"/>
+        <result column="sensor_maintenance_block_up_clear_photo_take_after" property="sensorMaintenanceBlockUpClearPhotoTakeAfter"/>
+        <result column="sensor_maintenance_block_up_clear_photo_url_after" property="sensorMaintenanceBlockUpClearPhotoUrlAfter"/>
+
+        <result column="sensor_maintenance_clear_photo_take" property="sensorMaintenanceClearPhotoTake"/>
+        <result column="sensor_maintenance_clear_photo_url" property="sensorMaintenanceClearPhotoUrl"/>
+        <result column="sensor_maintenance_clear_photo_take_after" property="sensorMaintenanceClearPhotoTakeAfter"/>
+        <result column="sensor_maintenance_clear_photo_url_after" property="sensorMaintenanceClearPhotoUrlAfter"/>
+
+        <result column="equipment_precision_photo_take" property="equipmentPrecisionPhotoTake"/>
+        <result column="equipment_precision_photo_url" property="equipmentPrecisionPhotoUrl"/>
+        <result column="equipment_precision_photo_take_after" property="equipmentPrecisionPhotoTakeAfter"/>
+        <result column="equipment_precision_photo_url_after" property="equipmentPrecisionPhotoUrlAfter"/>
+
+        <result column="equipment_eelimination_clear_photo_take" property="equipmentEeliminationClearPhotoTake"/>
+        <result column="equipment_eelimination_clear_photo_url" property="equipmentEeliminationClearPhotoUrl"/>
+        <result column="equipment_eelimination_clear_photo_take_after" property="equipmentEeliminationClearPhotoTakeAfter"/>
+        <result column="equipment_eelimination_clear_photo_url_after" property="equipmentEeliminationClearPhotoUrlAfter"/>
+
+        <result column="equipment_rust_clear_photo_take" property="equipmentRustClearPhotoTake"/>
+        <result column="equipment_rust_clear_photo_url" property="equipmentRustClearPhotoUrl"/>
+        <result column="equipment_rust_clear_photo_take_after" property="equipmentRustClearPhotoTakeAfter"/>
+        <result column="equipment_rust_clear_photo_url_after" property="equipmentRustClearPhotoUrlAfter"/>
+
+        <result column="is_rain" property="isRain"/>
+        <result column="is_water_level" property="isWaterLevel"/>
+        <result column="is_ground" property="isGround"/>
+        <result column="is_camera" property="isCamera"/>
+        <result column="isp" property="isp"/>
+        <result column="network_type" property="networkType"/>
+        <result column="sim_id" property="simId"/>
+        <result column="datagram_ip" property="datagramIp"/>
+        <result column="platform" property="platform"/>
+        <result column="sensor_model" property="sensorModel"/>
+        <result column="sensor_brand" property="sensorBrand"/>
+        <result column="sensor_uuid" property="sensorUuid"/>
+        <result column="rtu_uuid" property="rtuUuid"/>
+        <result column="rtu_brand" property="rtuBrand"/>
+        <result column="rtu_model" property="rtuModel"/>
+        <result column="outside_site_waterdamage" property="outsideSiteWaterdamage"/>
+        <result column="outside_site_damage" property="outsideSiteDamage"/>
+        <result column="outside_site_fix" property="outsideSiteFix"/>
+        <result column="outside_site_lose" property="outsideSiteLose"/>
+        <result column="outside_sensor_status" property="outsideSensorStatus"/>
+        <result column="outside_equipment_integrity" property="outsideEquipmentIntegrity"/>
+        <result column="outside_sensor_maintenance_blockup_clear" property="outsideSensorMaintenanceBlockupClear"/>
+        <result column="outside_sensor_maintenance_clear" property="outsideSensorMaintenanceClear"/>
+        <result column="outside_equipment_precision" property="outsideEquipmentPrecision"/>
+        <result column="outside_equipment_eelimination_clear" property="outsideEquipmentEeliminationClear"/>
+        <result column="outside_equipment_rust_clear" property="outsideEquipmentRustClear"/>
+        <result column="secure_ground_wire" property="secureGroundWire"/>
+        <result column="secure_voltage" property="secureVoltage"/>
+        <result column="secure_battery" property="secureBattery"/>
+        <result column="secure_power" property="securePower"/>
+        <result column="network_signal" property="networkSignal"/>
+        <result column="network_equipment_wire_work" property="networkEquipmentWireWork"/>
+        <result column="network_equipment_wire_maintenance" property="networkEquipmentWireMaintenance"/>
+        <result column="data_data_correct" property="dataDataCorrect"/>
+        <result column="data_datagram_ontime" property="dataDatagramOntime"/>
+        <result column="data_sensor_test" property="dataSensorTest"/>
+        <result column="site_status_desc" property="siteStatusDesc"/>
+        <result column="service_desc" property="serviceDesc"/>
+        <result column="service_conclusion" property="serviceConclusion"/>
+        <result column="remain_question" property="remainQuestion"/>
+        <result column="suggest" property="suggest"/>
     </resultMap>
 
 
@@ -117,12 +183,8 @@
         <result column="lat" property="lat"/>
         <result column="manage_company" property="manageCompany"/>
         <result column="rtu_kinds" property="rtuKinds"/>
-        <result column="rtu_brand" property="rtuBrand"/>
-        <result column="rtu_model" property="rtuModel"/>
         <result column="rtu_replace_date" property="rtuReplaceDate"/>
-        <result column="datagram_to_level1" property="datagramToLevel1"/>
-        <result column="datagram_to_level2" property="datagramToLevel2"/>
-        <result column="datagram_to_level3" property="datagramToLevel3"/>
+
         <result column="rtu_desc" property="rtuDesc"/>
 
         <result column="rain_sensor_brand" property="rainSensorBrand"/>
@@ -173,22 +235,30 @@
         <result column="network_active" property="networkActive"/>
         <result column="satellite_active" property="satelliteActive"/>
         <result column="network_overdue" property="networkOverdue"/>
-        <result column="base_photo1_take" property="basePhoto1Take"/>
-        <result column="base_photo1_url" property="basePhoto1Url"/>
-        <result column="base_photo2_take" property="basePhoto2Take"/>
-        <result column="base_photo2_url" property="basePhoto2Url"/>
-        <result column="rtu_photo_take" property="rtuPhotoTake"/>
-        <result column="rtu_photo_url" property="rtuPhotoUrl"/>
-        <result column="rain_sensor_photo_take" property="rainSensorPhotoTake"/>
-        <result column="rain_sensor_photo_url" property="rainSensorPhotoUrl"/>
-        <result column="water_sensor_photo_take" property="waterSensorPhotoTake"/>
-        <result column="water_sensor_photo_url" property="waterSensorPhotoUrl"/>
-        <result column="ground_sensor_photo_take" property="groundSensorPhotoTake"/>
-        <result column="ground_sensor_photo_url" property="groundSensorPhotoUrl"/>
-        <result column="battery_photo_take" property="batteryPhotoTake"/>
-        <result column="battery_photo_url" property="batteryPhotoUrl"/>
-        <result column="sun_photo_take" property="sunPhotoTake"/>
-        <result column="sun_photo_url" property="sunPhotoUrl"/>
+
+
+        <result column="site_water_damage_photo_take" property="siteWaterDamagePhotoTake"/>
+        <result column="site_water_damage_photo_url" property="siteWaterDamagePhotoUrl"/>
+        <result column="site_damage_photo_take" property="siteDamagePhotoTake"/>
+        <result column="site_damage_photo_url" property="siteDamagePhotoUrl"/>
+        <result column="site_lose_photo_take" property="siteLosePhotoTake"/>
+        <result column="site_lose_photo_url" property="siteLosePhotoUrl"/>
+        <result column="site_fix_photo_take" property="siteFixPhotoTake"/>
+        <result column="site_fix_photo_url" property="siteFixPhotoUrl"/>
+        <result column="sensor_status_photo_take" property="sensorStatusPhotoTake"/>
+        <result column="sensor_status_photo_url" property="sensorStatusPhotoUrl"/>
+        <result column="equipment_integrity_photo_take" property="equipmentIntegrityPhotoTake"/>
+        <result column="equipment_integrity_photo_url" property="equipmentIntegrityPhotoUrl"/>
+        <result column="sensor_maintenance_block_up_clear_photo_take" property="sensorMaintenanceBlockUpClearPhotoTake"/>
+        <result column="sensor_maintenance_block_up_clear_photo_url" property="sensorMaintenanceBlockUpClearPhotoUrl"/>
+        <result column="sensor_maintenance_clear_photo_take" property="sensorMaintenanceClearPhotoTake"/>
+        <result column="sensor_maintenance_clear_photo_url" property="sensorMaintenanceClearPhotoUrl"/>
+        <result column="equipment_precision_photo_take" property="equipmentPrecisionPhotoTake"/>
+        <result column="equipment_precision_photo_url" property="equipmentPrecisionPhotoUrl"/>
+        <result column="equipment_eelimination_clear_photo_take" property="equipmentEeliminationClearPhotoTake"/>
+        <result column="equipment_eelimination_clear_photo_url" property="equipmentEeliminationClearPhotoUrl"/>
+        <result column="equipment_rust_clear_photo_take" property="equipmentRustClearPhotoTake"/>
+        <result column="equipment_rust_clear_photo_url" property="equipmentRustClearPhotoUrl"/>
 
         <result column="org_id" property="orgId"/>
         <result column="rtu_name" property="rtuName"/>
@@ -196,6 +266,58 @@
         <result column="org_name" property="orgName"/>
         <result column="ad_city" property="adCity"/>
         <result column="ad_dist" property="adDist"/>
+
+
+        <result column="is_rain" property="isRain"/>
+        <result column="is_water_level" property="isWaterLevel"/>
+        <result column="is_ground" property="isGround"/>
+        <result column="is_camera" property="isCamera"/>
+        <result column="isp" property="isp"/>
+        <result column="network_type" property="networkType"/>
+        <result column="sim_id" property="simId"/>
+        <result column="datagram_ip" property="datagramIp"/>
+        <result column="platform" property="platform"/>
+
+        <result column="sensor_model" property="sensorModel"/>
+        <result column="sensor_brand" property="sensorBrand"/>
+        <result column="sensor_uuid" property="sensorUuid"/>
+        <result column="rtu_uuid" property="rtuUuid"/>
+        <result column="rtu_brand" property="rtuBrand"/>
+        <result column="rtu_model" property="rtuModel"/>
+
+        <result column="outside_site_waterdamage" property="outsideSiteWaterdamage"/>
+        <result column="outside_site_damage" property="outsideSiteDamage"/>
+        <result column="outside_site_fix" property="outsideSiteFix"/>
+        <result column="outside_site_lose" property="outsideSiteLose"/>
+        <result column="outside_sensor_status" property="outsideSensorStatus"/>
+        <result column="outside_equipment_integrity" property="outsideEquipmentIntegrity"/>
+        <result column="outside_sensor_maintenance_blockup_clear" property="outsideSensorMaintenanceBlockupClear"/>
+        <result column="outside_sensor_maintenance_clear" property="outsideSensorMaintenanceClear"/>
+        <result column="outside_equipment_precision" property="outsideEquipmentPrecision"/>
+        <result column="outside_equipment_eelimination_clear" property="outsideEquipmentEeliminationClear"/>
+        <result column="outside_equipment_rust_clear" property="outsideEquipmentRustClear"/>
+
+
+        <result column="secure_ground_wire" property="secureGroundWire"/>
+        <result column="secure_voltage" property="secureVoltage"/>
+        <result column="secure_battery" property="secureBattery"/>
+        <result column="secure_power" property="securePower"/>
+
+
+        <result column="network_signal" property="networkSignal"/>
+        <result column="network_equipment_wire_work" property="networkEquipmentWireWork"/>
+        <result column="network_equipment_wire_maintenance" property="networkEquipmentWireMaintenance"/>
+
+
+        <result column="data_data_correct" property="dataDataCorrect"/>
+        <result column="data_datagram_ontime" property="dataDatagramOntime"/>
+        <result column="data_sensor_test" property="dataSensorTest"/>
+
+        <result column="site_status_desc" property="siteStatusDesc"/>
+        <result column="service_desc" property="serviceDesc"/>
+        <result column="service_conclusion" property="serviceConclusion"/>
+        <result column="remain_question" property="remainQuestion"/>
+        <result column="suggest" property="suggest"/>
     </resultMap>
 
     <select id="selectPage" resultMap="reportVOResultMap">

+ 314 - 4
src/main/java/org/springblade/modules/business/rtumanage/controller/RtuManageController.java

@@ -6,6 +6,10 @@
  */
 package org.springblade.modules.business.rtumanage.controller;
 
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.support.ExcelTypeEnum;
+import com.alibaba.excel.write.metadata.WriteSheet;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -15,10 +19,14 @@ import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 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.oss.model.BladeFile;
+import org.springblade.core.oss.model.OssFile;
 import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
@@ -26,20 +34,31 @@ import org.springblade.core.tool.utils.Func;
 import org.springblade.modules.baseinfo.project.entity.ProjectInfoEntity;
 import org.springblade.modules.baseinfo.project.service.IProjectBaseInfoService;
 import org.springblade.modules.baseinfo.rtu.dto.RtuInfoDTO;
+import org.springblade.modules.baseinfo.rtu.entity.RtuInfoEntity;
+import org.springblade.modules.baseinfo.rtu.service.IRtuBaseInfoService;
+import org.springblade.modules.business.rtumanage.entity.EquipmentInfoExportEntity;
 import org.springblade.modules.business.rtumanage.entity.TreeNodeEntity;
 import org.springblade.modules.business.rtumanage.entity.RtuStatusEntity;
 import org.springblade.modules.business.rtumanage.service.IRtuManageService;
 import org.springblade.modules.business.rtumanage.vo.RtuStatusVO;
 import org.springblade.modules.business.rtumanage.wrapper.RtuManageWrapper;
+import org.springblade.modules.resource.builder.oss.OssBuilder;
 import org.springblade.modules.system.entity.Dept;
+import org.springblade.modules.system.entity.DictBiz;
 import org.springblade.modules.system.service.IDeptService;
+import org.springblade.modules.system.service.IDictBizService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
-import java.util.ArrayList;
-import java.util.List;
+import javax.annotation.Resource;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.util.*;
 
 /***
  * Date:2022/8/18
@@ -50,15 +69,27 @@ import java.util.List;
  * Remark:认为有必要的其他信息
  */
 
+@Slf4j
 @RestController
 @RequestMapping("galaxy-business/rtu/manage")
-@AllArgsConstructor
+@RequiredArgsConstructor
 @Api(value = "测站设备管理工作台", tags = "测站设备管理工作台")
 public class RtuManageController extends BladeController {
 
 	private final IRtuManageService rtuManageService;
 	private final IDeptService deptService;
 	private final IProjectBaseInfoService projectBaseInfoService;
+	private final IRtuBaseInfoService rtuBaseInfoService;
+	private final IDictBizService dictBizService;
+
+	@Resource
+	private OssBuilder ossBuilder;
+
+	@Value("${spring.excel-export-config.workdir}")
+	private String exportConfigWorkDir;
+
+	@Value("${spring.excel-export-config.template}")
+	private String exportConfigTemplate;
 
 	@GetMapping("/tree")
 	@ApiOperationSupport(order = 2)
@@ -178,6 +209,7 @@ public class RtuManageController extends BladeController {
 		@ApiImplicitParam(name = "rtuName", value = "测站名称", paramType = "query", dataType = "string"),
 		@ApiImplicitParam(name = "rtuCode", value = "测站编码", paramType = "query", dataType = "string"),
 		@ApiImplicitParam(name = "adCode", value = "行政区划编码", paramType = "query", dataType = "string"),
+		@ApiImplicitParam(name = "orgId", value = "组织ID", paramType = "query", dataType = "long"),
 	})
 	@ApiOperationSupport(order = 3)
 	@ApiOperation(value = "分页", notes = "传入RtuInfoEntity")
@@ -185,8 +217,19 @@ public class RtuManageController extends BladeController {
 		BladeUser user = AuthUtil.getUser();
 		if (BusinessConstant.ROLE_ORG_ADMIN.equals(user.getRoleName()) || BusinessConstant.ROLE_ORG_SERVICE_PERSON.equals(user.getRoleName())) {
 			rtuInfoDTO.setOrgId(Func.toLong(user.getDeptId()));
+		}
+		if (null != rtuInfoDTO.getRtuCode() && rtuInfoDTO.getRtuCode().length() > 0) {
+			if (Func.isNumeric(rtuInfoDTO.getRtuCode())) {
+				rtuInfoDTO.setRtuName(null);
+			} else {
+				rtuInfoDTO.setRtuCode(null);
+			}
 		} else {
-			rtuInfoDTO.setOrgId(null);
+			rtuInfoDTO.setRtuCode(null);
+			rtuInfoDTO.setRtuName(null);
+		}
+		if (rtuInfoDTO.getAdCode() != null && "".equals(rtuInfoDTO.getAdCode())) {
+			rtuInfoDTO.setAdCode(null);
 		}
 		IPage<RtuStatusVO> pages = rtuManageService.selectPage(Condition.getPage(query), rtuInfoDTO);
 		List<RtuStatusVO> list = pages.getRecords();
@@ -195,4 +238,271 @@ public class RtuManageController extends BladeController {
 		}
 		return R.data(pages);
 	}
+
+	@GetMapping("/equipmentlist/export")
+	@ApiImplicitParams({
+		@ApiImplicitParam(name = "adCode", value = "行政区划编码", paramType = "query", dataType = "string"),
+		@ApiImplicitParam(name = "adName", value = "行政区划名称", paramType = "query", dataType = "string")
+	})
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入RtuInfoEntity")
+	public R<Map<String, Object>> equipmentlistExport(@ApiIgnore RtuInfoDTO rtuInfoDTO) {
+		Map<String, Object> data = new HashMap<>();
+		data.put("status",0);
+		String templateFilePath = this.exportConfigWorkDir + File.separator + this.exportConfigTemplate;
+		String outpath = this.exportConfigWorkDir + File.separator + Func.formatDate(new Date());
+		File dir = new File(outpath);
+		if (!dir.exists()) {
+			if (!dir.mkdir()) {
+				return R.fail("目录创建失败");
+			}
+		}
+		String outFileName = Func.randomUUID() + ".xlsx";
+		outpath += File.separator + outFileName;
+		List<RtuInfoEntity> rtuInfoEntityList = rtuBaseInfoService.rtuList(rtuInfoDTO);
+		List<EquipmentInfoExportEntity> list = new LinkedList<>();
+		int index = 1;
+		for (RtuInfoEntity rtuInfoEntity : rtuInfoEntityList) {
+			EquipmentInfoExportEntity entity = new EquipmentInfoExportEntity();
+			entity.setIndex(index);
+			if (rtuInfoEntity.getAdCity() != null) {
+				entity.setAdCity(rtuInfoEntity.getAdCity());
+			} else {
+				entity.setAdCity("");
+			}
+			if (rtuInfoEntity.getAdDist() != null) {
+				entity.setAdDist(rtuInfoEntity.getAdDist());
+			} else {
+				entity.setAdDist("");
+			}
+			if (rtuInfoEntity.getRtuName() != null) {
+				entity.setRtuName(rtuInfoEntity.getRtuName());
+			} else {
+				entity.setRtuName("");
+			}
+			entity.setRtuCode(rtuInfoEntity.getRtuCode());
+			String rtuKindDesc = null;
+			if (rtuInfoEntity.getIsRain() != null && rtuInfoEntity.getIsRes() != null && rtuInfoEntity.getIsRiver() != null && rtuInfoEntity.getIsGround() != null) {
+				if (rtuInfoEntity.getIsRain() == 1 && (rtuInfoEntity.getIsRes() == 1 || rtuInfoEntity.getIsRiver() == 1)) {
+					rtuKindDesc = "水位雨量一体站";
+				} else if (rtuInfoEntity.getIsRain() == 1 && rtuInfoEntity.getIsGround() == 1) {
+					rtuKindDesc = "雨量墒情一体站";
+				} else if (rtuInfoEntity.getIsRain() == 1) {
+					rtuKindDesc = "雨量站";
+				} else if (rtuInfoEntity.getIsRes() == 1 || rtuInfoEntity.getIsRiver() == 1) {
+					rtuKindDesc = "水位站";
+				} else if (rtuInfoEntity.getIsGround() == 1) {
+					rtuKindDesc = "墒情站";
+				}
+			}
+			if (rtuKindDesc != null) {
+				entity.setRtuKindDesc(rtuKindDesc);
+			} else {
+				entity.setRtuKindDesc("");
+			}
+			if (rtuInfoEntity.getLocationDesc() != null) {
+				entity.setLocationDesc(rtuInfoEntity.getLocationDesc());
+			} else {
+				entity.setLocationDesc("");
+			}
+			if (rtuInfoEntity.getLng() != null) {
+				entity.setLng(rtuInfoEntity.getLng());
+			} else {
+				entity.setLng("");
+			}
+			if (rtuInfoEntity.getLat() != null) {
+				entity.setLat(rtuInfoEntity.getLat());
+			} else {
+				entity.setLat("");
+			}
+			if (rtuInfoEntity.getManageCompany() != null) {
+				entity.setManageCompany(rtuInfoEntity.getManageCompany());
+			} else {
+				entity.setManageCompany("");
+			}
+			if (rtuInfoEntity.getRtuBrand() != null) {
+				entity.setRtuBrand(rtuInfoEntity.getRtuBrand());
+			} else {
+				entity.setRtuBrand("");
+			}
+			if (rtuInfoEntity.getRtuModel() != null) {
+				entity.setRtuModel(rtuInfoEntity.getRtuModel());
+			} else {
+				entity.setRtuModel("");
+			}
+			if (rtuInfoEntity.getRtuReplaceDate() != null) {
+				entity.setRtuReplaceDate(Func.formatDate(rtuInfoEntity.getRtuReplaceDate()));
+			}else{
+				entity.setRtuReplaceDate("");
+			}
+			if (rtuInfoEntity.getRtuName() != null) {
+				entity.setRtuName(rtuInfoEntity.getRtuName());
+			} else {
+				entity.setRtuName("");
+			}
+			if (rtuInfoEntity.getDatagramToSheng() != null) {
+				if (rtuInfoEntity.getDatagramToSheng() == 1) {
+					entity.setDatagramToSheng("是");
+				} else {
+					entity.setDatagramToSheng("否");
+				}
+			} else {
+				entity.setDatagramToSheng("");
+			}
+			if (rtuInfoEntity.getDatagramToShi() != null) {
+				if (rtuInfoEntity.getDatagramToShi() == 1) {
+					entity.setDatagramToShi("是");
+				} else {
+					entity.setDatagramToShi("否");
+				}
+			} else {
+				entity.setDatagramToShi("");
+			}
+			if (rtuInfoEntity.getDatagramToQu() != null) {
+				if (rtuInfoEntity.getDatagramToQu() == 1) {
+					entity.setDatagramToQu("是");
+				} else {
+					entity.setDatagramToQu("否");
+				}
+			} else {
+				entity.setDatagramToQu("");
+			}
+			if (rtuInfoEntity.getRainSensorBrand() != null) {
+				entity.setRainSensorBrand(rtuInfoEntity.getRainSensorBrand());
+			} else {
+				entity.setRainSensorBrand("");
+			}
+			if (rtuInfoEntity.getRainSensorModel() != null) {
+				entity.setRainSensorModel(rtuInfoEntity.getRainSensorModel());
+			} else {
+				entity.setRainSensorModel("");
+			}
+
+			if (rtuInfoEntity.getRainSensorReplaceDate() != null) {
+				entity.setRainSensorReplaceDate(Func.formatDate(rtuInfoEntity.getRainSensorReplaceDate()));
+			}else{
+				entity.setRainSensorReplaceDate("");
+			}
+			if (rtuInfoEntity.getWaterSensorType() != null) {
+				DictBiz dictBiz = dictBizService.getById(rtuInfoEntity.getWaterSensorType());
+				entity.setWaterSensorType(dictBiz.getDictValue());
+			} else {
+				entity.setWaterSensorType("");
+			}
+			if (rtuInfoEntity.getWaterSensorBrand() != null) {
+				entity.setWaterSensorBrand(rtuInfoEntity.getWaterSensorBrand());
+			} else {
+				entity.setWaterSensorBrand("");
+			}
+			if (rtuInfoEntity.getWaterSensorModel() != null) {
+				entity.setWaterSensorModel(rtuInfoEntity.getWaterSensorModel());
+			} else {
+				entity.setWaterSensorModel("");
+			}
+			if (rtuInfoEntity.getWaterSensorReplaceDate() != null) {
+				entity.setWaterSensorReplaceDate(Func.formatDate(rtuInfoEntity.getWaterSensorReplaceDate()));
+			}else{
+				entity.setWaterSensorReplaceDate("");
+			}
+
+
+			if (rtuInfoEntity.getGroundSensorType() != null) {
+				DictBiz dictBiz = dictBizService.getById(rtuInfoEntity.getGroundSensorType());
+				entity.setGroundSensorType(dictBiz.getDictValue());
+			} else {
+				entity.setGroundSensorType("");
+			}
+			if (rtuInfoEntity.getGroundSensorBrand() != null) {
+				entity.setGroundSensorBrand(rtuInfoEntity.getGroundSensorBrand());
+			} else {
+				entity.setGroundSensorBrand("");
+			}
+			if (rtuInfoEntity.getGroundSensorModel() != null) {
+				entity.setGroundSensorModel(rtuInfoEntity.getGroundSensorModel());
+			} else {
+				entity.setGroundSensorModel("");
+			}
+			if (rtuInfoEntity.getGroundSensorReplaceDate() != null) {
+				entity.setGroundSensorReplaceDate(Func.formatDate(rtuInfoEntity.getGroundSensorReplaceDate()));
+			}else{
+				entity.setGroundSensorReplaceDate("");
+			}
+
+			if (rtuInfoEntity.getBatteryModel() != null) {
+				entity.setBatteryModel(rtuInfoEntity.getBatteryModel());
+			} else {
+				entity.setBatteryModel("");
+			}
+			if (rtuInfoEntity.getBatteryReplaceDate() != null) {
+				entity.setBatteryReplaceDate(Func.formatDate(rtuInfoEntity.getBatteryReplaceDate()));
+			}else{
+				entity.setBatteryReplaceDate("");
+			}
+
+			if (rtuInfoEntity.getSunPowerModel() != null) {
+				entity.setSunPowerModel(rtuInfoEntity.getSunPowerModel());
+			} else {
+				entity.setSunPowerModel("");
+			}
+			if (rtuInfoEntity.getNetworkSimId() != null) {
+				entity.setNetworkSimId(rtuInfoEntity.getNetworkSimId());
+			} else {
+				entity.setNetworkSimId("");
+			}
+			if (rtuInfoEntity.getNetworkPayer() != null) {
+				entity.setNetworkPayer(rtuInfoEntity.getNetworkPayer());
+			} else {
+				entity.setNetworkPayer("");
+			}
+			if (rtuInfoEntity.getNetworkPayEndDate() != null) {
+				entity.setNetworkPayEndDate(Func.formatDate(rtuInfoEntity.getNetworkPayEndDate()));
+			}else{
+				entity.setNetworkPayEndDate("");
+			}
+
+			if (rtuInfoEntity.getIsSatellite() != null) {
+				if (rtuInfoEntity.getIsSatellite() == 1) {
+					entity.setIsSatellite("是");
+				} else {
+					entity.setIsSatellite("否");
+				}
+			} else {
+				entity.setIsSatellite("");
+			}
+			if (rtuInfoEntity.getSatelliteModel() != null) {
+				DictBiz dictBiz = dictBizService.getById(rtuInfoEntity.getGroundSensorType());
+				entity.setSatelliteModel(dictBiz.getDictValue());
+			} else {
+				entity.setSatelliteModel("");
+			}
+			if (rtuInfoEntity.getRemark() != null) {
+				entity.setRemark(rtuInfoEntity.getRemark());
+			} else {
+				entity.setRemark("");
+			}
+			list.add(entity);
+			index += 1;
+		}
+		ExcelWriter excelWriter = EasyExcel.write(outpath).withTemplate(templateFilePath).excelType(ExcelTypeEnum.XLSX).build();
+		WriteSheet writeSheet = EasyExcel.writerSheet("站点信息统计表").build();
+		excelWriter.write(list, writeSheet);
+		excelWriter.finish();
+		try {
+			FileInputStream fileInputStream = new FileInputStream(new File(outpath));
+			BladeFile bladeFile = ossBuilder.template().putFile(outFileName, fileInputStream);
+			String ossPath = bladeFile.getName();
+			String p = bladeFile.getDomain();
+			log.info(ossPath);
+			log.info(p);
+			data.put("name",ossPath);
+			data.put("url",ossPath);
+			data.put("filename",rtuInfoDTO.getAdName());
+			data.put("status",1);
+		} catch (FileNotFoundException e) {
+			e.printStackTrace();
+		}
+		return R.data(data);
+	}
+
+
 }

+ 136 - 0
src/main/java/org/springblade/modules/business/rtumanage/entity/EquipmentInfoExportEntity.java

@@ -0,0 +1,136 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/12/11
+ */
+package org.springblade.modules.business.rtumanage.entity;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import com.alibaba.excel.EasyExcel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/***
+ * Date:2022/12/11
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+public class EquipmentInfoExportEntity {
+	@ExcelProperty(index = 0)
+	private Integer index;
+
+	@ExcelProperty(index = 1)
+	private String adCity;
+
+	@ExcelProperty(index = 2)
+	private String adDist;
+
+	@ExcelProperty(index = 3)
+	private String rtuName;
+
+	@ExcelProperty(index = 4)
+	private String rtuCode;
+
+	@ExcelProperty(index = 5)
+	private String rtuKindDesc;
+
+	@ExcelProperty(index = 6)
+	private String locationDesc;
+
+	@ExcelProperty(index = 7)
+	private String lng;
+
+	@ExcelProperty(index = 8)
+	private String lat;
+
+	@ExcelProperty(index = 9)
+	private String manageCompany;
+
+	@ExcelProperty(index = 10)
+	private String rtuBrand;
+
+	@ExcelProperty(index = 11)
+	private String rtuModel;
+
+	@ExcelProperty(index = 12)
+	private String rtuReplaceDate;
+
+	@ExcelProperty(index = 13)
+	private String datagramToSheng;
+
+	@ExcelProperty(index = 14)
+	private String datagramToShi;
+
+	@ExcelProperty(index = 15)
+	private String datagramToQu;
+
+	@ExcelProperty(index = 16)
+	private String rainSensorBrand;
+
+	@ExcelProperty(index = 17)
+	private String rainSensorModel;
+
+	@ExcelProperty(index = 18)
+	private String rainSensorReplaceDate;
+
+	@ExcelProperty(index = 19)
+	private String waterSensorType;
+
+	@ExcelProperty(index = 20)
+	private String waterSensorBrand;
+
+	@ExcelProperty(index = 21)
+	private String waterSensorModel;
+
+	@ExcelProperty(index = 22)
+	private String waterSensorReplaceDate;
+
+	@ExcelProperty(index = 23)
+	private String groundSensorType;
+
+	@ExcelProperty(index = 24)
+	private String groundSensorBrand;
+
+	@ExcelProperty(index = 25)
+	private String groundSensorModel;
+
+	@ExcelProperty(index = 26)
+	private String groundSensorReplaceDate;
+
+	@ExcelProperty(index = 27)
+	private String batteryModel;
+
+	@ExcelProperty(index = 28)
+	private String batteryReplaceDate;
+
+	@ExcelProperty(index = 29)
+	private String sunPowerModel;
+
+	@ExcelProperty(index = 30)
+	private String networkSimId;
+
+	@ExcelProperty(index = 31)
+	private String networkPayer;
+
+	@ExcelProperty(index = 32)
+	private String networkPayEndDate;
+
+	@ExcelProperty(index = 33)
+	private String isSatellite;
+
+	@ExcelProperty(index = 34)
+	private String satelliteModel;
+
+	@ExcelProperty(index = 35)
+	private String remark;
+
+}

+ 2 - 0
src/main/java/org/springblade/modules/business/rtumanage/mapper/RtuManageMapper.xml

@@ -46,6 +46,8 @@
         <result column="is_rain" property="isRain"/>
         <result column="is_river" property="isRiver"/>
         <result column="is_res" property="isRes"/>
+        <result column="is_ground" property="isGround"/>
+
 
         <result column="drp" property="drp"/>
         <result column="rz" property="rz"/>

+ 5 - 0
src/main/java/org/springblade/modules/business/rtumanage/vo/RtuStatusVO.java

@@ -105,6 +105,11 @@ public class RtuStatusVO extends RtuStatusEntity {
 	@ApiModelProperty(value = "是否水库站")
 	private Long isRes;
 
+	/**
+	 * 是否墒情站
+	 */
+	@ApiModelProperty(value = "是否墒情站")
+	private Long isGround;
 
 	/**
 	 * 降水

+ 43 - 18
src/main/java/org/springblade/modules/business/rtumanage/wrapper/RtuManageWrapper.java

@@ -62,32 +62,57 @@ public class RtuManageWrapper extends BaseEntityWrapper<RtuStatusEntity, RtuStat
 	}
 
 	public void toVoInfo(RtuStatusVO rtuStatusVO) {
+		String areaName = "";
+		if (rtuStatusVO.getAdCity() != null) {
+			areaName += rtuStatusVO.getAdCity();
+		}
+		if (rtuStatusVO.getAdDist() != null) {
+			if (areaName.length() > 0) {
+				areaName += "/";
+			}
+			areaName += rtuStatusVO.getAdDist();
+		}
+		rtuStatusVO.setAreaName(areaName);
 
-		rtuStatusVO.setAreaName(rtuStatusVO.getAdCity() + "/" + rtuStatusVO.getAdDist());
-
-		if (rtuStatusVO.getRunStatusId() == null){
+		if (rtuStatusVO.getRunStatusId() == null) {
 			rtuStatusVO.setRunStatusId(EquipmentStatusEnum.STATUS_RUN.getCode());
 		}
 
-		List<DictBiz> dicts = DictBizCache.getList("rtu_kind");
-		Map<String, Object> kindMap = new HashMap<>();
-		String rtuKinds = rtuStatusVO.getRtuKinds();
-		if (rtuKinds != null) {
-			String[] kinds = rtuKinds.split(",");
-			for (String k : kinds) {
-				kindMap.put(k, k);
-			}
-		}
 		String rtuKindDesc = "";
-		for (DictBiz d : dicts) {
-			if (kindMap.containsKey("" + d.getId())) {
-				if (rtuKindDesc.length() > 0) {
-					rtuKindDesc += "/";
-				}
-				rtuKindDesc += d.getDictValue();
+		if (rtuStatusVO.getIsRain() != null && rtuStatusVO.getIsRes() != null && rtuStatusVO.getIsRiver() != null && rtuStatusVO.getIsGround() != null) {
+			if (rtuStatusVO.getIsRain() == 1 && (rtuStatusVO.getIsRes() == 1 || rtuStatusVO.getIsRiver() == 1)) {
+				rtuKindDesc = "水位雨量一体站";
+			} else if (rtuStatusVO.getIsRain() == 1 && rtuStatusVO.getIsGround() == 1) {
+				rtuKindDesc = "雨量墒情一体站";
+			} else if (rtuStatusVO.getIsRain() == 1) {
+				rtuKindDesc = "雨量站";
+			} else if (rtuStatusVO.getIsRes() == 1 || rtuStatusVO.getIsRiver() == 1) {
+				rtuKindDesc = "水位站";
+			} else if (rtuStatusVO.getIsGround() == 1) {
+				rtuKindDesc = "墒情站";
 			}
 		}
 		rtuStatusVO.setRtuKindDesc(rtuKindDesc);
+
+//		List<DictBiz> dicts = DictBizCache.getList("rtu_kind");
+//		Map<String, Object> kindMap = new HashMap<>();
+//		String rtuKinds = rtuStatusVO.getRtuKinds();
+//		if (rtuKinds != null) {
+//			String[] kinds = rtuKinds.split(",");
+//			for (String k : kinds) {
+//				kindMap.put(k, k);
+//			}
+//		}
+//		String rtuKindDesc = "";
+//		for (DictBiz d : dicts) {
+//			if (kindMap.containsKey("" + d.getId())) {
+//				if (rtuKindDesc.length() > 0) {
+//					rtuKindDesc += "/";
+//				}
+//				rtuKindDesc += d.getDictValue();
+//			}
+//		}
+//		rtuStatusVO.setRtuKindDesc(rtuKindDesc);
 	}
 
 

+ 1 - 1
src/main/java/org/springblade/modules/business/warning/mapper/RtuWarningMapper.xml

@@ -66,7 +66,7 @@
         <if test="rtuWarningInfoDTO.orgId!=null">
             and rtu.org_id = #{rtuWarningInfoDTO.orgId}
         </if>
-        and w.warning_status = 1
+        and w.warning_status = 0
 
     </select>
 </mapper>

+ 19 - 8
src/main/java/org/springblade/modules/manage/task/DataTaskManager.java

@@ -21,6 +21,7 @@ import org.springblade.modules.business.rtumanage.service.IRtuManageService;
 import org.springblade.modules.business.warning.service.IRtuWarningService;
 import org.springblade.modules.system.service.IDeptService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.kafka.core.KafkaTemplate;
 import org.springframework.scheduling.annotation.EnableScheduling;
@@ -87,23 +88,33 @@ public class DataTaskManager {
 	@Resource
 	private IRtuManageService rtuManageService;
 
+	@Value("${spring.task-config.warning-check-task}")
+	boolean warningCheckTask;
+
+	@Value("${spring.task-config.dept-update-task}")
+	boolean deptUpdateTask;
+
 	public void deptUpdateTask() {
 		try {
-			DeptCacheUpdateTask task = new DeptCacheUpdateTask(redisTemplate, iRtuBaseInfoService, iDeptService, iOrgRegionInfoService, iBaseInfoRegionService);
-			FutureTask<Integer> futureTask = new FutureTask<>(task);
-			publicThreadPool.execute(futureTask);
+			if (deptUpdateTask) {
+				DeptCacheUpdateTask task = new DeptCacheUpdateTask(redisTemplate, iRtuBaseInfoService, iDeptService, iOrgRegionInfoService, iBaseInfoRegionService);
+				FutureTask<Integer> futureTask = new FutureTask<>(task);
+				publicThreadPool.execute(futureTask);
+			}
 		} catch (Exception e) {
 			log.error("{}", e.getMessage());
 		}
 	}
 
-	@Scheduled(cron = "0 0/10 * * * * ")
+	@Scheduled(cron = "0 0/5 * * * * ")
 	public void warnTask() {
 		try {
-			log.info("ETL-预警-定时任务开始执行*********************");
-			WarningTask warningTask = new WarningTask(kafkaTemplate, redisTemplate, iRtuBaseInfoService, groundService, rainService, riverService, rsvrService, rtuWarningService,rtuManageService);
-			FutureTask<Integer> futureTask = new FutureTask<>(warningTask);
-			publicThreadPool.execute(futureTask);
+			if (warningCheckTask) {
+				log.info("ETL-预警-定时任务开始执行*********************");
+				WarningTask warningTask = new WarningTask(kafkaTemplate, redisTemplate, iRtuBaseInfoService, rtuWarningService, rtuManageService);
+				FutureTask<Integer> futureTask = new FutureTask<>(warningTask);
+				publicThreadPool.execute(futureTask);
+			}
 		} catch (Exception e) {
 			log.error("{}", e.getMessage());
 		}

+ 1 - 5
src/main/java/org/springblade/modules/manage/task/WarningTask.java

@@ -75,10 +75,6 @@ public class WarningTask implements Callable<Integer> {
 			List<RtuInfoEntity> list = iRtuBaseInfoService.list(dataWrapper);
 			if (null != list && list.size() > 0) {
 				for (RtuInfoEntity entity : list) {
-
-					if (entity.getRtuCode().equals("40509005")){
-						log.info("40509005");
-					}
 					//是否上线过
 					boolean isUp = false;
 					//是否预警
@@ -97,7 +93,7 @@ public class WarningTask implements Callable<Integer> {
 							if (goTm > delayTime) {
 								//触发预警
 								isWarning = true;
-								warningMsg = "报文延时,最后上报时间: " + Func.formatDateTime(tm);
+								warningMsg = "测站离线,最后上报时间: " + Func.formatDateTime(tm);
 							}
 						}
 					}

+ 167 - 0
src/main/java/org/springblade/modules/manage/version/controller/VersionManageController.java

@@ -0,0 +1,167 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/31
+ */
+package org.springblade.modules.manage.version.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+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.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.log.annotation.ApiLog;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.business.desk.entity.NoticeEntity;
+import org.springblade.modules.business.desk.service.INoticeService;
+import org.springblade.modules.manage.version.entity.VersionInfoEntity;
+import org.springblade.modules.manage.version.service.IVersionManageService;
+import org.springblade.modules.manage.version.vo.VersionInfoVO;
+import org.springblade.modules.manage.version.wrapper.VersionInfoWrapper;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import springfox.documentation.annotations.ApiIgnore;
+
+import java.io.*;
+import java.util.*;
+
+
+/***
+ * Date:2022/8/31
+ * Title: 系统管理
+ * Description:版本更新管理功能
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@RestController
+@RequestMapping("galaxy-business/version")
+@RequiredArgsConstructor
+@Api(value = "版本管理模块", tags = "版本管理模块")
+public class VersionManageController extends BladeController {
+
+	final IVersionManageService versionManageService;
+
+	final INoticeService noticeService;
+
+	@Value("${spring.apk.url}")
+	String apkUrl;
+
+	@Value("${spring.apk.save-path}")
+	String apkSavePaht;
+
+	/**
+	 * 工单查询,分页
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "")
+	public R<IPage<VersionInfoVO>> page(Query query) {
+		IPage<VersionInfoEntity> pages = versionManageService.selectPage(Condition.getPage(query));
+		return R.data(VersionInfoWrapper.build().pageVO(pages));
+	}
+
+
+	@GetMapping("/check")
+	@ApiImplicitParams({
+		@ApiImplicitParam(name = "appId", value = "APPID", paramType = "query", dataType = "string"),
+		@ApiImplicitParam(name = "version", value = "版本号", paramType = "query", dataType = "string"),
+		@ApiImplicitParam(name = "versionNote", value = "版本提示", paramType = "query", dataType = "string")
+	})
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "版本信息")
+	public R<VersionInfoVO> detail(@ApiIgnore VersionInfoEntity entity) {
+		LambdaQueryWrapper<VersionInfoEntity> wrapper = Wrappers.<VersionInfoEntity>query().lambda();
+		wrapper.eq(VersionInfoEntity::getIsDeleted, 0);
+		wrapper.eq(VersionInfoEntity::getAppId, entity.getAppId());
+		VersionInfoEntity versionInfoEntity = versionManageService.getOne(wrapper);
+		VersionInfoVO vo = VersionInfoWrapper.build().entityVO(versionInfoEntity);
+		if (!versionInfoEntity.getVersion().equals(entity.getVersion())) {
+			vo.setUpdateStatus(1);
+			String url = apkUrl + "/" + versionInfoEntity.getAppPath() + "/" + versionInfoEntity.getAppName();
+			vo.setApkUrl(url);
+			vo.setVersionNote(versionInfoEntity.getVersionNote());
+		} else {
+			vo.setUpdateStatus(0);
+		}
+		return R.data(vo);
+	}
+
+	@ApiLog("上传")
+	@PostMapping(value = "/apk")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "上传APK", notes = "")
+	public R<Map<String, String>> uploadApk(MultipartFile file, @RequestParam Map<String, Object> postData) {
+		try {
+			if (file.isEmpty()) {
+				return R.fail("上传文件为空");
+			}
+			if (!postData.containsKey("appId") || !postData.containsKey("version")) {
+				return R.fail("参数为空");
+			}
+			InputStream inputStream = file.getInputStream();
+			String fileName = file.getOriginalFilename();
+			String uuid = Func.randomUUID();
+			String path = apkSavePaht + "/" + uuid;
+			File dir = new File(path);
+			if (!dir.exists()) {
+				dir.mkdir();
+			}
+			path += "/" + fileName;
+			File apkFile = new File(path);
+			FileOutputStream fileOutputStream = new FileOutputStream(apkFile);
+			byte[] buff = new byte[1024];
+			int len = -1;
+			while ((len = inputStream.read(buff)) != -1) {
+				fileOutputStream.write(buff, 0, len);
+			}
+			fileOutputStream.close();
+			inputStream.close();
+			String appId = (String) postData.get("appId");
+			String version = (String) postData.get("version");
+			String versionNote = (String) postData.get("versionNote");
+
+			LambdaUpdateWrapper<VersionInfoEntity> wrapper = Wrappers.<VersionInfoEntity>update().lambda();
+			wrapper.eq(VersionInfoEntity::getAppId, appId);
+			wrapper.eq(VersionInfoEntity::getIsDeleted, 0);
+			wrapper.set(VersionInfoEntity::getIsDeleted, 1);
+			versionManageService.update(wrapper);
+
+			VersionInfoEntity versionInfoEntity = new VersionInfoEntity();
+			versionInfoEntity.setAppId(appId);
+			versionInfoEntity.setAppName(fileName);
+			versionInfoEntity.setAppPath(uuid);
+			versionInfoEntity.setVersion(version);
+			versionInfoEntity.setVersionNote(versionNote);
+			versionManageService.save(versionInfoEntity);
+
+			NoticeEntity noticeEntity = new NoticeEntity();
+			noticeEntity.setCategory(3);
+			noticeEntity.setReleaseTime(new Date());
+			noticeEntity.setTitle("APP版本更新提示");
+			noticeEntity.setContent("APP版本更新,版本号:" + version + ",更新内容:" + versionNote+",请及时到我的页面进行版本检查更新!");
+			noticeService.save(noticeEntity);
+
+			return R.success("上传成功");
+		} catch (IOException e) {
+			e.printStackTrace();
+			return R.fail("上传错误 " + e.getMessage());
+		} catch (Exception e) {
+			e.printStackTrace();
+			return R.fail("上传错误 " + e.getMessage());
+		}
+	}
+
+}

+ 64 - 0
src/main/java/org/springblade/modules/manage/version/entity/VersionInfoEntity.java

@@ -0,0 +1,64 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/22
+ */
+package org.springblade.modules.manage.version.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:2022/8/22
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("version_info")
+public class VersionInfoEntity extends BaseEntity {
+
+	private static final long serialVersionUID = 1L;
+	/**
+	 * 租户ID
+	 */
+	@ApiModelProperty("租户ID")
+	private String tenantId;
+
+	/**
+	 * APPID
+	 */
+	@ApiModelProperty(value = "APPID")
+	private String appId;
+
+	/**
+	 * 版本号
+	 */
+	@ApiModelProperty(value = "版本号")
+	private String version;
+
+	/**
+	 * APK存放目录
+	 */
+	@ApiModelProperty(value = "APK存放目录")
+	private String appPath;
+
+	/**
+	 * APK名称
+	 */
+	@ApiModelProperty(value = "APK名称")
+	private String appName;
+
+	/**
+	 * 升级消息
+	 */
+	@ApiModelProperty(value = "升级消息")
+	private String versionNote;
+}

+ 24 - 0
src/main/java/org/springblade/modules/manage/version/mapper/VersionInfoMapper.java

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

+ 32 - 0
src/main/java/org/springblade/modules/manage/version/mapper/VersionInfoMapper.xml

@@ -0,0 +1,32 @@
+<?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.manage.version.mapper.VersionInfoMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="versionInfoResultMap"
+               type="org.springblade.modules.manage.version.entity.VersionInfoEntity">
+        <result column="id" property="id"/>
+        <result column="create_user" property="createUser"/>
+        <result column="create_time" property="createTime"/>
+        <result column="update_user" property="updateUser"/>
+        <result column="update_time" property="updateTime"/>
+        <result column="status" property="status"/>
+        <result column="is_deleted" property="isDeleted"/>
+        <result column="app_id" property="appId"/>
+        <result column="version" property="version"/>
+        <result column="app_path" property="appPath"/>
+        <result column="app_name" property="appName"/>
+        <result column="version_note" property="versionNote"/>
+    </resultMap>
+
+
+    <select id="selectPage" resultMap="versionInfoResultMap">
+        SELECT
+        o.*
+        FROM
+        version_info o
+        WHERE 1=1
+        order by o.create_time desc
+    </select>
+
+</mapper>

+ 26 - 0
src/main/java/org/springblade/modules/manage/version/service/IVersionManageService.java

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

+ 32 - 0
src/main/java/org/springblade/modules/manage/version/service/impl/VersionManageServiceImpl.java

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

+ 40 - 0
src/main/java/org/springblade/modules/manage/version/vo/VersionInfoVO.java

@@ -0,0 +1,40 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2022/8/22
+ */
+package org.springblade.modules.manage.version.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.manage.version.entity.VersionInfoEntity;
+
+
+/***
+ * Date:2022/8/22
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class VersionInfoVO extends VersionInfoEntity {
+
+	/**
+	 * 更新状态
+	 */
+	@ApiModelProperty(value = "更新状态")
+	private Integer updateStatus;
+
+	/**
+	 * APK包下载地址
+	 */
+	@ApiModelProperty(value = "APK包下载地址")
+	private String apkUrl;
+
+
+}

+ 35 - 0
src/main/java/org/springblade/modules/manage/version/wrapper/VersionInfoWrapper.java

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

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

@@ -12,6 +12,8 @@ import org.springblade.enums.*;
 import org.springblade.etl.entity.EtlWarningInfoEntity;
 import org.springblade.modules.baseinfo.dict.entity.DictInfoEntity;
 import org.springblade.modules.baseinfo.dict.service.IBaseInfoDictService;
+import org.springblade.modules.baseinfo.rtu.entity.RtuInfoEntity;
+import org.springblade.modules.baseinfo.rtu.service.IRtuBaseInfoService;
 import org.springblade.modules.business.check.order.entity.CheckOrderInfoEntity;
 import org.springblade.modules.business.check.order.service.IRtuCheckOrderService;
 import org.springblade.modules.business.check.process.entity.OrderProcessInfoEntity;
@@ -21,7 +23,9 @@ import org.springblade.modules.business.rtumanage.service.IRtuManageService;
 import org.springblade.modules.business.warning.entity.RtuWarningInfoEntity;
 import org.springblade.modules.business.warning.service.IRtuWarningService;
 import org.springblade.modules.system.entity.DictBiz;
+import org.springblade.modules.system.entity.User;
 import org.springblade.modules.system.service.IDictBizService;
+import org.springblade.modules.system.service.IUserService;
 import org.springblade.mq.kafka.constant.KafkaConstant;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.kafka.annotation.KafkaListener;
@@ -58,6 +62,11 @@ public class MessageHandler {
 	@Autowired
 	private IBaseInfoDictService dictService;
 
+	@Autowired
+	private IRtuBaseInfoService rtuBaseInfoService;
+	@Autowired
+	private  IUserService userService;
+
 
 	@KafkaListener(groupId = "ywxt-kafka", topics = "ywxt.rtu.status", containerFactory = "ackContainerFactory")
 	public void handleDataRainMessage(ConsumerRecord record, Acknowledgment acknowledgment) {
@@ -97,6 +106,22 @@ public class MessageHandler {
 					checkOrderInfoEntity.setRtuCode(warningInfoEntity.getRtuCode());
 					checkOrderInfoEntity.setOrderClose(OrderCloseEnum.ACTIVE_OPEN.getCode());
 					checkOrderInfoEntity.setOrderConfirm(OrderConfirmEnum.ACTIVE_CREATE.getCode());
+
+					LambdaQueryWrapper<RtuInfoEntity> rtuwrapper = Wrappers.<RtuInfoEntity>query().lambda();
+					rtuwrapper.eq(RtuInfoEntity::getIsDeleted,0);
+					rtuwrapper.eq(RtuInfoEntity::getRtuCode,warningInfoEntity.getRtuCode());
+					RtuInfoEntity rtuInfoEntity=rtuBaseInfoService.getOne(rtuwrapper);
+
+					LambdaQueryWrapper<User> userwrapper = Wrappers.<User>query().lambda();
+					userwrapper.eq(User::getIsDeleted,0);
+					userwrapper.eq(User::getDeptId,rtuInfoEntity.getOrgId());
+					userwrapper.eq(User::getRoleId,BusinessConstant.ROLE_ORG_ADMIN_ID);
+					List<User> users= userService.list(userwrapper);
+					if (null != users&& users.size()>0){
+						checkOrderInfoEntity.setContactPhone(users.get(0).getPhone());
+						checkOrderInfoEntity.setContactUser(users.get(0).getId());
+					}
+
 					checkOrderInfoEntity.setUpdateUser(BusinessConstant.SYS_ADMIN_ID);
 					checkOrderInfoEntity.setCreateUser(BusinessConstant.SYS_ADMIN_ID);
 					checkOrderInfoEntity.setUpdateTime(new Date());

+ 21 - 11
src/main/resources/application-dev.yml

@@ -2,9 +2,9 @@
 spring:
   redis:
     ##redis 单机环境配置
-    host: 172.9.0.12
+    host: 172.9.0.165
     port: 6379
-    password:  Dh8282
+    password:  123456
     database: 1
     ssl: false
     ##redis 集群环境配置
@@ -13,11 +13,9 @@ spring:
     #  commandTimeout: 5000
   datasource:
     # MySql
-    url: jdbc:mysql://172.9.0.12:3306/shzhjcyjptywxt?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
-#    username: root
-#    password: root
+    url: jdbc:mysql://172.9.0.165:3306/shzhjcyjptywxt?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
     username: root
-    password: Dh@2022
+    password: 3edc#4rfv$
 
     # PostgreSQL
     #url: jdbc:postgresql://127.0.0.1:5432/bladex_boot
@@ -32,9 +30,9 @@ spring:
     #username: bladex_boot
     #password: bladex_boot
     # DaMeng
-#    url: jdbc:dm://172.1.0.215:5236/ZGXXXT?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8
-#    username: ZGXXXT
-#    password: ZGXXXT2022
+  #    url: jdbc:dm://172.1.0.215:5236/ZGXXXT?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8
+  #    username: ZGXXXT
+  #    password: ZGXXXT2022
 
   kafka:
     bootstrap-servers: 172.9.0.120:9092,172.9.0.121:9092,172.9.0.202:9092
@@ -45,7 +43,7 @@ spring:
       key-serializer: org.apache.kafka.common.serialization.StringSerializer
       value-serializer: org.apache.kafka.common.serialization.StringSerializer
     consumer:
-      group-id: blade-kafka
+      group-id: ywxt-kafka
       # 手动提交
       enable-auto-commit: false
       auto-offset-reset: latest
@@ -58,6 +56,17 @@ spring:
       concurrency: 5
       # 手动提交
       ack-mode: manual_immediate
+  apk:
+    url: http://111.204.228.227:20002/app/apk
+    #save-path: /home/apk
+    save-path: D:\\tmp
+  task-config:
+    etl-task: false
+    warning-check-task: false
+    dept-update-task: false
+  excel-export-config:
+    workdir: D:\\tmp\\export
+    template: template.xlsx
 
 #第三方登陆
 social:
@@ -71,7 +80,7 @@ blade:
     ##是否启用分布式锁
     enabled: false
     ##redis服务地址
-    address: redis://172.9.0.12:6379
+    address: redis://172.9.0.165:6379
     password:  Dh8282
   #本地文件上传
   file:
@@ -79,3 +88,4 @@ blade:
     upload-domain: http://localhost:8999
     remote-path: /usr/share/nginx/html
 
+