package com.kingdee.eas.custom.wamke.web; //import java.sql.SQLException; //import java.text.SimpleDateFormat; //import java.util.Date; //import java.util.HashMap; //import java.util.Map; // //import javax.servlet.http.HttpServletRequest; //import javax.servlet.http.HttpServletResponse; // //import org.apache.log4j.Logger; //import org.apache.log4j.Priority; //import org.springframework.ui.ModelMap; // //import com.kingdee.bos.BOSException; //import com.kingdee.bos.Context; //import com.kingdee.eas.custom.wamke.syncdata.dto.MobileAttachDto; //import com.kingdee.eas.custom.wamke.syncdata.web.MobileEntryBillExtendEditHandler; //import com.kingdee.eas.framework.CoreBaseInfo; //import com.kingdee.eas.hr.affair.FlucInBizBillInfo; //import com.kingdee.eas.util.app.DbUtil; //import com.kingdee.jdbc.rowset.IRowSet; //import com.kingdee.shr.affair.web.handler.hrman.FlucInBizBillHrManEditHandler; //import com.kingdee.shr.base.syssetting.context.SHRContext; //import com.kingdee.shr.base.syssetting.exception.SHRWebException; public class FlucInBizBillHrManEditExtendHandler { //extends // FlucInBizBillHrManEditHandler // /** // * 跨公司调入单提交生效 // */ // @Override // public void submitEffectAction(HttpServletRequest request, // HttpServletResponse response, ModelMap modelMap) // throws SHRWebException { // super.submitEffectAction(request, response, modelMap); // CoreBaseInfo model = (CoreBaseInfo) request.getAttribute("dynamic_model"); // //提交之后,判断是否为万净公司下的组织,再根据岗位更新工种 // FlucInBizBillInfo billInfo = (FlucInBizBillInfo) model; // // try{ // adjustWorkType(billInfo.getId().toString()); // } // catch(Exception e){ // logInfo("执行更新工种时发生了异常"); // e.printStackTrace(); // } // } // //// @Override //// protected void afterSubmit(HttpServletRequest request, //// HttpServletResponse response, CoreBaseInfo model) //// throws SHRWebException { //// //// super.afterSubmit(request, response, model); //// //// //提交之后,判断是否为万净公司下的组织,再根据岗位更新工种 //// FlucInBizBillInfo billInfo = (FlucInBizBillInfo) model; //// adjustWorkType(billInfo.getId().toString()); //// } // // /** // * 根据跨公司调动单ID进行员工新工种信息 // * @param id // */ // private void adjustWorkType(String id){ // Map info = isWjCompany(id,true); // if(info.get("pass").equals("true")){ // String posId = info.get("posId"); // String personId = info.get("personId"); // String workId = getWorkCategoryIdByPosId(posId); // if(null==workId){ // return; // } // updatePersonWorkType(personId,workId); // } // } // // /** // * 根据岗位ID获取对应匹配的工种ID // * @param posId // * @return // */ // private String getWorkCategoryIdByPosId(String posId){ // try{ // String sql = " SELECT work_category_id fROM T_ORG_Position a " // + " INNER JOIN CT_WK_work_category_setting b ON(a.FName_l2 COLLATE Chinese_PRC_CI_AS = b.position_name) " // + " WHERE a.FID= '"+posId+"' "; // logInfo("根据岗位ID获取对应匹配的工种IDsql:"+sql); // Context ctx = SHRContext.getInstance().getContext(); // IRowSet rowSet = DbUtil.executeQuery(ctx, sql); // while(rowSet.next()){ // return rowSet.getString("work_category_id"); // } // } // catch(Exception e){ // logInfo("根据岗位ID获取对应匹配的工种ID时发生异常:"+e.getMessage()); // e.printStackTrace(); // return null; // } // return null; // } // // /** // * 根据岗位更新对应人员的工种 // * @param personId // * @param personId // * @param workId // */ // private void updatePersonWorkType(String personId, String workId){ // // try{ // Context ctx = SHRContext.getInstance().getContext(); // // //更新人员表 // String sql = "UPDATE T_BD_Person SET CFWORKCATEGORYID = '"+workId+"' WHERE FID = '"+personId+"'"; // logInfo("根据岗位更新对应人员表的工种sql:"+sql); // DbUtil.execute(ctx, sql); // // //更新人员历史表 // sql = "UPDATE T_BD_PersonHis SET CFWORKCATEGORYID = '"+workId+"' " // +" WHERE FNumber = ( SELECT TOP 1 FNumber FROM T_BD_Person WHERE FID = '"+personId+"' ) AND FLEFFDT >='2199-12-31'"; // logInfo("根据岗位更新对应人员历史表的工种sql:"+sql); // DbUtil.execute(ctx, sql); // } // catch(Exception e){ // logInfo("根据岗位更新对应人员表的工种字段发生异常:"+e.getMessage()); // e.printStackTrace(); // } // } // // /** // * 判断是否为万净公司下的人员 // * @param id // * @param isSubmitEffect 是否提交生效 // * @return // */ // private Map isWjCompany(String id, boolean isSubmitEffect) { // Map result = new HashMap(); // result.put("pass","false"); // // try{ // String sql = "SELECT TOP 1 FADMINORGID, FPersonId, FPositionId, FBIZDATE FROM T_HR_FlucInBizBillEntry WHERE FBILLID = '"+id+"' "; // logInfo("执行跨公司调入单据数据sql:"+sql); // Context ctx = SHRContext.getInstance().getContext(); // IRowSet rowSet = DbUtil.executeQuery(ctx, sql); // String adminId = null, posId = null, personId = null; // Date bizDate = null; // while (rowSet.next()) { // adminId = rowSet.getString("FADMINORGID"); // posId = rowSet.getString("FPositionId"); // personId = rowSet.getString("FPersonId"); // bizDate = rowSet.getDate("FBIZDATE"); // result.put("adminId",adminId); // result.put("posId",posId); // result.put("personId",personId); // break; // } // // if(adminId==null || adminId == ""){ // result.put("pass","false"); // return result; // } // // //如果为提交生效,则需要判断日期 // if(isSubmitEffect){ // //如果生效时间<=当前日期,则执行,否则直接返回(由定时器扫描再去变更) // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // String bizDateStr = sdf.format(bizDate); // String currentDate = sdf.format(new Date()); // if(bizDateStr.compareTo(currentDate)>0){ // result.put("pass","false"); // return result; // } // } // // sql = "SELECT TOP 1 FID FROM T_ORG_ADmin WHERE FId = '"+adminId+"' AND FLONGNUMBER LIKE '01!WKWY!50952375!%"; // logInfo("执行查询是否为万净公司sql:"+sql); // IRowSet rowSetWj = DbUtil.executeQuery(ctx, sql); // while(rowSetWj.next()){ // if(rowSetWj.getString("FID") != null && rowSetWj.getString("FID") != ""){ // result.put("pass","true"); // } // else{ // result.put("pass","false"); // } // break; // } // return result; // } // catch(Exception e ){ // logInfo("判 断是否为万净公司数据时发生了异常:"+e.getMessage()); // e.printStackTrace(); // return result; // } // } // // private static Logger logger = Logger.getLogger(FlucInBizBillHrManEditExtendHandler.class); // private void logInfo(String msg) { // System.out.println(msg); // logger.log(Priority.INFO, msg); // } }