瀏覽代碼

fix: 规则/额度 tenant_id + 详情 enterprise_id 推导

alphah 2 周之前
父節點
當前提交
10c873fdcc

+ 7 - 1
backend/app/plugin/module_payment/expense/institution/controller.py

@@ -203,7 +203,13 @@ async def detail_institution_controller(
 ) -> JSONResponse:
     """查询费控制度详情"""
     if not enterprise_id:
-        return SuccessResponse(data=None, msg="企业ID不能为空")
+        from app.plugin.module_payment.enterprise.model import EnterpriseModel
+        from sqlalchemy import select
+        tenant_id = auth.user.tenant_id if auth.user and auth.user.tenant_id else auth.tenant_id
+        stmt = select(EnterpriseModel).where(EnterpriseModel.tenant_id == tenant_id).limit(1)
+        result = await auth.db.execute(stmt)
+        ent = result.scalar_one_or_none()
+        enterprise_id = ent.enterprise_id if ent else ""
 
     result = await InstitutionService.detailinfo_query_service(
         auth=auth,

+ 4 - 0
backend/app/plugin/module_payment/expense/institution/service.py

@@ -215,6 +215,7 @@ class InstitutionService:
                     "standard_desc": std.get("standard_desc"),
                     "expense_type_sub_category": std.get("expense_type_sub_category", "DEFAULT"),
                     "enterprise_id": enterprise_id,
+                    "tenant_id": auth.user.tenant_id if auth.user else 1,
                 }
                 try:
                     from app.plugin.module_payment.expense.rule.model import ExpenseRuleModel
@@ -237,6 +238,7 @@ class InstitutionService:
                 "available_amount": float(issuerule_data.get("issue_amount_value", 0)),
                 "status": "QUOTA_ACTIVE",
                 "enterprise_id": enterprise_id,
+                "tenant_id": auth.user.tenant_id if auth.user else 1,
             }
             try:
                 from sqlalchemy import insert
@@ -506,6 +508,7 @@ class InstitutionService:
                         "standard_desc": std.get("standard_desc"),
                         "expense_type_sub_category": std.get("expense_type_sub_category", "DEFAULT"),
                         "enterprise_id": raw_data.get("enterprise_id", ""),
+                        "tenant_id": auth.user.tenant_id if auth.user else 1,
                     }
                     stmt = sa_insert(ExpenseRuleModel).values(**ins_data)
                     await auth.db.execute(stmt)
@@ -556,6 +559,7 @@ class InstitutionService:
                         "available_amount": amount,
                         "status": "QUOTA_ACTIVE",
                         "enterprise_id": raw_data.get("enterprise_id", ""),
+                        "tenant_id": auth.user.tenant_id if auth.user else 1,
                     }
                     stmt = sa_insert(QuotaModel).values(**ins_data)
                     await auth.db.execute(stmt)

二進制
frontend/dist.zip