Procházet zdrojové kódy

计量器具及台账的定时任务

Zimo před 5 dny
rodič
revize
54f18a81aa

+ 64 - 7
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/job/qhse/BookAndCertWeekJob.java

@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.module.pms.job.qhse;
 package cn.iocoder.yudao.module.pms.job.qhse;
 
 
+import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission;
 import cn.iocoder.yudao.framework.quartz.core.handler.JobHandler;
 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.aop.TenantIgnore;
 import cn.iocoder.yudao.module.pms.constant.PmsConstants;
 import cn.iocoder.yudao.module.pms.constant.PmsConstants;
@@ -18,6 +19,7 @@ import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
 import cn.iocoder.yudao.module.system.service.dept.DeptService;
 import cn.iocoder.yudao.module.system.service.dept.DeptService;
 import cn.iocoder.yudao.module.system.service.permission.RoleService;
 import cn.iocoder.yudao.module.system.service.permission.RoleService;
+import com.alibaba.excel.util.StringUtils;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
 import java.util.HashSet;
 import java.util.HashSet;
@@ -56,6 +58,7 @@ public class BookAndCertWeekJob implements JobHandler {
 
 
     @Override
     @Override
     @TenantIgnore
     @TenantIgnore
+    @DataPermission(enable = false)
     public String execute(String param) throws Exception {
     public String execute(String param) throws Exception {
         //获取项目部
         //获取项目部
         List<DeptRespDTO> collect = deptApi.getDeptList().stream().filter(e -> "2".equals(e.getType())).collect(Collectors.toList());
         List<DeptRespDTO> collect = deptApi.getDeptList().stream().filter(e -> "2".equals(e.getType())).collect(Collectors.toList());
@@ -69,12 +72,14 @@ public class BookAndCertWeekJob implements JobHandler {
             reqVO.setAlertWarn(true);
             reqVO.setAlertWarn(true);
             //90天预警
             //90天预警
             long warn = iotMeasureBookMapper.selectCountByDeptAndExpireAndWarn(reqVO, ids);
             long warn = iotMeasureBookMapper.selectCountByDeptAndExpireAndWarn(reqVO, ids);
+            reqVO.setAlertWarn(null);
             reqVO.setExpired(true);
             reqVO.setExpired(true);
             Long expired = iotMeasureBookMapper.selectCountByDeptAndExpireAndWarn(reqVO, ids);
             Long expired = iotMeasureBookMapper.selectCountByDeptAndExpireAndWarn(reqVO, ids);
             //获取证书的预警及过期数量
             //获取证书的预警及过期数量
             IotMeasureCertPageReqVO reqVO1 = new IotMeasureCertPageReqVO();
             IotMeasureCertPageReqVO reqVO1 = new IotMeasureCertPageReqVO();
             reqVO1.setAlertWarn(true);
             reqVO1.setAlertWarn(true);
             Long warnCert = iotMeasureCertMapper.selectCountByDeptAndExpireAndWarn(reqVO1, ids);
             Long warnCert = iotMeasureCertMapper.selectCountByDeptAndExpireAndWarn(reqVO1, ids);
+            reqVO1.setAlertWarn(null);
             reqVO1.setExpired(true);
             reqVO1.setExpired(true);
             Long expiredCert = iotMeasureCertMapper.selectCountByDeptAndExpireAndWarn(reqVO1, ids);
             Long expiredCert = iotMeasureCertMapper.selectCountByDeptAndExpireAndWarn(reqVO1, ids);
             if (warn>0||expired>0||warnCert>0||expiredCert>0) {
             if (warn>0||expired>0||warnCert>0||expiredCert>0) {
@@ -82,7 +87,8 @@ public class BookAndCertWeekJob implements JobHandler {
                 List<Long> userIds = roleApi.getRoleUserIds("QHSE项目部");
                 List<Long> userIds = roleApi.getRoleUserIds("QHSE项目部");
                 //给项目部的角色为QHSE项目部的人员发送消息,项目部的过期及预警都要发送消息
                 //给项目部的角色为QHSE项目部的人员发送消息,项目部的过期及预警都要发送消息
                 userListByDeptId.stream().filter(e -> userIds.contains(e.getId())).forEach(adminUser -> {
                 userListByDeptId.stream().filter(e -> userIds.contains(e.getId())).forEach(adminUser -> {
-                    pmsMessage.sendMessage(dept.getId(), dept.getName()+"计量器具台账90天预警数量为:"+warn+",过期数量为:"+expired+"。资质证书60天预警数量为:"+warnCert+",过期数量为:"+expiredCert+"。请登录QHSE系统进行查看。", PmsConstants.WEEK_ALARM_MESSAGE, adminUser.getId(), adminUser.getMobile());
+//                    pmsMessage.sendMessage(dept.getId(), dept.getName()+"计量器具台账90天预警数量为:"+warn+",过期数量为:"+expired+"。资质证书60天预警数量为:"+warnCert+",过期数量为:"+expiredCert+"。请登录QHSE系统进行查看。", PmsConstants.WEEK_ALARM_MESSAGE, adminUser.getId(), adminUser.getMobile());
+                    pmsMessage.sendMessage(dept.getId(), dept.getName()+"计量器具台账90天预警数量为:"+warn+",过期数量为:"+expired+"。资质证书60天预警数量为:"+warnCert+",过期数量为:"+expiredCert+"。请登录QHSE系统进行查看。", PmsConstants.WEEK_ALARM_MESSAGE, 140L, "13255461093");
                 });
                 });
                 //发送给各公司的QHSE负责人
                 //发送给各公司的QHSE负责人
                 String companyCode = deptUtil.getCompanyCode(dept.getId());
                 String companyCode = deptUtil.getCompanyCode(dept.getId());
@@ -90,26 +96,77 @@ public class BookAndCertWeekJob implements JobHandler {
                     List<AdminUserRespDTO> rh = adminUserApi.getUserListByDeptId(157L);
                     List<AdminUserRespDTO> rh = adminUserApi.getUserListByDeptId(157L);
                     List<Long> rhIds = roleApi.getRoleUserIds("QHSE安全副总监");
                     List<Long> rhIds = roleApi.getRoleUserIds("QHSE安全副总监");
                     rh.stream().filter(e -> rhIds.contains(e.getId())).forEach(adminUser -> {
                     rh.stream().filter(e -> rhIds.contains(e.getId())).forEach(adminUser -> {
-                        pmsMessage.sendMessage(dept.getId(), dept.getName()+"计量器具台账90天预警数量为:"+warn+",过期数量为:"+expired+"。资质证书60天预警数量为:"+warnCert+",过期数量为:"+expiredCert+"。请登录QHSE系统进行查看。", PmsConstants.WEEK_ALARM_MESSAGE, adminUser.getId(), adminUser.getMobile());
+                        String nickname = adminUser.getNickname();
+                        if (StringUtils.isNotBlank(nickname)) {
+                            if ("翟纪全".equals(nickname)||"刘学刚".equals(nickname)) {
+                                pmsMessage.sendMessage(dept.getId(), dept.getName()+"计量器具台账90天预警数量为:"+warn+",过期数量为:"+expired+"。资质证书60天预警数量为:"+warnCert+",过期数量为:"+expiredCert+"。请登录QHSE系统进行查看。", PmsConstants.WEEK_ALARM_MESSAGE, adminUser.getId(), adminUser.getMobile());
+                            }
+                        }
+//                        pmsMessage.sendMessage(dept.getId(), dept.getName()+"计量器具台账90天预警数量为:"+warn+",过期数量为:"+expired+"。资质证书60天预警数量为:"+warnCert+",过期数量为:"+expiredCert+"。请登录QHSE系统进行查看。", PmsConstants.WEEK_ALARM_MESSAGE, 140L, "13255461093");
                     });
                     });
                 } else if ("ry".equals(companyCode)){
                 } else if ("ry".equals(companyCode)){
                     List<AdminUserRespDTO> ry = adminUserApi.getUserListByDeptId(158L);
                     List<AdminUserRespDTO> ry = adminUserApi.getUserListByDeptId(158L);
                     List<Long> ryIds = roleApi.getRoleUserIds("QHSE安全副总监");
                     List<Long> ryIds = roleApi.getRoleUserIds("QHSE安全副总监");
                     ry.stream().filter(e -> ryIds.contains(e.getId())).forEach(adminUser -> {
                     ry.stream().filter(e -> ryIds.contains(e.getId())).forEach(adminUser -> {
-                        pmsMessage.sendMessage(dept.getId(), dept.getName()+"计量器具台账90天预警数量为:"+warn+",过期数量为:"+expired+"。资质证书60天预警数量为:"+warnCert+",过期数量为:"+expiredCert+"。请登录QHSE系统进行查看。", PmsConstants.WEEK_ALARM_MESSAGE, adminUser.getId(), adminUser.getMobile());
+                        String nickname = adminUser.getNickname();
+                        if (StringUtils.isNotBlank(nickname)) {
+                            if ("李东斌".equals(nickname)||"李强".equals(nickname)) {
+                                pmsMessage.sendMessage(dept.getId(), dept.getName()+"计量器具台账90天预警数量为:"+warn+",过期数量为:"+expired+"。资质证书60天预警数量为:"+warnCert+",过期数量为:"+expiredCert+"。请登录QHSE系统进行查看。", PmsConstants.WEEK_ALARM_MESSAGE, adminUser.getId(), adminUser.getMobile());
+                            }
+                        }
+//                        pmsMessage.sendMessage(dept.getId(), dept.getName()+"计量器具台账90天预警数量为:"+warn+",过期数量为:"+expired+"。资质证书60天预警数量为:"+warnCert+",过期数量为:"+expiredCert+"。请登录QHSE系统进行查看。", PmsConstants.WEEK_ALARM_MESSAGE, 140L, "13255461093");
                     });
                     });
                 } else if ("rd".equals(companyCode)){
                 } else if ("rd".equals(companyCode)){
                     List<AdminUserRespDTO> rd = adminUserApi.getUserListByDeptId(163L);
                     List<AdminUserRespDTO> rd = adminUserApi.getUserListByDeptId(163L);
                     List<Long> rdIds = roleApi.getRoleUserIds("QHSE安全副总监");
                     List<Long> rdIds = roleApi.getRoleUserIds("QHSE安全副总监");
                     rd.stream().filter(e -> rdIds.contains(e.getId())).forEach(adminUser -> {
                     rd.stream().filter(e -> rdIds.contains(e.getId())).forEach(adminUser -> {
-                        pmsMessage.sendMessage(dept.getId(), dept.getName()+"计量器具台账90天预警数量为:"+warn+",过期数量为:"+expired+"。资质证书60天预警数量为:"+warnCert+",过期数量为:"+expiredCert+"。请登录QHSE系统进行查看。", PmsConstants.WEEK_ALARM_MESSAGE, adminUser.getId(), adminUser.getMobile());
+                        String nickname = adminUser.getNickname();
+                        if (StringUtils.isNotBlank(nickname)) {
+                            if ("曲猛".equals(nickname)||"陈习荣".equals(nickname)) {
+                                pmsMessage.sendMessage(dept.getId(), dept.getName()+"计量器具台账90天预警数量为:"+warn+",过期数量为:"+expired+"。资质证书60天预警数量为:"+warnCert+",过期数量为:"+expiredCert+"。请登录QHSE系统进行查看。", PmsConstants.WEEK_ALARM_MESSAGE, adminUser.getId(), adminUser.getMobile());
+                            }
+                        }
+//                        pmsMessage.sendMessage(dept.getId(), dept.getName()+"计量器具台账90天预警数量为:"+warn+",过期数量为:"+expired+"。资质证书60天预警数量为:"+warnCert+",过期数量为:"+expiredCert+"。请登录QHSE系统进行查看。", PmsConstants.WEEK_ALARM_MESSAGE, 140L, "13255461093");
                     });
                     });
                 }
                 }
             }
             }
-            //已过期的信息给藏总发消息
-
-
         });
         });
+        //瑞恒
+        Set<Long> ids = new HashSet<>();
+        IotMeasureBookPageReqVO reqVO = new IotMeasureBookPageReqVO();
+        reqVO.setExpired(true);
+        ids = deptService.getChildDeptIdListFromCache(157L);
+        ids.add(157L);
+        Long expired = iotMeasureBookMapper.selectCountByDeptAndExpireAndWarn(reqVO, ids);
+        IotMeasureCertPageReqVO certPageReqVO = new IotMeasureCertPageReqVO();
+        certPageReqVO.setExpired(true);
+        Long certExpired = iotMeasureCertMapper.selectCountByDeptAndExpireAndWarn(certPageReqVO, ids);
+        pmsMessage.sendMessage(10L, "瑞恒兴域计量器具过期数量为:"+expired+",资质证书过期数量为:"+certExpired+"。请登录QHSE系统进行查看。",PmsConstants.WEEK_ALARM_MESSAGE,
+                140L,"13255461093");
+        //瑞鹰
+        Set<Long> ryids = new HashSet<>();
+        IotMeasureBookPageReqVO ryreqVO = new IotMeasureBookPageReqVO();
+        ryreqVO.setExpired(true);
+        ryids = deptService.getChildDeptIdListFromCache(158L);
+        ryids.add(158L);
+        Long ryexpired = iotMeasureBookMapper.selectCountByDeptAndExpireAndWarn(ryreqVO, ryids);
+        IotMeasureCertPageReqVO rycertPageReqVO = new IotMeasureCertPageReqVO();
+        rycertPageReqVO.setExpired(true);
+        Long rycertExpired = iotMeasureCertMapper.selectCountByDeptAndExpireAndWarn(rycertPageReqVO, ryids);
+        pmsMessage.sendMessage(10L, "瑞鹰国际计量器具过期数量为:"+ryexpired+",资质证书过期数量为:"+rycertExpired+"。请登录QHSE系统进行查看。",PmsConstants.WEEK_ALARM_MESSAGE,
+                140L,"13255461093");
+        //瑞都
+        Set<Long> rdids = new HashSet<>();
+        IotMeasureBookPageReqVO rdreqVO = new IotMeasureBookPageReqVO();
+        rdreqVO.setExpired(true);
+        rdids = deptService.getChildDeptIdListFromCache(163L);
+        rdids.add(163L);
+        Long rdexpired = iotMeasureBookMapper.selectCountByDeptAndExpireAndWarn(rdreqVO, rdids);
+        IotMeasureCertPageReqVO rdcertPageReqVO = new IotMeasureCertPageReqVO();
+        rdcertPageReqVO.setExpired(true);
+        Long rdcertExpired = iotMeasureCertMapper.selectCountByDeptAndExpireAndWarn(rdcertPageReqVO, rdids);
+        pmsMessage.sendMessage(10L, "四川瑞都计量器具过期数量为:"+rdexpired+",资质证书过期数量为:"+rdcertExpired+"。请登录QHSE系统进行查看。",PmsConstants.WEEK_ALARM_MESSAGE,
+                140L,"13255461093");
         return "";
         return "";
     }
     }
 }
 }