Browse Source

巡检定时任务

lipenghui 2 months ago
parent
commit
2a17244822

+ 1 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/inspect/order/IotInspectOrderController.java

@@ -112,7 +112,7 @@ public class IotInspectOrderController {
             IotDeviceDO iotDevice = iotDeviceService.getIotDevice(k);
             OrderDetail orderDetail = new OrderDetail();
             orderDetail.setDeviceId(k);
-            orderDetail.setDeviceName(iotDevice.getDeviceName());
+            orderDetail.setDeviceName(iotDevice.getDeviceCode()+iotDevice.getDeviceName());
             orderDetail.setOrderDetails(v);
             orderDetails.add(orderDetail);
         });

+ 18 - 13
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/job/InspectCreateOrderJob.java

@@ -5,7 +5,9 @@ import cn.hutool.core.date.DateUtil;
 import cn.iocoder.yudao.framework.common.exception.ServiceException;
 import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission;
 import cn.iocoder.yudao.framework.quartz.core.handler.JobHandler;
+import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
 import cn.iocoder.yudao.framework.tenant.core.job.TenantJob;
+import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils;
 import cn.iocoder.yudao.module.pms.dal.dataobject.inspect.IotInspectPlanDO;
 import cn.iocoder.yudao.module.pms.dal.mysql.inspect.IotInspectPlanMapper;
 import cn.iocoder.yudao.module.pms.service.inspect.IotInspectOrderService;
@@ -32,23 +34,26 @@ public class InspectCreateOrderJob implements JobHandler {
     @TenantJob
     @Transactional(rollbackFor = Exception.class)
     @DataPermission(enable = false)
+    @TenantIgnore
     public String execute(String param) throws Exception {
         try {
-            List<IotInspectPlanDO> plans = iotInspectPlanMapper.selectList();
-            plans.stream().filter(e -> e.getStatus()==0).forEach(plan -> {
-                if (plan.getLastCreateTime()==null) {
-                    Date date = Date.from(
-                            plan.getCreateTime().atZone(ZoneId.systemDefault()) // 使用系统默认时区
-                                    .toInstant()                    // 转为 Instant(时间戳)
-                    );
+            TenantUtils.execute(1L, () -> {
+                List<IotInspectPlanDO> plans = iotInspectPlanMapper.selectList();
+                plans.stream().filter(e -> e.getStatus()==0).forEach(plan -> {
+                    if (plan.getLastCreateTime()==null) {
+                        Date date = Date.from(
+                                plan.getCreateTime().atZone(ZoneId.systemDefault()) // 使用系统默认时区
+                                        .toInstant()                    // 转为 Instant(时间戳)
+                        );
                         deal(plan, date);
-                } else {
-                    Date lastdate = Date.from(
-                            plan.getLastCreateTime().atZone(ZoneId.systemDefault()) // 使用系统默认时区
-                                    .toInstant()                    // 转为 Instant(时间戳)
-                    );
+                    } else {
+                        Date lastdate = Date.from(
+                                plan.getLastCreateTime().atZone(ZoneId.systemDefault()) // 使用系统默认时区
+                                        .toInstant()                    // 转为 Instant(时间戳)
+                        );
                         deal(plan, lastdate);
-                }
+                    }
+                });
             });
         } catch (Exception e) {
             throw new RuntimeException(e.getMessage());

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

@@ -4,6 +4,7 @@ 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.object.BeanUtils;
+import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils;
 import cn.iocoder.yudao.module.pms.constant.PmsConstants;
 import cn.iocoder.yudao.module.pms.controller.admin.inspect.order.vo.IotInspectOrderPageReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.inspect.order.vo.IotInspectOrderSaveReqVO;
@@ -235,7 +236,7 @@ public class IotInspectOrderServiceImpl implements IotInspectOrderService {
             iotInspectOrderDO.setDeleted(false);
             iotInspectOrderDO.setChargeName(Objects.nonNull(user)?user.getNickname():"");
             iotInspectOrderDO.setDeptId(v.get(0).getDeptId());
-            iotInspectOrderMapper.insert(iotInspectOrderDO);
+            TenantUtils.execute(1L, () -> iotInspectOrderMapper.insert(iotInspectOrderDO));
             List<IotInspectOrderDetailDO> results = new ArrayList<>();
             //处理巡检项
             List<IotInspectItemDO> items = iotInspectItemMapper.selectList();
@@ -271,9 +272,12 @@ public class IotInspectOrderServiceImpl implements IotInspectOrderService {
             if (CollUtil.isEmpty(results)){
                 throw new RuntimeException();
             }
-            iotInspectOrderDetailMapper.insertBatch(results);
-            iotInspectPlan.setLastCreateTime(LocalDateTime.now());
-            iotInspectPlanMapper.updateById(iotInspectPlan);
+            TenantUtils.execute(1L, () -> {
+                iotInspectOrderDetailMapper.insertBatch(results);
+                iotInspectPlan.setLastCreateTime(LocalDateTime.now());
+                iotInspectPlanMapper.updateById(iotInspectPlan);
+            });
+
             //发送消息
             pmsMessage.sendMessage(iotInspectOrderDO.getId(), iotInspectOrderDO.getInspectOrderTitle(), PmsConstants.GENERATE_INSPECT, k, user.getMobile());
         });