From dd28194577a2bfaf16b72137f5dbb3021b72b3fd Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期三, 22 十一月 2023 15:23:25 +0800
Subject: [PATCH] 三保未执行消息提醒

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java |    1 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenanceOrderOverdueJob.java          |  105 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderMapper.xml        |    4 +-
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/InspectionOrderMapper.xml              |    4 +-
 4 files changed, 110 insertions(+), 4 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java
index bc9ad0e..b2218d8 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java
@@ -324,6 +324,7 @@
                                                 dailyInspectionStandard.setVersion("1.0");
                                                 dailyInspectionStandard.setAssignMode("1");
                                                 dailyInspectionStandard.setEquipmentId(equipment.getId());
+                                                dailyInspectionStandard.setApprovalStatus("1");
                                                 //dailyInspectionStandardService.save(dailyInspectionStandard);
                                                 //dailyInspectionStandardId = dailyInspectionStandard.getId();
                                             }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenanceOrderOverdueJob.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenanceOrderOverdueJob.java
new file mode 100644
index 0000000..adff3bc
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenanceOrderOverdueJob.java
@@ -0,0 +1,105 @@
+package org.jeecg.modules.eam.job;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.api.dto.message.MessageDTO;
+import org.jeecg.common.system.api.ISysBaseAPI;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.common.util.DateUtils;
+import org.jeecg.modules.eam.entity.*;
+import org.jeecg.modules.eam.service.*;
+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 org.springframework.format.annotation.DateTimeFormat;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
+import java.time.DayOfWeek;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 涓夌骇淇濆吇宸ュ崟  鍒版湡鏈墽琛�  鎶�鏈姸鎬佷慨鏀逛负 绂佺敤锛堢姸鎬侀壌瀹氭湭鎸夋湡瀹屾垚锛�
+ */
+@Slf4j
+public class ThirdMaintenanceOrderOverdueJob implements Job {
+
+    @Autowired
+    private IDailyMaintenanceOrderService dailyMaintenanceOrderService;
+
+    @Autowired
+    private IEamEquipmentService equipmentService;
+    @Autowired
+    private IMaintenanceCycleService maintenanceCycleService;
+
+    @Autowired
+    private ISysBaseAPI sysBaseApi;
+
+    @Resource
+    private ISysRoleService sysRoleService;
+    @Resource
+    private ISysDictService sysDictService;
+    @Resource
+    private ISysDictItemService sysDictItemService;
+    @Resource
+    private ISysUserRoleService sysUserRoleService;
+    @Resource
+    private ISysUserService sysUserService;
+
+    @Override
+    @Transactional(rollbackFor = { Exception.class })
+    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+
+        LocalDateTime currentDateTime = LocalDateTime.now();
+        Date result = Date.from(currentDateTime.atZone(ZoneId.systemDefault()).toInstant());
+        List<DailyMaintenanceOrder> maintenanceOrders = dailyMaintenanceOrderService.list(new QueryWrapper<DailyMaintenanceOrder>().lt("plan_start_time", result).eq("status",1).eq("del_flag",0));
+        for (DailyMaintenanceOrder dailyMaintenanceOrder : maintenanceOrders) {
+            String maintenanceCycleId = dailyMaintenanceOrder.getMaintenanceCycleId();
+            MaintenanceCycle maintenanceCycle = maintenanceCycleService.getById(maintenanceCycleId);
+            String maintenanceType = maintenanceCycle.getMaintenanceType();
+            if("3".equals(maintenanceType)){
+                String equipmentId = dailyMaintenanceOrder.getEquipmentId();
+
+                Equipment equipment = equipmentService.getById(equipmentId);
+                equipment.setTechnologyStatus("disableNoExe");
+                equipmentService.updateById(equipment);
+                this.equipmentTechnologyStatuAlart(equipment.getNum(),equipment.getTechnologyStatus());
+            }
+        }
+    }
+
+    void equipmentTechnologyStatuAlart(String equipmentNum,String technologyStatus){
+
+        SysDict sysDictT = sysDictService.getOne(new QueryWrapper<SysDict>().eq("dict_code","technology_status"),false);
+        SysDictItem sysDictItemt = sysDictItemService.getOne(new QueryWrapper<SysDictItem>().eq("item_value",technologyStatus)
+                .eq("dict_id",sysDictT.getId()),false);
+
+        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 user = sysUserService.getById(sysUserRole.getUserId());
+            String msg = "缁熶竴缂栧彿涓恒��"+equipmentNum+"銆戠殑涓夌骇淇濆吇宸ュ崟鏈墽琛岋紝绯荤粺鑷姩灏嗚璁惧鎶�鏈姸鎬佹敼涓恒��"+sysDictItemt.getItemText()+"銆戯紝璇风煡鏅擄紒锛侊紒";
+            MessageDTO messageDTO = new MessageDTO();
+            messageDTO.setTitle("璁惧鍙拌处鎶�鏈姸鎬佷慨鏀�");
+            messageDTO.setContent(msg);
+            messageDTO.setCategory("杩愪繚璁惧绠$悊鍛�");
+            messageDTO.setFromUser("璁惧鍙拌处鎶�鏈姸鎬佷慨鏀规彁閱掑皬鍔╂墜");
+            messageDTO.setToUser(user.getUsername());
+            sysBaseApi.sendSysAnnouncement(messageDTO);
+        }
+    }
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderMapper.xml
index f9de1a3..35e4aad 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderMapper.xml
@@ -31,8 +31,8 @@
     <select id="getMaintenanceCycleByStandardId"  parameterType="Map" resultType="org.jeecg.modules.eam.model.MaintenanceCycleVo">
         SELECT DISTINCT
             t2.id AS value,
-	        concat( t2.CODE, '/', t2.name ) AS text,
-	        concat( t2.CODE, '/', t2.name ) AS title
+	        t2.name AS text,
+	        t2.name AS title
         FROM
             mom_eam_maintenance_standard_detail t1
             LEFT JOIN mom_eam_maintenance_cycle t2 ON t1.maintenance_cycle_id = t2.id
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/InspectionOrderMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/InspectionOrderMapper.xml
index 9d2172e..9d639ee 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/InspectionOrderMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/InspectionOrderMapper.xml
@@ -60,8 +60,8 @@
     <select id="getInspectionCycleByEqId"  parameterType="Map" resultType="org.jeecg.modules.eam.model.InspectionCycleVo">
         SELECT DISTINCT
             t1.inspection_cycle_id AS value,
-            concat(t3.code, '/', t3.name) as text,
-            concat(t3.code, '/', t3.name) as title
+            t3.name as text,
+            t3.name as title
         FROM
             mom_eam_daily_inspection_standard_detail t1
         LEFT JOIN mom_eam_daily_inspection_standard t2 ON t1.daily_inspection_standard_id = t2.id

--
Gitblit v1.9.3