对比新文件 |
| | |
| | | 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; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |