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