天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 5368|回复: 15

[界面] 自动发送邮件

[复制链接]
萧雨 发表于 2010-11-25 14:35:36 | 显示全部楼层 |阅读模式
假如现在有袋牛奶,它的保质期的60天,但是一般情况在保质期到期的前一周就不会喝了,想问OBPM可不可以实现根据生产日期,判定保质期前两周的时间,并在这个时间发送提醒,提醒该袋牛奶即将过期
jion 发表于 2010-11-25 15:53:31 | 显示全部楼层
回复 1# 萧雨


    在流程节点上有自动提醒功能 QQ截图未命名.png
 楼主| 萧雨 发表于 2010-11-25 16:28:55 | 显示全部楼层
这个提醒可以在过期之前两周发出提醒么?
如果可以~应该怎么设置呢
jion 发表于 2010-11-25 16:54:02 | 显示全部楼层
选择通知提醒的方式邮件或是短信,通知类型 过期 是否通知上级,时限  是按天为单位还是以小时为单位
选择发送模板 也就是表单
 楼主| 萧雨 发表于 2010-11-26 13:40:02 | 显示全部楼层
可能没明白我所表达的意思。
我举个例子:现在有两袋牛奶A,B,A的生产日期为2010.11.20,B为2010.11.27.假设保质期都为10天,那么A的过期时间为2010.11.29,B的过期时间为2010.12.6.现在我需要在他们过期之前的前3天发送提醒到用户的邮箱中。A应该在2010.11.27发送,而B应该在2010.12.4发送提醒,生产日期不是固定的,想问如何实现这样的功能~
我想应该不是技术人员上面给的方法就能解决的吧?~
如果技术人员遇见过类似这样的问题,能不能给个例子帮忙解决一下
tom 发表于 2010-12-1 14:19:15 | 显示全部楼层
  1. /**
  2. * 发送邮件
  3. *
  4. * @param from
  5. *            发送人地址
  6. * @param to
  7. *            接收人地址
  8. * @param subject
  9. *            主题
  10. * @param body
  11. *            内容
  12. * @param host
  13. *            邮件服务器地址
  14. * @param user
  15. *            邮件服务器用户名
  16. * @param password
  17. *            密码
  18. * @param bbc
  19. *            秘密抄送地址
  20. * @param validate
  21. *            是否校验
  22. */
  23. function sendMail(from, to, subject, body, host, user, password, bbc, validate) {
  24.         $EMAIL.setEmail(from, to, subject, body, host, user, password, bbc,
  25.                         validate);
  26.         $EMAIL.send();
  27. }

  28. //////////////////////////////////////////


  29. 后台-----》软件-----》模块-----》任务------》新建

  30. 类型:脚本

  31. 终止条件: false;
  32. //true马上终止   false不终止

  33. 任务内容:
  34. var dp = getDocProcess("11de-ef9e-c010eee1-860c-e1cadb714510");
  35. //11de-ef9e-c010eee1-860c-e1cadb714510当前表单所在的软件ID,可以通过查看数据库t_application
  36. var sql = "SELECT * FROM tlk_timer WHERE (TO_DAYS(ITEM_END) - TO_DAYS(now())) <= 30 AND ITEM_ISSEND = '0'";
  37. // tlk_timer tlk_+表单名
  38. // ITEM_END 表单结束时间名称end
  39. // now() 数据库当前时间
  40. // 30为天数
  41. // ITEM_ISSEND 表单隐含字段isSend  用于判断当前记录是否以提醒过,默认值0没提醒过,1为已提醒
  42. var coll = dp.queryBySQL(sql);
  43. for (var it = coll.iterator(); it.hasNext(); ) {
  44.         var doc = it.next();
  45.         //sendMail(--------);//发送邮件,参数参考上面系统自带方法
  46.         var item = doc.findItem("isSend");
  47.         //$PRINTER.println(item.getValue.toString());
  48.         item.setValue("1");
  49.         dp.doUpdate(doc);
  50. }
复制代码
 楼主| 萧雨 发表于 2010-12-1 17:06:25 | 显示全部楼层
非常感谢技术人员的解决方法 我试试看~
 楼主| 萧雨 发表于 2010-12-3 14:51:02 | 显示全部楼层
我已经试过任务功能了 照着你们给我的代码修改了一下 能够执行
现在的问题是没到执行sendMail();方法的时候 控制台报错(javax.net.ssl.SSLHandshakeException)
想问技术人员一下sendMail对于加密ssl时如何实现呢?
jion 发表于 2010-12-3 15:07:18 | 显示全部楼层
将那个发送邮件 的参数设置为ture试下先
 楼主| 萧雨 发表于 2010-12-3 15:11:57 | 显示全部楼层
是最后的参数validate吗?我已经设置成ture了

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 10:41

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表