PEDegreeMultiRowHandlerEx.java 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. package com.kingdee.shr.customer.gtiit.handler;
  2. import java.sql.SQLException;
  3. import javax.servlet.http.HttpServletRequest;
  4. import javax.servlet.http.HttpServletResponse;
  5. import org.apache.commons.lang3.StringUtils;
  6. import org.apache.log4j.Logger;
  7. import org.springframework.ui.ModelMap;
  8. import com.kingdee.bos.BOSException;
  9. import com.kingdee.bos.Context;
  10. import com.kingdee.bos.metadata.entity.EntityViewInfo;
  11. import com.kingdee.bos.metadata.entity.FilterInfo;
  12. import com.kingdee.bos.metadata.entity.FilterItemInfo;
  13. import com.kingdee.bos.metadata.query.util.CompareType;
  14. import com.kingdee.eas.framework.CoreBaseCollection;
  15. import com.kingdee.eas.framework.CoreBaseInfo;
  16. import com.kingdee.eas.util.app.DbUtil;
  17. import com.kingdee.jdbc.rowset.IRowSet;
  18. import com.kingdee.shr.base.syssetting.context.SHRContext;
  19. import com.kingdee.shr.base.syssetting.exception.SHRWebException;
  20. import com.kingdee.shr.base.syssetting.exception.ShrWebBizException;
  21. import com.kingdee.shr.base.syssetting.web.json.JSONUtils;
  22. import com.kingdee.shr.preentry.PEInfoMultiPageInfo;
  23. import com.kingdee.shr.preentry.PEPersonDegreeCollection;
  24. import com.kingdee.shr.preentry.PEPersonDegreeFactory;
  25. import com.kingdee.shr.preentry.web.handler.PEDegreeMultiRowHandler;
  26. public class PEDegreeMultiRowHandlerEx extends PEDegreeMultiRowHandler{
  27. private static Logger logger =
  28. Logger.getLogger("com.kingdee.shr.customer.gtiit.handler.PEDegreeMultiRowHandlerEx");
  29. public void isHighestAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap)
  30. throws SHRWebException {
  31. Context ctx = SHRContext.getInstance().getContext();
  32. String talentId = request.getParameter("talentId");
  33. System.out.println("预入职人员id:"+talentId);
  34. EntityViewInfo view = new EntityViewInfo();
  35. FilterInfo filterInfo = new FilterInfo();
  36. filterInfo.appendFilterItem("talent.id", talentId);
  37. filterInfo.appendFilterItem("isHighest", true);
  38. view.setFilter(filterInfo);
  39. try {
  40. PEPersonDegreeCollection pedColl = PEPersonDegreeFactory.getLocalInstance(ctx).getPEPersonDegreeCollection(view);
  41. if (pedColl.size() == 0) {
  42. modelMap.put("flag", true);
  43. }
  44. } catch (BOSException e) {
  45. e.printStackTrace();
  46. }
  47. modelMap.put("flag", false);
  48. JSONUtils.writeJson(response, modelMap);
  49. }
  50. public void checkDiplomaAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap)
  51. throws SHRWebException {
  52. Context ctx = SHRContext.getInstance().getContext();
  53. String talentId = request.getParameter("talentId")==null?"":request.getParameter("talentId");
  54. String diplomaModality = request.getParameter("diplomaModality")==null?"":request.getParameter("diplomaModality");
  55. String fid = request.getParameter("fid")==null?"":request.getParameter("fid");
  56. logger.error("预入职人员:"+talentId+",学历形式:"+diplomaModality+",id:"+fid);
  57. String sql = "select fid,FDiplomaModality,FIsHighest from T_HR_PEPersonDegree where FTALENTID = '"+talentId+"'";
  58. try{
  59. IRowSet rs = DbUtil.executeQuery(ctx, sql);
  60. boolean isDiplomaModality = false;
  61. while (rs.next()){
  62. if( !rs.getString("fid").equals(fid)
  63. && diplomaModality.equals(rs.getString("FDiplomaModality"))){
  64. isDiplomaModality = true;
  65. }
  66. }
  67. modelMap.put("isDiplomaModality", isDiplomaModality);
  68. JSONUtils.writeJson(response, modelMap);
  69. } catch (SQLException e) {
  70. e.printStackTrace();
  71. } catch (BOSException e) {
  72. e.printStackTrace();
  73. }
  74. }
  75. @Override
  76. protected void afterCreateNewModel(HttpServletRequest request, HttpServletResponse response,
  77. CoreBaseInfo coreBaseInfo) throws SHRWebException {
  78. super.afterCreateNewModel(request, response, coreBaseInfo);
  79. PEInfoMultiPageInfo info = null;
  80. String talentId = null;
  81. if (coreBaseInfo instanceof PEInfoMultiPageInfo) {
  82. info = (PEInfoMultiPageInfo) coreBaseInfo;
  83. talentId = request.getParameter("relatedFieldId");
  84. }
  85. if (null != info && null != talentId) {
  86. EntityViewInfo view = new EntityViewInfo();
  87. FilterInfo filter = new FilterInfo();
  88. filter.getFilterItems().add(new FilterItemInfo("talent.id", talentId, CompareType.EQUALS));
  89. view.setFilter(filter);
  90. CoreBaseCollection infoCollection = null;
  91. try {
  92. infoCollection = this.getBizInterface(request).getCollection(view);
  93. } catch (BOSException var10) {
  94. var10.printStackTrace();
  95. }
  96. if (null == infoCollection || infoCollection.size() < 1) {
  97. coreBaseInfo.put("isSingle", true);
  98. }
  99. Context ctx = SHRContext.getInstance().getContext();
  100. System.out.println("预入职人员id:"+talentId);
  101. EntityViewInfo highestView = new EntityViewInfo();
  102. FilterInfo filterInfo = new FilterInfo();
  103. filterInfo.appendFilterItem("talent.id", talentId);
  104. filterInfo.appendFilterItem("isHighest", true);
  105. highestView.setFilter(filterInfo);
  106. try {
  107. PEPersonDegreeCollection pedColl = PEPersonDegreeFactory.getLocalInstance(ctx).getPEPersonDegreeCollection(highestView);
  108. if (pedColl.size() == 0) {
  109. coreBaseInfo.put("isHighest", true);
  110. }
  111. } catch (BOSException e) {
  112. e.printStackTrace();
  113. }
  114. }
  115. }
  116. }