|
|
@ -1,6 +1,7 @@
|
|
|
|
package weaver.interfaces.shuzhi.cronjob;
|
|
|
|
package weaver.interfaces.shuzhi.cronjob;
|
|
|
|
|
|
|
|
|
|
|
|
import com.time.util.DateUtil;
|
|
|
|
import com.time.util.DateUtil;
|
|
|
|
|
|
|
|
import tebie.applib.api.S;
|
|
|
|
import weaver.conn.RecordSet;
|
|
|
|
import weaver.conn.RecordSet;
|
|
|
|
import weaver.general.BaseBean;
|
|
|
|
import weaver.general.BaseBean;
|
|
|
|
import weaver.general.Util;
|
|
|
|
import weaver.general.Util;
|
|
|
@ -20,8 +21,9 @@ import java.util.Map;
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* <p>
|
|
|
|
* <p>
|
|
|
|
* uf_zzjl:生效日期=zzrq(转正日期)、归档日期=gdrq(归档日期)
|
|
|
|
* uf_zzjl:生效日期=zzrq(转正日期)、归档日期=gdrq(归档日期)
|
|
|
|
* 1、生效日期早于当前日期且无归档日期,生成流程到人员,手动调整;
|
|
|
|
1、生效日期小于等于当前日期,当前日期=归档日期+1天,更新人力资源表单(hrmresource)、入职管理建模表(uf_rzgljmb)
|
|
|
|
* 2、生效日期等于当前日期,根据记录数据更新数据
|
|
|
|
2、生效日期大于当前日期,当前日期=生效日期,更新人力资源表单(hrmresource)、入职管理建模表(uf_rzgljmb)
|
|
|
|
|
|
|
|
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* hrmresource表:根据人员id更新status='1'
|
|
|
|
* hrmresource表:根据人员id更新status='1'
|
|
|
|
* uf_rzgljmb表:(员工状态:ygzt,转正日期:zzrq,员工(人力资源):ygrlzy)
|
|
|
|
* uf_rzgljmb表:(员工状态:ygzt,转正日期:zzrq,员工(人力资源):ygrlzy)
|
|
|
@ -29,8 +31,8 @@ import java.util.Map;
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* <p>
|
|
|
|
* <p>
|
|
|
|
* uf_ddjl:生效日期=ddrq(调动日期)、归档日期=gdrq(归档日期)
|
|
|
|
* uf_ddjl:生效日期=ddrq(调动日期)、归档日期=gdrq(归档日期)
|
|
|
|
* 1、生效日期早于当前日期且无归档日期,生成流程到人员,手动调整;
|
|
|
|
* 1、生效日期大于当前日期,当前日期=生效日期,根据记录数据更新数据
|
|
|
|
* 2、生效日期等于当前日期,根据记录数据更新数据
|
|
|
|
* 2、生效日期小于等于当前日期,当前日期=归档日期+1天,根据记录数据更新数据
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* hrmresource表:根据人员id更新jobtitle(岗位)、departmentid(部门)、subcompanyid1(分部)
|
|
|
|
* hrmresource表:根据人员id更新jobtitle(岗位)、departmentid(部门)、subcompanyid1(分部)
|
|
|
|
* uf_rzgljmb表:(岗位名称:gwmc,职级:xl,部门:bm,公司分部:gsfb,员工(人力资源):ygrlzy)
|
|
|
|
* uf_rzgljmb表:(岗位名称:gwmc,职级:xl,部门:bm,公司分部:gsfb,员工(人力资源):ygrlzy)
|
|
|
@ -38,8 +40,8 @@ import java.util.Map;
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* <p>
|
|
|
|
* <p>
|
|
|
|
* uf_lzblcxbd:生效日期=jhlzrq(uf_lzblcxbd_dt1 计划离职日期)、归档日期=gdrq(归档日期)
|
|
|
|
* uf_lzblcxbd:生效日期=jhlzrq(uf_lzblcxbd_dt1 计划离职日期)、归档日期=gdrq(归档日期)
|
|
|
|
* 1、生效日期早于当前日期且无归档日期,生成流程到人员,手动调整;
|
|
|
|
* 1、生效日期大于当前日期,当前日期=生效日期,根据记录数据更新数据
|
|
|
|
* 2、生效日期等于当前日期,根据记录数据更新数据
|
|
|
|
* 2、生效日期小于等于当前日期,当前日期=归档日期+1天,根据记录数据更新数据
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* hrmresource表:根据人员id更新status='5'
|
|
|
|
* hrmresource表:根据人员id更新status='5'
|
|
|
|
* uf_rzgljmb表:(员工状态:ygzt,离职日期:lzrq,员工(人力资源):ygrlzy)
|
|
|
|
* uf_rzgljmb表:(员工状态:ygzt,离职日期:lzrq,员工(人力资源):ygrlzy)
|
|
|
@ -61,6 +63,8 @@ public class RelationshipReminderJob extends BaseCronJob {
|
|
|
|
String sxrq = "";
|
|
|
|
String sxrq = "";
|
|
|
|
String gdrq = "";
|
|
|
|
String gdrq = "";
|
|
|
|
String date = DateUtil.getCurrentTime("yyyy-MM-dd");
|
|
|
|
String date = DateUtil.getCurrentTime("yyyy-MM-dd");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String datebefore = DateUtil.formatDate(DateUtil.getDateAfterDays(new Date(),-1),"yyyy-MM-dd");
|
|
|
|
RecordSet rs = new RecordSet();
|
|
|
|
RecordSet rs = new RecordSet();
|
|
|
|
//转正记录(uf_zzjl) uf_zzjl:生效日期=zzrq(转正日期)、归档日期=gdrq(归档日期)
|
|
|
|
//转正记录(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";
|
|
|
|
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"));
|
|
|
|
gdrq = Util.null2String(rs.getString("gdrq"));
|
|
|
|
userid = Util.null2String(rs.getString("zzry"));
|
|
|
|
userid = Util.null2String(rs.getString("zzry"));
|
|
|
|
|
|
|
|
|
|
|
|
if ("".equals(id) || "".equals(sxrq) || "".equals(userid)) {
|
|
|
|
if ("".equals(id) || "".equals(sxrq) || "".equals(userid)|| "".equals(gdrq)) {
|
|
|
|
continue;
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (sxrq.equals(date)) {
|
|
|
|
if (compareDateLessEquation(sxrq,date) && compareDateEquation(datebefore,gdrq)) {
|
|
|
|
//2、生效日期等于当前日期,根据记录数据更新到hrmresource
|
|
|
|
//1、生效日期小于等于当前日期,当前日期 - 1 = 归档日期,更新人力资源表单(hrmresource)、入职管理建模表(uf_rzgljmb)
|
|
|
|
zt = updateZZHrmStatus(userid, "1", date);
|
|
|
|
zt = updateZZHrmStatus(userid, "1", date);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
boolean flag = compareDate(sxrq, date);
|
|
|
|
if(!compareDateLessEquation(sxrq,date) && compareDateEquation(date,sxrq)){
|
|
|
|
|
|
|
|
//2、生效日期大于当前日期,当前日期=生效日期,更新人力资源表单(hrmresource)、入职管理建模表(uf_rzgljmb)
|
|
|
|
if ("".equals(gdrq) && flag) {
|
|
|
|
zt = updateZZHrmStatus(userid, "1", date);
|
|
|
|
//生效日期早于当前日期且无归档日期,生成流程到人员,手动调整;
|
|
|
|
|
|
|
|
String requestName = "员工关系更新提醒-转正-" + lastname + "-" + date;
|
|
|
|
|
|
|
|
Map<String, String> 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(!"".equals(zt)){
|
|
|
|
if(!"".equals(zt)){
|
|
|
|
updateRecordData( id, zt,"uf_zzjl");
|
|
|
|
updateRecordData( id, zt,"uf_zzjl");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
String xbm = "";
|
|
|
|
String xbm = "";
|
|
|
@ -123,31 +117,24 @@ public class RelationshipReminderJob extends BaseCronJob {
|
|
|
|
xfb = Util.null2String(rs.getString("subcompanyid1"));
|
|
|
|
xfb = Util.null2String(rs.getString("subcompanyid1"));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ("".equals(id) || "".equals(sxrq) || "".equals(userid)) {
|
|
|
|
if ("".equals(id) || "".equals(sxrq) || "".equals(userid)|| "".equals(gdrq)) {
|
|
|
|
continue;
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (sxrq.equals(date)) {
|
|
|
|
|
|
|
|
//2、生效日期等于当前日期,根据记录数据更新到hrmresource
|
|
|
|
|
|
|
|
|
|
|
|
if (compareDateLessEquation(sxrq,date)&&compareDateEquation(datebefore,gdrq)) {
|
|
|
|
|
|
|
|
//2、生效日期小于等于当前日期,当前日期-1 =归档日期,根据记录数据更新数据
|
|
|
|
//更新hrmresource表(岗位、部门)、入职管理建模表uf_rzgljmb(岗位、职级名称、部门、公司名称-分部)
|
|
|
|
//更新hrmresource表(岗位、部门)、入职管理建模表uf_rzgljmb(岗位、职级名称、部门、公司名称-分部)
|
|
|
|
zt = updateDDHrmStatus(userid, date, xgw, xbm, xfb, zj);
|
|
|
|
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<String, String> 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)){
|
|
|
|
if(!"".equals(zt)){
|
|
|
|
updateRecordData( id, zt,"uf_ddjl_dt1");
|
|
|
|
updateRecordData( id, zt,"uf_ddjl_dt1");
|
|
|
@ -166,31 +153,25 @@ public class RelationshipReminderJob extends BaseCronJob {
|
|
|
|
gdrq = Util.null2String(rs.getString("gdrq"));
|
|
|
|
gdrq = Util.null2String(rs.getString("gdrq"));
|
|
|
|
userid = Util.null2String(rs.getString("lzry"));
|
|
|
|
userid = Util.null2String(rs.getString("lzry"));
|
|
|
|
|
|
|
|
|
|
|
|
if ("".equals(id) || "".equals(sxrq) || "".equals(userid)) {
|
|
|
|
if ("".equals(id) || "".equals(sxrq) || "".equals(userid)|| "".equals(gdrq)) {
|
|
|
|
continue;
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (sxrq.equals(date)) {
|
|
|
|
|
|
|
|
//2、生效日期等于当前日期,根据记录数据更新到hrmresource
|
|
|
|
|
|
|
|
zt = updateLZHrmStatus(userid, "5", date);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
boolean flag = compareDate(sxrq, date);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ("".equals(gdrq) && flag) {
|
|
|
|
|
|
|
|
//生效日期早于当前日期且无归档日期,生成流程到人员,手动调整;
|
|
|
|
|
|
|
|
String requestName = "员工关系更新提醒-离职-" + lastname + "-" + date;
|
|
|
|
|
|
|
|
Map<String, String> 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 (compareDateLessEquation(sxrq,date)&&compareDateEquation(datebefore,gdrq)) {
|
|
|
|
if (Util.getIntValue(zt) < 0) {
|
|
|
|
//2、生效日期小于等于当前日期,当前日期=归档日期+1天,根据记录数据更新数据
|
|
|
|
zt = "";
|
|
|
|
zt = updateLZHrmStatus(userid, "5", date);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(!compareDateLessEquation(sxrq,date)&&compareDateEquation(date,gdrq)){
|
|
|
|
|
|
|
|
//1、生效日期大于当前日期,当前日期=生效日期,根据记录数据更新数据
|
|
|
|
|
|
|
|
zt = updateLZHrmStatus(userid, "5", date);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(!"".equals(zt)){
|
|
|
|
if(!"".equals(zt)){
|
|
|
|
updateRecordData( id, zt,"uf_lzblcxbd_dt1");
|
|
|
|
updateRecordData( id, zt,"uf_lzblcxbd_dt1");
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -229,22 +210,60 @@ public class RelationshipReminderJob extends BaseCronJob {
|
|
|
|
rs.execute(sql);
|
|
|
|
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);
|
|
|
|
rs.execute(sql);
|
|
|
|
|
|
|
|
|
|
|
|
return "update";
|
|
|
|
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()) {
|
|
|
|
|
|
|
|
flag = true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return flag;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* @Description: 比较日期小于等于
|
|
|
|
|
|
|
|
* @Param:
|
|
|
|
|
|
|
|
* @return:
|
|
|
|
|
|
|
|
* @Author: wangj
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
private boolean compareDateLessEquation(String start, String end) {
|
|
|
|
boolean flag = false;
|
|
|
|
boolean flag = false;
|
|
|
|
Date sdate = DateUtil.parseDate(start, "yyyy-MM-dd");
|
|
|
|
Date sdate = DateUtil.parseDate(start, "yyyy-MM-dd");
|
|
|
|
Date edate = DateUtil.parseDate(end, "yyyy-MM-dd");
|
|
|
|
Date edate = DateUtil.parseDate(end, "yyyy-MM-dd");
|
|
|
|
if (sdate.getTime() < edate.getTime()) {
|
|
|
|
if (sdate.getTime() <= edate.getTime()) {
|
|
|
|
flag = true;
|
|
|
|
flag = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return flag;
|
|
|
|
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){
|
|
|
|
private void updateRecordData(String id,String zt,String tablename){
|
|
|
|
RecordSet rs = new RecordSet();
|
|
|
|
RecordSet rs = new RecordSet();
|
|
|
|
rs.execute("update "+tablename+" set txlcid = '"+zt+"' where id = '"+id+"'");
|
|
|
|
rs.execute("update "+tablename+" set txlcid = '"+zt+"' where id = '"+id+"'");
|
|
|
|