| | |
| | | @Autowired |
| | | private UmsAdminRoleRelationService umsAdminRoleRelationService; |
| | | |
| | | // @Scheduled(cron = "0 0 00 * * ?") |
| | | //@Scheduled(cron = "0 0 00 * * ?") |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void run() { |
| | | log.info("开始同步任务"); |
| | | //获取全部部门code |
| | | JSONObject topObj = dingCommon.getBookAuthority(); |
| | | //顶级部门id |
| | | log.info("部门code------------>{}",topObj.toJSONString()); |
| | | JSONArray deptTopArr = topObj.getJSONArray("deptVisibleScopes"); |
| | | List<UmsDepart> dingOrgList = dingCommon.getOrgInfo(deptTopArr); |
| | | |
| | | //查询数据库中的部门 |
| | | List<UmsDepart> dataOrgList = umsDepartService.list(); |
| | | Iterator<UmsDepart> removeIterOrg = dingOrgList.iterator(); |
| | | while (removeIterOrg.hasNext()) { |
| | | UmsDepart dingOrg = removeIterOrg.next(); |
| | | if (dingOrg.getCode().equals(deptTopArr.getString(0))) { |
| | | dingOrg.setParentId(0L); |
| | | } |
| | | //判断 |
| | | for (UmsDepart org : dataOrgList) { |
| | | if (ObjectUtil.equals(org.getId(), dingOrg.getId()) && ObjectUtil.equals(org.getDepartName(), dingOrg.getDepartName()) && ObjectUtil.equals(org.getParentId(), dingOrg.getParentId())) { |
| | | removeIterOrg.remove(); |
| | | if(CollectionUtils.isNotEmpty(dingOrgList)) { |
| | | Iterator<UmsDepart> removeIterOrg = dingOrgList.iterator(); |
| | | while (removeIterOrg.hasNext()) { |
| | | UmsDepart dingOrg = removeIterOrg.next(); |
| | | if (dingOrg.getCode().equals(deptTopArr.getString(0))) { |
| | | dingOrg.setParentId(0L); |
| | | } |
| | | //判断 |
| | | for (UmsDepart org : dataOrgList) { |
| | | if (ObjectUtil.equals(org.getId(), dingOrg.getId()) && ObjectUtil.equals(org.getDepartName(), dingOrg.getDepartName()) && ObjectUtil.equals(org.getParentId(), dingOrg.getParentId())) { |
| | | removeIterOrg.remove(); |
| | | } |
| | | } |
| | | } |
| | | //此时 dingOrgList 中剩下的就是新的组织机构了。 |
| | | dingOrgList.forEach(dingOrg -> { |
| | | if (dingOrg.getCode().equals(deptTopArr.getString(0))) { |
| | | dingOrg.setParentId(0L); |
| | | } |
| | | //umsDepartService.fillPids(dingOrg); |
| | | dingOrg.setStatus((short) 1); |
| | | umsDepartService.saveOrUpdate(dingOrg); |
| | | }); |
| | | } |
| | | //此时 dingOrgList 中剩下的就是新的组织机构了。 |
| | | dingOrgList.forEach(dingOrg -> { |
| | | if (dingOrg.getCode().equals(deptTopArr.getString(0))) { |
| | | dingOrg.setParentId(0L); |
| | | } |
| | | //umsDepartService.fillPids(dingOrg); |
| | | dingOrg.setStatus((short) 1); |
| | | umsDepartService.saveOrUpdate(dingOrg); |
| | | }); |
| | | |
| | | // log.info(TAG + "update organization size " + dingOrgList.size()); |
| | | TimeInterval timer = DateUtil.timer(); |
| | | /** |
| | |
| | | if (CollUtil.isNotEmpty(relations)) { |
| | | umsAdminRoleRelationService.saveBatch(relations, IService.DEFAULT_BATCH_SIZE); |
| | | } |
| | | log.info("同步任务结束"); |
| | | // log.info(TAG + "update user size " + dingList.size()); |
| | | // getEmployeeAvatar(); |
| | | } |