반응형
Implementing Approve Quote

Configuring the Human Task

ArroveDeal.task 파일을 열어 수정합니다.



Data 탭으로 이동합니다.

파라미터를 추가합니다. (other parameter)



Element 선택 후 찾기(돋보기) 버튼 클릭.



Quote.xsd - ApprovalFlow 선택.



OK 버튼 클릭.



quote.xsd - ApproveTaskInfo 도 같은 방법으로 추가해 줍니다.


General 탭으로 이동합니다.

Task Title 의 콤보를 Text and Xpath 으로 변경 후 XPath builder 버튼을 클릭합니다.



아래와 같이 입력합니다. (Schema 에서 찾아서 Insert 하는게 편함. ㅋㅋ)



앞에 "Approve Deal for " 를 붙여 줍니다.



Owner 콤보를 User 로 선택 후 찾기(돋보기) 버튼을 클릭합니다.



jstein 유저를 찾아서 선택합니다.



jstein 유저 확인. (직접 입력 해도 됨.)



Assignment 탭으로 이동합니다.

Stage1 부분을 더블 클릭 합니다.



Stage Name: Tier3



default.DefaultPerformer 더블 클릭.



Type: Serial
Label: SalesManagement



Build a list of particlpants using: Management Chain

Value-based 선택 후 유저(User) 추가.



데이터 타입(Data Type)을 수식(By Expression)으로 변경합니다.



... 버튼 클릭.



Identity Service Functions 에 있는 getManager() 함수를 이용하여 아래 조건식은 만듭니다.



Number of Levels: XPath

오른쪽에 XPath Builder 버튼을 클릭합니다.



아래와 같이 입력합니다.



완성된 Participant 수정 화면 입니다.

OK 버튼을 클릭합니다.



다시 Assignment 탭 화면 입니다.

Tier3(Stage)를 선택 하고, Sequential stage 를 추가합니다.



Tier3 아래에 stage 가 생성됩니다.

이름(Name)을 Tier2 로 변경 후 <Edit Participant> 부분을 더블 클릭 합니다.



아래와 같이 설정합니다.

유저의 수식은 /task:task/task:payload/ns0:ApprovalFlow/ns0:Tier2Approvers 입니다.



한번더 Tier2 아래에 스테이지를 추가합니다.



추가한 스테이지의 이름을 Tier1 으로 변경하고 <Edit Paricipant> 더블 클릭.



아래와 같이 설정 합니다.

Name 오른쪽의 찾기 버튼을 클릭합니다.



Tier1ApprovalGroup 를 선택합니다.

※ 만약 여기서 Tier1ApprovalGroup 이 보이지 않느다면 그냥 수동으로 입력합니다.



OK 버튼을 클릭합니다.



Adding a data assignment

BPM Project Navigator 에서 QuoteProcessLab 를 편집합니다.

Approve Deal 액티브티를 더블 클릭하여 수정 합니다.



Implementation 탭에서 Edit Data Associations 버튼을 클릭합니다.



approvalFlow 데이터를 Input 쪽에 넣어줍니다.



Deploy the application

모두 저장 후 배치(Deploy) 합니다.



Running

Creating the approval group

Tier1ApprovalGroup 이 존재하는지 확인해봅시다.

BPM Workspace 에 접속합니다. (weblogic 관리자 계정으로 로그인)

Administration - Approval Groups 로 이동합니다.

Tier1ApprovalGroup 그룹이 없으면 만들고 그룹에 속한 유저로 cdoyle 를 등록해줍니다.

※ 전 그룹이 이미 만들어져 있었습니다. -_-;




Hierarchy of users

아래 그림은 테스트할 유저들의 조직도입니다. 이 조직도를 잘 봐야 합니다.



Instantiate a new process

jcooper 계정으로 bpm workspace 에 로그인하여 주문의 만듭니다.

이때 주문자를 wshake 계정으로 합니다.


비지니스 룰(Business Rule)에 따라 결제가 어떻게 달라지는지 테스트 해보겠습니다.

아래 그림의 3가지 조건을 테스트 해보겠습니다.



R1 조건

아래 그림 흐름을 보면 이해가 될 것입니다. (안돼면......)

Approval Deal 에서 NumOfTeir3Levels 값에 의해서 주문자(wshake) 보다 한단계(0) 위에 있는 사람(rsteven)까지 결제를 하게 됩니다.




R2 조건

discount가 0.4 가 되서 NumOfTier3Levels 가 1이 됩니다.

그럼 Approve Deal 의 Tier3에서는 2단계 위의 사람(rsteven, jsteion)까지 결제를 하게 됩니다.




R5 조건

비지니스룰의 결과에 따라 NumberOfTier3Levels 가 2가 되고, Tier2 단계의 결제자가 2명이 되었습니다.



주문자(wshake)를 기준으로 NumOfTier3Levels 값에 따른 결제자의 목록입니다.







반응형
//