123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- package com.kingdee.eas.hr.emp.web.handler;
- import java.sql.SQLException;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.springframework.ui.ModelMap;
- import com.kingdee.bos.BOSException;
- import com.kingdee.bos.Context;
- import com.kingdee.bos.metadata.entity.EntityViewInfo;
- import com.kingdee.bos.metadata.entity.FilterInfo;
- import com.kingdee.bos.util.BOSUuid;
- import com.kingdee.eas.basedata.hraux.DiplomaModalityCollection;
- import com.kingdee.eas.basedata.hraux.DiplomaModalityFactory;
- import com.kingdee.eas.framework.CoreBaseInfo;
- import com.kingdee.eas.hr.emp.PersonDegreeInfo;
- import com.kingdee.eas.util.app.DbUtil;
- import com.kingdee.jdbc.rowset.IRowSet;
- import com.kingdee.shr.base.syssetting.context.SHRContext;
- import com.kingdee.shr.base.syssetting.exception.SHRWebException;
- import com.kingdee.shr.base.syssetting.exception.ShrWebBizException;
- import com.kingdee.shr.preentry.PEPersonDegreeCollection;
- import com.kingdee.shr.preentry.PEPersonDegreeFactory;
- /**
- * 我的档案-教育经历
- * @author issuser
- *
- */
- public class PersonDegreeReSumeEditHandlerEx extends EmployeeMultiRowHandler {
-
- @Override
- protected void beforeSave(HttpServletRequest request,
- HttpServletResponse response, CoreBaseInfo model)
- throws SHRWebException {
- Context ctx = SHRContext.getInstance().getContext();
- PersonDegreeInfo info = (PersonDegreeInfo) model;
- System.out.println("Ա��������Ϣ��" + info);
- String personId = info.getPerson().getId().toString();
- String fid = model.getString("id");
- System.out.print("教育经历单据ID的============"+fid);
- String diplomaModality = info.getDiplomaModality().getId().toString();
- String sql = "select fid,FDiplomaModality,FIsHighest from T_HR_PersonDegree where FPERSONID = '"+personId+"'";
- try{
- System.out.println("sql��" + sql);
- IRowSet rs = DbUtil.executeQuery(ctx, sql);
- //是否最高学历
- boolean isHighest = true;
- //是否全日制统招
- boolean isDiplomaModality = false;
- while (rs.next()){
- System.out.print(fid+"-----"+rs.getString("fid").equals(fid)+"-------"+rs.getString("fid"));
- System.out.print(diplomaModality+"-----"+diplomaModality.equals(rs.getString("FDiplomaModality"))+"-------"+rs.getString("FDiplomaModality"));
-
- if( !rs.getString("fid").equals(fid)
- && diplomaModality.equals(rs.getString("FDiplomaModality"))){
- isDiplomaModality = true;
- }
- if(rs.getInt("FIsHighest") == 1){
- isHighest = false;
- }
- }
- //修改审核校验
- String auditSql = "select * from T_HR_EmployeeAudit where FEntity = 'com.kingdee.eas.hr.emp.app.PersonDegree' and FSTATUS = '1'" +
- " and FPERSONID = '"+personId+"' and FPk != 'fid'";
- IRowSet auditRs = DbUtil.executeQuery(ctx, auditSql);
- while(auditRs.next()){
- String diplomaModalityName = null;
- String[] deacAfter = rs.getString("FDescAfter").split(";");
- for(String s : deacAfter){
- if(s.contains("学历形式ʽ") || s.contains("Academic Qualification Form")){
- diplomaModalityName = s.substring(s.indexOf("学历形式")+1,s.length());
- continue ;
- }
- }
- String param = " where fname_l2 = '" + diplomaModalityName + "' or fname_l1 = '" + diplomaModalityName + "' ";
- DiplomaModalityCollection diplomCollection = DiplomaModalityFactory.getLocalInstance(ctx).getDiplomaModalityCollection(param);
- if(diplomaModality.equals(diplomCollection.get(0).getId())){
- isDiplomaModality = true;
- break;
- }
- }
-
- if(isHighest){
- model.put("isHighest", true);
- info.setIsHighest(true);
- }
- if(isDiplomaModality){
- throw new ShrWebBizException("Employee qualifications are not allowed to be repeated !");
- }
- } catch (SQLException e) {
- e.printStackTrace();
- } catch (BOSException e) {
- e.printStackTrace();
- }
- super.beforeSave(request, response, model);
- }
-
- }
|