




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一步:创建邮件收件人类/*/* 编号:HPS_HR005 */* 描述:合同到期 */* 作者: */* 日期:2015-04-17 */*/import HPS_ALERT:HPS_ALTER_INTFACE;import HPS_COMMON:HR_COMMON:Hr_Common;class HPS_HR005_DS implements HPS_ALERT:HPS_ALTER_INTFACE method HPS_HR005_DS(); /*获取预警要发送的数据*/ method GetAlterDataSource() Returns array of array of any;
2、/*获取预警接收者员工ID*/ method GetAlterRecipter() Returns array of array of any; /*获取邮件接收着需要抄送对象的对应关系*/ method GetRecipterCC() Returns array of array of any; /*获取预警接收者员工ID和预警内容关联员工的对应关系*/ method GetAlterRecipterMap() Returns array of array of any; /*发送表格的头*/ method GetTableHeader() Returns array of any; /*智
3、能分组*/ method PutRcpArray(&rcpTemp As array of any); /*添加预警接收者和抄送对象的对应关系*/ method PutRcpCCArray(&rcpEmplid As string, &ccContent As string, &ccType As string); /*添加预警接收者和预警内容相关员工的对应关系*/ method PutRcpMapArray(&rcpEmplid As string, &cntEmplid As string); /*接收者二维数组,一维数组格式,第一列为接收人
4、的员工ID,第二列为类型EMPLID或者EMAIL*/ property array of array of any rcpArray; /*邮件抄送二维数组,第一列为接收人的员工ID,第二列为需要抄送的邮件地址或者员工工号,第三列标志第二列的内容(EMPLID/EMAIL)*/ property array of array of any rcpCCArray; /*接收者二维数组,第一列为接受者员工ID,第二列为预警内容相关员工ID*/ property array of array of any rcpMapArray; /*回调处理函数,主要用来处理数据发送状态*/ method Ca
5、llBackStatus(&dsArray As array of array of any); /*事物处理表对象*/ property Record txnRec; /*参数列表*/ property any commonParamter; private instance HPS_COMMON:HR_COMMON:Hr_Common &common;end-class;method HPS_HR005_DS &common = create HPS_COMMON:HR_COMMON:Hr_Common(); %This.rcpArray = CreateArray
6、Rept(CreateArrayAny(), 0); %This.rcpMapArray = CreateArrayRept(CreateArrayAny(), 0); %This.rcpCCArray = CreateArrayRept(CreateArrayAny(), 0);end-method;method CallBackStatus /+ &dsArray as Array2 of Any +/ /+ Extends/implements HPS_ALERT:HPS_ALTER_INTFACE.CallBackStatus +/end-method;method GetAl
7、terDataSource /+ Returns Array2 of Any +/ /+ Extends/implements HPS_ALERT:HPS_ALTER_INTFACE.GetAlterDataSource +/ Local array of array of any &dsArray = CreateArrayRept(CreateArrayAny(), 0); Local array of any &data; Local string &name, &deptLevelDescr, &hireDt, &ConEndDt, &a
8、mp;reportsTo, &emplidRcp, &emplidRcp_CC; Local array of any &temp = CreateArrayAny(); Local SQL &sql, &sql2; Local number &index; Local string &str; &str = &str | "SELECT A.EMPLID, C.NAME_DISPLAY, A.CONTRACT_NUM, A.CONTRCT_EXP_END_DT FROM PS_CONTRACT_DATA A,
9、PS_PERSONAL_DATA C" &str = &str | " WHERE C.EMPLID = A.EMPLID AND (A.CONTRACT_END_DT IS NULL OR A.CONTRACT_END_DT > SYSDATE) AND ( A.EMPLID = 'K0G006' or A.EMPLID='KWG015')" &sql = CreateSQL(&str); While &sql.Fetch(&temp) /*加入表格头*/ If &in
10、dex = 0 Then &dsArray.Push(%This.GetTableHeader(); &index = &index + 1; End-If; /*第一列为该行数据的接收者,用于分组发送的参数*/ &data = CreateArrayAny(&temp 1, &temp 1, &temp 2, &temp 3, &temp 4); Evaluate %This.txnRec.HPS_ALERT_WAY.Value When "D" /*分组发送*/ Local SQL &emp
11、lInPosnSql = CreateSQL("SELECT ROLEUSER FROM此处为取收件人逻辑 PS_ROLEUSER_VW WHERE ROLENAME='HPS_DEVELOPER'"); &emplidRcp = "" While &emplInPosnSql.Fetch(&emplidRcp) If All(&emplidRcp) Then %This.PutRcpArray(CreateArrayAny(&emplidRcp,&common.GetEmailAddr(&
12、amp;emplidRcp, "BUSN"); %This.PutRcpMapArray(&emplidRcp, &temp 1);此处是形成收件人和符合预警逻辑人之间的一对多关系 End-If; End-While; &emplInPosnSql.Close(); Local SQL &emplInPosnSql_CC = CreateSQL("SELECT ROLEUSER取抄送人逻辑,如无抄送功能注释此处代码 FROM PS_ROLEUSER_VW WHERE ROLENAME='HPS_DEVELOPER'&
13、quot;); &emplidRcp_CC = "" While &emplInPosnSql_CC.Fetch(&emplidRcp_CC) If All(&emplidRcp_CC) Then %This.PutRcpArray(CreateArrayAny(&emplidRcp_CC,&common.GetEmailAddr(&emplidRcp_CC, "BUSN"); %This.PutRcpCCArray(&emplidRcp_CC, &common.GetEmailAd
14、dr(&emplidRcp_CC, "BUSN"), "EMAIL"); End-If; End-While; &emplInPosnSql_CC.Close(); Break; When "A" /*统一发送:该功能暂时取消*/ Break; End-Evaluate; &dsArray.Push(&data); End-While; &sql.Close(); Return &dsArray;end-method;method PutRcpArray /+ &rcpTemp
15、as Array of Any +/ Local number &i; Local boolean &flag = False; If %This.rcpArray.Len <= 0 Then %This.rcpArray.Push(CreateArrayAny(&rcpTemp 1, &rcpTemp 2, "EMPLID"); Else For &i = 1 To %This.rcpArray.Len If (%This.rcpArray &i1 = &rcpTemp 1) Then &flag =
16、True; End-If; End-For; If Not &flag Then %This.rcpArray.Push(CreateArrayAny(&rcpTemp 1, &rcpTemp 2, "EMPLID"); End-If; End-If;end-method;method PutRcpMapArray /+ &rcpEmplid as String, +/ /+ &cntEmplid as String +/ Local number &i; Local boolean &flag = False; If
17、 %This.rcpMapArray.Len <= 0 Then %This.rcpMapArray.Push(CreateArrayAny(&rcpEmplid, &cntEmplid, "EMPLID"); Else For &i = 1 To %This.rcpMapArray.Len If (%This.rcpMapArray &i1 = &rcpEmplid) And (%This.rcpMapArray &i2 = &cntEmplid) Then &flag = True; End-If;
18、End-For; If Not &flag Then %This.rcpMapArray.Push(CreateArrayAny(&rcpEmplid, &cntEmplid, "EMPLID"); End-If; End-If;end-method;method PutRcpCCArray /+ &rcpEmplid as String, +/ /+ &ccContent as String, +/ /+ &ccType as String +/ Local number &i; Local boolean &
19、;flag = False; If %This.rcpCCArray.Len <= 0 Then %This.rcpCCArray.Push(CreateArrayAny(&rcpEmplid, &ccContent, &ccType); Else For &i = 1 To %This.rcpCCArray.Len If (%This.rcpCCArray &i1 = &rcpEmplid) And (%This.rcpCCArray &i2 = &ccContent) And (%This.rcpCCArray &
20、;i3 = &ccType) Then &flag = True; End-If; End-For; If Not &flag Then %This.rcpCCArray.Push(CreateArrayAny(&rcpEmplid, &ccContent, &ccType); End-If; End-If;end-method;method GetAlterRecipter /+ Returns Array2 of Any +/ /+ Extends/implements HPS_ALERT:HPS_ALTER_INTFACE.GetAlter
21、Recipter +/ Return %This.rcpArray;end-method;method GetRecipterCC /+ Returns Array2 of Any +/ /+ Extends/implements HPS_ALERT:HPS_ALTER_INTFACE.GetRecipterCC +/ Return %This.rcpCCArray;end-method;method GetAlterRecipterMap /+ Returns Array2 of Any +/ /+ Extends/implements HPS_ALERT:HPS_ALTER_INTFACE
22、.GetAlterRecipterMap +/ Return %This.rcpMapArray;end-method;method GetTableHeader /+ Returns Array of Any +/ Local array of any &header = CreateArrayAny(); Return &header;end-method;第二步:创建邮件模版类/*/* 编号:HPS_HR_ALT_003 */* 描述:工作满10年的员工,合同到期 */* 前60天,通知其主管 */* 作者:Daffy */* 日期:2014-12-03 */*/impo
23、rt HPS_ALERT:HPS_ALERT_TEMPLATE;import HPS_COMMON:HR_COMMON:Hr_Common;class HPS_HR005_TEMPLATE_MAIL extends HPS_ALERT:HPS_ALERT_TEMPLATE method HPS_HR005_TEMPLATE_MAIL(); /*生成邮件内容*/ method GenerateHTMLContent() Returns string; /*邮件正文内容*/ method GetContent() Returns string; /*初始化邮件模板中配置的变量值*/ method
24、initTemplateVarList() Returns array of any; /*获取邮件主题:如果为空,则取自模板配置*/ method GetEmailSubject() Returns string; /*事物处理表对象*/ property Record txnRec; /*收件人员工ID*/ property string emplid;private instance HPS_COMMON:HR_COMMON:Hr_Common &common;end-class;method HPS_HR005_TEMPLATE_MAIL %Super = create HPS
25、_ALERT:HPS_ALERT_TEMPLATE(); &common = create HPS_COMMON:HR_COMMON:Hr_Common();end-method;method GenerateHTMLContent /+ Returns String +/ /+ Extends/implements HPS_ALERT:HPS_ALERT_TEMPLATE.GenerateHTMLContent +/ Local string &htmlContent; Local array of any &varList; Local number &i;
26、 /*获取邮件模板*/ Local Record &templateRec = CreateRecord(Record.HPS_ALT_TEMPLTE); &templateRec.HPS_ALT_TEMPLTE_ID.Value = %This.txnRec.HPS_ALT_TEMPLTE_ID.Value; If (&templateRec.SelectByKey() Then &htmlContent = &templateRec.HPS_EMAIL_CONTENT.Value; End-If; /*替换模板中的变量值*/ &varList
27、 = %This.initTemplateVarList(); For &i = &varList.Len To 1 Step - 1 &htmlContent = Substitute(&htmlContent, "%CAFVAR" | &i, &varList &i); End-For; /*生成最终邮件内容*/ Return %Super.GenerateEmailContent(&htmlContent);end-method;method GetContent /+ Returns String +/
28、 Local string &html; Local string &style; Local number &i; /* &html = &html | "<table " | %Super.tableStyle | ">" | %Super.lineTail; For &i = 1 To %Super.dsArray.Len &html = &html | "<tr>" | %Super.lineTail; If &i = 1 Then
29、 &style = %Super.thStyle; Else &style = %Super.tdStyle; End-If; &html = &html | "<td " | &style | ">" | %Super.dsArray &i2 | "</td>" | %Super.lineTail; &html = &html | "<td " | &style | ">" | %Sup
30、er.dsArray &i3 | "</td>" | %Super.lineTail; &html = &html | "<td " | &style | ">" | %Super.dsArray &i4 | "</td>" | %Super.lineTail; &html = &html | "<td " | &style | ">" | %Super.dsArr
31、ay &i5 | "</td>" | %Super.lineTail; &html = &html | "<td " | &style | ">" | %Super.dsArray &i6 | "</td>" | %Super.lineTail; &html = &html | "</tr>" | %Super.lineTail; End-For; &html = &html | "</table>" | %Super.lineTail;*/ Return &html;end-method;method initTemplateVarList /+ Returns Array of An
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年物联网行业物联网技术应用及市场前景研究报告
- 2025年金融行业区块链技术应用前景分析报告
- 2025年汽车行业汽车科技发展前景预测研究报告
- 压力容器安全培训心得
- 宁乡市2025湖南长沙市宁乡市老干部(老年)大学招聘中级编外人员1人笔试历年参考题库附带答案详解
- 增城区2025广东广州市规划和自然资源局增城区分局招聘特殊专业技术类聘员8人笔试历年参考题库附带答案详解
- 国家事业单位招聘2025应急管理部消防产品合格评定中心第一批次招聘拟聘用人员笔试历年参考题库附带答案详解
- 国家事业单位招聘2025农业经济与发展研究所招聘笔试历年参考题库附带答案详解
- 双鸭山市2025黑龙江双鸭山饶河县事业单位面向社会公开引进高学历人才10人笔试历年参考题库附带答案详解
- 北海市2025广西北海市涠洲岛旅游区行政审批服务中心招聘1人(截止5月24日)笔试历年参考题库附带答案详解
- 2024抖音护肤行业白皮书
- 商铺转租赁合同范本
- 《足球裁判员培训》课件
- 浴室工程施工组织设计方案
- 2024年秋九年级化学上册 第3单元 物质构成的奥秘 课题3 元素 第1课时 物质是由元素组成的说课稿 (新版)新人教版
- 微商基础培训课件
- ISO9001:2024版质量手册资料
- 2023-2024年社会工作者之初级社会综合能力考试题库
- 2025年慢性阻塞性肺疾病全球创议GOLD指南修订解读课件
- 民族宗教团日活动
- 新娘化妆相关知识考核试题及答案
评论
0/150
提交评论