瀏覽代碼

瑞恒巡检处理

lipenghui 1 周之前
父節點
當前提交
40083bdc6c
共有 12 個文件被更改,包括 63 次插入5 次删除
  1. 19 0
      yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/date/DateUtils.java
  2. 1 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/inspect/item/vo/IotInspectItemPageReqVO.java
  3. 4 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/inspect/item/vo/IotInspectItemRespVO.java
  4. 4 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/inspect/item/vo/IotInspectItemSaveReqVO.java
  5. 1 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/inspect/route/vo/IotInspectRoutePageReqVO.java
  6. 2 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/inspect/route/vo/IotInspectRouteRespVO.java
  7. 2 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/inspect/route/vo/IotInspectRouteSaveReqVO.java
  8. 4 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/inspect/IotInspectItemDO.java
  9. 3 0
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/inspect/IotInspectRouteDO.java
  10. 3 1
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/inspect/IotInspectOrderServiceImpl.java
  11. 6 0
      yudao-module-pms/yudao-module-pms-biz/src/main/resources/mapper/static/IotInspectItemMapper.xml
  12. 14 4
      yudao-module-pms/yudao-module-pms-biz/src/main/resources/mapper/static/IotInspectRouteMapper.xml

+ 19 - 0
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/date/DateUtils.java

@@ -303,4 +303,23 @@ public class DateUtils {
             long hoursDifference = ChronoUnit.HOURS.between(givenTime, now);
             return Math.abs(hoursDifference) >= 24;
         }
+
+        public static LocalDateTime contactTime(LocalDateTime targetTime ) {
+            LocalDateTime now = LocalDateTime.now();
+            int currentYear = now.getYear();       // 当前年(如2024)
+            int currentMonth = now.getMonthValue();// 当前月(1-12,如10)
+            int currentDay = now.getDayOfMonth();  // 当前日(1-31,如8)
+
+            // 3. 获取指定时间的「时、分、秒」
+            int targetHour = targetTime.getHour();     // 指定时(0-23,如14)
+            int targetMinute = targetTime.getMinute(); // 指定分(0-59,如30)
+            int targetSecond = targetTime.getSecond(); // 指定秒(0-59,如45)
+
+            // 4. 拼接:当前年月日 + 指定时分秒 → 新的LocalDateTime
+            LocalDateTime mergedDateTime = LocalDateTime.of(
+                    currentYear, currentMonth, currentDay,
+                    targetHour, targetMinute, targetSecond
+            );
+            return mergedDateTime;
+        }
 }

+ 1 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/inspect/item/vo/IotInspectItemPageReqVO.java

@@ -43,4 +43,5 @@ public class IotInspectItemPageReqVO extends PageParam {
     private String deviceName;
     @Schema(description = "设备编码")
     private String deviceCode;
+    private String brandName;
 }

+ 4 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/inspect/item/vo/IotInspectItemRespVO.java

@@ -64,4 +64,8 @@ public class IotInspectItemRespVO {
     private String deviceCode;
 
     private String createName;
+    /**品牌*/
+    private Long brand;
+    /**品牌名称*/
+    private String brandName;
 }

+ 4 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/inspect/item/vo/IotInspectItemSaveReqVO.java

@@ -52,4 +52,8 @@ public class IotInspectItemSaveReqVO {
 
     private String urls;
     private String deviceCode;
+    /**品牌*/
+    private Long brand;
+    /**品牌名称*/
+    private String brandName;
 }

+ 1 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/inspect/route/vo/IotInspectRoutePageReqVO.java

@@ -45,5 +45,6 @@ public class IotInspectRoutePageReqVO extends PageParam {
 
     @Schema(description = "部门id", example = "27993")
     private Long deptId;
+    private String brandName;
 
 }

+ 2 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/inspect/route/vo/IotInspectRouteRespVO.java

@@ -62,4 +62,6 @@ public class IotInspectRouteRespVO {
     private Long index;
     @Schema(description = "路线描述")
     private String routeDesc;
+    private Long brand;
+    private String brandName;
 }

+ 2 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/inspect/route/vo/IotInspectRouteSaveReqVO.java

@@ -45,4 +45,6 @@ public class IotInspectRouteSaveReqVO {
     @Schema(description = "路线描述")
     private String routeDesc;
 
+    private Long brand;
+    private String brandName;
 }

+ 4 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/inspect/IotInspectItemDO.java

@@ -72,4 +72,8 @@ public class IotInspectItemDO extends BaseDO {
     private String deviceCode;
 
     private String createName;
+    /**品牌*/
+    private Long brand;
+    /**品牌名称*/
+    private String brandName;
 }

+ 3 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/dataobject/inspect/IotInspectRouteDO.java

@@ -66,4 +66,7 @@ public class IotInspectRouteDO extends BaseDO {
      * 路线描述
      */
     private String routeDesc;
+
+    private Long brand;
+    private String brandName;
 }

+ 3 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/inspect/IotInspectOrderServiceImpl.java

@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.pms.service.inspect;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.util.date.DateUtils;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
 import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils;
@@ -269,7 +270,8 @@ public class IotInspectOrderServiceImpl implements IotInspectOrderService {
             results.forEach(result-> result.setOrderId(iotInspectOrderDO.getId()));
             TenantUtils.execute(1L, () -> {
                 iotInspectOrderDetailMapper.insertBatch(results);
-                iotInspectPlan.setLastCreateTime(LocalDateTime.now());
+                LocalDateTime localDateTime = DateUtils.contactTime(iotInspectPlan.getBeginCreateTime());
+                iotInspectPlan.setLastCreateTime(localDateTime);
                 iotInspectPlanMapper.updateById(iotInspectPlan);
             });
             CompletableFuture.runAsync(()->{

+ 6 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/resources/mapper/static/IotInspectItemMapper.xml

@@ -11,5 +11,11 @@
     <select id="getRouteItem"
             resultType="cn.iocoder.yudao.module.pms.dal.dataobject.inspect.IotInspectItemDO">
         select * from rq_iot_inspect_item a where a.device_classify = #{reqVO.deviceClassify}
+        <if test="reqVO.item!=null and reqVO.item!=''">
+            and a.item LIKE CONCAT('%',#{reqVO.item},'%')
+        </if>
+        <if test="reqVO.brandName!=null and reqVO.brandName!=''">
+            and a.brand_name LIKE CONCAT('%',#{reqVO.brandName},'%')
+        </if>
     </select>
 </mapper>

+ 14 - 4
yudao-module-pms/yudao-module-pms-biz/src/main/resources/mapper/static/IotInspectRouteMapper.xml

@@ -17,7 +17,8 @@
         r.id,
         r.item_json,
         r.create_time,
-        d.dept_id,d.device_code
+        d.dept_id,d.device_code,
+        d.brand_name
         FROM
         rq_iot_inspect_route r
         LEFT JOIN rq_iot_device d
@@ -32,10 +33,13 @@
         SELECT 1 FROM rq_iot_inspect_route i
         WHERE i.device_id = d.id
         )
-        AND d.id IS NOT NULL and r.deleted=0 and d.deleted=0 and p.deleted=0
+        AND d.id IS NOT NULL and r.deleted=0 and d.deleted=0 and p.deleted=0 and r.brand is null
         union all
-        select route_name, device_name, device_id,id,item_json,create_time,dept_id,device_code from rqiot.rq_iot_inspect_route
-        where device_id is not null and deleted=0)fin
+        select route_name, device_name, device_id,id,item_json,create_time,dept_id,device_code,brand_name from rqiot.rq_iot_inspect_route
+        where device_id is not null and deleted=0
+        union all
+        select li.route_name,de.device_name,de.id device_id, li.id, li.item_json, li.create_time, de.dept_id, de.device_code,li.brand_name from rq_iot_inspect_route li left join rq_iot_device de on li.brand=de.brand where li.brand is not null and li.deleted=0 and de.deleted=0
+        )fin
         <where>
         <if test="reqVO.deviceName!=null and reqVO.deviceName!=''">
             and fin.device_name LIKE CONCAT('%',#{reqVO.deviceName},'%')
@@ -46,6 +50,12 @@
         <if test="reqVO.routeName!=null and reqVO.routeName!=''">
             and fin.route_name LIKE CONCAT('%',#{reqVO.routeName},'%')
         </if>
+            <if test="reqVO.brandName!=null and reqVO.brandName!=''">
+                and fin.brand_name LIKE CONCAT('%',#{reqVO.brandName},'%')
+            </if>
+            <if test="reqVO.deptId!=null and reqVO.deptId!=''">
+                and fin.dept_id LIKE CONCAT('%',#{reqVO.deptId},'%')
+            </if>
         </where>
     </select>
 </mapper>