dylan1030 3 лет назад
Родитель
Сommit
5bbb9cabd4
42 измененных файлов с 869 добавлено и 53 удалено
  1. 21 1
      pom.xml
  2. 93 0
      src/main/java/org/springblade/enums/OrderCloseEnum.java
  3. 93 0
      src/main/java/org/springblade/enums/OrderConfirmEnum.java
  4. 6 6
      src/main/java/org/springblade/etl/EtlTaskManager.java
  5. 30 4
      src/main/java/org/springblade/modules/business/check/order/controller/RtuCheckOrderController.java
  6. 4 4
      src/main/java/org/springblade/modules/business/check/order/entity/CheckOrderInfoEntity.java
  7. 2 0
      src/main/java/org/springblade/modules/business/check/order/mapper/RtuCheckOrderMapper.java
  8. 86 0
      src/main/java/org/springblade/modules/business/check/order/mapper/RtuCheckOrderMapper.xml
  9. 7 0
      src/main/java/org/springblade/modules/business/check/order/service/IRtuCheckOrderService.java
  10. 7 0
      src/main/java/org/springblade/modules/business/check/order/service/impl/RtuCheckOrderServiceImpl.java
  11. 32 1
      src/main/java/org/springblade/modules/business/desk/controller/NoticeController.java
  12. 42 0
      src/main/java/org/springblade/modules/business/desk/entity/NoticeViewEntity.java
  13. 4 0
      src/main/java/org/springblade/modules/business/desk/mapper/NoticeMapper.java
  14. 12 0
      src/main/java/org/springblade/modules/business/desk/mapper/NoticeMapper.xml
  15. 30 0
      src/main/java/org/springblade/modules/business/desk/mapper/NoticeViewMapper.java
  16. 18 0
      src/main/java/org/springblade/modules/business/desk/mapper/NoticeViewMapper.xml
  17. 3 0
      src/main/java/org/springblade/modules/business/desk/service/INoticeService.java
  18. 27 0
      src/main/java/org/springblade/modules/business/desk/service/INoticeViewService.java
  19. 7 0
      src/main/java/org/springblade/modules/business/desk/service/impl/NoticeServiceImpl.java
  20. 35 0
      src/main/java/org/springblade/modules/business/desk/service/impl/NoticeViewServiceImpl.java
  21. 0 3
      src/main/java/org/springblade/modules/business/equipment/inspection/base/controller/EquipmentInspectionController.java
  22. 2 0
      src/main/java/org/springblade/modules/business/equipment/inspection/base/mapper/EquipmentInspectionMapper.java
  23. 2 0
      src/main/java/org/springblade/modules/business/equipment/inspection/base/mapper/EquipmentInspectionMapper.xml
  24. 1 0
      src/main/java/org/springblade/modules/business/equipment/inspection/base/service/IEquipmentInspectionService.java
  25. 11 0
      src/main/java/org/springblade/modules/business/equipment/inspection/base/service/impl/EquipmentInspectionServiceImpl.java
  26. 13 16
      src/main/java/org/springblade/modules/business/equipment/inspection/plan/controller/EquipmentInspectionPlanController.java
  27. 9 0
      src/main/java/org/springblade/modules/business/equipment/inspection/plan/mapper/EquipmentInspectionPlanRtuMapper.java
  28. 96 2
      src/main/java/org/springblade/modules/business/equipment/inspection/plan/mapper/EquipmentInspectionPlanRtuMapper.xml
  29. 16 1
      src/main/java/org/springblade/modules/business/equipment/inspection/plan/service/IEquipmentInspectionPlanRtuService.java
  30. 1 1
      src/main/java/org/springblade/modules/business/equipment/inspection/plan/service/IEquipmentInspectionPlanService.java
  31. 17 0
      src/main/java/org/springblade/modules/business/equipment/inspection/plan/service/impl/EquipmentInspectionPlanRtuServiceImpl.java
  32. 10 0
      src/main/java/org/springblade/modules/business/equipment/inspection/plan/service/impl/EquipmentInspectionPlanServiceImpl.java
  33. 6 0
      src/main/java/org/springblade/modules/business/equipment/inspection/plan/vo/EquipmentInspectionRtuVO.java
  34. 2 0
      src/main/java/org/springblade/modules/business/equipment/inspection/report/mapper/EquipmentInspectionReportMapper.java
  35. 22 2
      src/main/java/org/springblade/modules/business/equipment/inspection/report/mapper/EquipmentInspectionReportMapper.xml
  36. 2 0
      src/main/java/org/springblade/modules/business/equipment/inspection/report/service/IEquipmentInspectionReportService.java
  37. 6 0
      src/main/java/org/springblade/modules/business/equipment/inspection/report/service/impl/EquipmentInspectionReportServiceImpl.java
  38. 6 0
      src/main/java/org/springblade/modules/business/equipment/inspection/report/vo/EquipmentInspectionReportVO.java
  39. 3 3
      src/main/java/org/springblade/mq/kafka/handler/MessageHandler.java
  40. 10 1
      src/main/java/org/springblade/realData/VO/RealDataHomeInfoVO.java
  41. 70 3
      src/main/java/org/springblade/realData/controller/RealDataController.java
  42. 5 5
      src/main/resources/application-dev.yml

+ 21 - 1
pom.xml

@@ -171,6 +171,7 @@
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
+                <version>${spring.boot.version}</version>
                 <configuration>
                     <mainClass>org.springblade.Application</mainClass>
                 </configuration>
@@ -185,7 +186,7 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.9.0</version>
+                <version>${maven.plugin.version}</version>
                 <configuration>
                     <source>${java.version}</source>
                     <target>${java.version}</target>
@@ -195,6 +196,7 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
+                <version>2.12.4</version>
                 <configuration>
                     <skipTests>true</skipTests>
                 </configuration>
@@ -205,12 +207,30 @@
 
 
     <repositories>
+        <repository>
+            <id>spring-milestones</id>
+            <name>Spring Milestones</name>
+            <url>https://repo.spring.io/milestone</url>
+            <snapshots>
+                <enabled>false</enabled>
+            </snapshots>
+        </repository>
         <repository>
             <id>nexus</id>
             <url>http://nexus.zhkrc.com/repository/maven-public/</url>
         </repository>
     </repositories>
 
+    <pluginRepositories>
+        <pluginRepository>
+            <id>aliyun-plugin</id>
+            <url>https://maven.aliyun.com/repository/public/</url>
+            <snapshots>
+                <enabled>false</enabled>
+            </snapshots>
+        </pluginRepository>
+    </pluginRepositories>
+
     <distributionManagement>
         <repository>
             <id>maven-releases</id>

+ 93 - 0
src/main/java/org/springblade/enums/OrderCloseEnum.java

@@ -0,0 +1,93 @@
+package org.springblade.enums;
+
+public enum OrderCloseEnum {
+	/**
+	 * 正常
+	 */
+	ACTIVE_OPEN(0, "正常"),
+
+	/**
+	 * 关闭
+	 */
+	ACTIVE_CLOSE(1, "关闭");
+
+
+
+	private int code;
+
+	private String name;
+
+	private OrderCloseEnum(int code, String name) {
+		this.code = code;
+		this.name = name;
+	}
+
+	/**
+	 * Function:根据code来获取对应的name
+	 * Author: Admin
+	 * Date:2021/6/26
+	 * @param code
+	 * @return java.lang.String
+	 * @throws Exception
+	 */
+	public static String getName(int code) {
+		for (OrderCloseEnum type : OrderCloseEnum.values()) {
+			if (type.code == code) {
+				return type.name;
+			}
+		}
+		return "";
+	}
+
+	/**
+	 * Function:根据code来获取对应的枚举常量
+	 * Author: Admin
+	 * Date:2021/6/26
+	 * @param code
+	 * @return com.zhgzjg.web.enums.DeleteFlag
+	 * @throws Exception
+	 */
+	public static OrderCloseEnum getEnumByCode(int code) {
+		for (OrderCloseEnum type : OrderCloseEnum.values()) {
+			if (type.code == code) {
+				return type;
+			}
+		}
+		return null;
+	}
+
+
+	/**
+	 * Function:根据name来获取对应的枚举常量
+	 * Author: Admin
+	 * Date:2021/6/26
+	 * @param name
+	 * @return com.zhgzjg.web.enums.DeleteFlag
+	 * @throws Exception
+	 */
+	public static OrderCloseEnum getEnumByName(String name) {
+		for (OrderCloseEnum type : OrderCloseEnum.values()) {
+			if (type.name.equals(name)) {
+				return type;
+			}
+		}
+		return null;
+	}
+
+
+	public int getCode() {
+		return code;
+	}
+
+	public void setCode(int code) {
+		this.code = code;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+}

+ 93 - 0
src/main/java/org/springblade/enums/OrderConfirmEnum.java

@@ -0,0 +1,93 @@
+package org.springblade.enums;
+
+public enum OrderConfirmEnum {
+	/**
+	 * 正常
+	 */
+	ACTIVE_CREATE(0, "正常"),
+
+	/**
+	 * 确认
+	 */
+	ACTIVE_CONFIRM(1, "确认");
+
+
+
+	private int code;
+
+	private String name;
+
+	private OrderConfirmEnum(int code, String name) {
+		this.code = code;
+		this.name = name;
+	}
+
+	/**
+	 * Function:根据code来获取对应的name
+	 * Author: Admin
+	 * Date:2021/6/26
+	 * @param code
+	 * @return java.lang.String
+	 * @throws Exception
+	 */
+	public static String getName(int code) {
+		for (OrderConfirmEnum type : OrderConfirmEnum.values()) {
+			if (type.code == code) {
+				return type.name;
+			}
+		}
+		return "";
+	}
+
+	/**
+	 * Function:根据code来获取对应的枚举常量
+	 * Author: Admin
+	 * Date:2021/6/26
+	 * @param code
+	 * @return com.zhgzjg.web.enums.DeleteFlag
+	 * @throws Exception
+	 */
+	public static OrderConfirmEnum getEnumByCode(int code) {
+		for (OrderConfirmEnum type : OrderConfirmEnum.values()) {
+			if (type.code == code) {
+				return type;
+			}
+		}
+		return null;
+	}
+
+
+	/**
+	 * Function:根据name来获取对应的枚举常量
+	 * Author: Admin
+	 * Date:2021/6/26
+	 * @param name
+	 * @return com.zhgzjg.web.enums.DeleteFlag
+	 * @throws Exception
+	 */
+	public static OrderConfirmEnum getEnumByName(String name) {
+		for (OrderConfirmEnum type : OrderConfirmEnum.values()) {
+			if (type.name.equals(name)) {
+				return type;
+			}
+		}
+		return null;
+	}
+
+
+	public int getCode() {
+		return code;
+	}
+
+	public void setCode(int code) {
+		this.code = code;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+}

+ 6 - 6
src/main/java/org/springblade/etl/EtlTaskManager.java

@@ -98,13 +98,13 @@ public class EtlTaskManager {
 	public void warnTask() {
 		try {
 
-			TestDataTask task = new TestDataTask(redisTemplate, kafkaTemplate, messagingTemplate, etlWarningService, rtuWarningService, rtuBaseInfoService, projectBaseInfoService, dataRainService, dataRiverService, dataRsvrService, dataGroundService, dictBizService, rtuManageService);
-			FutureTask<Integer> futureTask = new FutureTask<>(task);
-			publicThreadPool.execute(futureTask);
+//			TestDataTask task = new TestDataTask(redisTemplate, kafkaTemplate, messagingTemplate, etlWarningService, rtuWarningService, rtuBaseInfoService, projectBaseInfoService, dataRainService, dataRiverService, dataRsvrService, dataGroundService, dictBizService, rtuManageService);
+//			FutureTask<Integer> futureTask = new FutureTask<>(task);
+//			publicThreadPool.execute(futureTask);
 
-			TestWarnTask task2 = new TestWarnTask(redisTemplate,kafkaTemplate,messagingTemplate,etlWarningService,rtuWarningService,rtuBaseInfoService,projectBaseInfoService,dataRainService,dataRiverService,dataRsvrService,dataGroundService,originalWarningService);
-			FutureTask<Integer> futureTask2 = new FutureTask<>(task2);
-			publicThreadPool.execute(futureTask2);
+//			TestWarnTask task2 = new TestWarnTask(redisTemplate,kafkaTemplate,messagingTemplate,etlWarningService,rtuWarningService,rtuBaseInfoService,projectBaseInfoService,dataRainService,dataRiverService,dataRsvrService,dataGroundService,originalWarningService);
+//			FutureTask<Integer> futureTask2 = new FutureTask<>(task2);
+//			publicThreadPool.execute(futureTask2);
 
 		} catch (Exception e) {
 			log.error("{}",e.getMessage());

+ 30 - 4
src/main/java/org/springblade/modules/business/check/order/controller/RtuCheckOrderController.java

@@ -24,10 +24,7 @@ import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.ConcurrentDateFormat;
 import org.springblade.core.tool.utils.Func;
-import org.springblade.enums.EquipmentStatusEnum;
-import org.springblade.enums.OrderFromEnum;
-import org.springblade.enums.OrderStatusEnum;
-import org.springblade.enums.WarningStatusEnum;
+import org.springblade.enums.*;
 import org.springblade.modules.business.check.order.dto.CheckOrderInfoDTO;
 import org.springblade.modules.business.check.order.entity.CheckOrderInfoEntity;
 import org.springblade.modules.business.check.order.mapper.RtuCheckOrderMapper;
@@ -146,6 +143,35 @@ public class RtuCheckOrderController extends BladeController {
 		return R.data(pages);
 	}
 
+
+	/**
+	 * 未确认工单列表,不分页
+	 */
+	@GetMapping("/unconfirm/list")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "不分页", notes = "")
+	public R<List<CheckOrderInfoVO>> unconfirmOrderList() {
+		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);
+		}
+//		Date date = new Date();
+//		String dt = Func.formatDateTime(date);
+//		checkOrderInfoDTO.setCreateTime(Func.parse(dt, ConcurrentDateFormat.of("yyyy-MM-dd")));
+		List<CheckOrderInfoVO> list = checkOrderService.unconfirmOrderList( checkOrderInfoDTO);
+		//List<CheckOrderInfoVO> list = pages.getRecords();
+		for (CheckOrderInfoVO v : list) {
+			RtuCheckOrderWrapper.build().addInfoVO(v);
+		}
+
+		return R.data(list);
+	}
+
 	/**
 	 * 多表联合查询自定义分页
 	 */

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

@@ -68,15 +68,15 @@ public class CheckOrderInfoEntity extends BaseEntity {
 	private Long warnId;
 
 	/**
-	 * 预警ID
+	 * 工单关闭
 	 */
-	@ApiModelProperty(value = "预警ID")
+	@ApiModelProperty(value = "工单关闭")
 	private Integer orderClose;
 
 	/**
-	 * 预警ID
+	 * 工单确认
 	 */
-	@ApiModelProperty(value = "预警ID")
+	@ApiModelProperty(value = "工单确认")
 	private Integer orderConfirm;
 
 

+ 2 - 0
src/main/java/org/springblade/modules/business/check/order/mapper/RtuCheckOrderMapper.java

@@ -33,4 +33,6 @@ public interface RtuCheckOrderMapper extends BaseMapper<CheckOrderInfoEntity> {
 	 * @return List<RtuInfoVO>
 	 */
 	List<CheckOrderInfoVO> selectPage(IPage page, @Param("checkOrderInfoDTO") CheckOrderInfoDTO checkOrderInfoDTO);
+
+	List<CheckOrderInfoVO> unconfirmOrderList(@Param("checkOrderInfoDTO") CheckOrderInfoDTO checkOrderInfoDTO);
 }

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

@@ -17,6 +17,8 @@
         <result column="order_status_key" property="orderStatusKey"/>
         <result column="order_confirm_user" property="orderConfirmUser"/>
         <result column="warn_id" property="warnId"/>
+        <result column="order_close" property="orderClose"/>
+        <result column="order_confirm" property="orderConfirm"/>
 
     </resultMap>
 
@@ -39,6 +41,8 @@
         <result column="project_name" property="projectName"/>
         <result column="org_name" property="orgName"/>
         <result column="warn_id" property="warnId"/>
+        <result column="order_close" property="orderClose"/>
+        <result column="order_confirm" property="orderConfirm"/>
         <result column="lng" property="lng"/>
         <result column="lat" property="lat"/>
         <result column="location_desc" property="locationDesc"/>
@@ -77,7 +81,89 @@
             and o.create_time >= #{checkOrderInfoDTO.createTime}
         </if>
 
+
+        <if test="checkOrderInfoDTO.orderClose!=null">
+            and o.order_close >= #{checkOrderInfoDTO.orderClose}
+        </if>
+
+
+        <if test="checkOrderInfoDTO.orderConfirm!=null">
+            and o.order_confirm >= #{checkOrderInfoDTO.orderConfirm}
+        </if>
+
          order by o.update_time desc
 
     </select>
+
+    <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
+        FROM
+        rtu_failure_check_order o
+        LEFT JOIN rtu_info i ON i.rtu_code = o.rtu_code
+        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
+        WHERE
+        o.is_deleted = 0
+
+        <if test="checkOrderInfoDTO.orgId!=null">
+            and i.org_id = #{checkOrderInfoDTO.orgId}
+        </if>
+
+
+        <if test="checkOrderInfoDTO.orderConfirm!=null">
+            and o.order_confirm = #{checkOrderInfoDTO.orderConfirm}
+        </if>
+
+        order by o.create_time desc
+
+    </select>
+
+    <select id="selectPage" 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
+        FROM
+        rtu_failure_check_order o
+        LEFT JOIN rtu_info i ON i.rtu_code = o.rtu_code
+        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
+        WHERE
+        o.is_deleted = 0
+        <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.orgId!=null">
+            and i.org_id = #{checkOrderInfoDTO.orgId}
+        </if>
+        <if test="checkOrderInfoDTO.projectId !=null">
+            and i.project_id = #{checkOrderInfoDTO.projectId}
+        </if>
+        <if test="checkOrderInfoDTO.orderConfirmUser!=null">
+            and o.order_confirm_user = #{checkOrderInfoDTO.orderConfirmUser}
+        </if>
+
+        <if test="checkOrderInfoDTO.createTime!=null">
+            and o.create_time >= #{checkOrderInfoDTO.createTime}
+        </if>
+
+
+        <if test="checkOrderInfoDTO.orderClose!=null">
+            and o.order_close >= #{checkOrderInfoDTO.orderClose}
+        </if>
+
+
+        <if test="checkOrderInfoDTO.orderConfirm!=null">
+            and o.order_confirm >= #{checkOrderInfoDTO.orderConfirm}
+        </if>
+
+        order by o.update_time desc
+
+    </select>
 </mapper>

+ 7 - 0
src/main/java/org/springblade/modules/business/check/order/service/IRtuCheckOrderService.java

@@ -16,6 +16,8 @@ import org.springblade.modules.business.project.base.entity.ProjectInfoEntity;
 import org.springblade.modules.business.rtu.base.entity.RtuInfoEntity;
 import org.springblade.modules.business.rtumanage.vo.RtuStatusVO;
 
+import java.util.List;
+
 /***
  * Date:2022/8/22
  * Title:文件所属模块(必须填写)
@@ -33,10 +35,15 @@ public interface IRtuCheckOrderService extends BaseService<CheckOrderInfoEntity>
 	 */
 	IPage<CheckOrderInfoVO> selectPage(IPage<CheckOrderInfoVO> page, CheckOrderInfoDTO checkOrderInfoDTO);
 
+	List<CheckOrderInfoVO> unconfirmOrderList(CheckOrderInfoDTO checkOrderInfoDTO);
+
+
 	/**
 	 * 更新工单状态
 	 * @param orderInfoEntity
 	 * @return
 	 */
 	boolean updateOrderStatus(CheckOrderInfoEntity orderInfoEntity);
+
+
 }

+ 7 - 0
src/main/java/org/springblade/modules/business/check/order/service/impl/RtuCheckOrderServiceImpl.java

@@ -20,6 +20,7 @@ import org.springblade.modules.business.check.process.entity.OrderProcessInfoEnt
 import org.springframework.stereotype.Service;
 
 import java.util.Date;
+import java.util.List;
 
 /***
  * Date:2022/8/22
@@ -36,6 +37,12 @@ public class RtuCheckOrderServiceImpl extends BaseServiceImpl<RtuCheckOrderMappe
 		return page.setRecords(baseMapper.selectPage(page, checkOrderInfoDTO));
 	}
 
+	@Override
+	public List<CheckOrderInfoVO> unconfirmOrderList(CheckOrderInfoDTO checkOrderInfoDTO) {
+
+		return baseMapper.unconfirmOrderList(checkOrderInfoDTO);
+	}
+
 	@Override
 	public boolean updateOrderStatus(CheckOrderInfoEntity orderInfoEntity) {
 

+ 32 - 1
src/main/java/org/springblade/modules/business/desk/controller/NoticeController.java

@@ -18,11 +18,16 @@ import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tenant.annotation.TenantDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.business.check.order.entity.CheckOrderInfoEntity;
 import org.springblade.modules.business.desk.entity.NoticeEntity;
+import org.springblade.modules.business.desk.entity.NoticeViewEntity;
 import org.springblade.modules.business.desk.service.INoticeService;
+import org.springblade.modules.business.desk.service.INoticeViewService;
 import org.springblade.modules.business.desk.vo.NoticeVO;
 import org.springblade.modules.business.desk.wrapper.NoticeWrapper;
 import org.springblade.modules.business.equipment.inspection.report.entity.EquipmentInspectionReportEntity;
@@ -31,6 +36,7 @@ import org.springblade.modules.business.equipment.inspection.report.wrapper.Equi
 import org.springframework.web.bind.annotation.*;
 import springfox.documentation.annotations.ApiIgnore;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -48,10 +54,11 @@ import java.util.Map;
 @RequestMapping(AppConstant.APPLICATION_TEST_NAME+ "/notice")
 @AllArgsConstructor
 @ApiSort(2)
-@Api(value = "用户博客", tags = "博客接口")
+@Api(value = "通知公告", tags = "通知公告")
 public class NoticeController extends BladeController {
 
 	private final INoticeService noticeService;
+	private final INoticeViewService noticeViewService;
 
 	/**
 	 * 详情
@@ -118,6 +125,30 @@ public class NoticeController extends BladeController {
 		return R.status(noticeService.updateById(noticeEntity));
 	}
 
+
+	@PostMapping("/view")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "查阅")
+	public R userView() {
+
+		BladeUser user = AuthUtil.getUser();
+		LambdaQueryWrapper<NoticeViewEntity> wrapper = Wrappers.<NoticeViewEntity>query().lambda();
+		wrapper.eq(NoticeViewEntity::getCreateUser,user.getUserId());
+		wrapper.eq(NoticeViewEntity::getIsDeleted,0);
+		NoticeViewEntity entity=noticeViewService.getOne(wrapper);
+		if (null != entity){
+			entity.setViewTime(new Date());
+		}else{
+			entity= new NoticeViewEntity();
+			entity.setViewTime(new Date());
+
+		}
+		noticeViewService.saveOrUpdate(entity);
+
+		return R.success("OK");
+	}
+
+
 	/**
 	 * 新增或修改
 	 */

+ 42 - 0
src/main/java/org/springblade/modules/business/desk/entity/NoticeViewEntity.java

@@ -0,0 +1,42 @@
+/**
+ * Copyright
+ * All right reserved.
+ * 项目名称:
+ * 创建日期:2022/3/9
+ */
+package org.springblade.modules.business.desk.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;
+
+import java.util.Date;
+
+/**
+ * 实体类
+ *
+ * @author Chill
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("blade_notice_view")
+public class NoticeViewEntity extends BaseEntity {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 租户ID
+	 */
+	@ApiModelProperty("租户ID")
+	private String tenantId;
+
+
+	/**
+	 * 查阅日期
+	 */
+	@ApiModelProperty(value = "查阅日期")
+	private Date viewTime;
+
+}

+ 4 - 0
src/main/java/org/springblade/modules/business/desk/mapper/NoticeMapper.java

@@ -8,9 +8,11 @@ package org.springblade.modules.business.desk.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.lettuce.core.dynamic.annotation.Param;
 import org.springblade.modules.business.desk.entity.NoticeEntity;
 import org.springblade.modules.business.desk.vo.NoticeVO;
 
+import java.util.Date;
 import java.util.List;
 
 /***
@@ -41,4 +43,6 @@ public interface NoticeMapper extends BaseMapper<NoticeEntity> {
 	 */
 	List<NoticeVO> selectNoticePage(IPage page, NoticeVO notice);
 
+
+	 Long unviewNoticeCount(@Param("viewDate") Date viewDate);
 }

+ 12 - 0
src/main/java/org/springblade/modules/business/desk/mapper/NoticeMapper.xml

@@ -50,4 +50,16 @@
             and n.category = #{noticeEntity.category}
         </if>
     </select>
+
+    <select id="unviewNoticeCount" resultType="java.lang.Long">
+        SELECT
+        count(*)
+        FROM
+        blade_notice n
+        WHERE
+        n.is_deleted = 0
+        <if test="viewDate!=null">
+            and n.release_time > #{viewDate}
+        </if>
+    </select>
 </mapper>

+ 30 - 0
src/main/java/org/springblade/modules/business/desk/mapper/NoticeViewMapper.java

@@ -0,0 +1,30 @@
+/**
+ * Copyright
+ * All right reserved.
+ * 项目名称:
+ * 创建日期:2022/3/9
+ */
+package org.springblade.modules.business.desk.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.business.desk.entity.NoticeEntity;
+import org.springblade.modules.business.desk.entity.NoticeViewEntity;
+import org.springblade.modules.business.desk.vo.NoticeVO;
+
+import java.util.List;
+
+/***
+ * Date:2022-03-08
+ * Title:通知公告 Mapper 接口
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author admin
+ * @mender:(文件的修改者,文件创建者之外的人)
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface NoticeViewMapper extends BaseMapper<NoticeViewEntity> {
+
+
+
+}

+ 18 - 0
src/main/java/org/springblade/modules/business/desk/mapper/NoticeViewMapper.xml

@@ -0,0 +1,18 @@
+<?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.business.desk.mapper.NoticeViewMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="noticeResultMap" type="org.springblade.modules.business.desk.entity.NoticeViewEntity">
+        <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="view_time" property="viewTime"/>
+
+    </resultMap>
+
+</mapper>

+ 3 - 0
src/main/java/org/springblade/modules/business/desk/service/INoticeService.java

@@ -11,6 +11,8 @@ import org.springblade.core.mp.base.BaseService;
 import org.springblade.modules.business.desk.entity.NoticeEntity;
 import org.springblade.modules.business.desk.vo.NoticeVO;
 
+import java.util.Date;
+
 /***
  * Date:2022-03-08
  * Title:通知公告 服务类
@@ -30,4 +32,5 @@ public interface INoticeService extends BaseService<NoticeEntity> {
 	 */
 	IPage<NoticeVO> selectNoticePage(IPage<NoticeVO> page, NoticeVO notice);
 
+	Long unviewNoticeCount(Date viewDate);
 }

+ 27 - 0
src/main/java/org/springblade/modules/business/desk/service/INoticeViewService.java

@@ -0,0 +1,27 @@
+/**
+ * Copyright
+ * All right reserved.
+ * 项目名称:
+ * 创建日期:2022/3/9
+ */
+package org.springblade.modules.business.desk.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseService;
+import org.springblade.modules.business.desk.entity.NoticeEntity;
+import org.springblade.modules.business.desk.entity.NoticeViewEntity;
+import org.springblade.modules.business.desk.vo.NoticeVO;
+
+/***
+ * Date:2022-03-08
+ * Title:通知公告 服务类
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author liu-nan
+ * @mender:(文件的修改者,文件创建者之外的人)
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+public interface INoticeViewService extends BaseService<NoticeViewEntity> {
+
+
+}

+ 7 - 0
src/main/java/org/springblade/modules/business/desk/service/impl/NoticeServiceImpl.java

@@ -15,6 +15,8 @@ import org.springblade.modules.business.desk.service.INoticeService;
 import org.springblade.modules.business.desk.vo.NoticeVO;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
+
 /***
  * Date:2022-03-08
  * Title:通知公告 服务实现类
@@ -34,4 +36,9 @@ public class NoticeServiceImpl extends BaseServiceImpl<NoticeMapper, NoticeEntit
 		return page.setRecords(baseMapper.selectNoticePage(page, notice));
 	}
 
+	@Override
+	public Long unviewNoticeCount(Date viewDate) {
+		return baseMapper.unviewNoticeCount(viewDate);
+	}
+
 }

+ 35 - 0
src/main/java/org/springblade/modules/business/desk/service/impl/NoticeViewServiceImpl.java

@@ -0,0 +1,35 @@
+/**
+ * Copyright
+ * All right reserved.
+ * 项目名称:
+ * 创建日期:2022/3/9
+ */
+package org.springblade.modules.business.desk.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.modules.business.desk.entity.NoticeEntity;
+import org.springblade.modules.business.desk.entity.NoticeViewEntity;
+import org.springblade.modules.business.desk.mapper.NoticeMapper;
+import org.springblade.modules.business.desk.mapper.NoticeViewMapper;
+import org.springblade.modules.business.desk.service.INoticeService;
+import org.springblade.modules.business.desk.service.INoticeViewService;
+import org.springblade.modules.business.desk.vo.NoticeVO;
+import org.springframework.stereotype.Service;
+
+/***
+ * Date:2022-03-08
+ * Title:通知公告 服务实现类
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author liu-nan
+ * @mender:(文件的修改者,文件创建者之外的人)
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Service
+public class NoticeViewServiceImpl extends BaseServiceImpl<NoticeViewMapper, NoticeViewEntity> implements INoticeViewService {
+
+
+
+}

+ 0 - 3
src/main/java/org/springblade/modules/business/equipment/inspection/base/controller/EquipmentInspectionController.java

@@ -7,7 +7,6 @@
 package org.springblade.modules.business.equipment.inspection.base.controller;
 
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -16,14 +15,12 @@ import lombok.AllArgsConstructor;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.launch.constant.AppConstant;
 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.equipment.inspection.base.entity.EquipmentInspectionInfoEntity;
 import org.springblade.modules.business.equipment.inspection.base.service.IEquipmentInspectionService;
 import org.springblade.modules.business.equipment.inspection.base.vo.EquipmentInspectionInfoVO;
 import org.springblade.modules.business.equipment.inspection.base.wrapper.EquipmentInspectionWrapper;
-import org.springblade.modules.system.entity.User;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;

+ 2 - 0
src/main/java/org/springblade/modules/business/equipment/inspection/base/mapper/EquipmentInspectionMapper.java

@@ -8,6 +8,7 @@ package org.springblade.modules.business.equipment.inspection.base.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 import org.springblade.modules.business.equipment.inspection.base.entity.EquipmentInspectionInfoEntity;
 
 /***
@@ -19,4 +20,5 @@ import org.springblade.modules.business.equipment.inspection.base.entity.Equipme
  * Remark:认为有必要的其他信息
  */
 public interface EquipmentInspectionMapper  extends BaseMapper<EquipmentInspectionInfoEntity> {
+
 }

+ 2 - 0
src/main/java/org/springblade/modules/business/equipment/inspection/base/mapper/EquipmentInspectionMapper.xml

@@ -15,4 +15,6 @@
         <result column="inspection_date" property="inspectionDate"/>
     </resultMap>
 
+
+
 </mapper>

+ 1 - 0
src/main/java/org/springblade/modules/business/equipment/inspection/base/service/IEquipmentInspectionService.java

@@ -19,4 +19,5 @@ import org.springblade.modules.business.equipment.inspection.base.entity.Equipme
  * Remark:认为有必要的其他信息
  */
 public interface IEquipmentInspectionService extends BaseService<EquipmentInspectionInfoEntity> {
+
 }

+ 11 - 0
src/main/java/org/springblade/modules/business/equipment/inspection/base/service/impl/EquipmentInspectionServiceImpl.java

@@ -6,12 +6,21 @@
  */
 package org.springblade.modules.business.equipment.inspection.base.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.constant.BusinessConstant;
 import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.enums.RtuReportStatusEnum;
 import org.springblade.modules.business.equipment.inspection.base.entity.EquipmentInspectionInfoEntity;
 import org.springblade.modules.business.equipment.inspection.base.mapper.EquipmentInspectionMapper;
 import org.springblade.modules.business.equipment.inspection.base.service.IEquipmentInspectionService;
+import org.springblade.modules.business.equipment.inspection.plan.vo.EquipmentInspectionRtuVO;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /***
  * Date:2022/8/23
  * Title:文件所属模块(必须填写)
@@ -22,4 +31,6 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class EquipmentInspectionServiceImpl  extends BaseServiceImpl<EquipmentInspectionMapper, EquipmentInspectionInfoEntity> implements IEquipmentInspectionService {
+
+
 }

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

@@ -130,9 +130,7 @@ public class EquipmentInspectionPlanController extends BladeController {
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页")
 	public R<IPage<EquipmentInspectionRtuVO>> rtuPage(@ApiIgnore EquipmentInspectionRtuDTO rtuDTO, Query query) {
-
 		BladeUser user = AuthUtil.getUser();
-
 		if (BusinessConstant.ROLE_ORG_ADMIN.equals(user.getRoleName()) || BusinessConstant.ROLE_ORG_SERVICE_PERSON.equals(user.getRoleName())) {
 
 		} else {
@@ -154,18 +152,21 @@ public class EquipmentInspectionPlanController extends BladeController {
 		return R.data(page);
 	}
 
-	@GetMapping("/my/rtu/page")
+	/**
+	 * 巡检任务
+	 * @param rtuDTO
+	 * @param query
+	 * @return
+	 */
+	@GetMapping("/my/page")
 	@ApiImplicitParams({
 		@ApiImplicitParam(name = "orgId", value = "机构ID", paramType = "query", dataType = "long"),
 		@ApiImplicitParam(name = "projectId", value = "项目ID", paramType = "query", dataType = "long"),
-		@ApiImplicitParam(name = "planId", value = "计划ID", paramType = "query", dataType = "long"),
 	})
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页")
 	public R<IPage<EquipmentInspectionRtuVO>> myRtuPage(@ApiIgnore EquipmentInspectionRtuDTO rtuDTO, Query query) {
-
 		BladeUser user = AuthUtil.getUser();
-
 		if (BusinessConstant.ROLE_ORG_ADMIN.equals(user.getRoleName()) || BusinessConstant.ROLE_ORG_SERVICE_PERSON.equals(user.getRoleName())) {
 
 		} else {
@@ -174,21 +175,15 @@ public class EquipmentInspectionPlanController extends BladeController {
 				rtuDTO.setProjectId(null);
 			}
 		}
+		EquipmentInspectionPlanEntity planEntity= planService.yearPlan();
+		rtuDTO.setPlanId(planEntity.getId());
+
+		IPage<EquipmentInspectionRtuVO> page = planRtuService.myPage(Condition.getPage(query), rtuDTO);
 
-		IPage<EquipmentInspectionRtuVO> page = planRtuService.selectPage(Condition.getPage(query), rtuDTO);
-		List<EquipmentInspectionRtuVO> rtuInfoVOList = page.getRecords();
-		for (EquipmentInspectionRtuVO vo : rtuInfoVOList) {
-			if (null != vo.getReportTime()) {
-				vo.setReportStatus(RtuReportStatusEnum.STATUS_1.getCode());
-			} else {
-				vo.setReportStatus(RtuReportStatusEnum.STATUS_0.getCode());
-			}
-		}
 		return R.data(page);
 	}
 
 
-
 	/**
 	 * 查询当前年度巡检计划
 	 */
@@ -217,6 +212,8 @@ public class EquipmentInspectionPlanController extends BladeController {
 		wrapper.orderByDesc(EquipmentInspectionPlanEntity::getCreateTime);
 		//wrapper.last("limit 1");
 
+
+
 		IPage<EquipmentInspectionPlanEntity> pages = planService.page(Condition.getPage(query), wrapper);
 		return R.data(EquipmentInspectionPlanWrapper.build().pageVO(pages));
 	}

+ 9 - 0
src/main/java/org/springblade/modules/business/equipment/inspection/plan/mapper/EquipmentInspectionPlanRtuMapper.java

@@ -37,4 +37,13 @@ public interface EquipmentInspectionPlanRtuMapper extends BaseMapper<EquipmentIn
 	 */
 
 	List<EquipmentInspectionRtuVO> selectPage(IPage page, @Param("rtuDTO") EquipmentInspectionRtuDTO rtuDTO);
+
+	/**
+	 * 巡检任务
+	 * @param page
+	 * @param rtuDTO
+	 * @return
+	 */
+	List<EquipmentInspectionRtuVO> myPage(IPage page, @Param("rtuDTO") EquipmentInspectionRtuDTO rtuDTO);
+
 }

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

@@ -70,16 +70,109 @@
 
     </resultMap>
 
+    <resultMap id="equipmentInspectionVOResultMap" type="org.springblade.modules.business.equipment.inspection.plan.vo.EquipmentInspectionRtuVO">
+        <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="rtu_code" property="rtuCode"/>
+        <result column="rtu_name" property="rtuName"/>
+        <result column="lng" property="lng"/>
+        <result column="lat" property="lat"/>
+        <result column="org_id" property="orgId"/>
+        <result column="project_id" property="projectId"/>
+        <result column="manageCompany" property="manage_company"/>
+
+
+        <result column="rtu_kinds" property="rtuKinds"/>
+        <result column="remark" property="remark"/>
+        <result column="location_desc" property="locationDesc"/>
+        <result column="remark" property="remark"/>
+        <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="is_satellite" property="isSatellite"/>
+
+        <result column="rtu_brand" property="rtuBrand"/>
+        <result column="rtu_model" property="rtuModel"/>
+        <result column="rtu_replace_date" property="rtuReplaceDate"/>
+        <result column="datagram_to_sheng" property="datagramToSheng"/>
+        <result column="datagram_to_shi" property="datagramToShi"/>
+        <result column="datagram_to_qu" property="datagramToQu"/>
+
+        <result column="rain_sensor_brand" property="rainSensorBrand"/>
+        <result column="rain_sensor_model" property="rainSensorModel"/>
+        <result column="rain_sensor_replace_date" property="rainSensorReplaceDate"/>
+
+        <result column="water_sensor_type" property="waterSensorType"/>
+        <result column="water_sensor_brand" property="waterSensorModel"/>
+        <result column="water_sensor_model" property="waterSensorModel"/>
+        <result column="water_sensor_replace_date" property="waterSensorReplaceDate"/>
+
+        <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="battery_model" property="batteryModel"/>
+        <result column="battery_replace_date" property="batteryReplaceDate"/>
+        <result column="sun_power_model" property="sunPowerModel"/>
+
+        <result column="network_sim_id" property="networkSimId"/>
+        <result column="network_payer" property="networkPayer"/>
+        <result column="network_pay_end_date" property="networkPayEndDate"/>
+
+        <result column="satellite_model" property="satelliteModel"/>
+
+        <result column="project_name" property="projectName"/>
+        <result column="org_name" property="orgName"/>
+
+        <result column="run_status_id" property="runStatus"/>
+
+    </resultMap>
+
 
     <select id="selectPage" resultMap="rtuVOResultMap">
         SELECT
         n.*,
-        p.project_name ,d.dept_name AS org_name,r.create_time AS  reportTime
+        p.project_name ,d.dept_name AS org_name,r.create_time AS  reportTime,s.run_status_id
+        FROM
+        rtu_info n
+        LEFT JOIN project_info p ON n.project_id = p.id
+        LEFT JOIN blade_dept d ON n.org_id = d.id
+        LEFT JOIN equipment_inspection_report_info r ON r.rtu_code= n.rtu_code
+        LEFT JOIN rtu_status s ON s.rtu_code = n.rtu_code
+        WHERE
+        n.is_deleted = 0
+        <if test="rtuDTO.orgId!=null">
+            and n.org_id = #{rtuDTO.orgId}
+        </if>
+        <if test="rtuDTO.projectId!=null">
+            and n.project_id = #{rtuDTO.projectId}
+        </if>
+        <if test="rtuDTO.planId!=null">
+            and r.plan_id = #{rtuDTO.planId}
+        </if>
+
+        order  by n.org_id,n.project_id,n.rtu_code,r.create_time
+
+    </select>
+
+    <select id="myPage" resultMap="equipmentInspectionVOResultMap">
+        SELECT
+        n.*,
+        p.project_name ,d.dept_name AS org_name,s.run_status_id
         FROM
         rtu_info n
         LEFT JOIN  project_info p ON n.project_id = p.id
         LEFT JOIN  blade_dept d ON n.org_id = d.id
         LEFT JOIN equipment_inspection_report_info r ON r.rtu_code= n.rtu_code
+        LEFT JOIN rtu_status s ON s.rtu_code = n.rtu_code
         WHERE
         n.is_deleted = 0
         <if test="rtuDTO.orgId!=null">
@@ -89,8 +182,9 @@
             and n.project_id = #{rtuDTO.projectId}
         </if>
         <if test="rtuDTO.planId!=null">
-            and r.planId = #{planEntity.planId}
+            and (r.plan_id is null OR r.plan_id = #{rtuDTO.planId})
         </if>
+        and r.create_time is null
 
         order  by n.org_id,n.project_id,n.rtu_code,r.create_time
 

+ 16 - 1
src/main/java/org/springblade/modules/business/equipment/inspection/plan/service/IEquipmentInspectionPlanRtuService.java

@@ -9,7 +9,6 @@ package org.springblade.modules.business.equipment.inspection.plan.service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.core.mp.base.BaseService;
 import org.springblade.modules.business.equipment.inspection.plan.dto.EquipmentInspectionRtuDTO;
-import org.springblade.modules.business.equipment.inspection.plan.entity.EquipmentInspectionPlanEntity;
 import org.springblade.modules.business.equipment.inspection.plan.entity.EquipmentInspectionRtuEntity;
 import org.springblade.modules.business.equipment.inspection.plan.vo.EquipmentInspectionRtuVO;
 
@@ -29,4 +28,20 @@ public interface IEquipmentInspectionPlanRtuService extends BaseService<Equipmen
 	 * @return
 	 */
 	IPage<EquipmentInspectionRtuVO> selectPage(IPage<EquipmentInspectionRtuVO> page, EquipmentInspectionRtuDTO rtuDTO);
+
+	/**
+	 * 巡检设备任务数量
+	 * @param orgId
+	 * @return
+	 */
+	Long yearPlanEquipmentInspectionCount(Long orgId);
+
+	/**
+	 *
+	 * @param page
+	 * @param rtuDTO
+	 * @return
+	 */
+	IPage<EquipmentInspectionRtuVO> myPage(IPage<EquipmentInspectionRtuVO> page, EquipmentInspectionRtuDTO rtuDTO);
+
 }

+ 1 - 1
src/main/java/org/springblade/modules/business/equipment/inspection/plan/service/IEquipmentInspectionPlanService.java

@@ -25,5 +25,5 @@ import org.springblade.modules.business.rtu.base.vo.RtuInfoVO;
  * Remark:认为有必要的其他信息
  */
 public interface IEquipmentInspectionPlanService extends BaseService<EquipmentInspectionPlanEntity> {
-
+	EquipmentInspectionPlanEntity yearPlan();
 }

+ 17 - 0
src/main/java/org/springblade/modules/business/equipment/inspection/plan/service/impl/EquipmentInspectionPlanRtuServiceImpl.java

@@ -6,8 +6,11 @@
  */
 package org.springblade.modules.business.equipment.inspection.plan.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.core.mp.support.Condition;
 import org.springblade.modules.business.equipment.inspection.plan.dto.EquipmentInspectionRtuDTO;
 import org.springblade.modules.business.equipment.inspection.plan.entity.EquipmentInspectionPlanEntity;
 import org.springblade.modules.business.equipment.inspection.plan.entity.EquipmentInspectionRtuEntity;
@@ -30,8 +33,22 @@ import org.springframework.stereotype.Service;
 public class EquipmentInspectionPlanRtuServiceImpl extends BaseServiceImpl<EquipmentInspectionPlanRtuMapper, EquipmentInspectionRtuEntity> implements IEquipmentInspectionPlanRtuService {
 
 
+
 	@Override
 	public IPage<EquipmentInspectionRtuVO> selectPage(IPage<EquipmentInspectionRtuVO> page, EquipmentInspectionRtuDTO rtuDTO) {
 		return page.setRecords(baseMapper.selectPage(page, rtuDTO));
 	}
+
+	@Override
+	public Long yearPlanEquipmentInspectionCount(Long orgId) {
+		LambdaQueryWrapper<EquipmentInspectionRtuEntity> wrapper = Wrappers.<EquipmentInspectionRtuEntity>query().lambda();
+		wrapper.eq(EquipmentInspectionRtuEntity::getOrgId, orgId);
+		wrapper.eq(EquipmentInspectionRtuEntity::getIsDeleted,0);
+		return baseMapper.selectCount(wrapper);
+	}
+
+	@Override
+	public IPage<EquipmentInspectionRtuVO> myPage(IPage<EquipmentInspectionRtuVO> page, EquipmentInspectionRtuDTO rtuDTO) {
+		return page.setRecords(baseMapper.myPage(page, rtuDTO));
+	}
 }

+ 10 - 0
src/main/java/org/springblade/modules/business/equipment/inspection/plan/service/impl/EquipmentInspectionPlanServiceImpl.java

@@ -6,7 +6,9 @@
  */
 package org.springblade.modules.business.equipment.inspection.plan.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.modules.business.check.process.entity.OrderProcessInfoEntity;
 import org.springblade.modules.business.check.process.mapper.RtuOrderProcessMapper;
@@ -31,4 +33,12 @@ import org.springframework.stereotype.Service;
 public class EquipmentInspectionPlanServiceImpl extends BaseServiceImpl<EquipmentInspectionPlanMapper, EquipmentInspectionPlanEntity> implements IEquipmentInspectionPlanService {
 
 
+	@Override
+	public EquipmentInspectionPlanEntity yearPlan() {
+		LambdaQueryWrapper<EquipmentInspectionPlanEntity> wrapper = Wrappers.<EquipmentInspectionPlanEntity>query().lambda();
+		wrapper.eq(EquipmentInspectionPlanEntity::getIsDeleted,0);
+		wrapper.orderByDesc(EquipmentInspectionPlanEntity::getCreateTime);
+		wrapper.last("limit 1");
+		return baseMapper.selectOne(wrapper);
+	}
 }

+ 6 - 0
src/main/java/org/springblade/modules/business/equipment/inspection/plan/vo/EquipmentInspectionRtuVO.java

@@ -80,4 +80,10 @@ public class EquipmentInspectionRtuVO extends RtuInfoEntity {
 	@ApiModelProperty(value = "填报状态")
 	private Integer reportStatus;
 
+	/**
+	 * 运行状态: 0 正常, 1故障
+	 */
+	@ApiModelProperty(value = "运行状态")
+	private Integer runStatus;
+
 }

+ 2 - 0
src/main/java/org/springblade/modules/business/equipment/inspection/report/mapper/EquipmentInspectionReportMapper.java

@@ -34,4 +34,6 @@ public interface EquipmentInspectionReportMapper extends BaseMapper<EquipmentIns
 	 * @return List<EquipmentInspectionReportVO>
 	 */
 	List<EquipmentInspectionReportVO> selectPage(IPage page, @Param("reportDTO") EquipmentInspectionReportDTO reportDTO);
+
+    Long yearPlanEquipmentInspectionReportCount(@Param("planId") Long planId,@Param("orgId") Long orgId);
 }

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

@@ -198,15 +198,19 @@
         <result column="org_id" property="orgId"/>
         <result column="project_id" property="projectId"/>
         <result column="rtu_name" property="rtuName"/>
+
+        <result column="real_name" property="servicePersonName"/>
+
+
     </resultMap>
 
     <select id="selectPage" resultMap="reportVOResultMap">
         SELECT
-        r.*, rtu.rtu_name,rtu.org_id,rtu.project_id
+        r.*, rtu.rtu_name,rtu.org_id,rtu.project_id,u.real_name
         FROM
         equipment_inspection_report_info r
         LEFT JOIN  rtu_info rtu ON rtu.rtu_code = r.rtu_code
-
+        LEFT JOIN  blade_user u ON u.id = r.create_user
         WHERE
         r.is_deleted = 0
         and r.plan_id = #{reportDTO.planId}
@@ -224,4 +228,20 @@
         </if>
         order by r.rtu_code
     </select>
+
+    <select id="yearPlanEquipmentInspectionReportCount" resultType="java.lang.Long">
+        SELECT
+        count(*)
+        FROM
+        equipment_inspection_report_info r
+        LEFT JOIN  rtu_info rtu ON rtu.rtu_code = r.rtu_code
+        WHERE
+        r.is_deleted = 0
+        <if test="planId!=null">
+        and r.plan_id = #{planId}
+        </if>
+        <if test="orgId!=null">
+            and rtu.org_id = #{orgId}
+        </if>
+    </select>
 </mapper>

+ 2 - 0
src/main/java/org/springblade/modules/business/equipment/inspection/report/service/IEquipmentInspectionReportService.java

@@ -29,4 +29,6 @@ public interface IEquipmentInspectionReportService extends BaseService<Equipment
 	 * @return
 	 */
 	IPage<EquipmentInspectionReportVO> selectPage(IPage<EquipmentInspectionReportVO> page, EquipmentInspectionReportDTO reportDTO);
+
+    Long yearPlanEquipmentInspectionReportCount(Long planId,Long orgId);
 }

+ 6 - 0
src/main/java/org/springblade/modules/business/equipment/inspection/report/service/impl/EquipmentInspectionReportServiceImpl.java

@@ -30,4 +30,10 @@ public class EquipmentInspectionReportServiceImpl extends BaseServiceImpl<Equipm
 	public IPage<EquipmentInspectionReportVO> selectPage(IPage<EquipmentInspectionReportVO> page, EquipmentInspectionReportDTO reportDTO) {
 		return page.setRecords(baseMapper.selectPage(page, reportDTO));
 	}
+
+	@Override
+	public Long yearPlanEquipmentInspectionReportCount(Long planId,Long orgId) {
+
+		return baseMapper.yearPlanEquipmentInspectionReportCount(planId,orgId);
+	}
 }

+ 6 - 0
src/main/java/org/springblade/modules/business/equipment/inspection/report/vo/EquipmentInspectionReportVO.java

@@ -57,4 +57,10 @@ public class EquipmentInspectionReportVO extends EquipmentInspectionReportEntity
 	 */
 	@ApiModelProperty("测站名称")
 	private String rtuName;
+
+	/**
+	 * 填报人姓名
+	 */
+	@ApiModelProperty("填报人姓名")
+	private String servicePersonName;
 }

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

@@ -6,9 +6,7 @@ import org.apache.kafka.clients.consumer.ConsumerRecord;
 
 import org.springblade.common.cache.DictBizCache;
 import org.springblade.core.tool.jackson.JsonUtil;
-import org.springblade.enums.EquipmentStatusEnum;
-import org.springblade.enums.OrderFromEnum;
-import org.springblade.enums.OrderStatusEnum;
+import org.springblade.enums.*;
 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;
@@ -102,6 +100,8 @@ public class MessageHandler {
 			}
 			checkOrderInfoEntity.setWarnId(warningInfoEntity.getId());
 			checkOrderInfoEntity.setRtuCode(warningInfoEntity.getRtuCode());
+			checkOrderInfoEntity.setOrderClose(OrderCloseEnum.ACTIVE_OPEN.getCode());
+			checkOrderInfoEntity.setOrderConfirm(OrderConfirmEnum.ACTIVE_CREATE.getCode());
 			checkOrderInfoEntity.setUpdateUser(KafkaConstant.SYS_ADMIN_ID);
 			checkOrderInfoEntity.setCreateUser(KafkaConstant.SYS_ADMIN_ID);
 			checkOrderInfoEntity.setUpdateTime(new Date());

+ 10 - 1
src/main/java/org/springblade/realData/VO/RealDataHomeInfoVO.java

@@ -21,8 +21,17 @@ import org.springblade.realData.Entity.RealDataHomeInfoEntity;
 @Data
 @EqualsAndHashCode(callSuper = true)
 public class RealDataHomeInfoVO extends RealDataHomeInfoEntity {
+
 	private Integer rtus;
 	private Integer warningRtus;
 	private Integer delayOrders;
-	private Integer equipmentInspectionCount;
+	private Long equipmentInspectionCount;
+
+	private Long myOrderCount;
+	private Long myInspectionCount;
+
+	private String equipmentInspectionPercent;
+
+	private Boolean hasNewNotice;
+	private Long newNoticeCount;
 }

+ 70 - 3
src/main/java/org/springblade/realData/controller/RealDataController.java

@@ -6,16 +6,33 @@
  */
 package org.springblade.realData.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
+import org.springblade.constant.BusinessConstant;
 import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.mp.support.Condition;
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.enums.OrderCloseEnum;
+import org.springblade.enums.OrderConfirmEnum;
+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;
 import org.springblade.modules.business.check.process.vo.OrderProcessInfoVO;
 import org.springblade.modules.business.check.process.wrapper.RtuOrderProcessWrapper;
+import org.springblade.modules.business.desk.entity.NoticeViewEntity;
+import org.springblade.modules.business.desk.service.INoticeService;
+import org.springblade.modules.business.desk.service.INoticeViewService;
+import org.springblade.modules.business.equipment.inspection.plan.entity.EquipmentInspectionPlanEntity;
+import org.springblade.modules.business.equipment.inspection.plan.service.IEquipmentInspectionPlanRtuService;
+import org.springblade.modules.business.equipment.inspection.plan.service.IEquipmentInspectionPlanService;
+import org.springblade.modules.business.equipment.inspection.report.service.IEquipmentInspectionReportService;
 import org.springblade.realData.VO.RealDataHomeInfoVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.HashOperations;
@@ -40,6 +57,13 @@ public class RealDataController {
 	@Autowired
 	private RedisTemplate redisTemplate;
 
+	private final IRtuCheckOrderService checkOrderService;
+	private final IEquipmentInspectionPlanService planService;
+	private final IEquipmentInspectionPlanRtuService planRtuService;
+	private final IEquipmentInspectionReportService reportService;
+	private final INoticeService noticeService;
+	private final INoticeViewService noticeViewService;
+
 	@GetMapping("/home/info")
 	@ApiOperationSupport(order = 1)
 	@ApiOperation(value = "详情")
@@ -61,11 +85,54 @@ public class RealDataController {
 		}else{
 			infoVO.setDelayOrders(0);
 		}
-		if (opsHash.hasKey("real_data_info","equipmentInspectionCount")){
-			infoVO.setEquipmentInspectionCount(Integer.parseInt(opsHash.get("real_data_info","equipmentInspectionCount")));
+//		if (opsHash.hasKey("real_data_info","equipmentInspectionCount")){
+//			infoVO.setEquipmentInspectionCount(Integer.parseInt(opsHash.get("real_data_info","equipmentInspectionCount")));
+//		}else{
+//			infoVO.setEquipmentInspectionCount(0);
+//		}
+
+		BladeUser user = AuthUtil.getUser();
+		if (BusinessConstant.ROLE_ORG_ADMIN.equals(user.getRoleName()) || BusinessConstant.ROLE_ORG_SERVICE_PERSON.equals(user.getRoleName())) {
+			LambdaQueryWrapper<CheckOrderInfoEntity> wrapper = Wrappers.<CheckOrderInfoEntity>query().lambda();
+			wrapper.eq(CheckOrderInfoEntity::getOrderConfirmUser,user.getUserId());
+			wrapper.eq(CheckOrderInfoEntity::getOrderConfirm,OrderConfirmEnum.ACTIVE_CONFIRM);
+			wrapper.eq(CheckOrderInfoEntity::getOrderClose,OrderCloseEnum.ACTIVE_OPEN);
+			wrapper.eq(CheckOrderInfoEntity::getIsDeleted,0);
+			long count =checkOrderService.count(wrapper);
+			infoVO.setMyOrderCount(count);
+
+			EquipmentInspectionPlanEntity planEntity=planService.yearPlan();
+			Long planInspectionRtus=planRtuService.yearPlanEquipmentInspectionCount(Func.toLong(user.getDeptId()));
+		    Long reportRtus=reportService.yearPlanEquipmentInspectionReportCount(planEntity.getId(),Func.toLong(user.getDeptId()));
+		    infoVO.setEquipmentInspectionCount(planInspectionRtus);
+			infoVO.setMyInspectionCount(reportRtus);
+
+			String equipmentInspectionPercent = String.format("%.02f",(double)reportRtus/(double)planInspectionRtus*(double)100);
+			infoVO.setEquipmentInspectionPercent(equipmentInspectionPercent);
+		}else{
+			infoVO.setMyOrderCount(0L);
+			infoVO.setMyInspectionCount(0L);
+			infoVO.setEquipmentInspectionPercent("0");
+		}
+
+		LambdaQueryWrapper<NoticeViewEntity> noticewrapper = Wrappers.<NoticeViewEntity>query().lambda();
+		noticewrapper.eq(NoticeViewEntity::getCreateUser,user.getUserId());
+		noticewrapper.eq(NoticeViewEntity::getIsDeleted,0);
+		NoticeViewEntity entity=noticeViewService.getOne(noticewrapper);
+		if (null != entity){
+		  Long count=	noticeService.unviewNoticeCount(entity.getViewTime());
+			if (count>0){
+				infoVO.setHasNewNotice(true);
+				infoVO.setNewNoticeCount(count);
+			}else{
+				infoVO.setHasNewNotice(false);
+				infoVO.setNewNoticeCount(0L);
+			}
 		}else{
-			infoVO.setEquipmentInspectionCount(0);
+			infoVO.setHasNewNotice(true);
+			infoVO.setNewNoticeCount(0L);
 		}
+
 		return R.data(infoVO);
 	}
 }

+ 5 - 5
src/main/resources/application-dev.yml

@@ -2,8 +2,8 @@
 spring:
   redis:
     ##redis 单机环境配置
-    host: 172.9.0.165
-    port: 6379
+    host: 111.204.228.227
+    port: 16379
     password:  123456
     database: 1
     ssl: false
@@ -13,7 +13,7 @@ spring:
     #  commandTimeout: 5000
   datasource:
     # MySql
-    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
+    url: jdbc:mysql://111.204.228.227:13306/shzhjcyjptywxt?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
 #    username: root
 #    password: root
     username: root
@@ -37,7 +37,7 @@ spring:
 #    password: ZGXXXT2022
 
   kafka:
-    bootstrap-servers: 172.9.0.120:9092,172.9.0.121:9092,172.9.0.202:9092
+    bootstrap-servers: 111.204.228.227:19092
     producer:
       retries: 0
       batch-size: 16384
@@ -71,7 +71,7 @@ blade:
     ##是否启用分布式锁
     enabled: false
     ##redis服务地址
-    address: redis://172.9.0.165:6379
+    address: redis://111.204.228.227:16379
     password:  123456
   #本地文件上传
   file: