Compare commits

..

13 Commits

10
.gitignore vendored

@ -1,15 +1,17 @@
/weaver-develop.iml
/weaver-hrm-organization.iml
/out/
.idea/
/.idea/
HELP.md
target/
### IntelliJ IDEA ###
.idea
/test
/src/test
/src/rebel.xml
/src/META-INF
/WEB-INF/config
/log
/weaver-develop.iml

@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="weaver-develop:jar">
<output-path>$PROJECT_DIR$/out/artifacts/weaver_develop_jar</output-path>
<root id="archive" name="weaver-develop.jar">
<element id="module-output" name="weaver-develop" />
</root>
</artifact>
</component>

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile default="true" name="Default" enabled="true" />
</annotationProcessing>
</component>
</project>

@ -1,9 +0,0 @@
<component name="libraryTable">
<library name="classbean">
<CLASSES>
<root url="file://$PROJECT_DIR$/../../../../weaver/ecology/classbean" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

@ -1,13 +0,0 @@
<component name="libraryTable">
<library name="lib">
<CLASSES>
<root url="file://$PROJECT_DIR$/../../../../weaver/ecology/WEB-INF/lib" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="file://$PROJECT_DIR$/../../../../weaver/ecology/WEB-INF/lib" />
</SOURCES>
<jarDirectory url="file://$PROJECT_DIR$/../../../../weaver/ecology/WEB-INF/lib" recursive="false" />
<jarDirectory url="file://$PROJECT_DIR$/../../../../weaver/ecology/WEB-INF/lib" recursive="false" type="SOURCES" />
</library>
</component>

@ -1,3 +0,0 @@
Manifest-Version: 1.0
Main-Class: test.MainTest

@ -0,0 +1,277 @@
<%@ page import="weaver.conn.RecordSet" %>
<%@ page import="weaver.common.DateUtil" %>
<%@ page import="weaver.conn.RecordSetTrans" %>
<%@ page import="org.apache.commons.lang3.StringUtils" %>
<%@ page import="weaver.hrm.job.JobTitlesComInfo" %>
<%@ page import="com.engine.kq.biz.KQGroupMemberComInfo" %>
<%@ page import="weaver.hrm.company.DepartmentComInfo" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="weaver.general.Util" %>
<%@ page import="weaver.hrm.resource.ResourceComInfo" %>
<%
RecordSet rs = new RecordSet();
try {
String id = Util.null2String(request.getParameter("id"));
String currentDate = Util.null2String(request.getParameter("date"));
if (StringUtils.isBlank(currentDate)) {
throw new RuntimeException("date is null");
}
rs.writeLog("EmployeeTransferJob---start");
// 查询归档流程,明细表中,调用生效日期为当前日期的数据
if(StringUtils.isNotBlank(id)){
rs.executeQuery("select * from uf_ygddxx where ydsxrq = ? and id = ?", currentDate, id);
}else{
rs.executeQuery("select * from uf_ygddxx where ydsxrq = ? ", currentDate);
}
while (rs.next()) {
RecordSet rst = new RecordSet();
// 调动人
String ddr = rs.getString("xm");
// 调入门店
String ddhbm = rs.getString("ydhbm");
// 调动后岗位
String ddhgw = rs.getString("ydhgw");
// 调动后岗级
String ddhgj = rs.getString("ydhgj");
// 调动生效日期
String ydsxrq = rs.getString("ydsxrq");
// 新直接上级
String xzjsj = rs.getString("drddc");
// 职务交接人
String zwjjr = rs.getString("zwjjr");
// 是否为新店店长
String sfxdzg = rs.getString("sfxdzg");
// 新考勤组
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);
// 部门
updateEmployeeDept(rst, ddr, ddhbm);
rs.writeLog("updateEmployeeDept==success");
// 岗位
updateEmployeeJobTitle(rst, ddr, ddhgw);
rs.writeLog("updateEmployeeJobTitle==success");
// 岗位等级
updateEmployeeJobLevel(rst, ddr, ddhgj);
rs.writeLog("updateEmployeeJobLevel==success");
// 直接上级
updateEmployeeManagerId(rst, ddr, xzjsj);
rs.writeLog("updateEmployeeManagerId==success");
// 调动人新下级
updateSubUserManagerId(rst, ddr, zwjjr, ddrxj, ddrxxj);
rs.writeLog("updateSubUserManagerId==success");
// 考勤组
updateEmployeeGroup(rst, ddr, ydsxrq, xkqz);
rs.writeLog("updateEmployeeGroup==success");
// 矩阵
updateMatrix(rst, ddr, zwjjr, ddhbm, sfxdzg);
rs.writeLog("updateMatrix==success");
new ResourceComInfo().removeResourceCache();
rs.writeLog("EmployeeTransferJob----commit,ddr==" + ddr + ",ydsxrq==" + ydsxrq);
}
rs.writeLog("EmployeeTransferJob---finish");
out.print("success"+DateUtil.getDateTime());
} catch (Exception e) {
rs.writeLog("EmployeeTransferJob---error", e);
out.print(e.getMessage());
}
%>
<%!
/**
* 更新“调动人”的【部门】为:调入门店
*
* @param rst
* @param ddr
* @param ddhbm
*/
private void updateEmployeeDept(RecordSet rst, String ddr, String ddhbm) throws Exception {
if (StringUtils.isNotBlank(ddr) && StringUtils.isNotBlank(ddhbm)) {
DepartmentComInfo departmentComInfo = new DepartmentComInfo();
List<String> departmentList = new ArrayList<>();
departmentList.add(null);
departmentList.add(null);
departmentList.add(null);
departmentList.add(null);
dealDepartmentLevel(departmentComInfo, departmentList, ddhbm);
String dept1 = departmentList.get(0);
String dept2 = departmentList.get(1);
String dept3 = departmentList.get(2);
String dept4 = departmentList.get(3);
rst.writeLog("updateEmployeeDept####dept1==" + dept1 + ",dept2==" + dept2 + ",dept3==" + dept3 + ",dept4==" + dept4);
rst.executeUpdate("update hrmresource set departmentid = ? where id = ?", ddhbm, ddr);
rst.executeUpdate("update cus_fielddata set field40 = ? ,field41 = ? , field42 = ? ,field43 = ? where scope = 'HrmCustomFieldByInfoType' and scopeid = -1 and id = ? ", dept1, dept2, dept3, dept4, ddr);
}
}
private void dealDepartmentLevel(DepartmentComInfo departmentComInfo, List<String> departmentList, String departmentId) {
departmentList.add(0, departmentId);
String departmentsupdepid = departmentComInfo.getDepartmentsupdepid(departmentId);
if (StringUtils.isNotBlank(departmentsupdepid) && !"0".equals(departmentsupdepid)) {
dealDepartmentLevel(departmentComInfo, departmentList, departmentsupdepid);
}
}
/**
* 更新“调动人”的【岗位】为:调动后岗位;
*
* @param rst
* @param ddr
* @param ddhgw
*/
private void updateEmployeeJobTitle(RecordSet rst, String ddr, String ddhgw) throws Exception {
if (StringUtils.isNotBlank(ddr) && StringUtils.isNotBlank(ddhgw)) {
rst.executeUpdate("update hrmresource set jobtitle = ? where id = ?", ddhgw, ddr);
}
}
/**
* 更新“调动人”的【岗位等级】为:调动后岗级;
*
* @param rst
* @param ddr
* @param ddhgj
*/
private void updateEmployeeJobLevel(RecordSet rst, String ddr, String ddhgj) throws Exception {
if (StringUtils.isNotBlank(ddr) && StringUtils.isNotBlank(ddhgj)) {
rst.executeUpdate("update cus_fielddata set field1 = ? where scope ='HrmCustomFieldByInfoType' and scopeid ='-1' and id = ?", ddhgj, ddr);
}
}
/**
* 更新“调动人”的【直接上级】为:新直接上级;
*
* @param rst
* @param ddr
* @param xzjsj
* @throws Exception
*/
private void updateEmployeeManagerId(RecordSet rst, String ddr, String xzjsj) throws Exception {
if (StringUtils.isNotBlank(ddr) && StringUtils.isNotBlank(xzjsj)) {
rst.executeUpdate("update hrmresource set managerid = ? where id = ?", xzjsj, ddr);
}
}
/**
* 更新“调动人”的所有下属的直接上级为:职务交接人,即:代替“调动人”当领导的
*
* @param rst
* @param ddr
* @param zwjjr
* @param ddrxj
* @param ddrxxj
* @throws Exception
*/
private void updateSubUserManagerId(RecordSet rst, String ddr, String zwjjr, String ddrxj, String ddrxxj) throws Exception {
// 更新调动人下级
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);
}
}
}
/**
* 更新考勤组
*
* @param rst
* @param ddr
* @param ddsxrq
* @param xkqz
* @throws Exception
*/
private void updateEmployeeGroup(RecordSet rst, String ddr, String ddsxrq, String xkqz) throws Exception {
rst.executeQuery("select a.jobtitle ,b.field41 from HrmResource a, cus_fielddata b where a.id=b.id and scopeid=-1 and scope='HrmCustomFieldByInfoType' and a.id = ?", ddr);
rst.writeLog("updateEmployeeGroup---start");
rst.writeLog("xkqz11==" + xkqz);
if (rst.next()) {
String departmentId = rst.getString("field41");
String jobtitle = rst.getString("jobtitle");
String jobactivityid = new JobTitlesComInfo().getJobactivityid(jobtitle);
rst.writeLog("departmentId==" + departmentId);
rst.writeLog("jobtitle==" + jobtitle);
rst.writeLog("jobactivityid==" + jobactivityid);
// 【职务】是督导、经理、总监的
if ("233".equals(jobactivityid) || "236".equals(jobactivityid) || "237".equals(jobactivityid)) {
// 二级部门是:四川一区把“调动人”加入【四川一区】考勤组;
if ("264".equals(departmentId)) {
xkqz = "18";
}
// 二级部门是:四川二区(部门id=258)的,把“调动人”加入【四川二区】考勤组
if ("258".equals(departmentId)) {
xkqz = "19";
}
}
}
rst.writeLog("xkqz222==" + xkqz);
if (StringUtils.isNotBlank(xkqz)) {
KQGroupMemberComInfo kqGroupMemberComInfo = new KQGroupMemberComInfo();
String kqGroupId = kqGroupMemberComInfo.getKQGroupId(ddr);
rst.writeLog("kqGroupId===" + kqGroupId);
if (!kqGroupId.equals(xkqz)) {
// 更新“调动人”的【考勤组】为:新考勤组;
// 更新“调动人”的新考勤组中的“生效日期”=调动生效日期;
// 更新“调动人”的原考勤组中的“失效日期”=调动生效日期 - 1天
String 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);
sql = "update kq_groupmember set validateto = ? where type = 1 and ISNULL(isDelete,0) != 1 and typevalue = ? and groupid = ?";
String yesterday = DateUtil.addDate(ddsxrq, -1);
rst.writeLog("yesterday===" + yesterday);
rst.executeUpdate(sql, yesterday, ddr, kqGroupId);
}
}
rst.writeLog("updateEmployeeGroup---finish");
}
/**
* >>如果“调动人”是“调出部门”的部门矩阵中的“店长/直接主管”,则更新“调出门店”的部门矩阵中的“店长/直接主管”为:职务交接人;即,更新部门矩阵中我是店长的数据为:职务交接人,别人顶替我;
* >>如果“调动人”的“是否为新店店长==是”,则更新“调入门店”的部门矩阵中的“店长/直接主管”为:调动人;即,更新我为新门店的店长;
*
* @param rst
* @param ddr
* @param zwjjr
* @param ddhbm
* @param sfxdzg
* @throws Exception
*/
private void updateMatrix(RecordSet rst, String ddr, String zwjjr, String ddhbm, String sfxdzg) throws Exception {
// 更新“调出门店”的部门矩阵中的“店长/直接主管”为:职务交接人
if (StringUtils.isNotBlank(ddr) && StringUtils.isNotBlank(zwjjr)) {
rst.executeUpdate("update HrmDepartmentDefined set bmfzr = ? where CAST(bmfzr AS varchar) =?", zwjjr, ddr);
rst.executeUpdate("update Matrixtable_2 set bmfzr = ? where bmfzr =?", zwjjr, ddr);
rst.executeUpdate("update uf_mdglb set dc = ? where CAST(dc AS varchar) = ?", zwjjr, ddr);
rst.writeLog("updateMatrix----11111----finish");
}
if (StringUtils.isNotBlank(ddr) && "0".equals(sfxdzg)) {
// 更新“调入门店”的部门矩阵中的“店长/直接主管”为:调动人
rst.executeUpdate("update HrmDepartmentDefined set bmfzr = ? where deptid =?", ddr, ddhbm);
rst.executeUpdate("update Matrixtable_2 set bmfzr = ? where id =?", ddr, ddhbm);
rst.executeUpdate("update uf_mdglb set dc = ? where md = ?", ddr, ddhbm);
rst.writeLog("updateMatrix----22222----finish");
}
}
%>

@ -0,0 +1,22 @@
package com.engine.zhewen.exception;
/**
* @Author weaver_cl
* @Description:
* @Date 2023/2/21
* @Version V1.0
**/
public class CustomizeRunTimeException extends RuntimeException{
public CustomizeRunTimeException(String message) {
super(message);
}
public CustomizeRunTimeException(Throwable cause) {
super(cause);
}
public CustomizeRunTimeException(String message, Throwable cause) {
super(message, cause);
}
}

@ -0,0 +1,20 @@
package com.engine.zhewen.util;
/**
* @Author weaver_cl
* @Description:
* @Date 2023/2/21
* @Version V1.0
**/
public class ExceptionUtil {
public static String getRealMessage(Throwable e) {
while (e != null) {
Throwable cause = e.getCause();
if (cause == null) {
return e.getMessage();
}
e = cause;
}
return "";
}
}

@ -0,0 +1,192 @@
package com.engine.zhewen.util;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.engine.core.exception.ECException;
import com.engine.zhewen.exception.CustomizeRunTimeException;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import weaver.general.BaseBean;
import weaver.hrm.User;
import java.util.HashMap;
import java.util.Map;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier;
/**
*
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: </p>
*
* @author qiantao
* @version 1.0
**/
@Slf4j
public class ResponseResult<T, R> {
private static final long serialVersionUID = 1L;
private final User user;
private final BaseBean baseBean = new BaseBean();
private final Boolean isLog = "true".equals(baseBean.getPropValue("hrmSalary", "log"));
public ResponseResult(User user) {
this.user = user;
}
/**
* ()
*/
public String customRun(Function<T, R> f, T t) {
try {
if (isLog) {
log.info("run api , param {}", t);
}
return getJsonString(f.apply(t));
} catch (com.engine.zhewen.exception.CustomizeRunTimeException e) {
log.error("api run fail", e);
return Error(e.getMessage());
} catch (ECException e) {
log.error("api run fail", e);
Throwable cause = e.getCause();
return Error(cause.getMessage());
} catch (Exception e) {
log.error("api run fail", e);
return Error("系统异常!");
}
}
/**
*
*/
public String run(Function<T, R> f, T t) {
try {
if (isLog) {
log.info("run api , param {}", t);
}
return Ok(f.apply(t));
} catch (com.engine.zhewen.exception.CustomizeRunTimeException e) {
log.error("api run fail", e);
return Error(e.getMessage());
} catch (ECException e) {
log.error("api run fail", e);
Throwable cause = e.getCause();
return Error(cause.getMessage());
} catch (Exception e) {
log.error("api run fail", e);
return Error("系统异常!");
}
}
/**
*
*/
public String run(Consumer<T> f, T t) {
try {
if (isLog) {
log.info("run api , param {}", t);
}
f.accept(t);
return Ok();
} catch (com.engine.zhewen.exception.CustomizeRunTimeException e) {
log.error("api run fail", e);
return Error(e.getMessage());
} catch (ECException e) {
log.error("api run fail", e);
return Error(ExceptionUtil.getRealMessage(e));
} catch (Exception e) {
log.error("api run fail", e);
return Error("系统异常!", e);
}
}
/**
*
*/
public String run(Supplier<R> f) {
try {
if (isLog) {
log.info("run api");
}
return Ok(f.get());
} catch (CustomizeRunTimeException e) {
log.error("api run fail", e);
return Error(e.getMessage());
} catch (ECException e) {
log.error("api run fail", e);
Throwable cause = e.getCause();
return Error(cause.getMessage());
} catch (Exception e) {
log.error("api run fail", e);
return Error("系统异常!", e);
}
}
private static String getJsonString(Object apidatas) {
ObjectMapper mapper = new ObjectMapper();
try {
return mapper.writeValueAsString(apidatas);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return "";
}
/**
*
*/
private String Ok() {
Map<String, Object> apidatas = new HashMap<>();
apidatas.put("api_status", true);
return JSONObject.toJSONString(apidatas, SerializerFeature.DisableCircularReferenceDetect);
}
/**
*
*/
private String Ok(R r) {
Map<String, Object> apidatas = new HashMap<>();
apidatas.put("api_status", true);
apidatas.put("data", r);
String success = JSON.toJSONString(apidatas);
if (isLog) {
log.info("run salary api success return {}", success);
}
return success;
}
/**
*
*/
private static String Error(String message) {
Map<String, Object> apidatas = new HashMap<>();
apidatas.put("api_status", false);
apidatas.put("errormsg", message);
return JSONObject.toJSONString(apidatas, SerializerFeature.DisableCircularReferenceDetect);
}
/**
*
*/
private static String Error(String message, Exception e) {
Map<String, Object> apidatas = new HashMap<>();
apidatas.put("api_status", false);
apidatas.put("errormsg", message);
apidatas.put("error", e.getMessage());
return JSONObject.toJSONString(apidatas, SerializerFeature.DisableCircularReferenceDetect);
}
}

@ -1,14 +0,0 @@
package test;
/**
* @Author weaver_cl
* @Description:
* @Date 2022/10/9
* @Version V1.0
**/
public class MainTest {
public static void main(String[] args) {
}
}

@ -0,0 +1,44 @@
package weaver.interfaces.zhewen.cronjob;
import org.apache.commons.collections.CollectionUtils;
import weaver.common.DateUtil;
import weaver.conn.RecordSet;
import weaver.interfaces.schedule.BaseCronJob;
import java.util.ArrayList;
import java.util.List;
/**
* @author:dxfeng
* @createTime: 2025/03/04
* @version: 1.0
*/
public class EmployeeRegularizationJob extends BaseCronJob {
@Override
public void execute() {
RecordSet rs = new RecordSet();
try {
rs.writeLog("EmployeeRegularizationJob---start");
String currentDate = DateUtil.getCurrentDate();
List<String> userList = new ArrayList<>();
rs.executeQuery("select xm from uf_ygzzxx where zzrq = ? ", currentDate);
while (rs.next()) {
userList.add(rs.getString("xm"));
}
if (CollectionUtils.isNotEmpty(userList)) {
for (String user : userList) {
rs.writeLog(user + "==已转正");
rs.executeUpdate("update hrmresource set status = 1 where id = ? ", user);
}
} else {
rs.writeLog(currentDate + "---未查询到数据");
}
rs.writeLog("EmployeeRegularizationJob---finish");
} catch (Exception e) {
rs.writeLog("EmployeeRegularizationJob", e);
}
}
}

@ -0,0 +1,277 @@
package weaver.interfaces.zhewen.cronjob;
import com.engine.kq.biz.KQGroupMemberComInfo;
import org.apache.commons.lang3.StringUtils;
import weaver.common.DateUtil;
import weaver.conn.RecordSet;
import weaver.hrm.company.DepartmentComInfo;
import weaver.hrm.job.JobTitlesComInfo;
import weaver.hrm.resource.ResourceComInfo;
import weaver.interfaces.schedule.BaseCronJob;
import java.util.ArrayList;
import java.util.List;
/**
* @author:dxfeng
* @createTime: 2024/10/30
* @version: 1.0
*/
public class EmployeeTransferJob extends BaseCronJob {
@Override
public void execute() {
RecordSet rs = new RecordSet();
try {
rs.writeLog("EmployeeTransferJob---start");
String currentDate = DateUtil.getCurrentDate();
// 查询归档流程,明细表中,调用生效日期为当前日期的数据
rs.executeQuery("select * from uf_ygddxx where ydsxrq = ? ", currentDate);
while (rs.next()) {
RecordSet rst = new RecordSet();
// 调动人
String ddr = rs.getString("xm");
// 调入门店
String ddhbm = rs.getString("ydhbm");
// 调动后岗位
String ddhgw = rs.getString("ydhgw");
// 调动后岗级
String ddhgj = rs.getString("ydhgj");
// 调动生效日期
String ydsxrq = rs.getString("ydsxrq");
// 新直接上级
String xzjsj = rs.getString("drddc");
// 职务交接人
String zwjjr = rs.getString("zwjjr");
// 是否为新店店长
String sfxdzg = rs.getString("sfxdzg");
// 新考勤组
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);
// 部门
updateEmployeeDept(rst, ddr, ddhbm);
rs.writeLog("updateEmployeeDept==success");
// 岗位
updateEmployeeJobTitle(rst, ddr, ddhgw);
rs.writeLog("updateEmployeeJobTitle==success");
// 岗位等级
updateEmployeeJobLevel(rst, ddr, ddhgj);
rs.writeLog("updateEmployeeJobLevel==success");
// 直接上级
updateEmployeeManagerId(rst, ddr, xzjsj);
rs.writeLog("updateEmployeeManagerId==success");
// 调动人新下级
updateSubUserManagerId(rst, ddr, zwjjr, ddrxj, ddrxxj);
rs.writeLog("updateSubUserManagerId==success");
// 考勤组
updateEmployeeGroup(rst, ddr, ydsxrq, xkqz);
rs.writeLog("updateEmployeeGroup==success");
// 矩阵
updateMatrix(rst, ddr, zwjjr, ddhbm, sfxdzg);
rs.writeLog("updateMatrix==success");
new ResourceComInfo().removeResourceCache();
rs.writeLog("EmployeeTransferJob----commit,ddr==" + ddr + ",ydsxrq==" + ydsxrq);
}
rs.writeLog("EmployeeTransferJob---finish");
} catch (Exception e) {
rs.writeLog("EmployeeTransferJob执行异常", e);
}
}
/**
*
*
* @param rst
* @param ddr
* @param ddhbm
*/
private void updateEmployeeDept(RecordSet rst, String ddr, String ddhbm) throws Exception {
if (StringUtils.isNotBlank(ddr) && StringUtils.isNotBlank(ddhbm)) {
DepartmentComInfo departmentComInfo = new DepartmentComInfo();
List<String> departmentList = new ArrayList<>();
departmentList.add(null);
departmentList.add(null);
departmentList.add(null);
departmentList.add(null);
dealDepartmentLevel(departmentComInfo, departmentList, ddhbm);
String dept1 = departmentList.get(0);
String dept2 = departmentList.get(1);
String dept3 = departmentList.get(2);
String dept4 = departmentList.get(3);
rst.writeLog("updateEmployeeDept####dept1==" + dept1 + ",dept2==" + dept2 + ",dept3==" + dept3 + ",dept4==" + dept4);
rst.executeUpdate("update hrmresource set departmentid = ? where id = ?", ddhbm, ddr);
rst.executeUpdate("update cus_fielddata set field40 = ? ,field41 = ? , field42 = ? ,field43 = ? where scope = 'HrmCustomFieldByInfoType' and scopeid = -1 and id = ? ", dept1, dept2, dept3, dept4, ddr);
}
}
private void dealDepartmentLevel(DepartmentComInfo departmentComInfo, List<String> departmentList, String departmentId) {
departmentList.add(0, departmentId);
String departmentsupdepid = departmentComInfo.getDepartmentsupdepid(departmentId);
if (StringUtils.isNotBlank(departmentsupdepid) && !"0".equals(departmentsupdepid)) {
dealDepartmentLevel(departmentComInfo, departmentList, departmentsupdepid);
}
}
/**
*
*
* @param rst
* @param ddr
* @param ddhgw
*/
private void updateEmployeeJobTitle(RecordSet rst, String ddr, String ddhgw) throws Exception {
if (StringUtils.isNotBlank(ddr) && StringUtils.isNotBlank(ddhgw)) {
rst.executeUpdate("update hrmresource set jobtitle = ? where id = ?", ddhgw, ddr);
}
}
/**
*
*
* @param rst
* @param ddr
* @param ddhgj
*/
private void updateEmployeeJobLevel(RecordSet rst, String ddr, String ddhgj) throws Exception {
if (StringUtils.isNotBlank(ddr) && StringUtils.isNotBlank(ddhgj)) {
rst.executeUpdate("update cus_fielddata set field1 = ? where scope ='HrmCustomFieldByInfoType' and scopeid ='-1' and id = ?", ddhgj, ddr);
}
}
/**
*
*
* @param rst
* @param ddr
* @param xzjsj
* @throws Exception
*/
private void updateEmployeeManagerId(RecordSet rst, String ddr, String xzjsj) throws Exception {
if (StringUtils.isNotBlank(ddr) && StringUtils.isNotBlank(xzjsj)) {
rst.executeUpdate("update hrmresource set managerid = ? where id = ?", xzjsj, ddr);
}
}
/**
*
*
* @param rst
* @param ddr
* @param zwjjr
* @param ddrxj
* @param ddrxxj
* @throws Exception
*/
private void updateSubUserManagerId(RecordSet rst, String ddr, String zwjjr, String ddrxj, String ddrxxj) throws Exception {
// 更新调动人下级
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);
}
}
}
/**
*
*
* @param rst
* @param ddr
* @param ddsxrq
* @param xkqz
* @throws Exception
*/
private void updateEmployeeGroup(RecordSet rst, String ddr, String ddsxrq, String xkqz) throws Exception {
rst.executeQuery("select a.jobtitle ,b.field41 from HrmResource a, cus_fielddata b where a.id=b.id and scopeid=-1 and scope='HrmCustomFieldByInfoType' and a.id = ?", ddr);
rst.writeLog("updateEmployeeGroup---start");
rst.writeLog("xkqz11==" + xkqz);
if (rst.next()) {
String departmentId = rst.getString("field41");
String jobtitle = rst.getString("jobtitle");
String jobactivityid = new JobTitlesComInfo().getJobactivityid(jobtitle);
rst.writeLog("departmentId==" + departmentId);
rst.writeLog("jobtitle==" + jobtitle);
rst.writeLog("jobactivityid==" + jobactivityid);
// 【职务】是督导、经理、总监的
if ("233".equals(jobactivityid) || "236".equals(jobactivityid) || "237".equals(jobactivityid)) {
// 二级部门是:四川一区把“调动人”加入【四川一区】考勤组;
if ("264".equals(departmentId)) {
xkqz = "18";
}
// 二级部门是:四川二区(部门id=258)的,把“调动人”加入【四川二区】考勤组
if ("258".equals(departmentId)) {
xkqz = "19";
}
}
}
rst.writeLog("xkqz222==" + xkqz);
if (StringUtils.isNotBlank(xkqz)) {
KQGroupMemberComInfo kqGroupMemberComInfo = new KQGroupMemberComInfo();
String kqGroupId = kqGroupMemberComInfo.getKQGroupId(ddr);
rst.writeLog("kqGroupId===" + kqGroupId);
if (!kqGroupId.equals(xkqz)) {
// 更新“调动人”的【考勤组】为:新考勤组;
// 更新“调动人”的新考勤组中的“生效日期”=调动生效日期;
// 更新“调动人”的原考勤组中的“失效日期”=调动生效日期 - 1天
String 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);
sql = "update kq_groupmember set validateto = ? where type = 1 and ISNULL(isDelete,0) != 1 and typevalue = ? and groupid = ?";
String yesterday = DateUtil.addDate(ddsxrq, -1);
rst.writeLog("yesterday===" + yesterday);
rst.executeUpdate(sql, yesterday, ddr, kqGroupId);
}
}
rst.writeLog("updateEmployeeGroup---finish");
}
/**
* >>//
* >>==/
*
* @param rst
* @param ddr
* @param zwjjr
* @param ddhbm
* @param sfxdzg
* @throws Exception
*/
private void updateMatrix(RecordSet rst, String ddr, String zwjjr, String ddhbm, String sfxdzg) throws Exception {
// 更新“调出门店”的部门矩阵中的“店长/直接主管”为:职务交接人
if (StringUtils.isNotBlank(ddr) && StringUtils.isNotBlank(zwjjr)) {
rst.executeUpdate("update HrmDepartmentDefined set bmfzr = ? where CAST(bmfzr AS varchar) =?", zwjjr, ddr);
rst.executeUpdate("update Matrixtable_2 set bmfzr = ? where bmfzr =?", zwjjr, ddr);
rst.executeUpdate("update uf_mdglb set dc = ? where CAST(dc AS varchar) = ?", zwjjr, ddr);
rst.writeLog("updateMatrix----11111----finish");
}
if (StringUtils.isNotBlank(ddr) && "0".equals(sfxdzg)) {
// 更新“调入门店”的部门矩阵中的“店长/直接主管”为:调动人
rst.executeUpdate("update HrmDepartmentDefined set bmfzr = ? where deptid =?", ddr, ddhbm);
rst.executeUpdate("update Matrixtable_2 set bmfzr = ? where id =?", ddr, ddhbm);
rst.executeUpdate("update uf_mdglb set dc = ? where md = ?", ddr, ddhbm);
rst.writeLog("updateMatrix----22222----finish");
}
}
}
Loading…
Cancel
Save