c7a42efc572da979a1464922e4bbd30e37196c5f.svn-base 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. package com.kingdee.eas.custom.facade.passports;
  2. import org.apache.log4j.Logger;
  3. import org.apache.poi.sl.usermodel.Sheet;
  4. import org.apache.poi.xssf.usermodel.XSSFWorkbook;
  5. import org.springframework.ui.ModelMap;
  6. import javax.ejb.*;
  7. import javax.servlet.http.HttpServletRequest;
  8. import javax.servlet.http.HttpServletResponse;
  9. import java.rmi.RemoteException;
  10. import java.sql.SQLException;
  11. import java.util.ArrayList;
  12. import java.util.HashMap;
  13. import java.util.LinkedHashMap;
  14. import java.util.List;
  15. import java.util.Map;
  16. import com.grapecity.documents.excel.Workbook;
  17. import com.kingdee.bos.*;
  18. import com.kingdee.eas.mobile.BOSMsgTypeEnum;
  19. import com.kingdee.eas.mobile.MimeTypeEnum;
  20. import com.kingdee.eas.mobile.PriorityEnum;
  21. import com.kingdee.eas.mobile.msg.util.MsgUtil;
  22. import com.kingdee.eas.util.app.DbUtil;
  23. import com.kingdee.jdbc.rowset.IRowSet;
  24. import com.kingdee.shr.base.syssetting.exception.SHRWebException;
  25. import org.apache.poi.xssf.usermodel.XSSFSheet;
  26. import java.io.FileOutputStream;
  27. import java.io.IOException;
  28. import org.apache.poi.ss.usermodel.*;
  29. import org.apache.poi.xssf.usermodel.XSSFWorkbook;
  30. //import com.kingdee.bos.metadata.entity.EntityViewInfo;
  31. //import com.kingdee.bos.dao.IObjectPK;
  32. public class PassportsFacdeControllerBean extends AbstractPassportsFacdeControllerBean {
  33. private int totalCount;
  34. private static Logger logger = Logger
  35. .getLogger("com.kingdee.eas.custom.facade.passports.PassportsFacdeControllerBean");
  36. public void allPersonEmail(Context ctx, HttpServletRequest request, HttpServletResponse response, ModelMap modelMap)
  37. throws SHRWebException, BOSException {
  38. // 查询所有人的护照和邮箱
  39. String sql = " select a.FCredentialsTypeNO, c.FName_L1,d.FEmail,d.CFPrivateemail from T_HR_PersonCredentialsType a left join T_HR_CredentialsType b on a.FCredentialsTypeID=b.fid left join T_BD_Person c \r\n"
  40. + " left join T_HR_PersonContactMethod d on d.FPERSONID =c.fid\r\n"
  41. + " on a.FPERSONID =c.fid where b.FNUMBER ='CN01'";
  42. try {
  43. FileOutputStream outputStream = new FileOutputStream("report.xlsx");
  44. IRowSet resultSet = DbUtil.executeQuery(ctx, sql);
  45. // 创建工作簿和工作表
  46. XSSFWorkbook workbook = new XSSFWorkbook();
  47. XSSFSheet sheet = workbook.createSheet("Sheel");
  48. // 写入表头行
  49. Row headerRow = sheet.createRow(0);
  50. headerRow.createCell(0).setCellValue("CredentialsTypeNO");
  51. headerRow.createCell(1).setCellValue("Name");
  52. headerRow.createCell(2).setCellValue("Email");
  53. headerRow.createCell(3).setCellValue("PrivateEmail");
  54. // 遍历查询结果并写入Excel表格
  55. int rowNum = 1;
  56. while (resultSet.next()) {
  57. Row row = sheet.createRow(rowNum++);
  58. row.createCell(0).setCellValue(resultSet.getString("FCredentialsTypeNO"));
  59. row.createCell(1).setCellValue(resultSet.getString("FName_L1"));
  60. row.createCell(2).setCellValue(resultSet.getString("FEmail"));
  61. row.createCell(3).setCellValue(resultSet.getString("CFPrivateemail"));
  62. }
  63. // 将工作簿写入输出流并关闭资源
  64. workbook.write(outputStream);
  65. System.out.println("输出成功了.");
  66. //MsgUtil.msgGroupSend(ctx, title, PriorityEnum.HIGHT_VALUE, false, content, userList, BOSMsgTypeEnum.V_TYPE_EMAIL, null);
  67. //MsgUtil.msgSend(ctx, title, PriorityEnum.HIGHT_VALUE, false, content, "1CV1Xix+Qua9UEeo/uZ6TIDvfe0=", BOSMsgTypeEnum.V_TYPE_EMAIL, null, null, MimeTypeEnum.HTML);
  68. } catch (SQLException e) {
  69. e.printStackTrace();
  70. } catch (IOException e) {
  71. // TODO 自动生成的 catch 块
  72. e.printStackTrace();
  73. }
  74. }
  75. // int rows = Integer.parseInt(request.getParameter("rows"));
  76. // int page = Integer.parseInt(request.getParameter("page"));
  77. // try {
  78. // List<Map<String, Object>> maplist = new ArrayList<Map<String, Object>>();
  79. // int num = 0;
  80. // IRowSet rs = DbUtil.executeQuery(ctx, sql);
  81. // while(rs.next()) {
  82. // ++num;
  83. // Map<String, Object> map = new HashMap<String, Object>();
  84. // map.put("FName_L1", rs.getString("FName_L1"));
  85. // map.put("FCredentialsTypeNO", rs.getString("FCredentialsTypeNO"));
  86. // map.put("FEmail", rs.getString("FEmail"));
  87. // map.put("CFPrivateemail", rs.getString("CFPrivateemail"));
  88. // maplist.add(map);
  89. // }
  90. // this.totalCount = num;
  91. // Map<String, Object> gridDataMap = new LinkedHashMap<String, Object>();
  92. // if (this.totalCount % rows == 0) {
  93. // gridDataMap.put("total", this.totalCount / rows);
  94. // } else {
  95. // gridDataMap.put("total", this.totalCount / rows + 1);
  96. // }
  97. // gridDataMap.put("page", page);
  98. // gridDataMap.put("records", this.totalCount);
  99. // gridDataMap.put("rows", maplist);
  100. // JSONUtils.writeJson(response, gridDataMap);
  101. // } catch (BOSException e) {
  102. // // TODO 自动生成的 catch 块
  103. // e.printStackTrace();
  104. // } catch (SQLException e) {
  105. // // TODO 自动生成的 catch 块
  106. // e.printStackTrace();
  107. // }
  108. //}
  109. //
  110. // public String getGridColModelAction(HttpServletRequest request,
  111. // HttpServletResponse response, ModelMap modelMap)
  112. // throws SHRWebException, BOSException, SQLException {
  113. // List<String> colNames = this.getcolNamesAction();
  114. // List<Map<String, Object>> colModel = this.getcolModelAction();
  115. // LinkedHashMap<String, Object> map = new LinkedHashMap<String, Object>();
  116. // map.put("colNames", colNames);
  117. // map.put("colModel", colModel);
  118. // JSONUtils.writeJson(response, map);
  119. // return null;
  120. // }
  121. // public List<Map<String, Object>> getcolModelAction() {
  122. // List<Map<String, Object>> modelColList = new ArrayList<Map<String,
  123. // Object>>();
  124. // modelColList.add(this.buildColModelMap("FName_L1", "Display Name", 100));
  125. // modelColList.add(this.buildColModelMap("FCredentialsTypeNO", "Passport
  126. // Number", 100));
  127. // modelColList.add(this.buildColModelMap("FEmail", "Email", 100));
  128. // return modelColList;
  129. //
  130. //
  131. // }
  132. // public ArrayList<String> getcolNamesAction() throws SHRWebException {
  133. // ArrayList<String> list = new ArrayList<String>();
  134. // list.add("Display Name");
  135. // list.add("Passport Number");
  136. // list.add("Email");
  137. // return list;
  138. // }
  139. //
  140. // private Map<String, Object> buildColModelMap(String index, String label, int
  141. // width) {
  142. // return this.buildColModelMap(index, label, width, false, false, false);
  143. // }
  144. //
  145. // private Map<String, Object> buildColModelMap(String index, String label, int
  146. // width, boolean rowspan, boolean isKey,
  147. // boolean isHedden) {
  148. // Map<String, Object> gridIdMap = new LinkedHashMap<String, Object>();
  149. // gridIdMap.put("index", index);
  150. // gridIdMap.put("name", index);
  151. // gridIdMap.put("label", label);
  152. // gridIdMap.put("width", width);
  153. // if (rowspan) {
  154. // gridIdMap.put("rowspan", rowspan);
  155. // }
  156. // if (isKey) {
  157. // gridIdMap.put("key", isKey);
  158. // }
  159. // if (isHedden) {
  160. // gridIdMap.put("hidden", isHedden);
  161. // }
  162. // return gridIdMap;
  163. // }
  164. }