From e8bb32b609e71f0ddcff1cf4a0500893fcdb7015 Mon Sep 17 00:00:00 2001 From: leejinho Date: Thu, 5 Mar 2020 16:13:11 +0900 Subject: [PATCH] store bugfix --- .../src/app/store/messenger/query/actions.ts | 6 -- .../src/app/store/messenger/query/effects.ts | 72 +++++-------------- .../src/app/store/messenger/query/state.ts | 2 +- 3 files changed, 18 insertions(+), 62 deletions(-) diff --git a/projects/ucap-webmessenger-app/src/app/store/messenger/query/actions.ts b/projects/ucap-webmessenger-app/src/app/store/messenger/query/actions.ts index 684cbbe0..e9e52ab3 100644 --- a/projects/ucap-webmessenger-app/src/app/store/messenger/query/actions.ts +++ b/projects/ucap-webmessenger-app/src/app/store/messenger/query/actions.ts @@ -69,12 +69,6 @@ export const deptUserFailure = createAction( props<{ error: any }>() ); -/** 내 부서 조회 */ -export const selectedMyDept = createAction( - '[Messenger::Query] selected Department on tree', - props() -); - export const myDeptUser = createAction( '[Messenger::Query] My Dept User', props() diff --git a/projects/ucap-webmessenger-app/src/app/store/messenger/query/effects.ts b/projects/ucap-webmessenger-app/src/app/store/messenger/query/effects.ts index 05e9410e..70a42762 100644 --- a/projects/ucap-webmessenger-app/src/app/store/messenger/query/effects.ts +++ b/projects/ucap-webmessenger-app/src/app/store/messenger/query/effects.ts @@ -26,7 +26,6 @@ import { selectedDept, deptUserFailure, selectedDeptSuccess, - selectedMyDept, searchDeptUser, searchDeptUserSuccess, cancelSearchDeptUser @@ -104,9 +103,10 @@ export class Effects { ) ), switchMap(([req, loginResInfo]) => { + const isMyDept = req.seq === loginResInfo.departmentCode; return this.organizationService .getDeptUser({ - divCd: 'ORG', + divCd: 'ORG' + (isMyDept ? '_MY' : ''), companyCode: loginResInfo.companyCode, seq: req.seq, search: '', @@ -124,16 +124,24 @@ export class Effects { }) ); - // 검색 결과에 따른 프레즌스 조회. - const userSeqList: number[] = []; - userInfos.map(user => userSeqList.push(user.seq)); - if (userSeqList.length > 0) { + if (!!isMyDept) { this.store.dispatch( - StatusStore.bulkInfo({ - divCd: 'orgtrSrch', - userSeqs: userSeqList + myDeptUserSuccess({ + userInfos }) ); + } else { + // 검색 결과에 따른 프레즌스 조회. + const userSeqList: number[] = []; + userInfos.map(user => userSeqList.push(user.seq)); + if (userSeqList.length > 0) { + this.store.dispatch( + StatusStore.bulkInfo({ + divCd: 'orgtrSrch', + userSeqs: userSeqList + }) + ); + } } this.store.dispatch(selectedDeptSuccess({})); @@ -145,53 +153,7 @@ export class Effects { }, { dispatch: false } ); - selectedMyDept$ = createEffect( - () => { - return this.actions$.pipe( - ofType(selectedMyDept), - withLatestFrom( - this.store.pipe( - select( - (state: any) => - state.account.authentication.loginRes as LoginResponse - ) - ) - ), - switchMap(([req, loginResInfo]) => { - return this.organizationService - .getDeptUser({ - divCd: 'ORG_MY', - companyCode: loginResInfo.companyCode, - seq: req.seq, - search: '', - searchRange: DeptSearchType.All, - senderCompanyCode: loginResInfo.companyCode, - senderEmployeeType: loginResInfo.userInfo.employeeType - }) - .pipe( - map(datas => { - const userInfos: UserInfoSS[] = datas.userInfos; - this.store.dispatch( - deptUserSuccess({ - userInfos - }) - ); - this.store.dispatch( - myDeptUserSuccess({ - userInfos - }) - ); - - this.store.dispatch(selectedDeptSuccess({})); - }), - catchError(error => of(myDeptUserFailure({ error }))) - ); - }) - ); - }, - { dispatch: false } - ); searchDeptUser$ = createEffect( () => { return this.actions$.pipe( diff --git a/projects/ucap-webmessenger-app/src/app/store/messenger/query/state.ts b/projects/ucap-webmessenger-app/src/app/store/messenger/query/state.ts index 22630648..1b330972 100644 --- a/projects/ucap-webmessenger-app/src/app/store/messenger/query/state.ts +++ b/projects/ucap-webmessenger-app/src/app/store/messenger/query/state.ts @@ -57,7 +57,7 @@ export function selectors(selector: Selector) { ), departmentUserInfoList: createSelector( selector, - (state: State) => state.myDepartmentUserInfoList + (state: State) => state.departmentUserInfoList ), myDepartmentUserInfoList: createSelector( selector,