diff --git a/src/weaver/interfaces/shuzhi/action/PendingEmploymentModeAction.java b/src/weaver/interfaces/shuzhi/action/PendingEmploymentModeAction.java index 298144d..8875807 100644 --- a/src/weaver/interfaces/shuzhi/action/PendingEmploymentModeAction.java +++ b/src/weaver/interfaces/shuzhi/action/PendingEmploymentModeAction.java @@ -68,16 +68,16 @@ public class PendingEmploymentModeAction implements Action { RecordSet rs = new RecordSet(); rs.execute(sql); - sql = "update hrmresource set workcode = '" + workcode + "' where certificatenum= '" + sfzh + "'"; + sql = "update hrmresource set workcode = '" + workcode + "' where certificatenum= '" + sfzh + "' and status != '5'"; rs.execute(sql); new BaseBean().writeLog("PendingEmploymentModeAction--updateWfdata sql:" + sql); - //入职确认 sfzh - sql = "update uf_rzgljmb set gh = '" + workcode + "' where sfzh = '" + sfzh + "'"; - rs.execute(sql); - - ////入职确认 uf_syqglbd - sql = "update uf_syqglbd set gh = '" + workcode + "' where sjid = '" + lcid + "'"; - rs.execute(sql); +// //入职确认 sfzh +// sql = "update uf_rzgljmb set gh = '" + workcode + "' where sfzh = '" + sfzh + "'"; +// rs.execute(sql); +// +// ////入职确认 uf_syqglbd +// sql = "update uf_syqglbd set gh = '" + workcode + "' where sjid = '" + lcid + "'"; +// rs.execute(sql); } } diff --git a/src/weaver/interfaces/shuzhi/cronjob/RelationshipReminderJob.java b/src/weaver/interfaces/shuzhi/cronjob/RelationshipReminderJob.java index 1ebdc80..05dc775 100644 --- a/src/weaver/interfaces/shuzhi/cronjob/RelationshipReminderJob.java +++ b/src/weaver/interfaces/shuzhi/cronjob/RelationshipReminderJob.java @@ -1,6 +1,7 @@ package weaver.interfaces.shuzhi.cronjob; import com.time.util.DateUtil; +import tebie.applib.api.S; import weaver.conn.RecordSet; import weaver.general.BaseBean; import weaver.general.Util; @@ -20,8 +21,9 @@ import java.util.Map; * *

* uf_zzjl:生效日期=zzrq(转正日期)、归档日期=gdrq(归档日期) - * 1、生效日期早于当前日期且无归档日期,生成流程到人员,手动调整; - * 2、生效日期等于当前日期,根据记录数据更新数据 + 1、生效日期小于等于当前日期,当前日期=归档日期+1天,更新人力资源表单(hrmresource)、入职管理建模表(uf_rzgljmb) + 2、生效日期大于当前日期,当前日期=生效日期,更新人力资源表单(hrmresource)、入职管理建模表(uf_rzgljmb) + * * hrmresource表:根据人员id更新status='1' * uf_rzgljmb表:(员工状态:ygzt,转正日期:zzrq,员工(人力资源):ygrlzy) @@ -29,8 +31,8 @@ import java.util.Map; * *

* uf_ddjl:生效日期=ddrq(调动日期)、归档日期=gdrq(归档日期) - * 1、生效日期早于当前日期且无归档日期,生成流程到人员,手动调整; - * 2、生效日期等于当前日期,根据记录数据更新数据 + * 1、生效日期大于当前日期,当前日期=生效日期,根据记录数据更新数据 + * 2、生效日期小于等于当前日期,当前日期=归档日期+1天,根据记录数据更新数据 * * hrmresource表:根据人员id更新jobtitle(岗位)、departmentid(部门)、subcompanyid1(分部) * uf_rzgljmb表:(岗位名称:gwmc,职级:xl,部门:bm,公司分部:gsfb,员工(人力资源):ygrlzy) @@ -38,8 +40,8 @@ import java.util.Map; * *

* uf_lzblcxbd:生效日期=jhlzrq(uf_lzblcxbd_dt1 计划离职日期)、归档日期=gdrq(归档日期) - * 1、生效日期早于当前日期且无归档日期,生成流程到人员,手动调整; - * 2、生效日期等于当前日期,根据记录数据更新数据 + * 1、生效日期大于当前日期,当前日期=生效日期,根据记录数据更新数据 + * 2、生效日期小于等于当前日期,当前日期=归档日期+1天,根据记录数据更新数据 * * hrmresource表:根据人员id更新status='5' * uf_rzgljmb表:(员工状态:ygzt,离职日期:lzrq,员工(人力资源):ygrlzy) @@ -61,6 +63,8 @@ public class RelationshipReminderJob extends BaseCronJob { String sxrq = ""; String gdrq = ""; String date = DateUtil.getCurrentTime("yyyy-MM-dd"); + + String datebefore = DateUtil.formatDate(DateUtil.getDateAfterDays(new Date(),-1),"yyyy-MM-dd"); RecordSet rs = new RecordSet(); //转正记录(uf_zzjl) uf_zzjl:生效日期=zzrq(转正日期)、归档日期=gdrq(归档日期) String sql = "select a.id,b.lastname,a.zzry,a.zzrq,a.gdrq from uf_zzjl a left join hrmresource b on a.zzry = b.id where a.txlcid is null"; @@ -73,34 +77,24 @@ public class RelationshipReminderJob extends BaseCronJob { gdrq = Util.null2String(rs.getString("gdrq")); userid = Util.null2String(rs.getString("zzry")); - if ("".equals(id) || "".equals(sxrq) || "".equals(userid)) { + if ("".equals(id) || "".equals(sxrq) || "".equals(userid)|| "".equals(gdrq)) { continue; } - if (sxrq.equals(date)) { - //2、生效日期等于当前日期,根据记录数据更新到hrmresource + if (compareDateLessEquation(sxrq,date) && compareDateEquation(datebefore,gdrq)) { + //1、生效日期小于等于当前日期,当前日期 - 1 = 归档日期,更新人力资源表单(hrmresource)、入职管理建模表(uf_rzgljmb) zt = updateZZHrmStatus(userid, "1", date); } - boolean flag = compareDate(sxrq, date); - - if ("".equals(gdrq) && flag) { - //生效日期早于当前日期且无归档日期,生成流程到人员,手动调整; - String requestName = "员工关系更新提醒-转正-" + lastname + "-" + date; - Map mainMap = new HashMap<>(); - mainMap.put("ygxm", userid); - mainMap.put("gxlx", "0"); - mainMap.put("sxrq", sxrq); -// mainMap.put("gdrq",gdrq); - zt = new WorkflowUtil().WorkflowCreateByMainTableMap(userid, workflowid, requestName, "0", mainMap); - if (Util.getIntValue(zt) < 0) { - zt = ""; - } + if(!compareDateLessEquation(sxrq,date) && compareDateEquation(date,sxrq)){ + //2、生效日期大于当前日期,当前日期=生效日期,更新人力资源表单(hrmresource)、入职管理建模表(uf_rzgljmb) + zt = updateZZHrmStatus(userid, "1", date); } if(!"".equals(zt)){ updateRecordData( id, zt,"uf_zzjl"); } + } String xbm = ""; @@ -123,31 +117,24 @@ public class RelationshipReminderJob extends BaseCronJob { xfb = Util.null2String(rs.getString("subcompanyid1")); - if ("".equals(id) || "".equals(sxrq) || "".equals(userid)) { + if ("".equals(id) || "".equals(sxrq) || "".equals(userid)|| "".equals(gdrq)) { continue; } - if (sxrq.equals(date)) { - //2、生效日期等于当前日期,根据记录数据更新到hrmresource + + + if (compareDateLessEquation(sxrq,date)&&compareDateEquation(datebefore,gdrq)) { + //2、生效日期小于等于当前日期,当前日期-1 =归档日期,根据记录数据更新数据 //更新hrmresource表(岗位、部门)、入职管理建模表uf_rzgljmb(岗位、职级名称、部门、公司名称-分部) zt = updateDDHrmStatus(userid, date, xgw, xbm, xfb, zj); } - boolean flag = compareDate(sxrq, date); + if(!compareDateLessEquation(sxrq,date)&&compareDateEquation(date,gdrq)){ + //1、生效日期大于当前日期,当前日期=生效日期,根据记录数据更新数据 + zt = updateDDHrmStatus(userid, date, xgw, xbm, xfb, zj); + } - if ("".equals(gdrq) && flag) { - //生效日期早于当前日期且无归档日期,生成流程到人员,手动调整; - String requestName = "员工关系更新提醒-调动-" + lastname + "-" + date; - Map mainMap = new HashMap<>(); - mainMap.put("ygxm", userid); - mainMap.put("gxlx", "1"); - mainMap.put("sxrq", sxrq); - zt = new WorkflowUtil().WorkflowCreateByMainTableMap(userid, workflowid, requestName, "0", mainMap); - if (Util.getIntValue(zt) < 0) { - zt = ""; - } - } if(!"".equals(zt)){ updateRecordData( id, zt,"uf_ddjl_dt1"); @@ -166,30 +153,24 @@ public class RelationshipReminderJob extends BaseCronJob { gdrq = Util.null2String(rs.getString("gdrq")); userid = Util.null2String(rs.getString("lzry")); - if ("".equals(id) || "".equals(sxrq) || "".equals(userid)) { + if ("".equals(id) || "".equals(sxrq) || "".equals(userid)|| "".equals(gdrq)) { continue; } - if (sxrq.equals(date)) { - //2、生效日期等于当前日期,根据记录数据更新到hrmresource + + + + if (compareDateLessEquation(sxrq,date)&&compareDateEquation(datebefore,gdrq)) { + //2、生效日期小于等于当前日期,当前日期=归档日期+1天,根据记录数据更新数据 zt = updateLZHrmStatus(userid, "5", date); } - boolean flag = compareDate(sxrq, date); + if(!compareDateLessEquation(sxrq,date)&&compareDateEquation(date,gdrq)){ + //1、生效日期大于当前日期,当前日期=生效日期,根据记录数据更新数据 + zt = updateLZHrmStatus(userid, "5", date); + } - if ("".equals(gdrq) && flag) { - //生效日期早于当前日期且无归档日期,生成流程到人员,手动调整; - String requestName = "员工关系更新提醒-离职-" + lastname + "-" + date; - Map mainMap = new HashMap<>(); - mainMap.put("ygxm", userid); - mainMap.put("gxlx", "2"); - mainMap.put("sxrq", sxrq); - zt = new WorkflowUtil().WorkflowCreateByMainTableMap(userid, workflowid, requestName, "0", mainMap); - if (Util.getIntValue(zt) < 0) { - zt = ""; - } - } if(!"".equals(zt)){ updateRecordData( id, zt,"uf_lzblcxbd_dt1"); @@ -229,22 +210,60 @@ public class RelationshipReminderJob extends BaseCronJob { rs.execute(sql); //岗位、职级名称、部门、公司名称-分部 - sql = "update uf_rzgljmb set gwmc = '"+xgw+"' , xl = '" + zj + "' ,bm = '"+xbm+"' ,gsfb = '"+xfb+"' where ygrlzy = '" + userid + "'"; + sql = "update uf_rzgljmb set gwmc = '"+xgw+"' , xl = '" + zj + "' ,bm = '"+xbm+"' ,gzdw = '"+xfb+"' where ygrlzy = '" + userid + "'"; rs.execute(sql); return "update"; } - private boolean compareDate(String start, String end) { + /** + * @Description: 比较日期相等 + * @Param: + * @return: + * @Author: wangj + */ + private boolean compareDateEquation(String start, String end) { boolean flag = false; Date sdate = DateUtil.parseDate(start, "yyyy-MM-dd"); Date edate = DateUtil.parseDate(end, "yyyy-MM-dd"); - if (sdate.getTime() < edate.getTime()) { + if (sdate.getTime() == edate.getTime()) { flag = true; } return flag; } + /** + * @Description: 比较日期小于等于 + * @Param: + * @return: + * @Author: wangj + */ + private boolean compareDateLessEquation(String start, String end) { + boolean flag = false; + Date sdate = DateUtil.parseDate(start, "yyyy-MM-dd"); + Date edate = DateUtil.parseDate(end, "yyyy-MM-dd"); + if (sdate.getTime() <= edate.getTime()) { + flag = true; + } + return flag; + } + +// /** +// * @Description: 比较日期加一天相等 +// * @Param: +// * @return: +// * @Author: wangj +// */ +// private boolean compareDateOneDayEquation(String start, String end) { +// boolean flag = false; +// Date sdate = DateUtil.parseDate(start, "yyyy-MM-dd"); +// Date edate = DateUtil.parseDate(end, "yyyy-MM-dd"); +// if (sdate.getTime() < edate.getTime()) { +// flag = true; +// } +// return flag; +// } + private void updateRecordData(String id,String zt,String tablename){ RecordSet rs = new RecordSet(); rs.execute("update "+tablename+" set txlcid = '"+zt+"' where id = '"+id+"'");