From c3510da29a7974c6af7ff3de1ade3db429d6f848 Mon Sep 17 00:00:00 2001 From: 李宇 <986321569@qq.com> Date: 星期三, 18 八月 2021 14:27:59 +0800 Subject: [PATCH] 申购管理申请履历显示所有历史单据,提交时如有无效试剂耗材报错 --- src/main/java/com/nanometer/smartlab/email/EmailSendSchedule.java | 83 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 82 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/email/EmailSendSchedule.java b/src/main/java/com/nanometer/smartlab/email/EmailSendSchedule.java index 3ae54f2..f9e8eae 100644 --- a/src/main/java/com/nanometer/smartlab/email/EmailSendSchedule.java +++ b/src/main/java/com/nanometer/smartlab/email/EmailSendSchedule.java @@ -1,15 +1,19 @@ package com.nanometer.smartlab.email; import com.nanometer.smartlab.entity.EmailStatus; +import com.nanometer.smartlab.entity.OpeWarehouseReserve; +import com.nanometer.smartlab.entity.SysReagent; import com.nanometer.smartlab.entity.enumtype.EmailSendStatus; import com.nanometer.smartlab.exception.BusinessException; import com.nanometer.smartlab.service.*; import com.nanometer.smartlab.util.EmailSend; import org.apache.log4j.Logger; +import org.springframework.context.annotation.Lazy; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; /** @@ -17,11 +21,18 @@ */ @Component public class EmailSendSchedule { - + @Lazy @Resource private OpeOrderService opeOrderService; private static Logger logger = Logger.getLogger(EmailSendSchedule.class); + + @Resource + private SysReagentService sysReagentService; + @Resource + private OpeWarehouseReserveService opeWarehouseReserveService; + @Resource + private SysUserService userService; @Scheduled(fixedDelayString = "${emailSend.schedule.delay}") public void EmailSendSchedule(){ @@ -55,4 +66,74 @@ } } } + + +// @Scheduled(cron = "0/5 * * * * ?") //每隔5秒执行一次 + @Scheduled(cron = "0 0 8 * * ?")//每天8点执行一次 + public void EmailSendStock(){ + //收件人为人员角色为库管员的邮箱 + List<String> revicerList = userService.getLibrarianEmail(); + //先查试剂表 安全库存大于0,然后去查库存,实际库存小于安全库存的列表 + List<SysReagent> sysReagentList = new ArrayList<>(); + //已经填写安全库存的试剂 + List<SysReagent> alreadyFillIn = sysReagentService.selectReagentSafetyNum(); + if (alreadyFillIn.size() > 0) { + for (SysReagent reagent : alreadyFillIn) { + int actualNum = opeWarehouseReserveService.countByReagentId(reagent.getId()); + if (reagent.getSafetynum() > actualNum) { + reagent.setActualnum(actualNum); + sysReagentList.add(reagent); + } + } + } + if(sysReagentList.size() > 0 && revicerList.size() > 0 ){ + StringBuffer content = new StringBuffer("<html><body>"); + content.append("<div style=\"line-height:1.7;color:#000000;font-size:14px;font-family:Arial\">"); + content.append("<table border=\"1\">"); + content.append("<tbody>"); + content.append("<tr>"); + content.append("<th>试剂名称</th>"); + content.append("<th>产品编号</th>"); + content.append("<th>CAS</th>"); + content.append("<th>试剂类型</th>"); + content.append("<th>供应商</th>"); + content.append("<th>厂家</th>"); + content.append("<th>规格</th>"); + content.append("<th>包装</th>"); + content.append("<th>安全库存</th>"); + content.append("<th>实际库存</th>"); + content.append("</tr>"); + for (SysReagent sysReagent : sysReagentList){ + content.append("<tr>"); + content.append("<td>"+sysReagent.getName()+"</td>"); + content.append("<td>"+sysReagent.getProductSn()+"</td>"); + content.append("<td>"+sysReagent.getCas()+"</td>"); + + content.append("<td>"+sysReagent.getReagentType()+"</td>");// + content.append("<td>"+sysReagent.getSupplierName()+"</td>"); + + content.append("<td>"+sysReagent.getProductHomeName()+"</td>"); + + content.append("<td>"+sysReagent.getReagentFormat()+"</td>");// + + content.append("<td>"+sysReagent.getReagentUnit()+"</td>");// + content.append("<td>"+sysReagent.getSafetynum()+"</td>"); + content.append("<td>"+sysReagent.getActualnum()+"</td>"); + content.append("</tr>"); + } + content.append("</tbody></table></div>"); + content.append("</body></html>"); + + try { + EmailSend.sendArrivalEmail(revicerList,content.toString()); + // 发送成功,更新邮件发送状态为:已发送 + } catch (BusinessException e) { + // 发送失败,更新邮件发送状态为:发送失败 + logger.warn("操作失败。", e); + } catch (Exception e) { + logger.error(e); + } + } + } + } -- Gitblit v1.9.2