PersonDegreeReSumeEditHandlerEx.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. package com.kingdee.eas.hr.emp.web.handler;
  2. import java.sql.SQLException;
  3. import javax.servlet.http.HttpServletRequest;
  4. import javax.servlet.http.HttpServletResponse;
  5. import org.springframework.ui.ModelMap;
  6. import com.kingdee.bos.BOSException;
  7. import com.kingdee.bos.Context;
  8. import com.kingdee.bos.metadata.entity.EntityViewInfo;
  9. import com.kingdee.bos.metadata.entity.FilterInfo;
  10. import com.kingdee.bos.util.BOSUuid;
  11. import com.kingdee.eas.basedata.hraux.DiplomaModalityCollection;
  12. import com.kingdee.eas.basedata.hraux.DiplomaModalityFactory;
  13. import com.kingdee.eas.framework.CoreBaseInfo;
  14. import com.kingdee.eas.hr.emp.PersonDegreeInfo;
  15. import com.kingdee.eas.util.app.DbUtil;
  16. import com.kingdee.jdbc.rowset.IRowSet;
  17. import com.kingdee.shr.base.syssetting.context.SHRContext;
  18. import com.kingdee.shr.base.syssetting.exception.SHRWebException;
  19. import com.kingdee.shr.base.syssetting.exception.ShrWebBizException;
  20. import com.kingdee.shr.preentry.PEPersonDegreeCollection;
  21. import com.kingdee.shr.preentry.PEPersonDegreeFactory;
  22. /**
  23. * 我的档案-教育经历
  24. * @author issuser
  25. *
  26. */
  27. public class PersonDegreeReSumeEditHandlerEx extends EmployeeMultiRowHandler {
  28. @Override
  29. protected void beforeSave(HttpServletRequest request,
  30. HttpServletResponse response, CoreBaseInfo model)
  31. throws SHRWebException {
  32. Context ctx = SHRContext.getInstance().getContext();
  33. PersonDegreeInfo info = (PersonDegreeInfo) model;
  34. System.out.println("Ա��������Ϣ��" + info);
  35. String personId = info.getPerson().getId().toString();
  36. String fid = model.getString("id");
  37. System.out.print("教育经历单据ID的============"+fid);
  38. String diplomaModality = info.getDiplomaModality().getId().toString();
  39. String sql = "select fid,FDiplomaModality,FIsHighest from T_HR_PersonDegree where FPERSONID = '"+personId+"'";
  40. try{
  41. System.out.println("sql��" + sql);
  42. IRowSet rs = DbUtil.executeQuery(ctx, sql);
  43. //是否最高学历
  44. boolean isHighest = true;
  45. //是否全日制统招
  46. boolean isDiplomaModality = false;
  47. while (rs.next()){
  48. System.out.print(fid+"-----"+rs.getString("fid").equals(fid)+"-------"+rs.getString("fid"));
  49. System.out.print(diplomaModality+"-----"+diplomaModality.equals(rs.getString("FDiplomaModality"))+"-------"+rs.getString("FDiplomaModality"));
  50. if( !rs.getString("fid").equals(fid)
  51. && diplomaModality.equals(rs.getString("FDiplomaModality"))){
  52. isDiplomaModality = true;
  53. }
  54. if(rs.getInt("FIsHighest") == 1){
  55. isHighest = false;
  56. }
  57. }
  58. //修改审核校验
  59. String auditSql = "select * from T_HR_EmployeeAudit where FEntity = 'com.kingdee.eas.hr.emp.app.PersonDegree' and FSTATUS = '1'" +
  60. " and FPERSONID = '"+personId+"' and FPk != 'fid'";
  61. IRowSet auditRs = DbUtil.executeQuery(ctx, auditSql);
  62. while(auditRs.next()){
  63. String diplomaModalityName = null;
  64. String[] deacAfter = rs.getString("FDescAfter").split(";");
  65. for(String s : deacAfter){
  66. if(s.contains("学历形式ʽ") || s.contains("Academic Qualification Form")){
  67. diplomaModalityName = s.substring(s.indexOf("学历形式")+1,s.length());
  68. continue ;
  69. }
  70. }
  71. String param = " where fname_l2 = '" + diplomaModalityName + "' or fname_l1 = '" + diplomaModalityName + "' ";
  72. DiplomaModalityCollection diplomCollection = DiplomaModalityFactory.getLocalInstance(ctx).getDiplomaModalityCollection(param);
  73. if(diplomaModality.equals(diplomCollection.get(0).getId())){
  74. isDiplomaModality = true;
  75. break;
  76. }
  77. }
  78. if(isHighest){
  79. model.put("isHighest", true);
  80. info.setIsHighest(true);
  81. }
  82. if(isDiplomaModality){
  83. throw new ShrWebBizException("Employee qualifications are not allowed to be repeated !");
  84. }
  85. } catch (SQLException e) {
  86. e.printStackTrace();
  87. } catch (BOSException e) {
  88. e.printStackTrace();
  89. }
  90. super.beforeSave(request, response, model);
  91. }
  92. }