From 2fcd97552d16718cc7997629fd637a73a5a4483f Mon Sep 17 00:00:00 2001
From: 郑永安 <zyazyz250@sina.com>
Date: 星期一, 19 六月 2023 14:44:19 +0800
Subject: [PATCH] 删除

---
 src/main/java/com/gk/firework/Scheduls/Task/CheckEnterpriseTask.java |  145 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 145 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/gk/firework/Scheduls/Task/CheckEnterpriseTask.java b/src/main/java/com/gk/firework/Scheduls/Task/CheckEnterpriseTask.java
new file mode 100644
index 0000000..e923b15
--- /dev/null
+++ b/src/main/java/com/gk/firework/Scheduls/Task/CheckEnterpriseTask.java
@@ -0,0 +1,145 @@
+package com.gk.firework.Scheduls.Task;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.gk.firework.Config.WebSocket.WebSocketServer;
+import com.gk.firework.Domain.Enterprise;
+import com.gk.firework.Domain.EnterpriseLicense;
+import com.gk.firework.Domain.EnterprisePerson;
+import com.gk.firework.Domain.Enum.EnterpriseSafetySupervision;
+import com.gk.firework.Domain.Enum.MsgContentType;
+import com.gk.firework.Domain.Enum.MsgType;
+import com.gk.firework.Domain.Enum.PersonnelCategory;
+import com.gk.firework.Domain.UserInfo;
+import com.gk.firework.Domain.Utils.Message;
+import com.gk.firework.Domain.Utils.SpringBeanUtil;
+import com.gk.firework.Domain.Utils.StringUtils;
+import com.gk.firework.Service.EnterpriseLicenseService;
+import com.gk.firework.Service.EnterprisePersonService;
+import com.gk.firework.Service.EnterpriseService;
+import lombok.SneakyThrows;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Component;
+import org.springframework.stereotype.Service;
+
+import javax.websocket.Session;
+import java.util.ArrayList;
+import java.util.Date;
+
+@Component("task")
+@Scope("prototype")
+public class CheckEnterpriseTask implements Runnable{
+
+    final static Logger logger= LoggerFactory.getLogger(CheckEnterpriseTask.class);
+
+    private UserInfo userInfo;
+
+
+    public CheckEnterpriseTask(UserInfo userInfo) {
+        this.userInfo = userInfo;
+    }
+
+    @SneakyThrows
+    @Override
+    public void run() {
+        String companynumber = userInfo.getCompanynumber();
+        Long companyid = userInfo.getCompanyid();
+        //普通企业
+        if (StringUtils.isNotBlank(companynumber)) {
+            logger.info("正在执行:检查企业信息是否完善");
+            Enterprise enterprise = SpringBeanUtil.getBean(EnterpriseService.class).selectEnterpriseByNumber(companynumber);
+            Message message = new Message(MsgType.NOTIFICATION,MsgContentType.INFO_UNDONE,Boolean.FALSE);
+            ArrayList<String> msgs = new ArrayList<>();
+            if (!checkEnterprise(enterprise)) msgs.add("企业相关信息还未完善");
+            if (!checkEnterpriseLicense(companyid)) msgs.add("许可证信息还未完善");
+            if (!checkSafetyPerson(companyid)) msgs.add("安全人员信息还未完善");
+            //长期店、短期店不用特种人员
+            if (!checkSpecialPerson(companyid)
+                    && (enterprise.getSafetysupervision().equals(EnterpriseSafetySupervision.PRODUCE)
+                    || enterprise.getSafetysupervision().equals(EnterpriseSafetySupervision.WHOLESALER))
+            ) msgs.add("特种人员信息还未完善");
+            if (msgs.size() > 0){
+                message.setMessage(msgs.toString());
+                WebSocketServer.sendMessage(userInfo.getId(), JSONObject.toJSONString(message));
+            }
+
+            //检查许可证过期
+            logger.info("正在执行:检查企业许可证是否过期");
+            if (enterprise.getValidendtime().before(new Date())) {
+                Message message2 = new Message(MsgType.NOTIFICATION,MsgContentType.LICENSE_EXPIRED,Boolean.FALSE);
+                message2.setMessage("您的许可证已到期,请重新录入许可证期限并上传许可证");
+                WebSocketServer.sendMessage(userInfo.getId(), JSONObject.toJSONString(message2));
+            }
+        }
+        //监管部门
+        if (StringUtils.isBlank(companynumber)) {
+            //查找管辖的所有企业的信息未完善的
+            logger.info("正在执行:检查企业信息未完善个数");
+            int undoneEnterprise = SpringBeanUtil.getBean(EnterpriseService.class).countAllUndoneEnterprise(userInfo);
+            if (undoneEnterprise > 0) {
+                Message message = new Message(MsgType.NOTIFICATION, MsgContentType.INFO_UNDONE, Boolean.TRUE);
+                message.setMessage(String.format("共有%d个企业未完善企业相关信息",undoneEnterprise));
+                WebSocketServer.sendMessage(userInfo.getId(), JSONObject.toJSONString(message));
+            }
+
+            logger.info("正在执行:检查所有许可证过期企业");
+            int expiredEnterprise = SpringBeanUtil.getBean(EnterpriseService.class).countAllEnterpriseExpired(userInfo);
+            if (expiredEnterprise > 0) {
+                Message message = new Message(MsgType.NOTIFICATION, MsgContentType.LICENSE_EXPIRED, Boolean.TRUE);
+                message.setMessage(String.format("共有%d个企业许可证已过期",expiredEnterprise));
+                WebSocketServer.sendMessage(userInfo.getId(), JSONObject.toJSONString(message));
+            }
+
+        }
+        logger.info("结束执行");
+
+    }
+
+    //检查企业信息完整
+    private boolean checkEnterprise(Enterprise enterprise) {
+        boolean flag = true;
+        //小提示
+        if (StringUtils.isBlank(enterprise.getOfficeaddress())) {
+            flag = false;
+        }
+        return flag;
+    }
+
+    //检查许可证 有无
+    private boolean checkEnterpriseLicense(Long enterpriseid) {
+        LambdaQueryWrapper<EnterpriseLicense> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(EnterpriseLicense::getEnterpriseid, enterpriseid)
+                .eq(EnterpriseLicense::getValidflag, true);
+        int count = SpringBeanUtil.getBean(EnterpriseLicenseService.class).count(queryWrapper);
+        return count != 0;
+    }
+
+
+    //检查安全人员
+    private boolean checkSafetyPerson(Long enterpriseid) {
+        LambdaQueryWrapper<EnterprisePerson> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(EnterprisePerson::getEnterpriseid, enterpriseid)
+                .eq(EnterprisePerson::getValidflag, true)
+                .eq(EnterprisePerson::getType, PersonnelCategory.SECURITY);
+        int count = SpringBeanUtil.getBean(EnterprisePersonService.class).count(queryWrapper);
+        return count != 0;
+    }
+
+    //检查特种人员
+    private boolean checkSpecialPerson(Long enterpriseid) {
+        LambdaQueryWrapper<EnterprisePerson> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(EnterprisePerson::getEnterpriseid, enterpriseid)
+                .eq(EnterprisePerson::getValidflag, true)
+                .eq(EnterprisePerson::getType, PersonnelCategory.SPECIAL);
+        int count = SpringBeanUtil.getBean(EnterprisePersonService.class).count(queryWrapper);
+        return count != 0;
+    }
+
+
+
+
+
+}

--
Gitblit v1.9.2