优化人员调动任务处理逻辑,增加调动人新下级及职务交接人下级的处理

浙文眼镜
dxfeng 5 months ago
parent 56ea91fcfe
commit 74acce7d0d

@ -44,6 +44,11 @@
String sfxdzg = rs.getString("sfxdzg"); String sfxdzg = rs.getString("sfxdzg");
// 新考勤组 // 新考勤组
String xkqz = rs.getString("xkqz"); String xkqz = rs.getString("xkqz");
// 调动人新下级
String ddrxxj = rs.getString("ddrxxj");
// 调动人下级
String ddrxj = rs.getString("ddrxj");
rs.writeLog("ddr==" + ddr + ",ddhbm==" + ddhbm + ",ddhgw==" + ddhgw + ",ddhgj==" + ddhgj + ",ydsxrq==" + ydsxrq + ",xzjsj==" + xzjsj + ",zwjjr==" + zwjjr + ",sfxdzg==" + sfxdzg + ",xkqz==" + xkqz); rs.writeLog("ddr==" + ddr + ",ddhbm==" + ddhbm + ",ddhgw==" + ddhgw + ",ddhgj==" + ddhgj + ",ydsxrq==" + ydsxrq + ",xzjsj==" + xzjsj + ",zwjjr==" + zwjjr + ",sfxdzg==" + sfxdzg + ",xkqz==" + xkqz);
// 部门 // 部门
@ -58,8 +63,8 @@
// 直接上级 // 直接上级
updateEmployeeManagerId(rst, ddr, xzjsj); updateEmployeeManagerId(rst, ddr, xzjsj);
rs.writeLog("updateEmployeeManagerId==success"); rs.writeLog("updateEmployeeManagerId==success");
// 所有下属的直接上 // 调动人新下
updateSubUserManagerId(rst, ddr, zwjjr); updateSubUserManagerId(rst, ddr, zwjjr, ddrxj, ddrxxj);
rs.writeLog("updateSubUserManagerId==success"); rs.writeLog("updateSubUserManagerId==success");
// 考勤组 // 考勤组
updateEmployeeGroup(rst, ddr, ydsxrq, xkqz); updateEmployeeGroup(rst, ddr, ydsxrq, xkqz);
@ -71,15 +76,12 @@
} }
rs.writeLog("EmployeeTransferJob---finish"); rs.writeLog("EmployeeTransferJob---finish");
out.print("success"+DateUtil.getDateTime());
} catch (Exception e) { } catch (Exception e) {
rs.writeLog("EmployeeTransferJob---error", e); rs.writeLog("EmployeeTransferJob执行异常", e);
out.print(e.getMessage());
} }
%> %>
<%! <%!
/** /**
* 更新“调动人”的【部门】为:调入门店 * 更新“调动人”的【部门】为:调入门店
* *
@ -161,11 +163,24 @@
* @param rst * @param rst
* @param ddr * @param ddr
* @param zwjjr * @param zwjjr
* @param ddrxj
* @param ddrxxj
* @throws Exception * @throws Exception
*/ */
private void updateSubUserManagerId(RecordSet rst, String ddr, String zwjjr) throws Exception { private void updateSubUserManagerId(RecordSet rst, String ddr, String zwjjr, String ddrxj, String ddrxxj) throws Exception {
if (StringUtils.isNotBlank(ddr) && StringUtils.isNotBlank(zwjjr)) { // 更新调动人下级
rst.executeUpdate("update hrmresource set managerid = ? where managerid = ?", zwjjr, ddr); if (StringUtils.isNotBlank(ddr) && StringUtils.isNotBlank(ddrxxj)) {
String[] split = ddrxxj.split(",");
for (String s : split) {
rst.executeUpdate("update hrmresource set managerid = ? where id = ?", ddr, s);
}
}
// 更新职务交接人下级
if (StringUtils.isNotBlank(zwjjr) && StringUtils.isNotBlank(ddrxj)) {
String[] split = ddrxj.split(",");
for (String s : split) {
rst.executeUpdate("update hrmresource set managerid = ? where id = ?", zwjjr, s);
}
} }
} }
@ -205,28 +220,22 @@
rst.writeLog("xkqz222==" + xkqz); rst.writeLog("xkqz222==" + xkqz);
KQGroupMemberComInfo kqGroupMemberComInfo = new KQGroupMemberComInfo(); if (StringUtils.isNotBlank(xkqz)) {
String kqGroupId = kqGroupMemberComInfo.getKQGroupId(ddr); KQGroupMemberComInfo kqGroupMemberComInfo = new KQGroupMemberComInfo();
rst.writeLog("kqGroupId===" + kqGroupId); String kqGroupId = kqGroupMemberComInfo.getKQGroupId(ddr);
if (!kqGroupId.equals(xkqz)) { rst.writeLog("kqGroupId===" + kqGroupId);
// 更新“调动人”的【考勤组】为:新考勤组; if (!kqGroupId.equals(xkqz)) {
// 更新“调动人”的新考勤组中的“生效日期”=调动生效日期; // 更新“调动人”的【考勤组】为:新考勤组;
// 更新“调动人”的原考勤组中的“失效日期”=调动生效日期 - 1天 // 更新“调动人”的新考勤组中的“生效日期”=调动生效日期;
String sql = "select * from kq_groupmember where type = 1 and ISNULL(isDelete,0) != 1 and typevalue = ? and groupid = ? "; // 更新“调动人”的原考勤组中的“失效日期”=调动生效日期 - 1天
rst.executeQuery(sql, ddr, xkqz); String sql = "insert into kq_groupmember(groupid,typevalue,type,seclevel,seclevelto,validatefrom,validateto) values(?,?,1,0,100,?,'2999-12-31')";
// 查询新考勤组是否有数据,如果数据则更新,没有则插入一条数据
if(rst.next()){
sql = "update kq_groupmember set validatefrom = ? ,validateto = ? where type = 1 and ISNULL(isDelete,0) != 1 and typevalue = ? and groupid = ?";
rst.executeUpdate(sql, ddsxrq, "2999-12-31", ddr, xkqz);
}else{
sql = "insert into kq_groupmember(groupid,typevalue,type,seclevel,seclevelto,validatefrom,validateto) values(?,?,1,0,100,?,'2999-12-31')";
rst.executeUpdate(sql, xkqz, ddr, ddsxrq); rst.executeUpdate(sql, xkqz, ddr, ddsxrq);
}
sql = "update kq_groupmember set validateto = ? where type = 1 and ISNULL(isDelete,0) != 1 and typevalue = ? and groupid = ?"; sql = "update kq_groupmember set validateto = ? where type = 1 and ISNULL(isDelete,0) != 1 and typevalue = ? and groupid = ?";
String yesterday = DateUtil.addDate(ddsxrq, -1); String yesterday = DateUtil.addDate(ddsxrq, -1);
rst.writeLog("yesterday===" + yesterday); rst.writeLog("yesterday===" + yesterday);
rst.executeUpdate(sql, yesterday, ddr, kqGroupId); rst.executeUpdate(sql, yesterday, ddr, kqGroupId);
}
} }
rst.writeLog("updateEmployeeGroup---finish"); rst.writeLog("updateEmployeeGroup---finish");

@ -45,6 +45,11 @@ public class EmployeeTransferJob extends BaseCronJob {
String sfxdzg = rs.getString("sfxdzg"); String sfxdzg = rs.getString("sfxdzg");
// 新考勤组 // 新考勤组
String xkqz = rs.getString("xkqz"); String xkqz = rs.getString("xkqz");
// 调动人新下级
String ddrxxj = rs.getString("ddrxxj");
// 调动人下级
String ddrxj = rs.getString("ddrxj");
rs.writeLog("ddr==" + ddr + ",ddhbm==" + ddhbm + ",ddhgw==" + ddhgw + ",ddhgj==" + ddhgj + ",ydsxrq==" + ydsxrq + ",xzjsj==" + xzjsj + ",zwjjr==" + zwjjr + ",sfxdzg==" + sfxdzg + ",xkqz==" + xkqz); rs.writeLog("ddr==" + ddr + ",ddhbm==" + ddhbm + ",ddhgw==" + ddhgw + ",ddhgj==" + ddhgj + ",ydsxrq==" + ydsxrq + ",xzjsj==" + xzjsj + ",zwjjr==" + zwjjr + ",sfxdzg==" + sfxdzg + ",xkqz==" + xkqz);
// 部门 // 部门
@ -59,8 +64,8 @@ public class EmployeeTransferJob extends BaseCronJob {
// 直接上级 // 直接上级
updateEmployeeManagerId(rst, ddr, xzjsj); updateEmployeeManagerId(rst, ddr, xzjsj);
rs.writeLog("updateEmployeeManagerId==success"); rs.writeLog("updateEmployeeManagerId==success");
// 所有下属的直接上 // 调动人新下
updateSubUserManagerId(rst, ddr, zwjjr); updateSubUserManagerId(rst, ddr, zwjjr, ddrxj, ddrxxj);
rs.writeLog("updateSubUserManagerId==success"); rs.writeLog("updateSubUserManagerId==success");
// 考勤组 // 考勤组
updateEmployeeGroup(rst, ddr, ydsxrq, xkqz); updateEmployeeGroup(rst, ddr, ydsxrq, xkqz);
@ -158,11 +163,24 @@ public class EmployeeTransferJob extends BaseCronJob {
* @param rst * @param rst
* @param ddr * @param ddr
* @param zwjjr * @param zwjjr
* @param ddrxj
* @param ddrxxj
* @throws Exception * @throws Exception
*/ */
private void updateSubUserManagerId(RecordSet rst, String ddr, String zwjjr) throws Exception { private void updateSubUserManagerId(RecordSet rst, String ddr, String zwjjr, String ddrxj, String ddrxxj) throws Exception {
if (StringUtils.isNotBlank(ddr) && StringUtils.isNotBlank(zwjjr)) { // 更新调动人下级
rst.executeUpdate("update hrmresource set managerid = ? where managerid = ?", zwjjr, ddr); if (StringUtils.isNotBlank(ddr) && StringUtils.isNotBlank(ddrxxj)) {
String[] split = ddrxxj.split(",");
for (String s : split) {
rst.executeUpdate("update hrmresource set managerid = ? where id = ?", ddr, s);
}
}
// 更新职务交接人下级
if (StringUtils.isNotBlank(zwjjr) && StringUtils.isNotBlank(ddrxj)) {
String[] split = ddrxj.split(",");
for (String s : split) {
rst.executeUpdate("update hrmresource set managerid = ? where id = ?", zwjjr, s);
}
} }
} }
@ -210,23 +228,8 @@ public class EmployeeTransferJob extends BaseCronJob {
// 更新“调动人”的【考勤组】为:新考勤组; // 更新“调动人”的【考勤组】为:新考勤组;
// 更新“调动人”的新考勤组中的“生效日期”=调动生效日期; // 更新“调动人”的新考勤组中的“生效日期”=调动生效日期;
// 更新“调动人”的原考勤组中的“失效日期”=调动生效日期 - 1天 // 更新“调动人”的原考勤组中的“失效日期”=调动生效日期 - 1天
String sql = "select * from kq_groupmember where type = 1 and ISNULL(isDelete,0) != 1 and typevalue = ? and groupid = ? "; String sql = "insert into kq_groupmember(groupid,typevalue,type,seclevel,seclevelto,validatefrom,validateto) values(?,?,1,0,100,?,'2999-12-31')";
rst.executeQuery(sql, ddr, xkqz); rst.executeUpdate(sql, xkqz, ddr, ddsxrq);
// 查询新考勤组是否有数据,如果数据则更新,没有则插入一条数据
if(rst.next()){
sql = "update kq_groupmember set validatefrom = ? ,validateto = ? where type = 1 and ISNULL(isDelete,0) != 1 and typevalue = ? and groupid = ?";
rst.executeUpdate(sql, ddsxrq, "2999-12-31", ddr, xkqz);
}else{
sql = "insert into kq_groupmember(groupid,typevalue,type,seclevel,seclevelto,validatefrom,validateto) values(?,?,1,0,100,?,'2999-12-31')";
rst.executeUpdate(sql, xkqz, ddr, ddsxrq);
}
// 如果生效日期小于失效日期,将生效日期也改为失效日期
//rst.executeQuery("select * from kq_groupmember where type = 1 and ISNULL(isDelete,0) != 1 and typevalue = ? and groupid = ?", ddr, kqGroupId);
//if (rst.next()) {
// String validatefrom = rst.getString("validatefrom");
//}
sql = "update kq_groupmember set validateto = ? where type = 1 and ISNULL(isDelete,0) != 1 and typevalue = ? and groupid = ?"; sql = "update kq_groupmember set validateto = ? where type = 1 and ISNULL(isDelete,0) != 1 and typevalue = ? and groupid = ?";
String yesterday = DateUtil.addDate(ddsxrq, -1); String yesterday = DateUtil.addDate(ddsxrq, -1);

Loading…
Cancel
Save