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 | 114 ++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 68 insertions(+), 46 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/email/EmailSendSchedule.java b/src/main/java/com/nanometer/smartlab/email/EmailSendSchedule.java index 25a3378..f9e8eae 100644 --- a/src/main/java/com/nanometer/smartlab/email/EmailSendSchedule.java +++ b/src/main/java/com/nanometer/smartlab/email/EmailSendSchedule.java @@ -1,6 +1,7 @@ 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; @@ -25,6 +26,13 @@ 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(){ @@ -61,57 +69,71 @@ // @Scheduled(cron = "0/5 * * * * ?") //每隔5秒执行一次 - @Scheduled(cron = "0 0 8 * * ?") //每天8点执行一次 + @Scheduled(cron = "0 0 8 * * ?")//每天8点执行一次 public void EmailSendStock(){ - List<String> revicerList = new ArrayList<>(); - + //收件人为人员角色为库管员的邮箱 + List<String> revicerList = userService.getLibrarianEmail(); + //先查试剂表 安全库存大于0,然后去查库存,实际库存小于安全库存的列表 List<SysReagent> sysReagentList = new ArrayList<>(); - - - 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+"</td>");安全库存 - //content.append("<td>"+sysReagent+"</td>");实际库存 - content.append("</tr>"); + //已经填写安全库存的试剂 + 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); + } + } } - content.append("</tbody></table></div>"); - content.append("</body></html>"); + 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>"); - try { - EmailSend.sendArrivalEmail(revicerList,content.toString()); - // 发送成功,更新邮件发送状态为:已发送 - } catch (BusinessException e) { - // 发送失败,更新邮件发送状态为:发送失败 - logger.warn("操作失败。", e); - } catch (Exception e) { - logger.error(e); + 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