From db1d7484b7114f9f91decef684280866dac34dfe Mon Sep 17 00:00:00 2001
From: “linengliang” <vanSuperEnergy@163.com>
Date: 星期日, 29 十月 2023 23:30:09 +0800
Subject: [PATCH] 消息加台账导入

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenaceAlart.java |   70 +++++++++++++++++++++++++++++++++++
 1 files changed, 70 insertions(+), 0 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenaceAlart.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenaceAlart.java
new file mode 100644
index 0000000..a0ccf5d
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenaceAlart.java
@@ -0,0 +1,70 @@
+package org.jeecg.modules.eam.job;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.hibernate.annotations.Source;
+import org.jeecg.common.api.dto.message.MessageDTO;
+import org.jeecg.common.system.api.ISysBaseAPI;
+import org.jeecg.common.system.vo.DictModel;
+import org.jeecg.modules.eam.entity.Equipment;
+import org.jeecg.modules.eam.entity.EquipmentReportRepair;
+import org.jeecg.modules.eam.service.IEamEquipmentService;
+import org.jeecg.modules.system.entity.*;
+import org.jeecg.modules.system.service.*;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.Date;
+import java.util.List;
+
+public class ThirdMaintenaceAlart implements Job {
+
+    @Resource
+    private IEamEquipmentService equipmentService;
+    @Resource
+    private ISysBaseAPI sysBaseApi;
+    @Resource
+    private ISysRoleService sysRoleService;
+    @Resource
+    private ISysDictService sysDictService;
+    @Resource
+    private ISysDictItemService sysDictItemService;
+    @Resource
+    private ISysUserRoleService sysUserRoleService;
+    @Resource
+    private ISysUserService sysUserService;
+    @Override
+    public void execute(JobExecutionContext context) throws JobExecutionException {
+        LocalDateTime currentDateTime = LocalDateTime.now();
+        LocalDateTime dateBefore2Months = currentDateTime.plusMonths(2);
+        Date result = Date.from(dateBefore2Months.atZone(ZoneId.systemDefault()).toInstant());
+        List<Equipment> needAlerts = equipmentService.list(new QueryWrapper<Equipment>().lt("next_third_maintenance_time",result).eq("property_status","normal").eq("del_flag",0));
+        SysDict sysDict = sysDictService.getOne(new QueryWrapper<SysDict>().eq("dict_code","info_type"),false);
+        SysDictItem sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>().eq("item_text","涓変繚娑堟伅").eq("dict_id",sysDict.getId()),false);
+        String roleCode = sysDictItem.getItemValue();
+        SysRole sysRole = sysRoleService.getOne(new QueryWrapper<SysRole>().eq("role_code",roleCode),false);
+        List<SysUserRole> sysUserRoles = sysUserRoleService.list(new QueryWrapper<SysUserRole>().eq("role_id",sysRole.getId()));
+        for(SysUserRole sysUserRole:sysUserRoles){
+            SysUser sysUser = sysUserService.getById(sysUserRole.getUserId());
+            String title = "璁惧涓嬫涓変繚鍒版湡鎻愰啋!";
+            String msg = "缁熶竴缂栫爜涓猴細";
+            for(Equipment equipment:needAlerts){
+                msg = msg+"銆�"+equipment.getNum()+"銆�";
+            }
+            msg = msg+"鐨勮澶囩涓嬫涓変繚鐨勬棩鏈熶笉瓒充袱涓湀锛岃鍙婃椂澶勭悊";
+            MessageDTO messageDTO = new MessageDTO();
+            messageDTO.setTitle(title);
+            messageDTO.setContent(msg);
+            messageDTO.setCategory("涓変繚娑堟伅");
+            messageDTO.setFromUser("admin");
+            messageDTO.setToUser(sysUser.getUsername());
+            if(needAlerts.size()!=0){
+                sysBaseApi.sendSysAnnouncement(messageDTO);
+            }
+        }
+    }
+}

--
Gitblit v1.9.3