|
|
|
|
package weaver.interfaces.shuzhi.cronjob;
|
|
|
|
|
|
|
|
|
|
import com.time.util.DateUtil;
|
|
|
|
|
import weaver.conn.RecordSet;
|
|
|
|
|
import weaver.general.BaseBean;
|
|
|
|
|
import weaver.general.Util;
|
|
|
|
|
import weaver.interfaces.schedule.BaseCronJob;
|
|
|
|
|
import weaver.interfaces.shuzhi.util.WorkflowUtil;
|
|
|
|
|
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 员工关系提醒流程-计划任务
|
|
|
|
|
* <p>
|
|
|
|
|
* 从转正记录(uf_zzjl)、员工调动记录(uf_ddjl)、离职办理查询表单(uf_lzblcxbd),
|
|
|
|
|
* 1、生效日期早于当前日期且无归档日期,生成流程到人员,手动调整;
|
|
|
|
|
* 2、生效日期等于当前日期,根据记录数据更新到hrmresource
|
|
|
|
|
* <p>
|
|
|
|
|
* uf_zzjl:生效日期=zzrq(转正日期)、归档日期=gdrq(归档日期)
|
|
|
|
|
* <p>
|
|
|
|
|
* uf_ddjl:生效日期=ddrq(调动日期)、归档日期=gdrq(归档日期)
|
|
|
|
|
* <p>
|
|
|
|
|
* uf_lzblcxbd:生效日期=jhlzrq(uf_lzblcxbd_dt1 计划离职日期)、归档日期=gdrq(归档日期)
|
|
|
|
|
*
|
|
|
|
|
* @author wangj
|
|
|
|
|
* @version 1.00版本
|
|
|
|
|
* @Date 2023/7/3
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
public class RelationshipReminderJob extends BaseCronJob {
|
|
|
|
|
@Override
|
|
|
|
|
public void execute() {
|
|
|
|
|
BaseBean bb = new BaseBean();
|
|
|
|
|
String workflowid = bb.getPropValue("relationship", "workflowid");
|
|
|
|
|
String id = "";
|
|
|
|
|
String lastname = "";
|
|
|
|
|
String userid = "";
|
|
|
|
|
String sxrq = "";
|
|
|
|
|
String gdrq = "";
|
|
|
|
|
String date = DateUtil.getCurrentTime("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";
|
|
|
|
|
rs.execute(sql);
|
|
|
|
|
while (rs.next()) {
|
|
|
|
|
String zt = "";
|
|
|
|
|
id = Util.null2String(rs.getString("id"));
|
|
|
|
|
lastname = Util.null2String(rs.getString("lastname"));
|
|
|
|
|
sxrq = Util.null2String(rs.getString("zzrq"));
|
|
|
|
|
gdrq = Util.null2String(rs.getString("gdrq"));
|
|
|
|
|
userid = Util.null2String(rs.getString("zzry"));
|
|
|
|
|
|
|
|
|
|
if ("".equals(id) || "".equals(sxrq) || "".equals(userid)) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (sxrq.equals(date)) {
|
|
|
|
|
//2、生效日期等于当前日期,根据记录数据更新到hrmresource
|
|
|
|
|
zt = updateHrmStatus(userid, "1");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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", "0");
|
|
|
|
|
mainMap.put("sxrq", sxrq);
|
|
|
|
|
// mainMap.put("gdrq",gdrq);
|
|
|
|
|
zt = new WorkflowUtil().WorkflowCreateByMainTableMap(userid, workflowid, requestName, "0", mainMap);
|
|
|
|
|
if (Util.getIntValue(zt) < 0) {
|
|
|
|
|
zt = "";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//员工调动记录(uf_ddjl) uf_ddjl:生效日期=ddrq(调动日期)、归档日期=gdrq(归档日期)
|
|
|
|
|
// sql = "select a.id,b.sqr,b.lastname,a.ddrq,a.gdrq uf_ddjl a left join hrmresource b on a.sqr = b.id where a.txlcid is null";
|
|
|
|
|
// rs.execute(sql);
|
|
|
|
|
// while (rs.next()) {
|
|
|
|
|
// String zt = "";
|
|
|
|
|
// id = Util.null2String(rs.getString("id"));
|
|
|
|
|
// lastname = Util.null2String(rs.getString("lastname"));
|
|
|
|
|
// sxrq = Util.null2String(rs.getString("ddrq"));
|
|
|
|
|
// gdrq = Util.null2String(rs.getString("gdrq"));
|
|
|
|
|
// userid = Util.null2String(rs.getString("sqr"));
|
|
|
|
|
//
|
|
|
|
|
// if ("".equals(id) || "".equals(sxrq) || "".equals(userid)) {
|
|
|
|
|
// continue;
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// if (sxrq.equals(date)) {
|
|
|
|
|
// //2、生效日期等于当前日期,根据记录数据更新到hrmresource
|
|
|
|
|
// zt = updateHrmStatus(userid, "1");
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// 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", "0");
|
|
|
|
|
// mainMap.put("sxrq", sxrq);
|
|
|
|
|
//// mainMap.put("gdrq",gdrq);
|
|
|
|
|
// zt = new WorkflowUtil().WorkflowCreateByMainTableMap(userid, workflowid, requestName, "0", mainMap);
|
|
|
|
|
// if (Util.getIntValue(zt) < 0) {
|
|
|
|
|
// zt = "";
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private String updateHrmStatus(String userid, String status) {
|
|
|
|
|
RecordSet rs = new RecordSet();
|
|
|
|
|
String sql = "update hrmresource set status = '" + status + "' where id = '" + userid + "'";
|
|
|
|
|
rs.execute(sql);
|
|
|
|
|
return "update";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private boolean compareDate(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;
|
|
|
|
|
}
|
|
|
|
|
}
|