워크플로우와 대시보드
워크플로우
processNodes (프로세스 노드)
{
"refId": "pp_hcm_start",
"type": "startEvent",
"label": "구매 프로세스 시작",
"description": "발주 요청 시 자동 시작",
"boundTableRef": "hcm_purchase_orders",
"group": "hcm_purchase_process",
"config": {
"triggerType": "data_trigger",
"triggerEvents": ["on_create"]
}
}
노드 타입
| 타입 | 설명 | config 예시 |
|---|---|---|
startEvent | 프로세스 시작 | { triggerType: "data_trigger", triggerEvents: ["on_create"] } |
endEvent | 프로세스 종료 | 없음 |
humanTask | 사람 작업 (UI) | { assignee: "구매담당자", dataAction: "create", screenMode: "drawer" } |
autoTask | 자동 작업 | { script: "UPDATE ...", notifyOnComplete: true } |
approval | 승인 단계 | { approvers: ["팀장"], approvalType: "순차", timeoutHours: 48 } |
exclusiveGateway | 조건 분기 (XOR) | { conditions: [{ label: "승인", expression: "status === '승인'" }] } |
parallelGateway | 병렬 실행 | 병렬 분기 정의 |
timerEvent | 시간 기반 | { timerType: "date", expression: "delivery_date - 5days" } |
email | 이메일 발송 | { to: "{{partner.email}}", subject: "..." } |
formulaCalc | 자동 계산 | { formula: "quantity * unit_price", outputField: "total_amount" } |
documentGen | 문서 생성 | { templateId: "po_template", outputFormat: "PDF" } |
dataFilter | 데이터 필터 | { filterField: "status", filterValue: "유효" } |
inAppNotification | 인앱 알림 | { template: "{{field}} 변경 알림", recipients: ["담당자"] } |
startEvent 고급 설정 — 데이터 트리거 조건
startEvent에서 data_trigger를 사용할 때, watchFields와 triggerConditions로 세밀한 조건부 트리거를 설정할 수 있습니다.
{
"refId": "scr_start",
"type": "startEvent",
"label": "표준원가 개정 트리거",
"boundTableRef": "std_cost_variances",
"group": "std_cost_revision_process",
"config": {
"triggerType": "data_trigger",
"triggerEnabled": true,
"triggerEvents": ["on_create", "on_update"],
"watchFields": ["variance_rate", "favorability"],
"triggerConditions": [
{ "field": "variance_rate", "operator": "gt", "value": "10" },
{ "field": "favorability", "operator": "eq", "value": "불리" }
]
}
}
| config 필드 | 타입 | 설명 |
|---|---|---|
triggerEnabled | boolean | 트리거 활성화 여부 |
watchFields | string[] | 변경 감시 대상 필드 (이 필드가 변경될 때만 트리거 평가) |
triggerConditions | Condition[] | 조건 배열 (AND 결합 — 모든 조건을 만족해야 트리거) |
triggerConditions 연산자
| 연산자 | 의미 | 예시 |
|---|---|---|
eq | 같음 | { field: "status", operator: "eq", value: "완료" } |
gt | 초과 | { field: "variance_rate", operator: "gt", value: "10" } |
gte | 이상 | { field: "amount", operator: "gte", value: "1000000" } |
lt | 미만 | { field: "stock_qty", operator: "lt", value: "100" } |
lte | 이하 | { field: "defect_rate", operator: "lte", value: "5" } |
changed_to | 변경됨 | { field: "status", operator: "changed_to", value: "확정" } |
changed_from | 변경 전 | { field: "status", operator: "changed_from", value: "작성" } |
inAppNotification 노드
인앱 알림을 발송하는 자동 노드입니다. template에 {{필드명}} 플레이스홀더를 사용할 수 있습니다.
{
"refId": "scr_notify_exceed",
"type": "inAppNotification",
"label": "차이 초과 알림",
"group": "std_cost_revision_process",
"config": {
"template": "[표준원가 차이 초과] 품목 {{item_id}}의 차이율이 {{variance_rate}}%로 기준(10%)을 초과했습니다.",
"recipients": ["원가관리자", "재무팀장"]
}
}
| config 필드 | 타입 | 설명 |
|---|---|---|
template | string | 알림 메시지 템플릿 ({{필드명}} 치환 지원) |
recipients | string[] | 수신 대상 역할 목록 |
flowConnections (프로세스 연결)
{
"sourceRef": "pp_hcm_start",
"targetRef": "pp_hcm_register",
"label": null
}
| 필드 | 타입 | 필수 |
|---|