organizationSynchronize.do
호출
createSyncData 실행 : 동기화용 데이터 생성
synchronize 실행 : 동기화 데이터 변경
organizationSynchronize.do
admin/orgmanage/organizationsynchronize.do
createSyncData() : 동기화 데이터 생성 처리 후 성공 처리 시 synchronize : 동기화 () 실행
syncTempObject() : 임시 테이블 생성
syncCompareObject() : 비교 테이블 생성
처리 값에 따라 상태 처리값 반환
Mapper : organization_syncmanage.xml
테이블 : temp_object_group
테이블 : temp_object_group
테이블 : temp_object_addjob
요약 : ngw_eai.v_org* 패턴의 view 테이블 데이터를 covi_syncdata 스키마의 temp 테이블로 적재
ngw_eai.v_org* 은 삭제 데이터를 담지 않기 떄문에 temp 테이블도 당연히 없다.
전일 데이터 초기화
임시 부서 테이블 생성(temp_object_group)
임시 사용자 테이블 생성(temp_object_user)
임시 겸직 테이블 생성(temp_object_addjob)
syncCompareObject()
는 TEMP vs SYS 데이터를 JOIN 후 INSERT/UPDATE/DELETE 건을 분류하여 COMPARE 테이블에 적재하는 프로세스addjob
)의 경우는 UPDATE 대신 DELETE 후 INSERT 방식을 사용compare_object_*(Trucate) 테이블 비우기
compare_object_group(INSERT/UPDATE/DELETE) 생성
compare_object_user(INSERT/UPDATE/DELETE) 생성
compare_object_addjob(INSERT/UPDATE/DELETE) 생성
변경 주석: 겸직은 신규 발생 시 기존 데이터 삭제 후 신규 등록으로 처리함 업데이트 할 필요가 없음
플래그 | 채널/대상 | 실행 조건 | sync 내부 호출 | 처리 내용 | 구현 상태 | 비고 |
---|---|---|---|---|---|---|
IsSyncDB | DB | Y | 있음 | compare 결과를 SYS에 반영 | 사용 중 | |
IsSyncTimeSquare | TimeSquare | Y | 있음 | 외부 API 전송 시도 | 미구현(응답 없음) | http://192.168.11.112:8067/api/v3/sync/external |
IsSyncApproval | 전자결재 | Y | 없음 | 분기만 존재 | 미구현 | |
IsSyncIndi | 인디 | Y | 없음 | 분기만 존재 | 미구현 | |
IsSyncAD | AD | Y | 없음 | 분기만 존재 | 미구현 | |
IsSyncMail | 메일 | Y | 없음 | 분기만 존재 | 미구현 | |
IsSyncMessenger | 메신저 | Y | 없음 | 분기만 존재 | 미구현 |
플래그 | 엔터티 | 호출 함수 | 동작 |
---|---|---|---|
IsDBDeptSync | DEPT | syncGroup("IsSyncDB","DEPT",op) | insert / update / delete |
IsDBJobTitleSync | JOBTITLE | syncGroup("IsSyncDB","JOBTITLE",op) | insert / update / delete |
IsDBJobPositionSync | JOBPOSITION | syncGroup("IsSyncDB","JOBPOSITION",op) | insert / update / delete |
IsDBJobLevelSync | JOBLEVEL | syncGroup("IsSyncDB","JOBLEVEL",op) | insert / update / delete |
IsDBUserSync | USER | syncUser("IsSyncDB",op) | insert / update / delete |
IsDBAddJobSync | ADDJOB | syncAddjob("IsSyncDB",op) | insert / update / delete |
스키마 | 테이블명 | 설명 | 비고 |
---|---|---|---|
ngw_eai | v_erp_emp | EAI 인사 뷰 | |
ngw_eai | v_erp_dept | EAI 부서 뷰 | |
ngw_eai | v_erp_ctsinfo | EAI 사용자/겸직 뷰 | |
ngw_eai | v_erp_commcode | EAI 공통 코드 뷰 | 직책/직위/직급 구분 |
기본적으로 사용가능한 데이터 삭제 플래그가 없는 데이터만 가져옴
삭제 처리된 데이터를 업데이트하는게 아니라 , (신규,변경) 이 아닌 대상을 골라 업데이트하는 방식으로 처리
스키마 | 테이블명 | 설명 | 비고 |
---|---|---|---|
covi_syncdata | v_orgdept | EAI VIEW 부서 → GW 변환뷰 | CompanyCode=1000 → Root 등 규칙 적용 |
covi_syncdata | v_orgperson | EAI VIEW 사용자 → GW 변환뷰 | |
covi_syncdata | v_orgaddjob | EAI VIEW 겸직 → GW 변환뷰 | |
covi_syncdata | v_orgjobtitle | EAI VIEW 직책 → GW 변환뷰 | CODE_ID=011 |
covi_syncdata | v_orgjobposition | EAI VIEW 직위 → GW 변환뷰 | CODE_ID=007 |
covi_syncdata | v_orgjoblevel | EAI VIEW 직급 → GW 변환뷰 | CODE_ID=001 |
ngw_eai 의 view 테이블 에서 covi_syncdata 실제 테이블 데이터 생성
스키마 | 테이블명 | 설명 | 비고 |
---|---|---|---|
covi_syncdata | temp_object_group | 부서/직책/직위/직급 임시 | |
covi_syncdata | temp_object_user | 사용자 임시 | |
covi_syncdata | temp_object_addjob | 겸직 임시 |
temp 테이블과 sys 테이블 비교해서 유무 비교를 통해 신규 , 변경 , 삭제 로 구분하여 해당 테이블을 추가
스키마 | 테이블명 | 설명 | 비고 |
---|---|---|---|
covi_syncdata | compare_object_group | 그룹 비교 데이터 | |
covi_syncdata | compare_object_user | 사용자 비교 데이터 | |
covi_syncdata | compare_object_addjob | 겸직 비교 데이터 |
스키마 | 테이블명 | 설명 | 비고 |
---|---|---|---|
covi_smart4j | sys_object | sys 테이블 기준 정보 테이블 | |
covi_smart4j | sys_object_group | 최종 그룹 | |
covi_smart4j | sys_object_user | 최종 사용자 | |
covi_smart4j | sys_object_user_info | 사용자 부가 정보 | |
covi_smart4j | sys_object_user_basegroup | 사용자-그룹 매핑 | |
covi_smart4j | sys_object_group_member | 그룹-구성원 매핑 | |
covi_smart4j | sys_object_user_approval | 사용자 결재 정보 |
covi_syncdata
)스키마 | 테이블명 | 설명 | 비고 |
---|---|---|---|
covi_syncdata | log_object_group | 그룹 동기화 로그 | |
covi_syncdata | log_object_user | 사용자 동기화 로그 | |
covi_syncdata | log_object_addjob | 겸직 동기화 로그 | |
covi_syncdata | log_object_list | 로그 마스터 | |
covi_syncdata | log_object_list_log | 로그 상세 | |
covi_syncdata | log_object_list_bak | 미사용 | 백업용 |