|
|
@@ -1,6 +1,4 @@
|
|
|
package org.dromara.server.sync.service;
|
|
|
-import com.google.common.collect.Lists;
|
|
|
-import java.util.Date;
|
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.http.HttpRequest;
|
|
|
@@ -39,62 +37,84 @@ public class SyncTrainService {
|
|
|
private final SyncUserStrategyContent syncUserStrategyContent;
|
|
|
|
|
|
public void syncTrainClass() {
|
|
|
- HttpRequest req = CreateHttpRequest.createRequest();
|
|
|
- req.body(getQueryBodyForClass());
|
|
|
+ // HttpRequest req = CreateHttpRequest.createRequest();
|
|
|
+ // req.body(getQueryBodyForClass());
|
|
|
+ //
|
|
|
+ // SyncFullDataBo dataBo = JSONUtil.toBean(req.execute().body(), SyncFullDataBo.class);
|
|
|
+ //
|
|
|
+ // List<ResourceDept> resourceDeptlist = new ArrayList<>();
|
|
|
+ // for (List<String> list : dataBo.getResponseParam().getResourceInfos().get(0).getDataInfo()) {
|
|
|
+ // ResourceDept dept = convertClassToDept(list);
|
|
|
+ // resourceDeptlist.add(dept);
|
|
|
+ // }
|
|
|
+ // log.info("[全量获取到的培训班级数据]-[{}]条-[{}]", resourceDeptlist.size(), JSONUtil.toJsonStr(dataBo));
|
|
|
+ //
|
|
|
+ //region 模拟测试数据
|
|
|
+ List<ResourceDept> resourceDeptlist = new ArrayList<>();
|
|
|
+ ResourceDept dept = new ResourceDept();
|
|
|
+ resourceDeptlist.add(dept);
|
|
|
+ dept.setDept_id("1828720861385904129");
|
|
|
+ dept.setDept_name("2024年秋季学期乡镇长进修班");
|
|
|
+ dept.setYear(2004);
|
|
|
+ dept.setSemester("1");
|
|
|
|
|
|
- SyncFullDataBo dataBo = JSONUtil.toBean(req.execute().body(), SyncFullDataBo.class);
|
|
|
+ dept.setPayBegin(DateUtil.parse("2024-08-28 00:00:00"));
|
|
|
+ dept.setCheckDate(DateUtil.parseDate("2024-08-28 00:00:00"));
|
|
|
+ dept.setBeginDate(DateUtil.parseDate("2024-08-31 00:00:00"));
|
|
|
+ dept.setEndDate(DateUtil.parse("2024-09-30 00:00:00", "yyyy-MM-dd HH:mm:ss"));
|
|
|
+ dept.setPayEnd(DateUtil.parse("2024-09-30 00:00:00", "yyyy-MM-dd HH:mm:ss"));
|
|
|
+ dept.setChooseRoom("0");
|
|
|
+ dept.setCanEat("1");
|
|
|
+ dept.setPayCheck("0");
|
|
|
+
|
|
|
+ dept.setDept_num("9");
|
|
|
+ //endregion
|
|
|
|
|
|
- List<ResourceDept> resourceDeptlist = new ArrayList<>();
|
|
|
- for (List<String> list : dataBo.getResponseParam().getResourceInfos().get(0).getDataInfo()) {
|
|
|
- ResourceDept dept = convertClassToDept(list);
|
|
|
- resourceDeptlist.add(dept);
|
|
|
- }
|
|
|
- log.info("[全量获取到的培训班级数据]-[{}]条-[{}]", resourceDeptlist.size(), JSONUtil.toJsonStr(dataBo));
|
|
|
syncDeptStrategyContent.syncDept(resourceDeptlist, SyncResourceConstants.TRAIN_CLASS);
|
|
|
}
|
|
|
|
|
|
public void syncTrainee() {
|
|
|
HttpRequest req = CreateHttpRequest.createRequest();
|
|
|
req.body(getQueryBodyForTrainee());
|
|
|
- //获取到培训学员数据
|
|
|
+ // 获取到培训学员数据
|
|
|
SyncFullDataBo traineeDataBo = JSONUtil.toBean(req.execute().body(), SyncFullDataBo.class);
|
|
|
|
|
|
List<ResourcePerson> resourcePersonList = getResourcePeople(traineeDataBo);
|
|
|
|
|
|
- //获取到的学员与培训班对应关系
|
|
|
+ // 获取到的学员与培训班对应关系
|
|
|
req.body(getQueryBodyForClassTrainee());
|
|
|
SyncFullDataBo classTraineeDataBo = JSONUtil.toBean(req.execute().body(), SyncFullDataBo.class);
|
|
|
List<ResourcePersonDept> resourcePersonDeptList = getResourcePersonDeptList(classTraineeDataBo);
|
|
|
|
|
|
- //region 模拟测试数据
|
|
|
- //List<ResourcePerson> resourcePersonList = new ArrayList<>();
|
|
|
- //ResourcePerson person = new ResourcePerson();
|
|
|
- //person.setTenantId(DefaultConstants.TENANT_ID);
|
|
|
- //person.setUserId("1799827959791554562");
|
|
|
- //person.setDeptId("1799803773266235394");
|
|
|
- //person.setPostCode(DefaultConstants.TRAINEE_CODE);
|
|
|
- //person.setRealName("赵开羽");
|
|
|
- //person.setSex("1");
|
|
|
- //person.setPhone("18974390367");
|
|
|
- //person.setIdNumber("XP4aO5yhQyNPUctSqDOU9Syh9KUo/DN8");
|
|
|
- //person.setCategory("2");
|
|
|
- //resourcePersonList.add(person);
|
|
|
+ // region 模拟测试数据
|
|
|
+ // List<ResourcePerson> resourcePersonList = new ArrayList<>();
|
|
|
+ // ResourcePerson person = new ResourcePerson();
|
|
|
+ // person.setTenantId(DefaultConstants.TENANT_ID);
|
|
|
+ // person.setUserId("1799827959791554562");
|
|
|
+ // person.setDeptId("1799803773266235394");
|
|
|
+ // person.setPostCode(DefaultConstants.TRAINEE_CODE);
|
|
|
+ // person.setRealName("赵开羽");
|
|
|
+ // person.setSex("1");
|
|
|
+ // person.setPhone("18974390367");
|
|
|
+ // person.setIdNumber("XP4aO5yhQyNPUctSqDOU9Syh9KUo/DN8");
|
|
|
+ // person.setCategory("2");
|
|
|
+ // resourcePersonList.add(person);
|
|
|
//
|
|
|
- //List<ResourcePersonDept> resourcePersonDeptList = new ArrayList<>();
|
|
|
- //ResourcePersonDept personDept = new ResourcePersonDept();
|
|
|
- //personDept.setUserId("1799827959791554562");
|
|
|
- //personDept.setDeptId("1799803773266235394");
|
|
|
- //personDept.setPostCode(DefaultConstants.TRAINEE_CODE);
|
|
|
- //personDept.setDelFlag("0");
|
|
|
- //resourcePersonDeptList.add(personDept);
|
|
|
+ // List<ResourcePersonDept> resourcePersonDeptList = new ArrayList<>();
|
|
|
+ // ResourcePersonDept personDept = new ResourcePersonDept();
|
|
|
+ // personDept.setUserId("1799827959791554562");
|
|
|
+ // personDept.setDeptId("1799803773266235394");
|
|
|
+ // personDept.setPostCode(DefaultConstants.TRAINEE_CODE);
|
|
|
+ // personDept.setDelFlag("0");
|
|
|
+ // resourcePersonDeptList.add(personDept);
|
|
|
//
|
|
|
- //personDept = new ResourcePersonDept();
|
|
|
- //personDept.setUserId("1799827959791554562");
|
|
|
- //personDept.setDeptId("ffe051b8cf2e45ddb899d596108699d7");
|
|
|
- //personDept.setPostCode(DefaultConstants.TRAINEE_CODE);
|
|
|
- //personDept.setDelFlag("0");
|
|
|
- //resourcePersonDeptList.add(personDept);
|
|
|
- //endregion
|
|
|
+ // personDept = new ResourcePersonDept();
|
|
|
+ // personDept.setUserId("1799827959791554562");
|
|
|
+ // personDept.setDeptId("ffe051b8cf2e45ddb899d596108699d7");
|
|
|
+ // personDept.setPostCode(DefaultConstants.TRAINEE_CODE);
|
|
|
+ // personDept.setDelFlag("0");
|
|
|
+ // resourcePersonDeptList.add(personDept);
|
|
|
+ // endregion
|
|
|
|
|
|
getResourcePeople(resourcePersonDeptList, resourcePersonList);
|
|
|
log.info("[全量获取到的培训学员数据]-[{}]条-[{}]", resourcePersonList.size(), JSONUtil.toJsonStr(traineeDataBo));
|
|
|
@@ -102,7 +122,7 @@ public class SyncTrainService {
|
|
|
syncUserStrategyContent.syncUser(resourcePersonList, SyncResourceConstants.TRAINEE);
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
+ /**
|
|
|
* 设置班级查询参数
|
|
|
*
|
|
|
* @return 查询参数
|
|
|
@@ -455,7 +475,7 @@ public class SyncTrainService {
|
|
|
* @return 班级信息
|
|
|
*/
|
|
|
private ResourceDept convertClassToDept(List<String> list) {
|
|
|
- ResourceDept dept = new ResourceDept();
|
|
|
+ ResourceDept dept = new ResourceDept();
|
|
|
dept.setDept_id(list.get(0));
|
|
|
dept.setDept_name(list.get(1));
|
|
|
dept.setYear(Integer.valueOf(list.get(4)));
|
|
|
@@ -487,13 +507,13 @@ public class SyncTrainService {
|
|
|
List<ResourcePersonDept> resourcePersonDeptList = new ArrayList<>();
|
|
|
for (List<String> personDeptSr : classTraineeDataBo.getResponseParam().getResourceInfos().get(0).getDataInfo()) {
|
|
|
ResourcePersonDept personDept = new ResourcePersonDept();
|
|
|
- //学员Id
|
|
|
+ // 学员Id
|
|
|
personDept.setUserId(personDeptSr.get(1));
|
|
|
- //班级Id
|
|
|
+ // 班级Id
|
|
|
personDept.setDeptId(personDeptSr.get(0));
|
|
|
- //岗位编码,默认为学员
|
|
|
+ // 岗位编码,默认为学员
|
|
|
personDept.setPostCode(DefaultConstants.TRAINEE_CODE);
|
|
|
- //和班级的绑定状态 0-正常 1-已报到一卡通不处理 2-退学 一卡通删除
|
|
|
+ // 和班级的绑定状态 0-正常 1-已报到一卡通不处理 2-退学 一卡通删除
|
|
|
personDept.setDelFlag(personDeptSr.get(2).equals(isCheck) ? "0" : personDeptSr.get(2));
|
|
|
resourcePersonDeptList.add(personDept);
|
|
|
}
|
|
|
@@ -502,6 +522,7 @@ public class SyncTrainService {
|
|
|
|
|
|
/**
|
|
|
* 学员数据预处理
|
|
|
+ *
|
|
|
* @param traineeDataBo 同步到的学员数据
|
|
|
* @return 学员数据
|
|
|
*/
|
|
|
@@ -523,6 +544,7 @@ public class SyncTrainService {
|
|
|
}
|
|
|
return resourcePersonList;
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 学员数据预处理 根据学员及学员班级的绑定关系生成人员的部门岗位
|
|
|
*
|
|
|
@@ -531,15 +553,15 @@ public class SyncTrainService {
|
|
|
*/
|
|
|
private void getResourcePeople(List<ResourcePersonDept> resourcePersonDeptList, List<ResourcePerson> resourcePersonList) {
|
|
|
resourcePersonList.forEach(resourcePerson -> {
|
|
|
- //找出该学员绑定的所有班级
|
|
|
+ // 找出该学员绑定的所有班级
|
|
|
List<ResourcePersonDept> personDeptList = resourcePersonDeptList.stream()
|
|
|
- .filter(p -> p.getUserId().equals(resourcePerson.getUserId()))
|
|
|
- .toList();
|
|
|
- //将绑定班级中的学员当前班级设置成主部门
|
|
|
+ .filter(p -> p.getUserId().equals(resourcePerson.getUserId()))
|
|
|
+ .toList();
|
|
|
+ // 将绑定班级中的学员当前班级设置成主部门
|
|
|
personDeptList.forEach(personDept -> {
|
|
|
if (personDept.getDeptId().equals(resourcePerson.getDeptId())) {
|
|
|
personDept.setMainDept("Y");
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
personDept.setMainDept("N");
|
|
|
}
|
|
|
});
|