PersonDegreeEditHandlerEx.java 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. package com.kingdee.eas.hr.emp.web.handler;
  2. import com.kingdee.bos.BOSException;
  3. import com.kingdee.bos.Context;
  4. import com.kingdee.bos.metadata.entity.EntityViewInfo;
  5. import com.kingdee.bos.metadata.entity.FilterInfo;
  6. import com.kingdee.bos.util.BOSUuid;
  7. import com.kingdee.eas.framework.CoreBaseInfo;
  8. import com.kingdee.eas.hr.emp.EmployeeBizException;
  9. import com.kingdee.eas.hr.emp.PersonDegreeCollection;
  10. import com.kingdee.eas.hr.emp.PersonDegreeFactory;
  11. import com.kingdee.eas.hr.emp.PersonDegreeInfo;
  12. import com.kingdee.eas.util.app.DbUtil;
  13. import com.kingdee.jdbc.rowset.IRowSet;
  14. import com.kingdee.shr.base.syssetting.context.SHRContext;
  15. import com.kingdee.shr.base.syssetting.exception.SHRWebException;
  16. import com.kingdee.shr.base.syssetting.exception.ShrWebBizException;
  17. import com.kingdee.shr.base.syssetting.web.json.JSONUtils;
  18. import org.springframework.ui.ModelMap;
  19. import javax.servlet.http.HttpServletRequest;
  20. import javax.servlet.http.HttpServletResponse;
  21. import java.sql.SQLException;
  22. import java.util.HashMap;
  23. import java.util.Map;
  24. /**
  25. * 员工教育经历
  26. */
  27. public class PersonDegreeEditHandlerEx extends PersonDegreeEditHandler{
  28. /*public Map<String, Object> customerCheckAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws SHRWebException {
  29. Map<String, Object> map = new HashMap<String, Object>();
  30. String personId = request.getParameter("personId");
  31. String fid = request.getParameter("fid");
  32. String diplomaModality = request.getParameter("diplomaModality");
  33. Context ctx = SHRContext.getInstance().getContext();
  34. String sql = "select fid,FDiplomaModality,FIsHighest from T_HR_PersonDegree where FPERSONID = '"+personId+"'";
  35. try{
  36. IRowSet rs = DbUtil.executeQuery(ctx, sql);
  37. //�ж����ѧ���Ƿ����
  38. map.put("isHighest",false);
  39. //�ж�ѧ���Ƿ��ظ�
  40. map.put("hasData",false);
  41. while (rs.next()){
  42. System.out.print(fid+"-----"+rs.getString("fid").equals(fid)+"-------"+rs.getString("fid"));
  43. System.out.print(diplomaModality+"-----"+rs.getString("FDiplomaModality").equals(diplomaModality)+"-------"+rs.getString("FDiplomaModality"));
  44. if( !rs.getString("fid").equals(fid)
  45. && diplomaModality.equals(rs.getString("FDiplomaModality"))){
  46. map.put("hasData",true);
  47. }
  48. if(rs.getInt("FIsHighest") == 1){
  49. map.put("isHighest",true);
  50. }
  51. }
  52. } catch (SQLException e) {
  53. // TODO Auto-generated catch block
  54. e.printStackTrace();
  55. } catch (BOSException e) {
  56. // TODO Auto-generated catch block
  57. e.printStackTrace();
  58. }
  59. JSONUtils.writeJson(response, map);
  60. return null;
  61. }*/
  62. @Override
  63. protected void beforeSave(HttpServletRequest request,
  64. HttpServletResponse response, CoreBaseInfo model)
  65. throws SHRWebException {
  66. Context ctx = SHRContext.getInstance().getContext();
  67. PersonDegreeInfo info = (PersonDegreeInfo) model;
  68. String personId = info.getPerson().getId().toString();
  69. String fid = model.getString("id");
  70. System.out.print("教育经历单据ID的============"+fid);
  71. String diplomaModality = info.getDiplomaModality().getId().toString();
  72. String sql = "select fid,FDiplomaModality,FIsHighest from T_HR_PersonDegree where FPERSONID = '"+personId+"'";
  73. try{
  74. IRowSet rs = DbUtil.executeQuery(ctx, sql);
  75. boolean isHighest = true;
  76. boolean isDiplomaModality = false;
  77. while (rs.next()){
  78. System.out.print(fid+"-----"+rs.getString("fid").equals(fid)+"-------"+rs.getString("fid"));
  79. System.out.print(diplomaModality+"-----"+rs.getString("FDiplomaModality").equals(fid)+"-------"+rs.getString("FDiplomaModality"));
  80. if( !rs.getString("fid").equals(fid)
  81. && diplomaModality.equals(rs.getString("FDiplomaModality"))){
  82. isDiplomaModality = true;
  83. }
  84. if(rs.getInt("FIsHighest") == 1){
  85. isHighest = false;
  86. }
  87. }
  88. if(isHighest){
  89. model.put("isHighest", true);
  90. info.setIsHighest(true);
  91. }
  92. if(isDiplomaModality){
  93. throw new ShrWebBizException("Employee qualifications are not allowed to be repeated !");
  94. }
  95. } catch (SQLException e) {
  96. e.printStackTrace();
  97. } catch (BOSException e) {
  98. e.printStackTrace();
  99. }
  100. super.beforeSave(request, response, model);
  101. if ((!(info.isIsHighest())) && (info.getId() == null)) {
  102. EntityViewInfo view = new EntityViewInfo();
  103. FilterInfo filterInfo = new FilterInfo();
  104. filterInfo.appendFilterItem("person", personId);
  105. filterInfo.appendFilterItem("isHighest", Boolean.valueOf(true));
  106. view.setFilter(filterInfo);
  107. try {
  108. PersonDegreeCollection pdColl = PersonDegreeFactory
  109. .getLocalInstance(ctx).getPersonDegreeCollection(view);
  110. if (pdColl.size() == 0)
  111. throw new ShrWebBizException(new EmployeeBizException(
  112. EmployeeBizException.NEED_HIGH_EDU));
  113. } catch (BOSException e) {
  114. e.printStackTrace();
  115. throw new SHRWebException(e);
  116. }
  117. }
  118. }
  119. }