Мониторинг: логи создания заявок, отправки на согласование и решений согласующих
Tests / frontend-test (pull_request) Successful in 4m39s
Tests / frontend-test (pull_request) Successful in 4m39s
saveRequestItem — «Создана заявка» (тип, id, код); writeRoute/writeApprovers — «Заявка отправлена на согласование» (статус, число согласующих и исполнителей); ApproverService.decide — «Заявка согласована / возвращена / отклонена / выполнена исполнителем» (новый статус, строка маршрута, комментарий до 500 символов). Пользователь — из токена мониторинга. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import { log } from '@tnsu/monitoring-web';
|
||||
import { getSP } from '../pnp/pnpjs';
|
||||
import '@pnp/sp/webs';
|
||||
import '@pnp/sp/lists';
|
||||
@@ -25,6 +26,14 @@ export interface IPendingRow extends IApprovalRow {
|
||||
isDelegator: boolean;
|
||||
}
|
||||
|
||||
// Решение → текст события в логах мониторинга.
|
||||
const DECISION_MESSAGE: Record<ApproverDecision, string> = {
|
||||
approve: 'Заявка согласована',
|
||||
return: 'Заявка возвращена на доработку',
|
||||
reject: 'Заявка отклонена',
|
||||
execute: 'Заявка выполнена исполнителем',
|
||||
};
|
||||
|
||||
// Решение → статус его строки в списке согласования.
|
||||
const ROW_STATUS: Record<ApproverDecision, string> = {
|
||||
approve: REQUEST_STATUS.approved,
|
||||
@@ -336,6 +345,14 @@ export class ApproverService {
|
||||
const rows = await this.approval.getForRequest(requestId);
|
||||
const requestStatus = this.computeRequestStatus(rows);
|
||||
await this.updateRequestStatus(requestId, requestStatus);
|
||||
log.info(DECISION_MESSAGE[decision], {
|
||||
'request.id': requestId,
|
||||
'request.list': this.dataListRef,
|
||||
'request.status': requestStatus,
|
||||
'approval.decision': decision,
|
||||
'approval.rowId': rowId,
|
||||
'approval.comment': comment.slice(0, 500),
|
||||
});
|
||||
emitRequestsChanged();
|
||||
return requestStatus;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user