A1-A7 收口OA统一审批中心与企微基础设施路线
这个提交包含在:
@@ -417,17 +417,23 @@ echo "[8/10] duplicate override audit"
|
||||
RID_OVERRIDE_A="$(create_reimbursement "$EMPLOYEE_TOKEN" "$TMP_DIR/override-reim-a.json")"
|
||||
RID_OVERRIDE_B="$(create_reimbursement "$EMPLOYEE_TOKEN" "$TMP_DIR/override-reim-b.json")"
|
||||
|
||||
OV_FILE="$TMP_DIR/override-$RUN_SUFFIX.pdf"
|
||||
printf '%%PDF-1.4\nMOCK_DUP:%s\n' "$RUN_SUFFIX" > "$OV_FILE"
|
||||
OV_CODE="AUDDUP$RUN_SUFFIX"
|
||||
OV_NUMBER="AUDNO$RUN_SUFFIX"
|
||||
OV_FILE_A="$TMP_DIR/override-a-$RUN_SUFFIX.pdf"
|
||||
OV_FILE_B="$TMP_DIR/override-b-$RUN_SUFFIX.pdf"
|
||||
printf '%%PDF-1.4\nMOCK_DUP_A:%s\n' "$RUN_SUFFIX" > "$OV_FILE_A"
|
||||
printf '%%PDF-1.4\nMOCK_DUP_B:%s\n' "$RUN_SUFFIX" > "$OV_FILE_B"
|
||||
|
||||
upload_status="$(upload_invoice "$EMPLOYEE_TOKEN" "$OV_FILE" "$TMP_DIR/override-upload-a.json")"
|
||||
upload_status="$(upload_invoice "$EMPLOYEE_TOKEN" "$OV_FILE_A" "$TMP_DIR/override-upload-a.json")"
|
||||
assert_status "$upload_status" "200" "upload override invoice A" "$TMP_DIR/override-upload-a.json"
|
||||
IID_OVERRIDE_A="$(jq -er '.data.invoicePoolId' "$TMP_DIR/override-upload-a.json")"
|
||||
patch_invoice "$EMPLOYEE_TOKEN" "$IID_OVERRIDE_A" "{\"totalAmount\":\"188.80\",\"invoiceCode\":\"$OV_CODE\",\"invoiceNumber\":\"$OV_NUMBER\"}" "$TMP_DIR/override-patch-a.json"
|
||||
bind_invoice "$EMPLOYEE_TOKEN" "$IID_OVERRIDE_A" "$RID_OVERRIDE_A" "$TMP_DIR/override-bind-a.json"
|
||||
|
||||
upload_status="$(upload_invoice "$EMPLOYEE_TOKEN" "$OV_FILE" "$TMP_DIR/override-upload-b.json")"
|
||||
upload_status="$(upload_invoice "$EMPLOYEE_TOKEN" "$OV_FILE_B" "$TMP_DIR/override-upload-b.json")"
|
||||
assert_status "$upload_status" "200" "upload override invoice B" "$TMP_DIR/override-upload-b.json"
|
||||
IID_OVERRIDE_B="$(jq -er '.data.invoicePoolId' "$TMP_DIR/override-upload-b.json")"
|
||||
patch_invoice "$EMPLOYEE_TOKEN" "$IID_OVERRIDE_B" "{\"totalAmount\":\"188.80\",\"invoiceCode\":\"$OV_CODE\",\"invoiceNumber\":\"$OV_NUMBER\"}" "$TMP_DIR/override-patch-b.json"
|
||||
|
||||
bind_status="$(api_json_auth POST "$BASE_URL/api/invoice-pool/$IID_OVERRIDE_B/bind" "$EMPLOYEE_TOKEN" "$TMP_DIR/override-bind-b.json" "{\"reimbursementId\":\"$RID_OVERRIDE_B\"}")"
|
||||
assert_status "$bind_status" "409" "bind duplicate before override" "$TMP_DIR/override-bind-b.json"
|
||||
@@ -446,17 +452,17 @@ echo "[9/10] OCR retry audit + VALID_006/VALID_007"
|
||||
NOW_ISO="$(date -u +"%Y-%m-%dT%H:%M:%S.000Z")"
|
||||
OLD_ISO="$(date -u -d "-2 minutes" +"%Y-%m-%dT%H:%M:%S.000Z")"
|
||||
|
||||
INVOICE_FREQ="$(create_invoice_record "$EMPLOYEE_IDENTIFIER" "MOCK_OK:$RUN_SUFFIX" "ocr_failed" "0" "$NOW_ISO")"
|
||||
INVOICE_FREQ="$(create_invoice_record "$EMPLOYEE_IDENTIFIER" "MOCK_OK:FREQ:$RUN_SUFFIX" "ocr_failed" "0" "$NOW_ISO")"
|
||||
retry_freq_status="$(retry_ocr "$EMPLOYEE_TOKEN" "$INVOICE_FREQ" "$TMP_DIR/retry-freq.json")"
|
||||
assert_status "$retry_freq_status" "409" "retry too frequent" "$TMP_DIR/retry-freq.json"
|
||||
assert_error_code "$TMP_DIR/retry-freq.json" "VALID_007" "retry too frequent"
|
||||
|
||||
INVOICE_EXCEEDED="$(create_invoice_record "$EMPLOYEE_IDENTIFIER" "MOCK_OK:$RUN_SUFFIX" "ocr_failed" "3" "$OLD_ISO")"
|
||||
INVOICE_EXCEEDED="$(create_invoice_record "$EMPLOYEE_IDENTIFIER" "MOCK_OK:EXCEEDED:$RUN_SUFFIX" "ocr_failed" "3" "$OLD_ISO")"
|
||||
retry_exceeded_status="$(retry_ocr "$EMPLOYEE_TOKEN" "$INVOICE_EXCEEDED" "$TMP_DIR/retry-exceeded.json")"
|
||||
assert_status "$retry_exceeded_status" "409" "retry attempts exceeded" "$TMP_DIR/retry-exceeded.json"
|
||||
assert_error_code "$TMP_DIR/retry-exceeded.json" "VALID_006" "retry attempts exceeded"
|
||||
|
||||
INVOICE_RETRY_OK="$(create_invoice_record "$EMPLOYEE_IDENTIFIER" "MOCK_OK:$RUN_SUFFIX" "ocr_failed" "1" "$OLD_ISO")"
|
||||
INVOICE_RETRY_OK="$(create_invoice_record "$EMPLOYEE_IDENTIFIER" "MOCK_OK:RETRY:$RUN_SUFFIX" "ocr_failed" "1" "$OLD_ISO")"
|
||||
retry_ok_status="$(retry_ocr "$EMPLOYEE_TOKEN" "$INVOICE_RETRY_OK" "$TMP_DIR/retry-ok.json")"
|
||||
assert_status "$retry_ok_status" "200" "retry ok" "$TMP_DIR/retry-ok.json"
|
||||
assert_jq "$TMP_DIR/retry-ok.json" '.data.status == "pending_ocr"' "retry ok status"
|
||||
|
||||
在新工单中引用
屏蔽一个用户