c284abc1142e86f9498c90854a723f6876f73fda.svn-base 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package com.kingdee.eas.custom.facade.departmentalreporting;
  2. import java.sql.SQLException;
  3. import org.apache.log4j.Logger;
  4. import com.kingdee.bos.BOSException;
  5. import com.kingdee.bos.Context;
  6. import com.kingdee.eas.base.param.IParamControl;
  7. import com.kingdee.eas.base.param.ParamControlFactory;
  8. import com.kingdee.eas.custom.utils.SendUtils;
  9. import com.kingdee.eas.mobile.BOSMsgTypeEnum;
  10. import com.kingdee.eas.mobile.MimeTypeEnum;
  11. import com.kingdee.eas.mobile.PriorityEnum;
  12. import com.kingdee.eas.mobile.msg.util.MsgUtil;
  13. import com.kingdee.eas.util.app.DbUtil;
  14. import com.kingdee.jdbc.rowset.IRowSet;
  15. /**
  16. * 部门提报预警
  17. * @author ISSUSER
  18. *
  19. */
  20. public class DepartreportingFacadeControllerBean extends AbstractDepartreportingFacadeControllerBean
  21. {
  22. private static Logger logger =
  23. Logger.getLogger("com.kingdee.eas.custom.facade.departmentalreporting.DepartreportingFacadeControllerBean");
  24. @Override
  25. public void __departReporting(Context ctx) {
  26. String sql = "select c.fid,d.fid as id, d.fname_l1 from T_WFR_WFROLE a left join T_WFR_PERSONROLE b \r\n" +
  27. "on a.fid=b.froleid left join T_PM_USER c on b.FPSERSONID = c.FPERSONID left join T_BD_Person d on d.fid=c.FPersonId where a.FNUMBER in ('22') and c.fid is not null";
  28. logger.error("部门审批流人的SQL:" + sql);
  29. try {
  30. // 获取链接
  31. IParamControl ipc = ParamControlFactory.getLocalInstance(ctx);
  32. String shrEnvironmentIP = ipc.getParamValue(null, "shrEnvironmentIP");
  33. String website = shrEnvironmentIP + "/home.do";
  34. IRowSet rowSet = DbUtil.executeQuery(ctx, sql);
  35. while (rowSet.next()) {
  36. StringBuffer strBuffer = new StringBuffer();
  37. String title="reminder of providing data related to salary";
  38. strBuffer.append("<html></html><head></head><body>");
  39. strBuffer.append("<span>This is a kind reminder that if your department has data regarding salary needing to be paid or deducted this month, please provide it via the following link by the "+getFname(ctx)+". </span><br>");
  40. strBuffer.append("<span></span><br>");
  41. strBuffer.append("<span><a href=\""+website+"\">"+website+"</a></span><br>");
  42. strBuffer.append("<span></span><br>");
  43. strBuffer.append("<span>Kindly note that final approver shall feedback through the same link by the same due day, otherwise the submission to HR for salary calculation will fail.</span><br>");
  44. strBuffer.append("<span></span><br>");
  45. strBuffer.append("<span>Those who have no data to provide please disregard this reminder.</span><br>");
  46. strBuffer.append("<span></span><br>");
  47. strBuffer.append("<span>Thanks for your cooperation.</span><br>");
  48. strBuffer.append("<span></span><br>");
  49. strBuffer.append("<span>Best regards,</span><br>");
  50. strBuffer.append("<span>Human Resources Department</span><br>");
  51. strBuffer.append("</body></html>");
  52. String content=strBuffer.toString();
  53. System.out.println("我的html格式是"+content);
  54. // SendUtils.msgSend(ctx, title, PriorityEnum.HIGHT_VALUE, false, content,"1CV1Xix+Qua9UEeo/uZ6TIDvfe0=" , BOSMsgTypeEnum.V_TYPE_EMAIL, null, null,MimeTypeEnum.HTML);
  55. SendUtils.msgSend(ctx, title, PriorityEnum.HIGHT_VALUE, false, content,rowSet.getString("id") , BOSMsgTypeEnum.V_TYPE_EMAIL, null, null,MimeTypeEnum.HTML);
  56. System.out.println("发送成功");
  57. }
  58. } catch (BOSException e) {
  59. // TODO 自动生成的 catch 块
  60. e.printStackTrace();
  61. } catch (Exception e) {
  62. logger.error("部门提报申请提醒通知失败:" + e);
  63. }
  64. }
  65. /**
  66. * 薪酬预留基础数据的名称
  67. * @return
  68. */
  69. public String getFname( Context ctx){
  70. String sql="SELECT FName_l1 as fname FROM T_HR_SHRRsvItem0 where FNumber='1002'";
  71. String fname=null;
  72. try {
  73. IRowSet rs = DbUtil.executeQuery(ctx, sql);
  74. while(rs.next()) {
  75. fname=rs.getString("fname");
  76. }
  77. } catch (BOSException e) {
  78. // TODO 自动生成的 catch 块
  79. e.printStackTrace();
  80. } catch (SQLException e) {
  81. // TODO 自动生成的 catch 块
  82. e.printStackTrace();
  83. }
  84. return fname;
  85. }
  86. }