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+"'");