定时,根据员工的部门 去更新自定义字段:

第一部门,第二部门,第三部门,第四部门,第五部门,第六部门
dev-chenwnj
howec 1 year ago
parent 77647842f3
commit f5baa91e86

@ -0,0 +1,26 @@
package weaver.haikang.cronjob;
import weaver.integration.logging.Logger;
import weaver.integration.logging.LoggerFactory;
import weaver.interfaces.schedule.BaseCronJob;
/**
*
*/
public class PersonDeptLevelCron extends BaseCronJob {
private final Logger log = LoggerFactory.getLogger(PersonDeptLevelCron.class);
private String currentYear;
@Override
public void execute() {
log.error("新到一级二级三级四级定时任务开启-------");
new Thread( ()->{
PersonDeptLevelCronService personDeptLevelCronService = new PersonDeptLevelCronService();
personDeptLevelCronService.execute();
}).start();
log.error("新到一级二级三级四级定时任务结束-------");
}
}

@ -0,0 +1,162 @@
package weaver.haikang.cronjob;
import com.weaver.file.Prop;
import weaver.conn.RecordSet;
import weaver.integration.logging.Logger;
import weaver.integration.logging.LoggerFactory;
import java.util.HashMap;
import java.util.Map;
public class PersonDeptLevelCronService {
private final Logger log = LoggerFactory.getLogger(PersonDeptLevelCronService.class);
private static final String levle1 = Prop.getPropValue("PersonDeptLevel","levle1");
private static final String levle2 = Prop.getPropValue("PersonDeptLevel","levle2");
private static final String levle3 = Prop.getPropValue("PersonDeptLevel","levle3");
private static final String levle4 = Prop.getPropValue("PersonDeptLevel","levle4");
private static final String levle5 = Prop.getPropValue("PersonDeptLevel","levle5");
private static final String levle6 = Prop.getPropValue("PersonDeptLevel","levle6");
public synchronized void execute() {
log.error("howec:::>begin");
RecordSet recordSeta = new RecordSet();
RecordSet recordSetb = new RecordSet();
RecordSet recordSetc = new RecordSet();
String sql = "select r.id as rid, r.lastname, r.departmentid as rdepartmentid, a1.departmentname as rdepartmentname, a2.departmentname as departmentname2, a2.id as departmentid2, a3.departmentname as departmentname3, a3.id as departmentid3, a4.departmentname as departmentname4, a4.id as departmentid4, a5.departmentname as departmentname5, a5.id as departmentid5, a6.departmentname as departmentname6, a6.id as departmentid6, a7.departmentname as departmentname7, a7.id as departmentid7, a8.departmentname as departmentname8, a8.id as departmentid8, a9.departmentname as departmentname9, a9.id as departmentid9, a10.departmentname as departmentname10, a10.id as departmentid10 from HrmResource r inner join HrmDepartment a1 on r.departmentid = a1.id left join HrmDepartment a2 on a1.supdepid = a2.id left join HrmDepartment a3 on a2.supdepid = a3.id left join HrmDepartment a4 on a3.supdepid = a4.id left join HrmDepartment a5 on a4.supdepid = a5.id left join HrmDepartment a6 on a5.supdepid = a6.id left join HrmDepartment a7 on a6.supdepid = a7.id left join HrmDepartment a8 on a6.supdepid = a8.id left join HrmDepartment a9 on a6.supdepid = a9.id left join HrmDepartment a10 on a6.supdepid = a10.id";
recordSeta.executeQuery(sql);
while (recordSeta.next()) {
int rid = recordSeta.getInt("rid");
int levle = 0;
int departmentname1 = recordSeta.getInt("rdepartmentid");
int departmentname2 = recordSeta.getInt("departmentid2");
int departmentname3 = recordSeta.getInt("departmentid3");
int departmentname4 = recordSeta.getInt("departmentid4");
int departmentname5 = recordSeta.getInt("departmentid5");
int departmentname6 = recordSeta.getInt("departmentid6");
int departmentname7 = recordSeta.getInt("departmentid7");
int departmentname8 = recordSeta.getInt("departmentid8");
int departmentname9 = recordSeta.getInt("departmentid9");
int departmentname10 = recordSeta.getInt("departmentid10");
Map<Integer,Integer> rs = new HashMap<>();
if(departmentname1>0) {
levle = 1;
}
if(departmentname2>0) {
levle = 2;
}
if(departmentname3>0) {
levle = 3;
}
if(departmentname4>0) {
levle = 4;
}
if(departmentname5>0) {
levle = 5;
}
if(departmentname6>0) {
levle = 6;
}
if(departmentname7>0) {
levle = 7;
}
if(departmentname8>0) {
levle = 8;
}
if(departmentname9>0) {
levle = 9;
}
if(departmentname10>0) {
levle = 10;
}
//初始化
rs.put(1,0);
rs.put(2,0);
rs.put(3,0);
rs.put(4,0);
rs.put(5,0);
rs.put(6,0);
if(levle == 1) {//一级部门
rs.put(1,departmentname1);
}
if(levle == 2) {//二级部门
rs.put(1,departmentname2);
rs.put(2,departmentname1);
}
if(levle == 3) {//三级部门
rs.put(1,departmentname3);
rs.put(2,departmentname2);
rs.put(3,departmentname1);
}
if(levle == 4) {//四级部门
rs.put(1,departmentname4);
rs.put(2,departmentname3);
rs.put(3,departmentname2);
rs.put(4,departmentname1);
}
if(levle == 5) {//五级部门
rs.put(1,departmentname5);
rs.put(2,departmentname4);
rs.put(3,departmentname3);
rs.put(4,departmentname2);
rs.put(5,departmentname1);
}
if(levle == 6) {//Ⅵ级部门
rs.put(1,departmentname6);
rs.put(2,departmentname5);
rs.put(3,departmentname4);
rs.put(4,departmentname3);
rs.put(5,departmentname2);
rs.put(6,departmentname1);
}
if(levle == 7) {//四级部门
rs.put(1,departmentname7);
rs.put(2,departmentname6);
rs.put(3,departmentname5);
rs.put(4,departmentname4);
rs.put(5,departmentname3);
rs.put(6,departmentname2);
}
if(levle == 8) {//四级部门
rs.put(1,departmentname8);
rs.put(2,departmentname7);
rs.put(3,departmentname6);
rs.put(4,departmentname5);
rs.put(5,departmentname4);
rs.put(6,departmentname3);
}
if(levle == 9) {//四级部门
rs.put(1,departmentname9);
rs.put(2,departmentname8);
rs.put(3,departmentname7);
rs.put(4,departmentname6);
rs.put(5,departmentname5);
rs.put(6,departmentname4);
}
if(levle == 10) {//四级部门
rs.put(1,departmentname10);
rs.put(2,departmentname9);
rs.put(3,departmentname8);
rs.put(4,departmentname7);
rs.put(5,departmentname6);
rs.put(6,departmentname5);
}
if(levle > 0) {
String sql3 = "select count(id) as nums from cus_fielddata where scopeid = -1 and scope = 'HrmCustomFieldByInfoType' and id = "+rid;
recordSetb.executeQuery(sql3);
recordSetb.next();
int nums = recordSetb.getInt("nums");
if(nums>0) {
String sql2 = "update cus_fielddata set "+levle1+" = '"+rs.get(1)+"',"+levle2+" = '"+rs.get(2)+"',"+levle3+"= '"+rs.get(3)+"',"+levle4+" = '"+rs.get(4)+"',"+levle5+" = '"+rs.get(5)+"',"+levle6+" = '"+rs.get(6)+"' where scopeid = -1 and scope = 'HrmCustomFieldByInfoType' and id = "+rid;
recordSetc.executeUpdate(sql2);
log.error("howec::::::::::::::::2:"+sql2);
}else {
String sql4 = "insert into cus_fielddata("+levle1+","+levle2+","+levle3+","+levle4+","+levle5+","+levle6+",scopeid,scope,id) values(?,?,?,?,?,?,?,?,?)";
recordSetc.executeUpdate(sql4,rs.get(1),rs.get(2),rs.get(3),rs.get(4),rs.get(5),rs.get(6),-1,"HrmCustomFieldByInfoType",rid);
}
}
}
}
}
Loading…
Cancel
Save