feat(server): P5 基础能力补齐(组织/报销/代办/认证安全)

- 组织/人员/委派对齐:费用类型、部门、员工别名、配置只读与回归脚本(F2/F3/F26/F27/F29/F31/F40)

- 报销单 PATCH/DELETE 与 items CRUD(事务内重算 total_amount)(F4/F5)

- 行政代提交/代上传后端校验与审计(F7/F8)

- 认证安全基线:首次登录改密、失败锁定、弱密码拦截与回归脚本(F36/F37/F39/F41)
这个提交包含在:
2026-02-09 16:20:31 +08:00
父节点 a8080b05f8
当前提交 f755ff0dda
共修改 27 个文件,包含 3572 行新增和 97 行删除
+27 -7
查看文件
@@ -4,34 +4,54 @@ set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
RUN_AUDIT_REGRESSION="${RUN_AUDIT_REGRESSION:-1}"
RUN_OCR_REGRESSION="${RUN_OCR_REGRESSION:-1}"
RUN_ORG_SETTINGS_REGRESSION="${RUN_ORG_SETTINGS_REGRESSION:-0}"
RUN_AUTH_SECURITY_REGRESSION="${RUN_AUTH_SECURITY_REGRESSION:-0}"
echo "=== [1/5] Smoke Test ==="
echo "=== [1/7] Smoke Test ==="
"$SCRIPT_DIR/smoke-test.sh"
echo ""
echo "=== [2/5] Dedup Regression ==="
echo "=== [2/7] Dedup Regression ==="
"$SCRIPT_DIR/regression-dedup.sh"
echo ""
echo "=== [3/5] Workflow Actions Regression ==="
echo "=== [3/7] Workflow Actions Regression ==="
"$SCRIPT_DIR/regression-workflow-actions.sh"
echo ""
if [[ "$RUN_AUDIT_REGRESSION" == "1" ]]; then
echo "=== [4/5] Audit Regression ==="
echo "=== [4/7] Audit Regression ==="
"$SCRIPT_DIR/regression-audit.sh"
echo ""
else
echo "=== [4/5] Audit Regression (skipped, RUN_AUDIT_REGRESSION=$RUN_AUDIT_REGRESSION) ==="
echo "=== [4/7] Audit Regression (skipped, RUN_AUDIT_REGRESSION=$RUN_AUDIT_REGRESSION) ==="
echo ""
fi
if [[ "$RUN_OCR_REGRESSION" == "1" ]]; then
echo "=== [5/5] OCR Regression ==="
echo "=== [5/7] OCR Regression ==="
"$SCRIPT_DIR/regression-ocr.sh"
echo ""
else
echo "=== [5/5] OCR Regression (skipped, RUN_OCR_REGRESSION=$RUN_OCR_REGRESSION) ==="
echo "=== [5/7] OCR Regression (skipped, RUN_OCR_REGRESSION=$RUN_OCR_REGRESSION) ==="
echo ""
fi
if [[ "$RUN_ORG_SETTINGS_REGRESSION" == "1" ]]; then
echo "=== [6/7] Org + Settings Regression ==="
"$SCRIPT_DIR/regression-org-settings.sh"
echo ""
else
echo "=== [6/7] Org + Settings Regression (skipped, RUN_ORG_SETTINGS_REGRESSION=$RUN_ORG_SETTINGS_REGRESSION) ==="
echo ""
fi
if [[ "$RUN_AUTH_SECURITY_REGRESSION" == "1" ]]; then
echo "=== [7/7] Auth Security Regression ==="
"$SCRIPT_DIR/regression-auth-security.sh"
echo ""
else
echo "=== [7/7] Auth Security Regression (skipped, RUN_AUTH_SECURITY_REGRESSION=$RUN_AUTH_SECURITY_REGRESSION) ==="
echo ""
fi