Commit 4e3d2fc9 by xuwenhao

11.8修改同步钉钉数据

parent 08487965
......@@ -219,94 +219,99 @@ public class DdDeptServcieImpl implements IDdDeptService {
@Override
@Transactional
public String syncDdDept() {
//获取钉钉所有部门列表
List<OapiV2DepartmentListsubResponse.DeptBaseResponse> ddDeptList = getDeptList();
//存放钉钉部门不存在系统库集合
List<OapiV2DepartmentListsubResponse.DeptBaseResponse> ddDeptList1 = new ArrayList<>();
ddDeptList1.addAll(ddDeptList);
//获取系统所有部门列表
List<SysDdDept> deptList = ddDeptMapper.selectDdDeptList(new SysDdDept());
//存放钉钉删除了的部门集合
List<SysDdDept> deptList1 = new ArrayList<>();
deptList1.addAll(deptList);
if (deptList.size() <= 0){
addDdDept();
}else{
//获取钉钉所有部门列表
List<OapiV2DepartmentListsubResponse.DeptBaseResponse> ddDeptList = getDeptList();
//存放钉钉部门不存在系统库集合
List<OapiV2DepartmentListsubResponse.DeptBaseResponse> ddDeptList1 = new ArrayList<>();
ddDeptList1.addAll(ddDeptList);
//判断钉钉部门列表是否都在系统部门列表中
for (OapiV2DepartmentListsubResponse.DeptBaseResponse ddDept : ddDeptList) {
for (SysDdDept dept : deptList) {
if (ddDept.getDeptId().equals(dept.getDdDeptId())){
//存在,从集合中去除
ddDeptList1.remove(ddDept);
//存放钉钉删除了的部门集合
List<SysDdDept> deptList1 = new ArrayList<>();
deptList1.addAll(deptList);
//判断钉钉部门列表是否都在系统部门列表中
for (OapiV2DepartmentListsubResponse.DeptBaseResponse ddDept : ddDeptList) {
for (SysDdDept dept : deptList) {
if (ddDept.getDeptId().equals(dept.getDdDeptId())){
//存在,从集合中去除
ddDeptList1.remove(ddDept);
}
}
}
}
//新增不存在系统库的部门
if(ddDeptList1.size() > 0){
for (OapiV2DepartmentListsubResponse.DeptBaseResponse ddDept : ddDeptList1) {
//钉钉父部门id
Long ddParentId = ddDept.getParentId();
//查询父部门信息
SysDdDept ddDept1 = ddDeptMapper.selectDeptByDdDeptId(ddParentId);
//新增
SysDdDept sysDdDept = new SysDdDept();
sysDdDept.setParentId(ddDept1.getDeptId());
sysDdDept.setAncestors(ddDept1.getAncestors() + ddDept1.getDeptId());
sysDdDept.setDeptName(ddDept.getName());
sysDdDept.setOrderNum(ddDept.getDeptId());
sysDdDept.setDdDeptId(ddDept.getDeptId());
sysDdDept.setDdParentId(ddParentId);
sysDdDept.setCreateBy("钉钉管理员");
ddDeptMapper.insertDdDept(sysDdDept);
//新增不存在系统库的部门
if(ddDeptList1.size() > 0){
for (OapiV2DepartmentListsubResponse.DeptBaseResponse ddDept : ddDeptList1) {
//钉钉父部门id
Long ddParentId = ddDept.getParentId();
//查询父部门信息
SysDdDept ddDept1 = ddDeptMapper.selectDeptByDdDeptId(ddParentId);
//新增
SysDdDept sysDdDept = new SysDdDept();
sysDdDept.setParentId(ddDept1.getDeptId());
sysDdDept.setAncestors(ddDept1.getAncestors() + ddDept1.getDeptId());
sysDdDept.setDeptName(ddDept.getName());
sysDdDept.setOrderNum(ddDept.getDeptId());
sysDdDept.setDdDeptId(ddDept.getDeptId());
sysDdDept.setDdParentId(ddParentId);
sysDdDept.setCreateBy("钉钉管理员");
ddDeptMapper.insertDdDept(sysDdDept);
}
}
}
//判断钉钉中删除的部门是否还存在系统部门中
for (SysDdDept dept : deptList) {
for (OapiV2DepartmentListsubResponse.DeptBaseResponse ddDept : ddDeptList) {
if (ddDept.getDeptId().equals(dept.getDdDeptId())){
deptList1.remove(dept);
//判断钉钉中删除的部门是否还存在系统部门中
for (SysDdDept dept : deptList) {
for (OapiV2DepartmentListsubResponse.DeptBaseResponse ddDept : ddDeptList) {
if (ddDept.getDeptId().equals(dept.getDdDeptId())){
deptList1.remove(dept);
}
}
}
}
//删除系统部门中存在的钉钉已删除的部门
if (deptList1.size() > 0){
for (SysDdDept dept : deptList1) {
if (dept.getDeptId() != 100){
ddDeptMapper.deleteDdDeptById(dept.getDeptId());
//删除系统部门中存在的钉钉已删除的部门
if (deptList1.size() > 0){
for (SysDdDept dept : deptList1) {
if (dept.getDeptId() != 100){
ddDeptMapper.deleteDdDeptById(dept.getDeptId());
}
}
}
}
//更新系统部门信息
//获取部门详情
OapiV2DepartmentGetResponse.DeptGetResponse djDept = dingDeptUtils.getDept(1L, "");
//修改顶级目录
SysDdDept dept = new SysDdDept();
dept.setDdDeptId(djDept.getDeptId());
dept.setDeptName(djDept.getName());
dept.setUpdateBy("钉钉管理员");
ddDeptMapper.updateDdDeptByDdDeptId(dept);
for (OapiV2DepartmentListsubResponse.DeptBaseResponse ddDept : ddDeptList) {
for (SysDdDept sysDdDept : deptList) {
if (ddDept.getDeptId().equals(sysDdDept.getDdDeptId())){
//判断父部门是否发生改变
if (!(ddDept.getParentId().equals(sysDdDept.getDdParentId()))){
//钉钉父部门id
Long ddParentId = ddDept.getParentId();
//查询父部门信息
SysDdDept ddParentDept = ddDeptMapper.selectDeptByDdDeptId(ddParentId);
sysDdDept.setParentId(ddParentDept.getDeptId());
sysDdDept.setAncestors(ddParentDept.getAncestors() + "," + ddParentDept.getDeptId());
sysDdDept.setDdParentId(ddDept.getParentId());
sysDdDept.setUpdateBy("钉钉管理员");
ddDeptMapper.updateDdDeptByDdDeptId(sysDdDept);
}
//判断部门基本信息是否发生改变
if(!(ddDept.getName().equals(sysDdDept.getDeptName()))){
sysDdDept.setDeptName(ddDept.getName());
sysDdDept.setUpdateBy("钉钉管理员");
ddDeptMapper.updateDdDeptByDdDeptId(sysDdDept);
//更新系统部门信息
//获取部门详情
OapiV2DepartmentGetResponse.DeptGetResponse djDept = dingDeptUtils.getDept(1L, "");
//修改顶级目录
SysDdDept dept = new SysDdDept();
dept.setDdDeptId(djDept.getDeptId());
dept.setDeptName(djDept.getName());
dept.setUpdateBy("钉钉管理员");
ddDeptMapper.updateDdDeptByDdDeptId(dept);
for (OapiV2DepartmentListsubResponse.DeptBaseResponse ddDept : ddDeptList) {
for (SysDdDept sysDdDept : deptList) {
if (ddDept.getDeptId().equals(sysDdDept.getDdDeptId())){
//判断父部门是否发生改变
if (!(ddDept.getParentId().equals(sysDdDept.getDdParentId()))){
//钉钉父部门id
Long ddParentId = ddDept.getParentId();
//查询父部门信息
SysDdDept ddParentDept = ddDeptMapper.selectDeptByDdDeptId(ddParentId);
sysDdDept.setParentId(ddParentDept.getDeptId());
sysDdDept.setAncestors(ddParentDept.getAncestors() + "," + ddParentDept.getDeptId());
sysDdDept.setDdParentId(ddDept.getParentId());
sysDdDept.setUpdateBy("钉钉管理员");
ddDeptMapper.updateDdDeptByDdDeptId(sysDdDept);
}
//判断部门基本信息是否发生改变
if(!(ddDept.getName().equals(sysDdDept.getDeptName()))){
sysDdDept.setDeptName(ddDept.getName());
sysDdDept.setUpdateBy("钉钉管理员");
ddDeptMapper.updateDdDeptByDdDeptId(sysDdDept);
}
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment