From de22678c875d4feb0f2a4b42d3e90b64797ce2bf Mon Sep 17 00:00:00 2001 From: zlwu <704541015@qq.com> Date: Thu, 6 Aug 2026 13:58:47 +0800 Subject: [PATCH] feat: ship OA drafts/badges, role dual-track, and test-env deploy tooling. Add approval instance drafts with menu badges, dual-track user/role read model and role bound names, form-designer outline docs, and bare-metal test deploy scripts. Ignore local test-server credential file. Co-authored-by: Cursor --- .gitignore | 3 + backend/app/api/admin.py | 42 +- backend/app/api/oa_approval.py | 272 + backend/app/crud/oa_instance_draft.py | 368 ++ .../app/crud/production_task_step_assignee.py | 28 +- backend/app/crud/role.py | 174 +- backend/app/models/models.py | 24 + backend/app/services/oa_engine.py | 14 + backend/app/services/web_auth_roles.py | 236 +- backend/app/services/workflow_engine.py | 11 +- backend/graphify-out/.graphify_analysis.json | 3145 +++++---- backend/graphify-out/.graphify_extract.json | 2683 ++++---- backend/graphify-out/GRAPH_REPORT.md | 185 +- backend/graphify-out/graph.json | 5658 +++++++++-------- backend/scripts/migrate_user_role_to_post.py | 423 ++ .../tests/test_effective_role_user_lookup.py | 31 + backend/tests/test_oa_instance_draft.py | 54 + backend/tests/test_oa_menu_badge_counts.py | 38 + backend/tests/test_role_list_bound_names.py | 35 + docs/demos/oa-approval-draft-box-demo.html | 709 +++ .../oa-form-designer-outline-styles.html | 684 ++ docs/sql/oa_instance_draft.sql | 84 + docs/sql/oa_receive_account.sql | 37 - docs/sql/sys_post_role.sql | 19 - docs/sql/sys_user_hire_probation.sql | 5 - docs/sql/sys_user_last_work_day.sql | 4 - .../2026-08-05-role-list-bound-users-posts.md | 32 + .../2026-08-06-oa-approval-instance-draft.md | 128 + ...2026-08-06-oa-drafts-pending-menu-badge.md | 41 + ...-08-06-oa-form-designer-outline-style-e.md | 21 + .../2026-08-06-test-env-bare-metal-deploy.md | 453 ++ ...8-05-role-list-bound-users-posts-design.md | 29 + ...-user-role-dual-track-read-model-design.md | 41 + ...08-06-oa-approval-instance-draft-design.md | 123 + ...-06-oa-drafts-pending-menu-badge-design.md | 38 + ...oa-form-designer-outline-style-e-design.md | 35 + ...08-06-test-env-bare-metal-deploy-design.md | 180 + .../specs/permission-conventions/spec.md | 12 + web-admin/src/api/oaApproval.ts | 91 + .../business/system-view-dialog/index.vue | 2 +- .../oa-approval/flow-tree/FlowDesigner.vue | 2 +- web-admin/src/oa-fc-host/App.vue | 42 + web-admin/src/router/modules/sqxp.ts | 33 +- web-admin/src/store/modules/oa-menu-badge.ts | 2 + web-admin/src/store/modules/user.ts | 2 + web-admin/src/types/api.d.ts | 8 + web-admin/src/utils/oa-menu-badge.ts | 58 +- .../src/views/oa-approval/drafts/index.vue | 323 + .../views/oa-approval/instances/detail.vue | 6 + .../src/views/oa-approval/pending/index.vue | 11 +- .../src/views/oa-approval/start/index.vue | 116 +- web-admin/src/views/system/role/index.vue | 50 +- web-admin/src/views/system/user/index.vue | 90 +- 测试环境部署/README.md | 555 +- 测试环境部署/deploy_test_env.py | 394 ++ 测试环境部署/zkxw-test-10001.conf | 59 + 56 files changed, 11861 insertions(+), 6082 deletions(-) create mode 100644 backend/app/crud/oa_instance_draft.py create mode 100644 backend/scripts/migrate_user_role_to_post.py create mode 100644 backend/tests/test_effective_role_user_lookup.py create mode 100644 backend/tests/test_oa_instance_draft.py create mode 100644 backend/tests/test_oa_menu_badge_counts.py create mode 100644 backend/tests/test_role_list_bound_names.py create mode 100644 docs/demos/oa-approval-draft-box-demo.html create mode 100644 docs/demos/oa-form-designer-outline-styles.html create mode 100644 docs/sql/oa_instance_draft.sql delete mode 100644 docs/sql/oa_receive_account.sql delete mode 100644 docs/sql/sys_post_role.sql delete mode 100644 docs/sql/sys_user_hire_probation.sql delete mode 100644 docs/sql/sys_user_last_work_day.sql create mode 100644 docs/superpowers/plans/2026-08-05-role-list-bound-users-posts.md create mode 100644 docs/superpowers/plans/2026-08-06-oa-approval-instance-draft.md create mode 100644 docs/superpowers/plans/2026-08-06-oa-drafts-pending-menu-badge.md create mode 100644 docs/superpowers/plans/2026-08-06-oa-form-designer-outline-style-e.md create mode 100644 docs/superpowers/plans/2026-08-06-test-env-bare-metal-deploy.md create mode 100644 docs/superpowers/specs/2026-08-05-role-list-bound-users-posts-design.md create mode 100644 docs/superpowers/specs/2026-08-05-user-role-dual-track-read-model-design.md create mode 100644 docs/superpowers/specs/2026-08-06-oa-approval-instance-draft-design.md create mode 100644 docs/superpowers/specs/2026-08-06-oa-drafts-pending-menu-badge-design.md create mode 100644 docs/superpowers/specs/2026-08-06-oa-form-designer-outline-style-e-design.md create mode 100644 docs/superpowers/specs/2026-08-06-test-env-bare-metal-deploy-design.md create mode 100644 web-admin/src/views/oa-approval/drafts/index.vue create mode 100755 测试环境部署/deploy_test_env.py create mode 100644 测试环境部署/zkxw-test-10001.conf diff --git a/.gitignore b/.gitignore index f49f8b13..50f6ac8e 100644 --- a/.gitignore +++ b/.gitignore @@ -94,3 +94,6 @@ exports/ # Graphify:增量检测/状态文件(commit hook 或 update-graph.sh 触发后产生) **/.graphify_detect.json **/.graphify_incremental.json + +# 本地密钥(勿提交) +测试环境机器的账号密码 diff --git a/backend/app/api/admin.py b/backend/app/api/admin.py index 7cbc121d..20105d94 100644 --- a/backend/app/api/admin.py +++ b/backend/app/api/admin.py @@ -26,8 +26,11 @@ from app.crud import menu as menu_svc from app.crud import role as role_svc from app.crud import user as user_svc from app.crud.collection_protocol import _lookup_attachment_by_url -from app.models.models import BizAttachment, SysDept, SysRole, SysUser, SysUserRole -from app.services.web_auth_roles import _map_role_name_to_web +from app.models.models import BizAttachment, SysDept, SysRole, SysUser +from app.services.web_auth_roles import ( + _map_role_name_to_web, + list_user_ids_with_effective_role_name, +) router = APIRouter(prefix="/web/admin", tags=["运营端管理"]) @@ -77,7 +80,7 @@ async def list_users_for_select( ): """返回用户下拉选项(label=昵称,value=用户ID),供流程设计器审批人选择使用。 - 可选 roleName:按 sys_role.role_name 精确过滤拥有该角色的用户。 + 可选 roleName:按有效角色(直接绑定 ∪ 职位继承)精确过滤。 """ tenant_no = _user.get("tenant_no", "") q = db.query(SysUser).filter(SysUser.del_flag == 0, SysUser.status == "1") @@ -85,18 +88,12 @@ async def list_users_for_select( q = q.filter(SysUser.tenant_no == tenant_no) rn = (roleName or "").strip() if rn: - q = ( - q.join(SysUserRole, SysUserRole.user_id == SysUser.id) - .join(SysRole, SysRole.id == SysUserRole.role_id) - .filter( - SysUserRole.del_flag == 0, - SysRole.del_flag == 0, - SysRole.status == "1", - SysRole.role_name == rn, - ) + matched_ids = list_user_ids_with_effective_role_name( + db, tenant_no=tenant_no or settings.DEFAULT_TENANT_NO, role_name=rn ) - if tenant_no: - q = q.filter(SysUserRole.tenant_no == tenant_no, SysRole.tenant_no == tenant_no) + if not matched_ids: + return success_response([]) + q = q.filter(SysUser.id.in_(matched_ids)) rows = q.order_by(SysUser.create_time.desc()).distinct().all() out = [{"label": (r.nick_name or r.user_no or ""), "value": r.id} for r in rows] return success_response(out) @@ -317,17 +314,14 @@ async def list_users( query = query.filter(SysUser.status == status) rn = (roleName or "").strip() if rn: - query = ( - query.join(SysUserRole, SysUserRole.user_id == SysUser.id) - .join(SysRole, SysRole.id == SysUserRole.role_id) - .filter( - SysUserRole.del_flag == 0, - SysRole.del_flag == 0, - SysRole.status == "1", - SysRole.role_name == rn, - ) + matched_ids = list_user_ids_with_effective_role_name( + db, tenant_no=tenant_no, role_name=rn ) - query = query.filter(SysUserRole.tenant_no == tenant_no, SysRole.tenant_no == tenant_no) + if not matched_ids: + return success_response( + {"list": [], "total": 0, "page": page, "pageSize": pageSize, "totalPages": 0} + ) + query = query.filter(SysUser.id.in_(matched_ids)) query = apply_data_scope(query, SysUser, user, db, tenant_no) total = query.distinct().count() items = ( diff --git a/backend/app/api/oa_approval.py b/backend/app/api/oa_approval.py index a93c471e..e11e9064 100644 --- a/backend/app/api/oa_approval.py +++ b/backend/app/api/oa_approval.py @@ -1,4 +1,5 @@ """OA 审批管理接口(钉钉交互)""" +from datetime import datetime from typing import Any, Dict, List, Optional from fastapi import APIRouter, Depends, Query @@ -8,7 +9,9 @@ from sqlalchemy.orm import Session from app.core.database import get_db from app.core.menu_guard import require_admin_or_super_admin from app.core.response import error_response, success_response +from app.core.utils import parse_datetime from app.crud import oa_approval as oa_crud +from app.crud import oa_instance_draft as oid_crud from app.crud import oa_receive_account as ora_crud from app.models.models import SysUser from app.services.oa_receive_account import normalize_account_fields @@ -164,6 +167,258 @@ async def delete_receive_account( return success_response(None, message="删除成功") +# --------------------------------------------------------------------------- +# 发起审批草稿箱(oa_instance_draft) +# --------------------------------------------------------------------------- + + +class OaInstanceDraftBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + app_id: str = Field(..., alias="appId") + form_data: Optional[Dict[str, Any]] = Field(None, alias="formData") + title: Optional[str] = None + initiator_dept_id: Optional[str] = Field(None, alias="initiatorDeptId") + initiator_select_by_node: Optional[Dict[str, List[str]]] = Field( + None, alias="initiatorSelectByNode" + ) + + +class OaInstanceDraftUpdateBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + form_data: Optional[Dict[str, Any]] = Field(None, alias="formData") + title: Optional[str] = None + initiator_dept_id: Optional[str] = Field(None, alias="initiatorDeptId") + initiator_select_by_node: Optional[Dict[str, List[str]]] = Field( + None, alias="initiatorSelectByNode" + ) + + +class OaInstanceDraftBatchDeleteBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + ids: List[str] = Field(default_factory=list) + + +class OaInstanceDraftSubmitBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + form_data: Optional[Dict[str, Any]] = Field(None, alias="formData") + title: Optional[str] = None + initiator_dept_id: Optional[str] = Field(None, alias="initiatorDeptId") + initiator_select_by_node: Optional[Dict[str, List[str]]] = Field( + None, alias="initiatorSelectByNode" + ) + + +def _parse_draft_range_end(raw: Optional[str]) -> Optional[datetime]: + """截止日期:仅日期时扩到当天 23:59:59。""" + if not raw or not str(raw).strip(): + return None + s = str(raw).strip() + dt = parse_datetime(s) + if dt is None and len(s) == 10: + try: + dt = datetime.strptime(s, "%Y-%m-%d") + except ValueError: + return None + if dt is None: + return None + if len(s) <= 10: + return dt.replace(hour=23, minute=59, second=59) + return dt + + +def _parse_draft_range_start(raw: Optional[str]) -> Optional[datetime]: + if not raw or not str(raw).strip(): + return None + s = str(raw).strip() + dt = parse_datetime(s) + if dt is None and len(s) == 10: + try: + return datetime.strptime(s, "%Y-%m-%d") + except ValueError: + return None + return dt + + +@router.get("/drafts/count") +async def oa_instance_draft_count( + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + tenant_no = _get_tenant_no(db, user) + n = oid_crud.count_drafts( + db, + tenant_no=tenant_no, + owner_user_id=user.get("user_id") or "", + ) + return success_response({"count": int(n)}) + + +@router.get("/drafts") +async def list_oa_instance_drafts( + page: int = Query(1, ge=1), + pageSize: int = Query(20, ge=1, le=100), + keyword: Optional[str] = None, + groupId: Optional[str] = None, + updateTimeFrom: Optional[str] = None, + updateTimeTo: Optional[str] = None, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + tenant_no = _get_tenant_no(db, user) + items, total = oid_crud.list_drafts( + db, + tenant_no=tenant_no, + owner_user_id=user.get("user_id") or "", + keyword=keyword, + group_id=groupId, + update_time_from=_parse_draft_range_start(updateTimeFrom), + update_time_to=_parse_draft_range_end(updateTimeTo), + page=page, + page_size=pageSize, + ) + return success_response({"list": items, "total": total}) + + +@router.post("/drafts") +async def create_oa_instance_draft( + body: OaInstanceDraftBody, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + tenant_no = _get_tenant_no(db, user) + data = oid_crud.create_draft( + db, + tenant_no=tenant_no, + owner_user_id=user.get("user_id") or "", + app_id=body.app_id, + form_data=body.form_data, + initiator_select_by_node=body.initiator_select_by_node, + initiator_dept_id=body.initiator_dept_id, + title=body.title, + create_dept_id=user.get("dept_id") or "", + ) + return success_response(data, message="已存入草稿箱") + except ValueError as e: + return error_response(400, str(e)) + + +@router.post("/drafts/batch-delete") +async def batch_delete_oa_instance_drafts( + body: OaInstanceDraftBatchDeleteBody, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + tenant_no = _get_tenant_no(db, user) + n = oid_crud.batch_soft_delete_drafts( + db, + body.ids, + tenant_no=tenant_no, + owner_user_id=user.get("user_id") or "", + ) + return success_response({"deleted": n}, message="删除成功") + except oid_crud.DraftAccessError as e: + return error_response(403, str(e)) + except ValueError as e: + return error_response(400, str(e)) + + +@router.get("/drafts/{draft_id}") +async def get_oa_instance_draft( + draft_id: str, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + tenant_no = _get_tenant_no(db, user) + data = oid_crud.get_draft_detail( + db, + draft_id, + tenant_no=tenant_no, + owner_user_id=user.get("user_id") or "", + ) + return success_response(data) + except oid_crud.DraftAccessError as e: + return error_response(404, str(e)) + + +@router.put("/drafts/{draft_id}") +async def update_oa_instance_draft( + draft_id: str, + body: OaInstanceDraftUpdateBody, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + tenant_no = _get_tenant_no(db, user) + data = oid_crud.update_draft( + db, + draft_id, + tenant_no=tenant_no, + owner_user_id=user.get("user_id") or "", + form_data=body.form_data, + initiator_select_by_node=body.initiator_select_by_node, + initiator_dept_id=body.initiator_dept_id, + title=body.title, + ) + return success_response(data, message="草稿已保存") + except oid_crud.DraftAccessError as e: + return error_response(404, str(e)) + except ValueError as e: + return error_response(400, str(e)) + + +@router.delete("/drafts/{draft_id}") +async def delete_oa_instance_draft( + draft_id: str, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + tenant_no = _get_tenant_no(db, user) + oid_crud.soft_delete_draft( + db, + draft_id, + tenant_no=tenant_no, + owner_user_id=user.get("user_id") or "", + ) + return success_response(None, message="删除成功") + except oid_crud.DraftAccessError as e: + return error_response(404, str(e)) + + +@router.post("/drafts/{draft_id}/submit") +async def submit_oa_instance_draft( + draft_id: str, + body: Optional[OaInstanceDraftSubmitBody] = None, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + from app.services.oa_engine import OaEngineError + + payload = body or OaInstanceDraftSubmitBody() + try: + tenant_no = _get_tenant_no(db, user) + data = oid_crud.submit_draft( + db, + draft_id, + tenant_no=tenant_no, + owner_user_id=user.get("user_id") or "", + form_data=payload.form_data, + initiator_select_by_node=payload.initiator_select_by_node, + initiator_dept_id=payload.initiator_dept_id, + title=payload.title, + ) + return success_response(data, message="发起成功") + except oid_crud.DraftAccessError as e: + return error_response(404, str(e)) + except OaEngineError as e: + return error_response(400, str(e)) + except ValueError as e: + return error_response(400, str(e)) + + # --------------------------------------------------------------------------- # 分组 # --------------------------------------------------------------------------- @@ -700,6 +955,23 @@ async def get_related_summaries( return success_response({"list": items}) +@router.get("/tasks/pending/count") +async def oa_pending_task_count( + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + from app.services.oa_engine import OaEngineError, count_pending_tasks + + try: + tenant_no = _get_tenant_no(db, user) + n = count_pending_tasks( + db, tenant_no=tenant_no, user_id=user.get("user_id") or "" + ) + return success_response({"count": int(n)}) + except OaEngineError as e: + return error_response(400, str(e)) + + @router.get("/tasks/cc/unread-count") async def oa_cc_unread_count( user: dict = Depends(require_admin_or_super_admin), diff --git a/backend/app/crud/oa_instance_draft.py b/backend/app/crud/oa_instance_draft.py new file mode 100644 index 00000000..6d04fa40 --- /dev/null +++ b/backend/app/crud/oa_instance_draft.py @@ -0,0 +1,368 @@ +"""OA 发起审批草稿 CRUD(oa_instance_draft)""" +from __future__ import annotations + +import json +from datetime import datetime +from typing import Any, Dict, List, Optional, Tuple + +from sqlalchemy import func, or_ +from sqlalchemy.orm import Session + +from app.core.utils import generate_uuid +from app.crud import oa_approval as oa_crud +from app.models.models import OaApp, OaAppGroup, OaAppVersion, OaInstanceDraft + + +def _loads(raw: Any, default: Any) -> Any: + if raw is None or raw == "": + return default + if isinstance(raw, (dict, list)): + return raw + try: + return json.loads(raw) + except (TypeError, ValueError, json.JSONDecodeError): + return default + + +def _dumps(obj: Any) -> Optional[str]: + if obj is None: + return None + return json.dumps(obj, ensure_ascii=False) + + +def row_to_dict( + d: OaInstanceDraft, + *, + app_name: str = "", + version_no: Optional[int] = None, + group_id: str = "", + group_name: str = "", + include_payload: bool = False, +) -> Dict[str, Any]: + out: Dict[str, Any] = { + "id": d.id, + "appId": d.app_id, + "appVersionId": d.app_version_id, + "appName": app_name or "", + "versionNo": version_no, + "groupId": group_id or "", + "groupName": group_name or "", + "title": d.title or "", + "ownerUserId": d.owner_user_id, + "initiatorDeptId": d.initiator_dept_id or "", + "status": "draft", + "createTime": d.create_time.strftime("%Y-%m-%d %H:%M:%S") if d.create_time else "", + "updateTime": d.update_time.strftime("%Y-%m-%d %H:%M:%S") if d.update_time else "", + } + if include_payload: + out["formData"] = _loads(d.form_data_json, {}) or {} + out["initiatorSelectByNode"] = _loads(d.initiator_select_json, {}) or {} + return out + + +class DraftAccessError(ValueError): + """草稿不存在或无权访问""" + + +def get_owned_draft( + db: Session, + draft_id: str, + *, + tenant_no: str, + owner_user_id: str, +) -> OaInstanceDraft: + row = ( + db.query(OaInstanceDraft) + .filter( + OaInstanceDraft.id == draft_id, + OaInstanceDraft.tenant_no == tenant_no, + OaInstanceDraft.owner_user_id == owner_user_id, + OaInstanceDraft.del_flag == 0, + ) + .first() + ) + if not row: + raise DraftAccessError("草稿不存在或无权访问") + return row + + +def _enrich(db: Session, d: OaInstanceDraft, *, include_payload: bool = False) -> Dict[str, Any]: + app = ( + db.query(OaApp) + .filter(OaApp.id == d.app_id, OaApp.tenant_no == d.tenant_no, OaApp.del_flag == 0) + .first() + ) + ver = ( + db.query(OaAppVersion) + .filter(OaAppVersion.id == d.app_version_id, OaAppVersion.del_flag == 0) + .first() + ) + group_name = "" + group_id = "" + if app and app.group_id: + group_id = app.group_id + g = ( + db.query(OaAppGroup) + .filter(OaAppGroup.id == app.group_id, OaAppGroup.del_flag == 0) + .first() + ) + if g: + group_name = g.group_name or "" + return row_to_dict( + d, + app_name=(app.app_name if app else "") or "", + version_no=ver.version_no if ver else None, + group_id=group_id, + group_name=group_name, + include_payload=include_payload, + ) + + +def count_drafts(db: Session, *, tenant_no: str, owner_user_id: str) -> int: + return ( + db.query(OaInstanceDraft) + .filter( + OaInstanceDraft.tenant_no == tenant_no, + OaInstanceDraft.owner_user_id == owner_user_id, + OaInstanceDraft.del_flag == 0, + ) + .count() + ) + + +def list_drafts( + db: Session, + *, + tenant_no: str, + owner_user_id: str, + keyword: Optional[str] = None, + group_id: Optional[str] = None, + update_time_from: Optional[datetime] = None, + update_time_to: Optional[datetime] = None, + page: int = 1, + page_size: int = 20, +) -> Tuple[List[Dict[str, Any]], int]: + q = ( + db.query(OaInstanceDraft, OaApp, OaAppVersion, OaAppGroup) + .outerjoin( + OaApp, + (OaApp.id == OaInstanceDraft.app_id) + & (OaApp.tenant_no == OaInstanceDraft.tenant_no) + & (OaApp.del_flag == 0), + ) + .outerjoin( + OaAppVersion, + (OaAppVersion.id == OaInstanceDraft.app_version_id) & (OaAppVersion.del_flag == 0), + ) + .outerjoin( + OaAppGroup, + (OaAppGroup.id == OaApp.group_id) & (OaAppGroup.del_flag == 0), + ) + .filter( + OaInstanceDraft.tenant_no == tenant_no, + OaInstanceDraft.owner_user_id == owner_user_id, + OaInstanceDraft.del_flag == 0, + ) + ) + kw = (keyword or "").strip() + if kw: + like = f"%{kw}%" + q = q.filter(or_(OaApp.app_name.like(like), OaInstanceDraft.title.like(like))) + gid = (group_id or "").strip() + if gid: + q = q.filter(OaApp.group_id == gid) + if update_time_from is not None: + q = q.filter(OaInstanceDraft.update_time >= update_time_from) + if update_time_to is not None: + q = q.filter(OaInstanceDraft.update_time <= update_time_to) + + total = q.order_by(None).with_entities(func.count(OaInstanceDraft.id)).scalar() or 0 + page = max(1, page) + page_size = min(max(1, page_size), 100) + rows = ( + q.order_by(OaInstanceDraft.update_time.desc()) + .offset((page - 1) * page_size) + .limit(page_size) + .all() + ) + items: List[Dict[str, Any]] = [] + for d, app, ver, group in rows: + items.append( + row_to_dict( + d, + app_name=(app.app_name if app else "") or "", + version_no=ver.version_no if ver else None, + group_id=(app.group_id if app else "") or "", + group_name=(group.group_name if group else "") or "", + ) + ) + return items, int(total) + + +def get_draft_detail( + db: Session, + draft_id: str, + *, + tenant_no: str, + owner_user_id: str, +) -> Dict[str, Any]: + d = get_owned_draft(db, draft_id, tenant_no=tenant_no, owner_user_id=owner_user_id) + return _enrich(db, d, include_payload=True) + + +def create_draft( + db: Session, + *, + tenant_no: str, + owner_user_id: str, + app_id: str, + form_data: Optional[Dict[str, Any]] = None, + initiator_select_by_node: Optional[Dict[str, Any]] = None, + initiator_dept_id: Optional[str] = None, + title: Optional[str] = None, + create_dept_id: str = "", +) -> Dict[str, Any]: + app = oa_crud.get_app(db, app_id, tenant_no) + if not app or app.status != "1": + raise ValueError("应用不存在或已停用") + ver = oa_crud._find_latest_published(db, app_id, tenant_no) + if not ver: + raise ValueError("应用尚未发布,无法暂存草稿") + now = datetime.now() + row = OaInstanceDraft( + id=generate_uuid(), + app_id=app_id, + app_version_id=ver.id, + title=(title or app.app_name or "")[:200] or None, + form_data_json=_dumps(form_data or {}), + initiator_select_json=_dumps(initiator_select_by_node or {}), + initiator_dept_id=(initiator_dept_id or "").strip() or None, + owner_user_id=owner_user_id, + tenant_no=tenant_no, + create_by=owner_user_id, + create_dept_id=create_dept_id or "", + create_time=now, + update_by=owner_user_id, + update_time=now, + del_flag=0, + ) + db.add(row) + db.commit() + db.refresh(row) + return _enrich(db, row, include_payload=True) + + +def update_draft( + db: Session, + draft_id: str, + *, + tenant_no: str, + owner_user_id: str, + form_data: Optional[Dict[str, Any]] = None, + initiator_select_by_node: Optional[Dict[str, Any]] = None, + initiator_dept_id: Optional[str] = None, + title: Optional[str] = None, +) -> Dict[str, Any]: + d = get_owned_draft(db, draft_id, tenant_no=tenant_no, owner_user_id=owner_user_id) + ver = oa_crud._find_latest_published(db, d.app_id, tenant_no) + if ver: + d.app_version_id = ver.id + if form_data is not None: + d.form_data_json = _dumps(form_data) + if initiator_select_by_node is not None: + d.initiator_select_json = _dumps(initiator_select_by_node) + if initiator_dept_id is not None: + d.initiator_dept_id = (initiator_dept_id or "").strip() or None + if title is not None: + d.title = (title or "")[:200] or None + d.update_by = owner_user_id + d.update_time = datetime.now() + db.commit() + db.refresh(d) + return _enrich(db, d, include_payload=True) + + +def soft_delete_draft( + db: Session, + draft_id: str, + *, + tenant_no: str, + owner_user_id: str, +) -> None: + d = get_owned_draft(db, draft_id, tenant_no=tenant_no, owner_user_id=owner_user_id) + d.del_flag = 1 + d.update_by = owner_user_id + d.update_time = datetime.now() + db.commit() + + +def batch_soft_delete_drafts( + db: Session, + ids: List[str], + *, + tenant_no: str, + owner_user_id: str, +) -> int: + cleaned = [str(x).strip() for x in (ids or []) if str(x).strip()] + if not cleaned: + raise ValueError("请选择要删除的草稿") + rows = ( + db.query(OaInstanceDraft) + .filter( + OaInstanceDraft.id.in_(cleaned), + OaInstanceDraft.tenant_no == tenant_no, + OaInstanceDraft.owner_user_id == owner_user_id, + OaInstanceDraft.del_flag == 0, + ) + .all() + ) + if len(rows) != len(set(cleaned)): + raise DraftAccessError("草稿不存在或无权访问") + now = datetime.now() + for d in rows: + d.del_flag = 1 + d.update_by = owner_user_id + d.update_time = now + db.commit() + return len(rows) + + +def submit_draft( + db: Session, + draft_id: str, + *, + tenant_no: str, + owner_user_id: str, + form_data: Optional[Dict[str, Any]] = None, + initiator_select_by_node: Optional[Dict[str, Any]] = None, + initiator_dept_id: Optional[str] = None, + title: Optional[str] = None, +) -> Dict[str, Any]: + """提交草稿:走 start_instance,成功后软删草稿。""" + from app.services.oa_engine import start_instance + + d = get_owned_draft(db, draft_id, tenant_no=tenant_no, owner_user_id=owner_user_id) + payload_form = form_data if form_data is not None else (_loads(d.form_data_json, {}) or {}) + payload_select = ( + initiator_select_by_node + if initiator_select_by_node is not None + else (_loads(d.initiator_select_json, {}) or {}) + ) + dept = initiator_dept_id if initiator_dept_id is not None else d.initiator_dept_id + use_title = title if title is not None else d.title + + data = start_instance( + db, + tenant_no=tenant_no, + app_id=d.app_id, + initiator_user_id=owner_user_id, + initiator_dept_id=dept, + form_data=payload_form if isinstance(payload_form, dict) else {}, + title=use_title, + initiator_select_by_node=payload_select if isinstance(payload_select, dict) else {}, + ) + d.del_flag = 1 + d.update_by = owner_user_id + d.update_time = datetime.now() + db.commit() + return data diff --git a/backend/app/crud/production_task_step_assignee.py b/backend/app/crud/production_task_step_assignee.py index 69c8fb9f..4d45570d 100644 --- a/backend/app/crud/production_task_step_assignee.py +++ b/backend/app/crud/production_task_step_assignee.py @@ -8,7 +8,8 @@ from sqlalchemy.orm import Session from app.core.db_collation import eq_unicode from app.core.utils import generate_uuid -from app.models.models import BizProductionTaskStep, BizProductionTaskStepAssignee, SysRole, SysUser, SysUserRole +from app.models.models import BizProductionTaskStep, BizProductionTaskStepAssignee, SysUser +from app.services.web_auth_roles import list_user_ids_with_effective_role_name PRODUCTION_STEP_ASSIGNEE_ROLE = "实验专员" @@ -35,30 +36,17 @@ def _active_users_in_tenant( def _active_users_with_role_in_tenant( db: Session, user_ids: List[str], tenant_no: str, role_name: str ) -> Set[str]: + """校验候选用户是否拥有指定角色(直接绑定 ∪ 职位继承)。""" ids = [x.strip() for x in user_ids if (x or "").strip()] rn = (role_name or "").strip() if not ids or not rn: return set() - rows = ( - db.query(SysUser.id) - .join(SysUserRole, SysUserRole.user_id == SysUser.id) - .join(SysRole, SysRole.id == SysUserRole.role_id) - .filter( - SysUser.id.in_(ids), - SysUser.tenant_no == tenant_no, - SysUser.del_flag == 0, - SysUser.status == "1", - SysUserRole.del_flag == 0, - SysUserRole.tenant_no == tenant_no, - SysRole.del_flag == 0, - SysRole.status == "1", - SysRole.tenant_no == tenant_no, - SysRole.role_name == rn, - ) - .distinct() - .all() + return list_user_ids_with_effective_role_name( + db, + tenant_no=tenant_no, + role_name=rn, + candidate_user_ids=ids, ) - return {r[0] for r in rows} def validate_assignee_user_ids( diff --git a/backend/app/crud/role.py b/backend/app/crud/role.py index 8a59fdee..a881532b 100644 --- a/backend/app/crud/role.py +++ b/backend/app/crud/role.py @@ -5,11 +5,20 @@ import math from datetime import datetime from typing import Any, Dict, List, Optional, Tuple -from sqlalchemy import and_, func, or_ +from sqlalchemy import and_, func from sqlalchemy.orm import Session from app.core.utils import generate_uuid -from app.models.models import SysRole, SysRoleMenu, SysRoleDataScopeDetail +from app.models.models import ( + SysPost, + SysPostRole, + SysRole, + SysRoleDataScopeDetail, + SysRoleMenu, + SysUser, + SysUserPost, + SysUserRole, +) # --------------------------------------------------------------------------- @@ -17,7 +26,151 @@ from app.models.models import SysRole, SysRoleMenu, SysRoleDataScopeDetail # --------------------------------------------------------------------------- -def _row_to_dict(r: SysRole) -> Dict[str, Any]: +def _user_display_name(nick_name: Optional[str], user_no: Optional[str]) -> str: + n = (nick_name or "").strip() + if n: + return n + return (user_no or "").strip() + + +def _append_unique(out: Dict[str, List[str]], key: str, value: str) -> None: + if not key or not value: + return + bucket = out.setdefault(key, []) + if value not in bucket: + bucket.append(value) + + +def _bound_user_names_by_role_ids( + db: Session, role_ids: List[str], tenant_no: str +) -> Dict[str, List[str]]: + """批量查询有效拥有角色的用户显示名(直接绑定 ∪ 启用职位继承)。""" + out: Dict[str, List[str]] = {} + ids = [rid for rid in (role_ids or []) if rid] + tenant = (tenant_no or "").strip() + if not ids or not tenant: + return out + + direct_rows = ( + db.query(SysUserRole.role_id, SysUser.nick_name, SysUser.user_no) + .join( + SysUser, + and_(SysUser.id == SysUserRole.user_id, SysUser.del_flag == 0), + ) + .join( + SysRole, + and_( + SysRole.id == SysUserRole.role_id, + SysRole.del_flag == 0, + SysRole.status == "1", + SysRole.tenant_no == tenant, + ), + ) + .filter( + and_( + SysUserRole.role_id.in_(ids), + SysUserRole.tenant_no == tenant, + SysUserRole.del_flag == 0, + ) + ) + .order_by(SysUser.nick_name.asc(), SysUser.user_no.asc()) + .all() + ) + for role_id, nick_name, user_no in direct_rows: + _append_unique(out, role_id, _user_display_name(nick_name, user_no)) + + post_rows = ( + db.query(SysPostRole.role_id, SysUser.nick_name, SysUser.user_no) + .join( + SysPost, + and_( + SysPost.id == SysPostRole.post_id, + SysPost.del_flag == 0, + SysPost.status == "1", + SysPost.tenant_no == tenant, + ), + ) + .join( + SysUserPost, + and_( + SysUserPost.post_id == SysPost.id, + SysUserPost.del_flag == 0, + SysUserPost.tenant_no == tenant, + ), + ) + .join( + SysUser, + and_(SysUser.id == SysUserPost.user_id, SysUser.del_flag == 0), + ) + .join( + SysRole, + and_( + SysRole.id == SysPostRole.role_id, + SysRole.del_flag == 0, + SysRole.status == "1", + SysRole.tenant_no == tenant, + ), + ) + .filter( + and_( + SysPostRole.role_id.in_(ids), + SysPostRole.tenant_no == tenant, + SysPostRole.del_flag == 0, + ) + ) + .order_by(SysUser.nick_name.asc(), SysUser.user_no.asc()) + .all() + ) + for role_id, nick_name, user_no in post_rows: + _append_unique(out, role_id, _user_display_name(nick_name, user_no)) + + return out + + +def _bound_post_names_by_role_ids( + db: Session, role_ids: List[str], tenant_no: str +) -> Dict[str, List[str]]: + """批量查询角色关联的启用职位名称。""" + out: Dict[str, List[str]] = {} + ids = [rid for rid in (role_ids or []) if rid] + tenant = (tenant_no or "").strip() + if not ids or not tenant: + return out + + rows = ( + db.query(SysPostRole.role_id, SysPost.post_name) + .join( + SysPost, + and_( + SysPost.id == SysPostRole.post_id, + SysPost.del_flag == 0, + SysPost.status == "1", + SysPost.tenant_no == tenant, + ), + ) + .filter( + and_( + SysPostRole.role_id.in_(ids), + SysPostRole.tenant_no == tenant, + SysPostRole.del_flag == 0, + ) + ) + .order_by(SysPost.post_name.asc()) + .all() + ) + for role_id, post_name in rows: + name = (post_name or "").strip() + _append_unique(out, role_id, name) + + return out + + +def _row_to_dict( + r: SysRole, + *, + bound_user_names: Optional[List[str]] = None, + bound_post_names: Optional[List[str]] = None, +) -> Dict[str, Any]: return { "id": r.id, "roleName": r.role_name, @@ -26,6 +179,8 @@ def _row_to_dict(r: SysRole) -> Dict[str, Any]: "tenantNo": r.tenant_no or "", "orderNum": r.order_num if r.order_num is not None else 0, "remark": r.remark or "", + "boundUserNames": list(bound_user_names or []), + "boundPostNames": list(bound_post_names or []), "createTime": r.create_time.strftime("%Y-%m-%d %H:%M:%S") if r.create_time else "", "updateTime": r.update_time.strftime("%Y-%m-%d %H:%M:%S") if r.update_time else "", } @@ -74,7 +229,18 @@ def list_roles( .limit(page_size) .all() ) - return [_row_to_dict(x) for x in rows], int(total) + role_ids = [x.id for x in rows] + tenant = tenant_no or "" + user_name_map = _bound_user_names_by_role_ids(db, role_ids, tenant) + post_name_map = _bound_post_names_by_role_ids(db, role_ids, tenant) + return [ + _row_to_dict( + x, + bound_user_names=user_name_map.get(x.id, []), + bound_post_names=post_name_map.get(x.id, []), + ) + for x in rows + ], int(total) def get_role(db: Session, role_id: str) -> Optional[SysRole]: diff --git a/backend/app/models/models.py b/backend/app/models/models.py index c7ecb13f..62cac070 100644 --- a/backend/app/models/models.py +++ b/backend/app/models/models.py @@ -849,6 +849,30 @@ class OaReceiveAccount(Base): del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记") +class OaInstanceDraft(Base): + """OA发起审批草稿 oa_instance_draft(非模板设计草稿)""" + + __tablename__ = "oa_instance_draft" + + id = Column(String(64), primary_key=True, comment="主键ID") + app_id = Column(String(64), nullable=False, comment="应用ID") + app_version_id = Column(String(64), nullable=False, comment="暂存时锁定的已发布版本ID") + title = Column(String(200), nullable=True, comment="标题") + form_data_json = Column(Text, nullable=True, comment="表单数据 JSON") + initiator_select_json = Column(Text, nullable=True, comment="发起人自选 JSON") + initiator_dept_id = Column(String(64), nullable=True, comment="发起人部门") + owner_user_id = Column(String(64), nullable=False, comment="草稿所属人") + tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号") + order_num = Column(Integer, nullable=True, comment="排序号") + remark = Column(String(512), nullable=True, comment="备注") + create_by = Column(String(64), nullable=True, comment="创建人id") + create_dept_id = Column(String(64), nullable=False, default="", comment="创建人部门ID") + create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间") + update_by = Column(String(64), nullable=True, comment="更新人id") + update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间") + del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记") + + class OaInstance(Base): """OA审批实例 oa_instance""" diff --git a/backend/app/services/oa_engine.py b/backend/app/services/oa_engine.py index abc38548..6d3ad1cb 100644 --- a/backend/app/services/oa_engine.py +++ b/backend/app/services/oa_engine.py @@ -1975,6 +1975,20 @@ def count_cc_unread(db: Session, *, tenant_no: str, user_id: str) -> int: ) +def count_pending_tasks(db: Session, *, tenant_no: str, user_id: str) -> int: + return ( + db.query(OaTask) + .filter( + OaTask.tenant_no == tenant_no, + OaTask.del_flag == 0, + OaTask.assignee_user_id == user_id, + OaTask.task_type == "approval", + OaTask.status == "pending", + ) + .count() + ) + + def mark_cc_task_read( db: Session, *, tenant_no: str, user_id: str, task_id: str ) -> Dict[str, Any]: diff --git a/backend/app/services/web_auth_roles.py b/backend/app/services/web_auth_roles.py index 528215c4..fb5232ba 100644 --- a/backend/app/services/web_auth_roles.py +++ b/backend/app/services/web_auth_roles.py @@ -4,7 +4,7 @@ """ from __future__ import annotations -from typing import List, Set +from typing import List, Optional, Set, Collection from sqlalchemy import and_ from sqlalchemy.orm import Session @@ -39,13 +39,23 @@ def _map_role_name_to_web(role_name: str) -> str: return "admin" -def get_effective_role_ids(db: Session, user_id: str) -> List[str]: - """用户有效角色 ID:直接绑定 ∪ 启用职位关联的启用角色(去重保序)。""" +def _dedupe_role_id_rows(rows) -> List[str]: + out: List[str] = [] + seen: Set[str] = set() + for row in rows: + rid = str(row[0]).strip() if row and row[0] else "" + if rid and rid not in seen: + seen.add(rid) + out.append(rid) + return out + + +def get_direct_enabled_role_ids(db: Session, user_id: str) -> List[str]: + """用户直接绑定且启用的角色 ID(sys_user_role → sys_role)。""" if not user_id: return [] tenant = settings.DEFAULT_TENANT_NO - - direct_rows = ( + rows = ( db.query(SysRole.id) .join(SysUserRole, SysUserRole.role_id == SysRole.id) .filter( @@ -59,8 +69,15 @@ def get_effective_role_ids(db: Session, user_id: str) -> List[str]: .order_by(SysRole.create_time.desc()) .all() ) + return _dedupe_role_id_rows(rows) - post_rows = ( + +def get_post_inherited_role_ids(db: Session, user_id: str) -> List[str]: + """经启用职位继承的启用角色 ID(sys_user_post → sys_post → sys_post_role → sys_role)。""" + if not user_id: + return [] + tenant = settings.DEFAULT_TENANT_NO + rows = ( db.query(SysRole.id) .join(SysPostRole, SysPostRole.role_id == SysRole.id) .join( @@ -91,35 +108,214 @@ def get_effective_role_ids(db: Session, user_id: str) -> List[str]: .order_by(SysRole.create_time.desc()) .all() ) + return _dedupe_role_id_rows(rows) + +def get_effective_role_ids(db: Session, user_id: str) -> List[str]: + """用户有效角色 ID:直接绑定 ∪ 启用职位关联的启用角色(去重保序)。""" + if not user_id: + return [] out: List[str] = [] seen: Set[str] = set() - for row in list(direct_rows) + list(post_rows): - rid = str(row[0]).strip() if row and row[0] else "" - if rid and rid not in seen: + for rid in get_direct_enabled_role_ids(db, user_id) + get_post_inherited_role_ids( + db, user_id + ): + if rid not in seen: seen.add(rid) out.append(rid) return out -def _active_role_name_rows(db: Session, user_id: str) -> list: - """查询用户当前有效的 sys_role.role_name 列表(含职位继承)。""" - role_ids = get_effective_role_ids(db, user_id) - if not role_ids: - return [] - tenant = settings.DEFAULT_TENANT_NO - rows = ( - db.query(SysRole.role_name) +def _normalize_candidate_user_ids( + candidate_user_ids: Optional[Collection[str]], +) -> Optional[List[str]]: + if candidate_user_ids is None: + return None + return list(dict.fromkeys([str(u).strip() for u in candidate_user_ids if u and str(u).strip()])) + + +def list_user_ids_with_effective_role_name( + db: Session, + *, + tenant_no: str, + role_name: str, + candidate_user_ids: Optional[Collection[str]] = None, +) -> Set[str]: + """拥有指定角色名的用户 ID(直接绑定 ∪ 职位继承)。""" + tenant = (tenant_no or "").strip() + rn = (role_name or "").strip() + if not tenant or not rn: + return set() + candidates = _normalize_candidate_user_ids(candidate_user_ids) + if candidates is not None and not candidates: + return set() + + direct_q = ( + db.query(SysUserRole.user_id) + .join(SysRole, SysRole.id == SysUserRole.role_id) .filter( - SysRole.id.in_(role_ids), + SysUserRole.del_flag == 0, + SysUserRole.tenant_no == tenant, + SysRole.del_flag == 0, + SysRole.status == "1", + SysRole.tenant_no == tenant, + SysRole.role_name == rn, + ) + ) + post_q = ( + db.query(SysUserPost.user_id) + .join( + SysPost, + and_( + SysPost.id == SysUserPost.post_id, + SysPost.del_flag == 0, + SysPost.status == "1", + SysPost.tenant_no == tenant, + ), + ) + .join( + SysPostRole, + and_( + SysPostRole.post_id == SysPost.id, + SysPostRole.del_flag == 0, + SysPostRole.tenant_no == tenant, + ), + ) + .join( + SysRole, + and_( + SysRole.id == SysPostRole.role_id, + SysRole.del_flag == 0, + SysRole.status == "1", + SysRole.tenant_no == tenant, + SysRole.role_name == rn, + ), + ) + .filter(SysUserPost.del_flag == 0, SysUserPost.tenant_no == tenant) + ) + if candidates is not None: + direct_q = direct_q.filter(SysUserRole.user_id.in_(candidates)) + post_q = post_q.filter(SysUserPost.user_id.in_(candidates)) + + out: Set[str] = set() + for row in direct_q.all(): + uid = str(row[0]).strip() if row and row[0] else "" + if uid: + out.add(uid) + for row in post_q.all(): + uid = str(row[0]).strip() if row and row[0] else "" + if uid: + out.add(uid) + return out + + +def list_user_ids_with_any_effective_role_ids( + db: Session, + *, + tenant_no: str, + role_ids: List[str], + candidate_user_ids: Optional[Collection[str]] = None, +) -> List[str]: + """拥有任一指定角色 ID 的用户 ID 列表(直接绑定 ∪ 职位继承,去重)。""" + tenant = (tenant_no or "").strip() + rids = list(dict.fromkeys([str(r).strip() for r in (role_ids or []) if r and str(r).strip()])) + if not tenant or not rids: + return [] + candidates = _normalize_candidate_user_ids(candidate_user_ids) + if candidates is not None and not candidates: + return [] + + direct_q = ( + db.query(SysUserRole.user_id) + .join(SysRole, SysRole.id == SysUserRole.role_id) + .filter( + SysUserRole.del_flag == 0, + SysUserRole.tenant_no == tenant, + SysUserRole.role_id.in_(rids), + SysRole.del_flag == 0, + SysRole.status == "1", + SysRole.tenant_no == tenant, + ) + ) + post_q = ( + db.query(SysUserPost.user_id) + .join( + SysPost, + and_( + SysPost.id == SysUserPost.post_id, + SysPost.del_flag == 0, + SysPost.status == "1", + SysPost.tenant_no == tenant, + ), + ) + .join( + SysPostRole, + and_( + SysPostRole.post_id == SysPost.id, + SysPostRole.del_flag == 0, + SysPostRole.tenant_no == tenant, + SysPostRole.role_id.in_(rids), + ), + ) + .join( + SysRole, + and_( + SysRole.id == SysPostRole.role_id, + SysRole.del_flag == 0, + SysRole.status == "1", + SysRole.tenant_no == tenant, + ), + ) + .filter(SysUserPost.del_flag == 0, SysUserPost.tenant_no == tenant) + ) + if candidates is not None: + direct_q = direct_q.filter(SysUserRole.user_id.in_(candidates)) + post_q = post_q.filter(SysUserPost.user_id.in_(candidates)) + + out: List[str] = [] + seen: Set[str] = set() + for row in list(direct_q.all()) + list(post_q.all()): + uid = str(row[0]).strip() if row and row[0] else "" + if uid and uid not in seen: + seen.add(uid) + out.append(uid) + return out + + +def get_role_names_by_ids(db: Session, role_ids: List[str]) -> List[str]: + """按给定角色 ID 返回启用角色名称(保序、去重)。""" + ordered = list(dict.fromkeys([str(r).strip() for r in (role_ids or []) if r])) + if not ordered: + return [] + tenant = settings.DEFAULT_TENANT_NO + rows = ( + db.query(SysRole.id, SysRole.role_name) + .filter( + SysRole.id.in_(ordered), SysRole.del_flag == 0, SysRole.status == "1", SysRole.tenant_no == tenant, ) - .order_by(SysRole.create_time.desc()) .all() ) - return [str(r[0]).strip() for r in rows if r and r[0]] + name_by_id = { + str(rid).strip(): str(name).strip() + for rid, name in rows + if rid and name + } + out: List[str] = [] + seen: Set[str] = set() + for rid in ordered: + name = name_by_id.get(rid) + if name and name not in seen: + seen.add(name) + out.append(name) + return out + + +def _active_role_name_rows(db: Session, user_id: str) -> list: + """查询用户当前有效的 sys_role.role_name 列表(含职位继承)。""" + return get_role_names_by_ids(db, get_effective_role_ids(db, user_id)) def user_has_active_roles(db: Session, user_id: str) -> bool: diff --git a/backend/app/services/workflow_engine.py b/backend/app/services/workflow_engine.py index 589a2b4c..c50319db 100644 --- a/backend/app/services/workflow_engine.py +++ b/backend/app/services/workflow_engine.py @@ -13,12 +13,12 @@ from sqlalchemy.orm import Session from app.crud import workflow as wf_crud from app.models.models import ( SysUser, - SysUserRole, WfNode, WfProcessInstance, WfTask, WfTransition, ) +from app.services.web_auth_roles import list_user_ids_with_any_effective_role_ids from app.services.workflow_callback import trigger_callback logger = logging.getLogger("sqxp.workflow_engine") @@ -250,11 +250,16 @@ class WorkflowEngine: role_ids = config.get("roleIds", []) if not role_ids: return [] + user_ids = list_user_ids_with_any_effective_role_ids( + self.db, tenant_no=tenant_no, role_ids=role_ids + ) + if not user_ids: + return [] rows = ( self.db.query(SysUser.id) - .join(SysUserRole, SysUserRole.user_id == SysUser.id) .filter( - SysUserRole.role_id.in_(role_ids), + SysUser.id.in_(user_ids), + SysUser.tenant_no == tenant_no, SysUser.del_flag == 0, SysUser.status == "1", ) diff --git a/backend/graphify-out/.graphify_analysis.json b/backend/graphify-out/.graphify_analysis.json index cf353e64..cb35be2e 100644 --- a/backend/graphify-out/.graphify_analysis.json +++ b/backend/graphify-out/.graphify_analysis.json @@ -1,7 +1,6 @@ { "communities": { "0": [ - "api_admin_attachment_download_url", "api_admin_create_dept", "api_admin_create_dict_data", "api_admin_create_dict_type", @@ -24,29 +23,9 @@ "api_admin_delete_site", "api_admin_delete_tenant", "api_admin_delete_user", - "api_admin_dict_data_options", - "api_admin_format_file_size", "api_admin_get_role_data_scope", - "api_admin_get_role_menus", - "api_admin_get_tenant_no", - "api_admin_get_user_by_id", - "api_admin_list_depts", - "api_admin_list_dict_data", - "api_admin_list_dict_types", - "api_admin_list_express_companies", "api_admin_list_item_units", - "api_admin_list_menus", - "api_admin_list_post_bound_roles", - "api_admin_list_post_bound_users", - "api_admin_list_posts", - "api_admin_list_role_management", - "api_admin_list_roles_for_designer", - "api_admin_list_roles_for_select", - "api_admin_list_sites", "api_admin_list_tenants", - "api_admin_list_users", - "api_admin_list_users_for_select", - "api_admin_py", "api_admin_reset_user_password", "api_admin_update_dept", "api_admin_update_dict_data", @@ -55,15 +34,12 @@ "api_admin_update_item_unit", "api_admin_update_menu", "api_admin_update_post", - "api_admin_update_post_bound_roles", - "api_admin_update_post_bound_users", "api_admin_update_role_data_scope", "api_admin_update_role_management", "api_admin_update_role_menus", "api_admin_update_site", "api_admin_update_tenant", "api_admin_update_user", - "api_admin_upload_attachment", "api_basic_info_batch_generate_protocol_nos", "api_basic_info_batch_generate_sample_codes", "api_basic_info_batch_issue_protocol_nos", @@ -84,6 +60,7 @@ "api_basic_info_delete_sample_code", "api_basic_info_get_tenant_no", "api_basic_info_list_cell_sample_types", + "api_basic_info_list_collection_regions", "api_basic_info_list_customers", "api_basic_info_list_hospitals", "api_basic_info_list_protocol_nos", @@ -132,15 +109,47 @@ "api_clinical_payment_api_submit_refund", "api_clinical_payment_get_tenant_no", "api_clinical_payment_py", + "api_collection_protocol_complete_protocol_invoice_request", + "api_collection_protocol_create_collection_protocol", + "api_collection_protocol_delete_collection_protocol", + "api_collection_protocol_draft_fields_from_body", + "api_collection_protocol_ensure_customer_for_mother", + "api_collection_protocol_get_collection_protocol_detail", + "api_collection_protocol_get_current_user_id", + "api_collection_protocol_get_invoice_eligible_payments", + "api_collection_protocol_get_protocol_invoice_requests", + "api_collection_protocol_get_tenant_no", + "api_collection_protocol_list_collection_protocol_audits", + "api_collection_protocol_list_collection_protocols", + "api_collection_protocol_list_fullmoon_todos", + "api_collection_protocol_list_payment_details", + "api_collection_protocol_list_protocol_invoice_requests_api", + "api_collection_protocol_list_receipt_confirm", + "api_collection_protocol_list_receipt_confirmed", + "api_collection_protocol_list_refund_confirm", + "api_collection_protocol_list_refund_confirmed", + "api_collection_protocol_list_storage_certs", "api_collection_protocol_parse_datetime_fields", + "api_collection_protocol_persist_protocol_sub_resources", + "api_collection_protocol_post_protocol_invoice_request", "api_collection_protocol_post_receipt_confirm", "api_collection_protocol_post_receipt_reject", "api_collection_protocol_post_refund_confirm", "api_collection_protocol_post_refund_reject", + "api_collection_protocol_post_submit_receipt_finance", "api_collection_protocol_post_submit_receipt_finance_batch", "api_collection_protocol_post_submit_refund_finance", "api_collection_protocol_post_submit_refund_finance_batch", + "api_collection_protocol_protocol_accessible", + "api_collection_protocol_protocol_invoice_pending_count", + "api_collection_protocol_put_payment_detail_draft", + "api_collection_protocol_py", + "api_collection_protocol_resolve_consent_form_urls", + "api_collection_protocol_resolve_health_survey_form_urls", + "api_collection_protocol_resolve_protocol_attachments", "api_collection_protocol_submit_collection_protocol_audit", + "api_collection_protocol_update_collection_protocol", + "api_collection_protocol_update_fullmoon_todo_insurance", "api_env_detect_create_env_detect_item", "api_env_detect_create_env_detect_record", "api_env_detect_delete_env_detect_item", @@ -171,7 +180,6 @@ "api_insurance_company_list_insurance_company_invoices", "api_insurance_company_list_insurance_project_prices", "api_insurance_company_py", - "api_insurance_company_rationale_1", "api_insurance_company_row_to_dict_company", "api_insurance_company_row_to_dict_invoice", "api_insurance_company_row_to_dict_project_price", @@ -251,6 +259,8 @@ "api_oa_approval_list_related_candidates", "api_oa_approval_oa_cc_read_batch", "api_oa_approval_oa_cc_unread_count", + "api_oa_approval_oa_instance_draft_count", + "api_oa_approval_oa_pending_task_count", "api_oa_approval_oa_task_mark_read", "api_oa_approval_parse_draft_range_end", "api_oa_approval_parse_draft_range_start", @@ -521,7 +531,6 @@ "api_production_get_cell_product_max_suffix_seq", "api_production_get_consumable_pack_detail", "api_production_get_current_user_id", - "api_production_get_next_cell_product_code", "api_production_get_process_detail", "api_production_get_process_route_detail", "api_production_get_production_task_detail", @@ -752,11 +761,25 @@ "api_qc_update_qc_third_party_item", "api_qc_update_qc_work_order", "api_qc_user_can_view_qc_material_amount", + "api_research_donation_batch_delete_research_donations", + "api_research_donation_change_donation_status", + "api_research_donation_convert_from_storage", + "api_research_donation_convert_to_storage", + "api_research_donation_create_research_donation", + "api_research_donation_delete_research_donation", + "api_research_donation_get_current_user_id", + "api_research_donation_get_research_donation_detail", + "api_research_donation_get_tenant_no", + "api_research_donation_list_research_donation_audits", + "api_research_donation_list_research_donations", + "api_research_donation_next_research_donation_sample_code", + "api_research_donation_py", "api_research_donation_sample_collection_get_tenant_no", "api_research_donation_sample_collection_list_donation_sample_collections", "api_research_donation_sample_collection_page_payload", "api_research_donation_sample_collection_py", "api_research_donation_submit_donation_audit", + "api_research_donation_update_research_donation", "api_sample_reception_allocate_lab_storage_codes", "api_sample_reception_create_check_item", "api_sample_reception_delete_check_item", @@ -772,6 +795,7 @@ "api_sample_reception_post_sample_reception", "api_sample_reception_put_sample_reception", "api_sample_reception_py", + "api_sample_reception_rationale_272", "api_sample_reception_update_check_item", "api_sample_sms_notification_generate_sms", "api_sample_sms_notification_get_current_user_id", @@ -827,8 +851,20 @@ "core_response_rationale_40", "core_response_success_response", "core_utils_parse_datetime", + "core_wechat_message_py", + "core_wechat_message_rationale_1", + "core_wechat_message_rationale_86", + "core_wechat_message_send_delivery_notice", + "core_wechat_message_send_delivery_warning", + "core_wechat_message_send_order_status", + "core_wechat_message_send_payment_success", + "core_wechat_message_send_refund_result", + "core_wechat_message_send_urge_notification", + "core_wechat_message_wechatmessageservice", + "core_wechat_message_wechatmessageservice_get_access_token", + "core_wechat_message_wechatmessageservice_init", + "core_wechat_message_wechatmessageservice_send_template_message", "crud_base_crudbase_get", - "crud_clean_room_access_log_to_dict", "crud_cleanroom_garment_get_garment_detail", "crud_clinical_payment_apply_submit_receipt", "crud_clinical_payment_auto_create_payment", @@ -842,81 +878,83 @@ "crud_clinical_payment_get_payment_detail", "crud_clinical_payment_list_payments", "crud_clinical_payment_map_payments_by_schedule_id", + "crud_clinical_payment_map_payments_by_schedule_ids", "crud_clinical_payment_py", "crud_clinical_payment_reject_receipt", "crud_clinical_payment_reject_refund", "crud_clinical_payment_row_to_dict", "crud_clinical_payment_submit_receipt", "crud_clinical_payment_submit_refund", - "crud_collection_protocol_apply_submit_refund_finance", - "crud_collection_protocol_batch_submit_refund_finance", + "crud_collection_protocol_apply_payment_detail_draft_fields", + "crud_collection_protocol_attachments_to_urls", + "crud_collection_protocol_get_sample_codes_used_in_protocol_samples", + "crud_collection_protocol_migrate_sample_child_refs_on_replace", "crud_collection_protocol_no_enrich_issued_user_names", - "crud_collection_protocol_submit_refund_finance", + "crud_collection_protocol_parse_transfer_time_value", + "crud_collection_protocol_save_sample_transports", + "crud_collection_protocol_save_samples", + "crud_collection_protocol_update_payment_detail_draft", + "crud_collection_protocol_upsert_fullmoon_todo", + "crud_collection_protocol_validate_sample_codes_not_used", + "crud_collection_region_hospital_names_by_region_ids", + "crud_collection_region_list_collection_regions", + "crud_collection_region_region_to_dict", "crud_exhibition_appointment_total_pages", "crud_leave_update_leave_status", + "crud_material_stock_check_cancel_check", + "crud_material_stock_check_complete_check", "crud_material_stock_check_create_check", + "crud_material_stock_check_get_check", "crud_material_stock_check_parse_check_time", "crud_material_stock_check_parse_optional_date", "crud_material_stock_check_save_unused_lines", - "crud_menu_build_tree", - "crud_menu_list_menus_tree", "crud_oa_approval_group_to_dict", "crud_oa_approval_list_groups", - "crud_pilot_checkup_get_checkup_by_application", - "crud_pilot_delivery_save_delivery_method", - "crud_pilot_infusion_schedule_mgmt_update_infusion_schedule_mgmt", + "crud_pilot_delivery_save_delivery_materials", "crud_pilot_service_enrich_finance_operate_fields", "crud_pilot_service_normalize_txn_product_item", - "crud_pilot_service_row_to_dict_cell_product_spec", "crud_pilot_service_row_to_dict_channel_agreement", "crud_pilot_service_row_to_dict_channel_invoice", "crud_pilot_service_row_to_dict_checkup_institution", + "crud_pilot_service_row_to_dict_checkup_institution_invoice", "crud_pilot_service_row_to_dict_service_order", "crud_pilot_service_row_to_dict_service_order_txn", "crud_pilot_service_service_order_txn_to_response_dict", - "crud_post_get_post", - "crud_post_soft_delete_post", "crud_process_route_update_step", "crud_production_material_prep_parse_quick_prep_lines", + "crud_production_material_usage_deduct_step_usage_legacy_batch", + "crud_production_material_usage_register_step_usage_from_requisition", "crud_production_task_build_process_library_for_editor", - "crud_production_task_dispatch_task_steps", + "crud_production_task_delete_task_step", "crud_production_task_enrich_assignee_names", - "crud_production_task_enrich_tasks_with_step_summaries", "crud_production_task_get_production_task_editor_init", + "crud_production_task_replace_step_configured_reagents", + "crud_production_task_replace_step_consumables", + "crud_production_task_replace_step_data_collections", + "crud_production_task_replace_step_outputs", + "crud_production_task_replace_step_reagents", + "crud_production_task_require_requisition_for_catalog_material", + "crud_production_task_set_task_inputs", + "crud_production_task_soft_delete_sub", "crud_production_task_update_task_step", "crud_qc_material_batch_stock_in", "crud_qc_material_batch_stock_out", - "crud_qc_material_get_material", "crud_qc_material_options_list", "crud_qc_material_rationale_345", "crud_qc_material_rationale_492", - "crud_qc_material_soft_delete_material", "crud_qc_material_stock_batch_batch_discard", "crud_qc_material_stock_batch_batch_options", "crud_qc_material_stock_batch_batch_row_to_dict", "crud_qc_material_stock_batch_fmt_date", "crud_qc_material_stock_batch_list_batches", "crud_qc_material_usage_mark_requisition_fully_used", - "crud_qc_task_update_task_attachments", "crud_qc_work_order_resolve_outbound_biz_type_for_schedule", + "crud_research_donation_change_status", + "crud_research_donation_donation_to_dict", "crud_workflow_get_all_tasks_for_business", "schemas_order_adjust_adjuststatus", "schemas_order_adjust_adjusttype", "schemas_order_adjust_py", - "services_oa_dept_select_field_label", - "services_oa_dept_select_is_multiple", - "services_oa_dept_select_is_required", - "services_oa_dept_select_is_valid_dept_item", - "services_oa_dept_select_max_count", - "services_oa_dept_select_py", - "services_oa_dept_select_rationale_1", - "services_oa_dept_select_rationale_128", - "services_oa_dept_select_rule_props", - "services_oa_dept_select_schema_rules", - "services_oa_dept_select_validate_dept_form_values", - "services_oa_dept_select_validate_dept_rule", - "services_oa_dept_select_walk_rules", - "services_oa_engine_eval_condition_rules", "services_oa_engine_task_to_dict", "services_oa_person_select_extract_person_ids", "services_oa_person_select_field_label", @@ -948,17 +986,32 @@ "services_oa_post_select_validate_post_form_values", "services_oa_post_select_validate_post_rule", "services_oa_post_select_walk_rules", + "services_oa_receive_account_field_label", + "services_oa_receive_account_is_non_empty_str", + "services_oa_receive_account_is_required", + "services_oa_receive_account_is_valid_receive_account_item", + "services_oa_receive_account_normalize_account_fields", + "services_oa_receive_account_pick", + "services_oa_receive_account_pick_order_num", + "services_oa_receive_account_pick_str", + "services_oa_receive_account_py", + "services_oa_receive_account_rationale_1", + "services_oa_receive_account_rationale_194", + "services_oa_receive_account_rationale_90", + "services_oa_receive_account_rule_props", + "services_oa_receive_account_schema_rules", + "services_oa_receive_account_validate_receive_account_form_values", + "services_oa_receive_account_validate_receive_account_rule", + "services_oa_receive_account_walk_rules", "services_oa_trip_days_kit_trip_fields", "services_oa_trip_days_rationale_124", - "services_web_auth_roles_list_user_ids_with_any_effective_role_ids", - "services_web_auth_roles_list_user_ids_with_effective_role_name", - "services_web_auth_roles_normalize_candidate_user_ids", - "services_workflow_engine_workflowengine_resolve_approvers", + "services_protocol_pay_mode_switch_rationale_47", + "services_protocol_pay_mode_switch_validate_payment_details_for_save", "str" ], "1": [ + "api_admin_get_role_menus", "core_utils_generate_uuid", - "crud_base_crudbase_update", "crud_cell_sample_type_create_cell_sample_type", "crud_cell_sample_type_get_cell_sample_type", "crud_cell_sample_type_list_cell_sample_types", @@ -969,6 +1022,7 @@ "crud_cell_sample_type_total_pages", "crud_cell_sample_type_type_code_exists", "crud_cell_sample_type_update_cell_sample_type", + "crud_clean_room_access_log_to_dict", "crud_clean_room_calc_duration_minutes", "crud_clean_room_create_access_log", "crud_clean_room_create_clean_room", @@ -1021,8 +1075,7 @@ "crud_cleanroom_garment_update_sterilize_log", "crud_cleanroom_garment_update_wash_log", "crud_cleanroom_garment_wash_log_to_dict", - "crud_collection_protocol_create_invoice_request", - "crud_collection_protocol_get_protocol_nos_used_in_protocols", + "crud_collection_protocol_create_audit", "crud_collection_protocol_no_batch_generate_protocol_nos", "crud_collection_protocol_no_batch_issue_protocol_nos", "crud_collection_protocol_no_batch_revoke_protocol_nos", @@ -1047,7 +1100,6 @@ "crud_collection_region_hospital_to_dict", "crud_collection_region_list_hospitals", "crud_collection_region_py", - "crud_collection_region_rationale_234", "crud_collection_region_search_hospitals_by_keyword", "crud_collection_region_soft_delete_collection_region", "crud_collection_region_soft_delete_hospital", @@ -1064,6 +1116,19 @@ "crud_consumable_is_enabled_status", "crud_consumable_list_consumables", "crud_consumable_norm_status", + "crud_consumable_pack_create_consumable_pack", + "crud_consumable_pack_get_consumable_pack", + "crud_consumable_pack_get_pack_detail", + "crud_consumable_pack_item_row_to_dict", + "crud_consumable_pack_list_all_packs", + "crud_consumable_pack_list_consumable_packs", + "crud_consumable_pack_pack_code_exists", + "crud_consumable_pack_py", + "crud_consumable_pack_rationale_1", + "crud_consumable_pack_row_to_dict", + "crud_consumable_pack_soft_delete_consumable_pack", + "crud_consumable_pack_total_pages", + "crud_consumable_pack_update_consumable_pack", "crud_consumable_py", "crud_consumable_rationale_1", "crud_consumable_row_to_dict", @@ -1073,7 +1138,30 @@ "crud_consumable_total_pages", "crud_consumable_update_consumable", "crud_customer_create_customer", + "crud_customer_get_customer", + "crud_customer_id_card_taken", + "crud_customer_list_customers", + "crud_customer_normalize_date_bound", + "crud_customer_py", + "crud_customer_rationale_1", + "crud_customer_row_to_dict", + "crud_customer_soft_delete_customer", + "crud_customer_total_pages", + "crud_customer_update_customer", "crud_dept_create_dept", + "crud_dict_data_create_dict_data", + "crud_dict_data_get_dict_data", + "crud_dict_data_is_dict_value_valid", + "crud_dict_data_list_dict_data", + "crud_dict_data_list_dict_data_options", + "crud_dict_data_normalize_transfer_type", + "crud_dict_data_normalize_void_type", + "crud_dict_data_py", + "crud_dict_data_rationale_1", + "crud_dict_data_row_to_dict", + "crud_dict_data_soft_delete_dict_data", + "crud_dict_data_total_pages", + "crud_dict_data_update_dict_data", "crud_dict_type_create_dict_type", "crud_dict_type_dict_type_code_exists", "crud_dict_type_get_dict_type", @@ -1084,17 +1172,24 @@ "crud_dict_type_soft_delete_dict_type", "crud_dict_type_total_pages", "crud_dict_type_update_dict_type", + "crud_env_detect_item_create_env_detect_item", + "crud_env_detect_item_get_env_detect_item", + "crud_env_detect_item_item_code_exists", + "crud_env_detect_item_list_active_env_detect_items", + "crud_env_detect_item_list_env_detect_items", + "crud_env_detect_item_order_query", + "crud_env_detect_item_py", + "crud_env_detect_item_row_to_dict", + "crud_env_detect_item_soft_delete_env_detect_item", + "crud_env_detect_item_update_env_detect_item", "crud_env_detect_record_create_env_detect_record", "crud_env_detect_record_generate_record_no", "crud_env_detect_record_get_env_detect_record", "crud_env_detect_record_join_csv", - "crud_env_detect_record_list_env_detect_records", "crud_env_detect_record_py", "crud_env_detect_record_resolve_inspector_snapshots", "crud_env_detect_record_resolve_item_snapshot", - "crud_env_detect_record_row_to_dict", "crud_env_detect_record_soft_delete_env_detect_record", - "crud_env_detect_record_split_csv", "crud_env_detect_record_update_env_detect_record", "crud_equipment_snapshot_join_equipment_ids", "crud_equipment_snapshot_parse_equipment_ids", @@ -1102,6 +1197,7 @@ "crud_equipment_snapshot_rationale_1", "crud_equipment_snapshot_rationale_29", "crud_equipment_snapshot_resolve_equipment_list_snapshot", + "crud_exhibition_appointment_create_exhibition_appointment", "crud_express_company_create_express_company", "crud_express_company_express_code_exists", "crud_express_company_get_express_company", @@ -1152,10 +1248,7 @@ "crud_material_stock_batch_usage_batch_snapshots", "crud_material_stock_batch_validate_discard_reason", "crud_material_stock_check_batch_line_to_dict", - "crud_material_stock_check_cancel_check", "crud_material_stock_check_check_header_to_dict", - "crud_material_stock_check_complete_check", - "crud_material_stock_check_get_check", "crud_material_stock_check_get_check_detail", "crud_material_stock_check_line_counts", "crud_material_stock_check_list_checks", @@ -1165,15 +1258,7 @@ "crud_material_stock_check_unused_amount", "crud_material_stock_check_unused_line_to_dict", "crud_material_stock_check_user_nick_name_map", - "crud_menu_cascade_soft_delete", "crud_menu_create_menu", - "crud_menu_get_menu", - "crud_menu_list_menus", - "crud_menu_menu_name_exists", - "crud_menu_py", - "crud_menu_row_to_dict", - "crud_menu_soft_delete_menu", - "crud_menu_update_menu", "crud_oa_approval_create_group", "crud_output_type_create_output_type", "crud_output_type_get_output_type", @@ -1185,21 +1270,7 @@ "crud_output_type_total_pages", "crud_output_type_type_code_exists", "crud_output_type_update_output_type", - "crud_pilot_checkup_soft_delete_checkup", - "crud_pilot_delivery_create_delivery", "crud_pilot_delivery_deduct_fee_on_delivery", - "crud_pilot_delivery_delete_delivery_material", - "crud_pilot_delivery_generate_delivery_no", - "crud_pilot_delivery_get_delivery_by_schedule", - "crud_pilot_delivery_get_delivery_method", - "crud_pilot_delivery_list_deliveries_by_application", - "crud_pilot_delivery_list_delivery_materials", - "crud_pilot_delivery_py", - "crud_pilot_delivery_row_to_dict_delivery", - "crud_pilot_delivery_row_to_dict_delivery_material", - "crud_pilot_delivery_row_to_dict_delivery_method", - "crud_pilot_delivery_save_delivery_materials", - "crud_pilot_delivery_soft_delete_delivery", "crud_pilot_infusion_confirm_confirm_infusion", "crud_pilot_infusion_confirm_create_infusion_confirm", "crud_pilot_infusion_confirm_delete_infusion_confirm", @@ -1207,7 +1278,6 @@ "crud_pilot_infusion_confirm_get_confirm_by_schedule", "crud_pilot_infusion_confirm_list_confirms_by_application", "crud_pilot_infusion_confirm_py", - "crud_pilot_infusion_confirm_rationale_113", "crud_pilot_infusion_confirm_row_to_dict", "crud_pilot_infusion_confirm_update_infusion_confirm", "crud_pilot_service_activate_channel_agreement", @@ -1267,15 +1337,14 @@ "crud_pilot_service_gmcp_has_purchase_lock", "crud_pilot_service_insert_package_items", "crud_pilot_service_list_cell_product_prices", + "crud_pilot_service_list_cell_product_specs", "crud_pilot_service_list_cell_product_types", "crud_pilot_service_list_channel_agreement_prices", "crud_pilot_service_list_channel_mail_addresses", "crud_pilot_service_list_channel_product_quotas", "crud_pilot_service_list_channel_service_orders", "crud_pilot_service_list_channels", - "crud_pilot_service_list_checkup_institution_invoices", "crud_pilot_service_list_checkup_institution_packages", - "crud_pilot_service_list_checkup_institution_projects", "crud_pilot_service_list_package_items_raw", "crud_pilot_service_list_project_system_items", "crud_pilot_service_list_project_systems", @@ -1293,16 +1362,15 @@ "crud_pilot_service_rollback_purchase_txn_holdings", "crud_pilot_service_rollback_unsubscribe_txn_holdings", "crud_pilot_service_row_to_dict_cell_product_price", + "crud_pilot_service_row_to_dict_cell_product_spec", "crud_pilot_service_row_to_dict_cell_product_type", "crud_pilot_service_row_to_dict_channel", "crud_pilot_service_row_to_dict_channel_account", "crud_pilot_service_row_to_dict_channel_agreement_price", "crud_pilot_service_row_to_dict_channel_mail_address", "crud_pilot_service_row_to_dict_channel_product_quota", - "crud_pilot_service_row_to_dict_checkup_institution_invoice", "crud_pilot_service_row_to_dict_checkup_institution_package", "crud_pilot_service_row_to_dict_checkup_institution_package_item", - "crud_pilot_service_row_to_dict_checkup_institution_project", "crud_pilot_service_row_to_dict_project_system", "crud_pilot_service_row_to_dict_project_system_item", "crud_pilot_service_row_to_dict_service_order_product", @@ -1349,19 +1417,8 @@ "crud_pilot_service_void_channel_agreement", "crud_pilot_service_void_service_order", "crud_pilot_service_void_txn", - "crud_post_bound_user_names_by_post_ids", "crud_post_create_post", - "crud_post_list_posts", - "crud_post_list_role_ids_for_post", - "crud_post_post_code_exists", - "crud_post_py", - "crud_post_rationale_235", - "crud_post_rationale_25", - "crud_post_row_to_dict", "crud_post_sync_post_role_bindings", - "crud_post_total_pages", - "crud_post_update_post", - "crud_post_user_display_name", "crud_process_category_category_code_exists", "crud_process_category_create_process_category", "crud_process_category_get_process_category", @@ -1433,11 +1490,9 @@ "crud_production_material_prep_get_prep_row", "crud_production_material_prep_header_to_dict", "crud_production_material_prep_line_to_dict", - "crud_production_material_prep_list_available_material_batches", "crud_production_material_prep_list_preps", "crud_production_material_prep_parse_prep_lines", "crud_production_material_prep_py", - "crud_production_material_prep_rationale_1296", "crud_production_material_prep_rationale_523", "crud_production_material_prep_rationale_893", "crud_production_material_prep_rationale_948", @@ -1511,7 +1566,6 @@ "crud_production_product_type_soft_delete_production_product_type", "crud_production_product_type_total_pages", "crud_production_product_type_update_production_product_type", - "crud_production_task_copy_task_step", "crud_production_task_update_production_task", "crud_production_work_order_create_production_work_order_from_reception", "crud_qc_inspection_batch_allocate_batch_name", @@ -1527,6 +1581,7 @@ "crud_qc_inspection_batch_is_voided_work_order", "crud_qc_inspection_batch_list_inspection_batches_by_work_order_ids", "crud_qc_inspection_batch_next_batch_no", + "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "crud_qc_inspection_batch_order_source_for_wo", "crud_qc_inspection_batch_py", "crud_qc_inspection_batch_soft_delete_batch", @@ -1535,12 +1590,6 @@ "crud_qc_inspection_batch_sync_batch_third_items", "crud_qc_inspection_batch_unique_ids", "crud_qc_inspection_batch_validate_batch_payload", - "crud_qc_item_param_list_params_by_item", - "crud_qc_item_param_parse_options_list", - "crud_qc_item_param_py", - "crud_qc_item_param_row_to_dict", - "crud_qc_item_param_save_params_for_item", - "crud_qc_item_param_validate_param", "crud_qc_lab_test_item_create_lab_item", "crud_qc_lab_test_item_get_lab_item", "crud_qc_lab_test_item_item_code_exists", @@ -1555,12 +1604,14 @@ "crud_qc_material_create_material", "crud_qc_material_dec", "crud_qc_material_fmt_dt", + "crud_qc_material_get_material", "crud_qc_material_is_enabled_status", "crud_qc_material_list_materials", "crud_qc_material_norm_status", "crud_qc_material_py", "crud_qc_material_rationale_26", "crud_qc_material_row_to_dict", + "crud_qc_material_soft_delete_material", "crud_qc_material_stock_batch_append_batch_qty_adjust", "crud_qc_material_stock_batch_batch_stock_in", "crud_qc_material_stock_batch_batch_stock_out", @@ -1630,6 +1681,7 @@ "crud_qc_third_party_item_soft_delete_item", "crud_qc_third_party_item_update_item", "crud_qc_work_order_apply_item_assignees", + "crud_qc_work_order_configure_temp_qc_work_order", "crud_qc_work_order_get_task_by_source_line_id", "crud_qc_work_order_soft_delete_tasks_by_source_line_ids", "crud_qc_work_order_sync_work_order_lab_items", @@ -1650,7 +1702,6 @@ "crud_reagent_stock_out", "crud_reagent_total_pages", "crud_reagent_update_reagent", - "crud_research_donation_convert_from_storage", "crud_research_donation_submit_audit", "crud_role_append_unique", "crud_role_bound_post_names_by_role_ids", @@ -1695,7 +1746,6 @@ "crud_sample_reception_check_item_soft_delete_check_item", "crud_sample_reception_check_item_update_check_item", "crud_sample_reception_check_result_save_reception_check_results", - "crud_sample_reception_check_result_soft_delete_reception_check_results", "crud_sample_reception_check_result_sync_legacy_columns_from_results", "crud_sample_reception_create_sample_reception", "crud_sample_reception_lab_code_allocate_lab_storage_codes", @@ -1722,7 +1772,16 @@ "crud_site_soft_delete_site", "crud_site_total_pages", "crud_site_update_site", - "crud_storage_facility_clear_slots_by_facility_node", + "crud_sop_document_create_sop_document", + "crud_sop_document_get_sop_document", + "crud_sop_document_list_sop_documents", + "crud_sop_document_py", + "crud_sop_document_rationale_1", + "crud_sop_document_row_to_dict", + "crud_sop_document_soft_delete_sop_document", + "crud_sop_document_sop_code_exists", + "crud_sop_document_total_pages", + "crud_sop_document_update_sop_document", "crud_storage_facility_create_slot", "crud_storage_release_review_create_review_from_reception", "crud_tenant_create_tenant", @@ -1734,8 +1793,6 @@ "crud_tenant_tenant_no_exists", "crud_tenant_total_pages", "crud_tenant_update_tenant", - "crud_workflow_create_process_def", - "crud_workflow_publish_version", "models_cleanroom_garment_bizcleanroomgarment", "models_cleanroom_garment_bizcleanroomgarmentsterilizelog", "models_cleanroom_garment_bizcleanroomgarmentwashlog", @@ -1743,7 +1800,6 @@ "models_cleanroom_garment_rationale_33", "models_cleanroom_garment_rationale_54", "models_cleanroom_garment_rationale_9", - "models_production_material_bizproductionmaterialformula", "models_production_material_bizproductionmaterialprepline", "models_qc_material_bizqcmaterialstockcheck", "models_qc_material_bizqcmaterialstockcheckbatchline", @@ -1765,28 +1821,45 @@ "services_protocol_pay_mode_switch_py", "services_protocol_pay_mode_switch_rationale_1", "services_protocol_pay_mode_switch_rationale_25", - "services_protocol_pay_mode_switch_rationale_47", - "services_protocol_pay_mode_switch_validate_payment_details_for_save", "valueerror" ], "2": [ + "api_admin_attachment_download_url", "api_admin_attachmentdownloadurlbody", "api_admin_deptcreatebody", "api_admin_deptupdatebody", + "api_admin_dict_data_options", "api_admin_dictdatacreatebody", "api_admin_dictdataupdatebody", "api_admin_dicttypecreatebody", "api_admin_dicttypeupdatebody", "api_admin_expresscompanycreatebody", "api_admin_expresscompanyupdatebody", + "api_admin_format_file_size", + "api_admin_get_tenant_no", "api_admin_itemunitcreatebody", "api_admin_itemunitupdatebody", + "api_admin_list_depts", + "api_admin_list_dict_data", + "api_admin_list_dict_types", + "api_admin_list_express_companies", + "api_admin_list_menus", + "api_admin_list_post_bound_roles", + "api_admin_list_post_bound_users", + "api_admin_list_posts", + "api_admin_list_role_management", + "api_admin_list_roles_for_designer", + "api_admin_list_roles_for_select", + "api_admin_list_sites", + "api_admin_list_users", + "api_admin_list_users_for_select", "api_admin_menucreatebody", "api_admin_menuupdatebody", "api_admin_postcreatebody", "api_admin_postrolesupdatebody", "api_admin_postupdatebody", "api_admin_postusersupdatebody", + "api_admin_py", "api_admin_rationale_107", "api_admin_rationale_1640", "api_admin_rationale_48", @@ -1799,27 +1872,11 @@ "api_admin_siteupdatebody", "api_admin_tenantcreatebody", "api_admin_tenantupdatebody", + "api_admin_update_post_bound_roles", + "api_admin_update_post_bound_users", + "api_admin_upload_attachment", "api_admin_usercreatebody", "api_admin_userupdatebody", - "api_basic_info_cellsampletypecreatebody", - "api_basic_info_cellsampletypeupdatebody", - "api_basic_info_collectionregioncreatebody", - "api_basic_info_collectionregionupdatebody", - "api_basic_info_customercreatebody", - "api_basic_info_customerupdatebody", - "api_basic_info_hospitalcreatebody", - "api_basic_info_hospitalupdatebody", - "api_basic_info_protocolnobatchgeneratebody", - "api_basic_info_protocolnobatchissuebody", - "api_basic_info_protocolnobatchrevokebody", - "api_basic_info_protocolnocreatebody", - "api_basic_info_protocolnoupdatebody", - "api_basic_info_rationale_1", - "api_basic_info_samplecodebatchgeneratebody", - "api_basic_info_samplecodebatchissuebody", - "api_basic_info_samplecodebatchrevokebody", - "api_basic_info_samplecodecreatebody", - "api_basic_info_samplecodeupdatebody", "api_cleanroom_garment_garmentbatchdeletebody", "api_cleanroom_garment_garmentbatchdiscardbody", "api_cleanroom_garment_garmentcreatebody", @@ -1839,18 +1896,6 @@ "api_clinical_payment_paymentidbody", "api_clinical_payment_submitreceiptbody", "api_clinical_payment_submitrefundbody", - "api_collection_protocol_auditcreatebody", - "api_collection_protocol_batchdetailidsbody", - "api_collection_protocol_batchrefundfinancesubmitbody", - "api_collection_protocol_financeconfirmbody", - "api_collection_protocol_fullmoontodoinsurancebody", - "api_collection_protocol_invoicerequestcompletebody", - "api_collection_protocol_invoicerequestcreatebody", - "api_collection_protocol_paymentdetaildraftbody", - "api_collection_protocol_protocolcreatebody", - "api_collection_protocol_protocolupdatebody", - "api_collection_protocol_refundfinanceconfirmbody", - "api_collection_protocol_refundfinancesubmitbody", "api_env_detect_envdetectitembody", "api_env_detect_envdetectitemupdatebody", "api_env_detect_envdetectrecordbody", @@ -1983,16 +2028,6 @@ "api_pilot_service_txnrefundbody", "api_pilot_service_txnunsubscribebody", "api_pilot_service_txnupdatebody", - "api_production_batchstockinbody", - "api_production_batchstockinitem", - "api_production_batchstockoutbody", - "api_production_batchstockoutitem", - "api_production_consumablecreatebody", - "api_production_consumablepackcreatebody", - "api_production_consumablepackupdatebody", - "api_production_consumableupdatebody", - "api_production_equipmentcreatebody", - "api_production_equipmentupdatebody", "api_production_material_availablematerialbatch", "api_production_material_batchdiscardbody", "api_production_material_batchdiscarditem", @@ -2014,30 +2049,6 @@ "api_production_material_stockcheckunusedlineitem", "api_production_material_stockcheckunusedlinesbody", "api_production_material_stockinbody", - "api_production_outputtypecreatebody", - "api_production_outputtypeupdatebody", - "api_production_packiteminput", - "api_production_processcategorycreatebody", - "api_production_processcategoryupdatebody", - "api_production_processconsumableinput", - "api_production_processcreatebody", - "api_production_processdatacollectioninput", - "api_production_processoutputinput", - "api_production_processreagentinput", - "api_production_processupdatebody", - "api_production_productionproducttypecreatebody", - "api_production_productionproducttypeupdatebody", - "api_production_rationale_1", - "api_production_rationale_2284", - "api_production_rationale_2681", - "api_production_rationale_2721", - "api_production_rationale_2737", - "api_production_reagentcreatebody", - "api_production_reagentupdatebody", - "api_production_sopdocumentcreatebody", - "api_production_sopdocumentupdatebody", - "api_production_stockinbody", - "api_production_stockoutbody", "api_public_rationale_1", "api_public_rationale_251", "api_public_rationale_270", @@ -2090,12 +2101,12 @@ "api_research_donation_convertfromstoragebody", "api_research_donation_donationcreatebody", "api_research_donation_donationupdatebody", + "api_research_donation_rationale_1", "api_research_donation_statuschangebody", "api_sample_production_reception_productionreceptionbody", "api_sample_reception_allocatelabstoragecodesbody", "api_sample_reception_checkitembody", "api_sample_reception_checkitemupdatebody", - "api_sample_reception_rationale_272", "api_sample_reception_receptionchecksubmit", "api_sample_reception_samplereceptioncreatebody", "api_sample_reception_samplereceptionupdatebody", @@ -2108,23 +2119,44 @@ "api_workflow_startinstancebody", "api_workflow_taskactionbody", "basemodel", + "core_data_scope_get_child_dept_ids", + "core_data_scope_get_user_dept_id", + "core_data_scope_py", "core_data_scope_rationale_1", "core_data_scope_rationale_114", "core_data_scope_rationale_27", "core_data_scope_rationale_37", "core_data_scope_rationale_64", + "core_data_scope_resolve_user_role_scopes", "core_response_config", "core_response_pageresult", "core_response_py", "core_response_responsemodel", - "crud_collection_protocol_no_rationale_34", + "crud_post_bound_user_names_by_post_ids", + "crud_post_get_post", + "crud_post_list_posts", + "crud_post_list_role_ids_for_post", + "crud_post_post_code_exists", + "crud_post_py", + "crud_post_rationale_25", + "crud_post_row_to_dict", + "crud_post_soft_delete_post", + "crud_post_total_pages", + "crud_post_update_post", + "crud_post_user_display_name", + "crud_qc_material_amount_auth_assert_user_in_auth_dept", + "crud_qc_material_amount_auth_get_amount_view_role", + "crud_qc_material_amount_auth_get_auth_dept_id", + "crud_qc_material_amount_auth_grant_amount_view_role", + "crud_qc_material_amount_auth_list_authorized_users", + "crud_qc_material_amount_auth_py", "crud_qc_material_amount_auth_rationale_1", "crud_qc_material_amount_auth_rationale_159", "crud_qc_material_amount_auth_rationale_207", + "crud_qc_material_amount_auth_revoke_amount_view_role", + "crud_qc_material_amount_auth_row_to_dict", + "crud_qc_material_amount_auth_user_has_role_binding", "models_models_bizattachment", - "models_models_bizcollectionprotocolno", - "models_models_bizcustomer", - "models_models_bizsamplecode", "models_models_sysdept", "models_models_sysrole", "models_models_sysuser", @@ -2161,8 +2193,6 @@ "schemas_category_parameter_rationale_1", "schemas_category_parameter_rationale_19", "schemas_category_py", - "schemas_cell_product_cellproductcreate", - "schemas_cell_product_cellproductupdate", "schemas_common_deleteinput", "schemas_common_idinput", "schemas_common_paginationparams", @@ -2299,23 +2329,10 @@ "schemas_price_list_productpriceresponse", "schemas_price_list_py", "schemas_price_list_rationale_1", - "schemas_process_route_processroutecreatebody", - "schemas_process_route_processrouteupdatebody", - "schemas_process_route_py", - "schemas_process_route_rationale_1", - "schemas_process_route_setcurrentbody", - "schemas_process_route_stepaddbody", "schemas_process_route_stepconsumableitem", - "schemas_process_route_stepconsumableupdatebody", - "schemas_process_route_stepcopybody", "schemas_process_route_stepdatacollectionitem", - "schemas_process_route_stepdatacollectionupdatebody", "schemas_process_route_stepoutputitem", - "schemas_process_route_stepoutputupdatebody", "schemas_process_route_stepreagentitem", - "schemas_process_route_stepreagentupdatebody", - "schemas_process_route_stepreorderbody", - "schemas_process_route_stepupdatebody", "schemas_product_banner_productbannerbase", "schemas_product_banner_productbannercreate", "schemas_product_banner_productbannercreatebatch", @@ -2326,6 +2343,7 @@ "schemas_product_banner_productbannerupdate", "schemas_product_banner_py", "schemas_product_banner_rationale_1", + "schemas_product_config", "schemas_product_detail_media_productdetailmediabase", "schemas_product_detail_media_productdetailmediacreate", "schemas_product_detail_media_productdetailmediacreatebatch", @@ -2355,6 +2373,18 @@ "schemas_product_parameter_value_productparametervaluewithparameterresponse", "schemas_product_parameter_value_py", "schemas_product_parameter_value_rationale_1", + "schemas_product_productbase", + "schemas_product_productcategorybase", + "schemas_product_productcategorycreate", + "schemas_product_productcategoryresponse", + "schemas_product_productcreate", + "schemas_product_productresponse", + "schemas_product_productunitbase", + "schemas_product_productunitcreate", + "schemas_product_productunitresponse", + "schemas_product_productupdate", + "schemas_product_py", + "schemas_product_rationale_1", "schemas_product_review_config", "schemas_product_review_media_config", "schemas_product_review_media_productreviewmediabase", @@ -2379,33 +2409,9 @@ "schemas_product_review_productreviewupdate", "schemas_product_review_py", "schemas_product_review_rationale_1", - "schemas_production_task_productiontaskassigneeupdate", - "schemas_production_task_productiontaskcreate", - "schemas_production_task_productiontaskforwardbody", - "schemas_production_task_productiontasklistbyworkordersbody", "schemas_production_task_productiontasklistquery", - "schemas_production_task_productiontaskstatusupdate", - "schemas_production_task_productiontaskstepdispatchbody", "schemas_production_task_productiontaskstepdispatchitem", - "schemas_production_task_productiontaskupdate", - "schemas_production_task_py", - "schemas_production_task_rationale_39", - "schemas_production_task_spawntemporaryworkorderbody", - "schemas_production_task_taskinputitem", - "schemas_production_task_taskoutputitem", - "schemas_production_task_taskstepadd", - "schemas_production_task_taskstepdatacollectionitem", - "schemas_production_task_taskstepmaterialitem", - "schemas_production_task_taskstepoutputitem", - "schemas_production_task_taskstepreorderbody", - "schemas_production_task_taskstepupdate", "schemas_production_work_order_productionworkorderbase", - "schemas_production_work_order_productionworkordercomplete", - "schemas_production_work_order_productionworkorderconfigurebody", - "schemas_production_work_order_productionworkordercreate", - "schemas_production_work_order_productionworkorderlistquery", - "schemas_production_work_order_productionworkorderupdate", - "schemas_production_work_order_py", "schemas_qc_task_py", "schemas_qc_task_qctaskcreatebody", "schemas_qc_work_order_outboundqcdetailapplication", @@ -2414,7 +2420,6 @@ "schemas_qc_work_order_outboundqcdetailpatient", "schemas_qc_work_order_outboundqcdetailproduct", "schemas_qc_work_order_outboundqcdetailresponse", - "schemas_qc_work_order_productionqcworkordercreatebody", "schemas_qc_work_order_py", "schemas_qc_work_order_qcworkordercreatebody", "schemas_qc_work_order_qcworkorderupdatebody", @@ -2483,53 +2488,23 @@ "schemas_workflow_startinstancerequest", "schemas_workflow_taskresponse", "schemas_workflow_transitiondata", - "schemas_workflow_versionresponse", - "services_workflow_engine_workflowengine", - "services_workflow_engine_workflowengine_init" + "schemas_workflow_versionresponse" ], "3": [ - "api_collection_protocol_rationale_1", - "api_collection_protocol_rationale_273", - "api_collection_protocol_rationale_49", - "api_collection_protocol_rationale_83", + "api_insurance_company_rationale_1", "base", - "crud_cell_product_rationale_1", - "crud_cell_product_rationale_1169", - "crud_cell_product_rationale_1448", - "crud_cell_product_rationale_40", - "crud_cell_product_rationale_581", - "crud_cell_product_rationale_597", - "crud_cell_product_rationale_631", - "crud_cell_product_rationale_648", - "crud_cell_product_rationale_695", - "crud_cell_product_rationale_706", - "crud_cell_product_rationale_776", - "crud_cell_product_rationale_919", "crud_clinical_payment_rationale_143", "crud_clinical_payment_rationale_173", "crud_clinical_payment_rationale_74", - "crud_collection_protocol_rationale_1", - "crud_collection_protocol_rationale_109", - "crud_collection_protocol_rationale_145", - "crud_collection_protocol_rationale_1514", - "crud_collection_protocol_rationale_199", - "crud_collection_protocol_rationale_218", - "crud_collection_protocol_rationale_2188", - "crud_collection_protocol_rationale_229", - "crud_collection_protocol_rationale_240", - "crud_collection_protocol_rationale_2594", - "crud_collection_protocol_rationale_3033", - "crud_collection_protocol_rationale_304", - "crud_collection_protocol_rationale_3330", - "crud_collection_protocol_rationale_589", - "crud_collection_protocol_rationale_636", - "crud_collection_protocol_rationale_75", + "crud_material_rationale_377", + "crud_material_rationale_444", + "crud_material_rationale_473", "crud_material_stock_check_rationale_362", "crud_oa_approval_rationale_1", "crud_oa_approval_rationale_356", "crud_oa_approval_rationale_373", "crud_oa_instance_draft_rationale_1", - "crud_oa_instance_draft_rationale_329", + "crud_oa_instance_draft_rationale_341", "crud_outbound_handover_inventory_rationale_1", "crud_outbound_handover_inventory_rationale_170", "crud_outbound_handover_inventory_rationale_215", @@ -2565,14 +2540,10 @@ "crud_pilot_delivery_rationale_359", "crud_pilot_delivery_rationale_542", "crud_pilot_delivery_rationale_643", + "crud_pilot_infusion_confirm_rationale_113", "crud_pilot_infusion_schedule_mgmt_rationale_1", "crud_pilot_infusion_schedule_mgmt_rationale_157", "crud_pilot_infusion_schedule_mgmt_rationale_715", - "crud_pilot_outbound_status_sync_rationale_1", - "crud_pilot_outbound_status_sync_rationale_131", - "crud_pilot_outbound_status_sync_rationale_174", - "crud_pilot_outbound_status_sync_rationale_64", - "crud_pilot_outbound_status_sync_rationale_96", "crud_pilot_service_rationale_1", "crud_pilot_service_rationale_1326", "crud_pilot_service_rationale_2397", @@ -2599,12 +2570,14 @@ "crud_pilot_service_rationale_4088", "crud_pilot_service_rationale_4185", "crud_pilot_service_rationale_4300", - "crud_pre_transit_sample_rationale_1", + "crud_post_rationale_235", "crud_process_rationale_1", "crud_process_rationale_277", "crud_process_route_rationale_1", "crud_process_route_rationale_472", "crud_production_material_stock_check_rationale_367", + "crud_production_material_usage_rationale_773", + "crud_production_material_usage_rationale_878", "crud_production_task_rationale_1", "crud_production_task_rationale_1117", "crud_production_task_rationale_129", @@ -2635,21 +2608,20 @@ "crud_production_work_order_rationale_902", "crud_production_work_order_rationale_950", "crud_production_work_order_rationale_97", - "crud_protocol_donation_convert_rationale_1", - "crud_protocol_donation_convert_rationale_132", - "crud_protocol_donation_convert_rationale_198", - "crud_protocol_donation_convert_rationale_35", - "crud_protocol_sample_collection_rationale_1", "crud_qc_inspection_batch_rationale_684", "crud_qc_inspection_batch_rationale_902", - "crud_qc_sms_notification_rationale_32", - "crud_qc_task_rationale_1018", - "crud_qc_task_rationale_180", - "crud_qc_task_rationale_709", - "crud_qc_task_rationale_767", - "crud_qc_task_rationale_791", - "crud_qc_task_rationale_924", - "crud_qc_task_rationale_986", + "crud_qc_material_usage_rationale_181", + "crud_qc_material_usage_rationale_19", + "crud_qc_material_usage_rationale_222", + "crud_qc_material_usage_rationale_408", + "crud_qc_material_usage_rationale_41", + "crud_qc_material_usage_rationale_431", + "crud_qc_material_usage_rationale_488", + "crud_qc_material_usage_rationale_537", + "crud_qc_material_usage_rationale_607", + "crud_qc_material_usage_rationale_774", + "crud_qc_material_usage_rationale_874", + "crud_qc_material_usage_rationale_959", "crud_qc_task_result_rationale_103", "crud_qc_task_result_rationale_128", "crud_qc_task_result_rationale_43", @@ -2689,54 +2661,15 @@ "crud_qc_work_order_rationale_524", "crud_qc_work_order_rationale_567", "crud_qc_work_order_rationale_847", - "crud_research_donation_rationale_1", - "crud_research_donation_rationale_1237", - "crud_research_donation_rationale_1630", - "crud_research_donation_rationale_178", - "crud_research_donation_rationale_189", - "crud_research_donation_rationale_1978", - "crud_research_donation_rationale_205", - "crud_research_donation_rationale_74", - "crud_research_donation_rationale_91", - "crud_research_donation_rationale_913", - "crud_research_donation_rationale_987", - "crud_research_donation_sample_collection_rationale_1", "crud_role_rationale_1", "crud_role_rationale_47", - "crud_sample_reception_check_result_rationale_108", - "crud_sample_reception_check_result_rationale_133", - "crud_sample_reception_check_result_rationale_171", - "crud_sample_reception_rationale_1018", - "crud_sample_reception_rationale_1046", - "crud_sample_reception_rationale_1205", - "crud_sample_reception_rationale_122", - "crud_sample_reception_rationale_1252", - "crud_sample_reception_rationale_1293", - "crud_sample_reception_rationale_1349", - "crud_sample_reception_rationale_1373", - "crud_sample_reception_rationale_1398", - "crud_sample_reception_rationale_1419", - "crud_sample_reception_rationale_1443", - "crud_sample_reception_rationale_1468", - "crud_sample_reception_rationale_156", - "crud_sample_reception_rationale_200", - "crud_sample_reception_rationale_312", - "crud_sample_reception_rationale_43", - "crud_sample_reception_rationale_88", - "crud_storage_entry_sms_notification_rationale_185", - "crud_storage_release_review_rationale_131", - "crud_storage_release_review_rationale_139", - "crud_storage_release_review_rationale_153", - "crud_storage_release_review_rationale_165", - "crud_storage_release_review_rationale_171", - "crud_storage_release_review_rationale_181", - "crud_storage_release_review_rationale_202", - "crud_storage_release_review_rationale_223", - "crud_storage_release_review_rationale_264", - "crud_storage_release_review_rationale_293", - "crud_storage_release_review_rationale_809", - "crud_storage_release_review_rationale_829", - "crud_storage_release_review_rationale_998", + "crud_storage_occupancy_rationale_1", + "crud_storage_occupancy_rationale_178", + "crud_storage_occupancy_rationale_200", + "crud_storage_occupancy_rationale_285", + "crud_storage_occupancy_rationale_330", + "crud_storage_occupancy_rationale_43", + "crud_storage_occupancy_rationale_472", "crud_workflow_rationale_1", "models_clinical_payment_bizpilotpayment", "models_clinical_payment_py", @@ -2756,7 +2689,6 @@ "models_models_bizcellproductprojectsystemitem", "models_models_bizcellproductspec", "models_models_bizcellproducttype", - "models_models_bizcellsampletype", "models_models_bizchannel", "models_models_bizchannelaccount", "models_models_bizchannelagreement", @@ -2772,9 +2704,6 @@ "models_models_bizcheckupinstitutionpackage", "models_models_bizcheckupinstitutionpackageitem", "models_models_bizcheckupinstitutionproject", - "models_models_bizcollectionhospital", - "models_models_bizcollectionprotocol", - "models_models_bizcollectionregion", "models_models_bizconsumable", "models_models_bizconsumablepack", "models_models_bizconsumablepackitem", @@ -2782,11 +2711,9 @@ "models_models_bizenvdetectitem", "models_models_bizenvdetectrecord", "models_models_bizequipment", - "models_models_bizexpresscompany", "models_models_bizinsurancecompany", "models_models_bizinsurancecompanyinvoice", "models_models_bizinsuranceprojectprice", - "models_models_bizitemunit", "models_models_bizleaverequest", "models_models_bizoutboundhandover", "models_models_bizoutboundreleasecell", @@ -2832,17 +2759,6 @@ "models_models_bizproductiontaskstepoutput", "models_models_bizproductiontaskstepreagent", "models_models_bizproductionworkorder", - "models_models_bizprotocolaudit", - "models_models_bizprotocolcollectioninfo", - "models_models_bizprotocolfullmoontodo", - "models_models_bizprotocolinvoicerequest", - "models_models_bizprotocolinvoicerequestitem", - "models_models_bizprotocolpartycustomer", - "models_models_bizprotocolpayment", - "models_models_bizprotocolpaymentdetail", - "models_models_bizprotocolsample", - "models_models_bizprotocolsampletransport", - "models_models_bizprotocolstoragecert", "models_models_bizqcbatchassignee", "models_models_bizqclabtestitem", "models_models_bizqcsmsnotification", @@ -2850,20 +2766,16 @@ "models_models_bizqctaskassignee", "models_models_bizqcthirdpartycompany", "models_models_bizqcthirdpartyitem", - "models_models_bizqcworkorder", "models_models_bizqcworkorderinspectionbatch", "models_models_bizqcworkorderlabitem", "models_models_bizqcworkorderthirditem", "models_models_bizreagent", "models_models_bizreagentstocklog", "models_models_bizsampleproductionreception", - "models_models_bizsamplereception", "models_models_bizsamplereceptioncheckitem", - "models_models_bizsamplereceptioncheckresult", "models_models_bizsamplesmsnotification", "models_models_bizsopdocument", "models_models_bizstorageentrysmsnotification", - "models_models_bizstoragereleasereview", "models_models_bizstorageslotoccupancy", "models_models_oaapp", "models_models_oaappgroup", @@ -3014,7 +2926,6 @@ "models_models_syspostrole", "models_models_sysroledatascopedetail", "models_models_sysrolemenu", - "models_models_syssite", "models_models_systenant", "models_models_sysuserpost", "models_models_sysuserrole", @@ -3026,6 +2937,7 @@ "models_models_wftask", "models_models_wftransition", "models_production_material_bizproductionmaterial", + "models_production_material_bizproductionmaterialformula", "models_production_material_bizproductionmaterialstockbatch", "models_production_material_bizproductionmaterialstockcheck", "models_production_material_bizproductionmaterialstockcheckbatchline", @@ -3038,19 +2950,6 @@ "models_qc_param_bizqcitemparam", "models_qc_param_bizqctaskresult", "models_qc_param_py", - "models_research_donation_bizresearchdonation", - "models_research_donation_bizresearchdonationaudit", - "models_research_donation_bizresearchdonationcollection", - "models_research_donation_bizresearchdonationparty", - "models_research_donation_bizresearchdonationsample", - "models_research_donation_bizresearchdonationsampletransport", - "models_research_donation_py", - "models_research_donation_rationale_10", - "models_research_donation_rationale_108", - "models_research_donation_rationale_132", - "models_research_donation_rationale_163", - "models_research_donation_rationale_47", - "models_research_donation_rationale_68", "services_oa_assignee_assigneeresolveerror", "services_oa_engine_rationale_104", "services_oa_engine_rationale_1106", @@ -3064,11 +2963,11 @@ "services_oa_engine_rationale_1953", "services_oa_engine_rationale_197", "services_oa_engine_rationale_210", - "services_oa_engine_rationale_2105", - "services_oa_engine_rationale_2299", - "services_oa_engine_rationale_2415", - "services_oa_engine_rationale_2525", - "services_oa_engine_rationale_2607", + "services_oa_engine_rationale_2119", + "services_oa_engine_rationale_2313", + "services_oa_engine_rationale_2429", + "services_oa_engine_rationale_2539", + "services_oa_engine_rationale_2621", "services_oa_engine_rationale_267", "services_oa_engine_rationale_310", "services_oa_engine_rationale_398", @@ -3078,11 +2977,11 @@ "services_oa_engine_rationale_580", "services_oa_engine_rationale_598", "services_oa_engine_rationale_618", - "services_protocol_sample_list_summary_rationale_1", - "services_protocol_sample_list_summary_rationale_24", - "services_protocol_sample_list_summary_rationale_53", - "services_protocol_sample_list_summary_rationale_86", - "services_qc_work_order_fee_summary_rationale_1", + "services_oa_related_approval_rationale_1", + "services_oa_related_approval_rationale_172", + "services_oa_related_approval_rationale_207", + "services_oa_related_approval_rationale_41", + "services_oa_related_approval_rationale_73", "services_web_auth_roles_rationale_1", "services_web_auth_roles_rationale_115", "services_web_auth_roles_rationale_144", @@ -3100,53 +2999,9 @@ ], "4": [ "api_basic_info_normalize_date_bound", - "api_collection_protocol_complete_protocol_invoice_request", - "api_collection_protocol_create_collection_protocol", - "api_collection_protocol_delete_collection_protocol", - "api_collection_protocol_draft_fields_from_body", - "api_collection_protocol_ensure_customer_for_mother", - "api_collection_protocol_get_collection_protocol_detail", - "api_collection_protocol_get_current_user_id", - "api_collection_protocol_get_invoice_eligible_payments", - "api_collection_protocol_get_protocol_invoice_requests", - "api_collection_protocol_get_tenant_no", - "api_collection_protocol_list_collection_protocol_audits", - "api_collection_protocol_list_collection_protocols", - "api_collection_protocol_list_fullmoon_todos", - "api_collection_protocol_list_payment_details", - "api_collection_protocol_list_protocol_invoice_requests_api", - "api_collection_protocol_list_receipt_confirm", - "api_collection_protocol_list_receipt_confirmed", - "api_collection_protocol_list_refund_confirm", - "api_collection_protocol_list_refund_confirmed", - "api_collection_protocol_list_storage_certs", - "api_collection_protocol_persist_protocol_sub_resources", - "api_collection_protocol_post_protocol_invoice_request", - "api_collection_protocol_post_submit_receipt_finance", - "api_collection_protocol_protocol_accessible", - "api_collection_protocol_protocol_invoice_pending_count", - "api_collection_protocol_put_payment_detail_draft", - "api_collection_protocol_py", - "api_collection_protocol_resolve_consent_form_urls", - "api_collection_protocol_resolve_health_survey_form_urls", - "api_collection_protocol_resolve_protocol_attachments", - "api_collection_protocol_update_collection_protocol", - "api_collection_protocol_update_fullmoon_todo_insurance", - "api_research_donation_batch_delete_research_donations", - "api_research_donation_change_donation_status", - "api_research_donation_convert_from_storage", - "api_research_donation_convert_to_storage", - "api_research_donation_create_research_donation", - "api_research_donation_delete_research_donation", - "api_research_donation_get_current_user_id", - "api_research_donation_get_research_donation_detail", - "api_research_donation_get_tenant_no", - "api_research_donation_list_research_donation_audits", - "api_research_donation_list_research_donations", - "api_research_donation_next_research_donation_sample_code", - "api_research_donation_py", - "api_research_donation_rationale_1", - "api_research_donation_update_research_donation", + "api_ethnic_list_ethnics_for_select", + "api_ethnic_py", + "core_data_scope_apply_data_scope", "core_utils_format_date", "core_utils_format_datetime", "core_utils_generate_random_password", @@ -3156,21 +3011,26 @@ "core_utils_parse_date", "core_utils_py", "core_utils_rationale_71", - "crud_biz_no_generator_allocate_next_biz_no", - "crud_biz_no_generator_format_biz_no", - "crud_biz_no_generator_prefix_for", - "crud_biz_no_generator_py", - "crud_biz_no_generator_rationale_1", - "crud_biz_no_generator_rationale_35", + "crud_api_request_log_apirequestlogcrud", + "crud_api_request_log_delete", + "crud_api_request_log_get", + "crud_api_request_log_get_multi_with_filters", + "crud_api_request_log_py", + "crud_base_camel_to_snake", + "crud_base_crudbase_count", + "crud_base_get_model_attr", + "crud_base_historycrud", + "crud_base_historycrud_create_history", + "crud_base_py", "crud_collection_protocol_active_invoiced_payment_detail_ids", "crud_collection_protocol_add_months_yyyymmdd", "crud_collection_protocol_align_fq_payment_details_payload", - "crud_collection_protocol_apply_payment_detail_draft_fields", "crud_collection_protocol_apply_payment_detail_list_filters", "crud_collection_protocol_apply_submit_receipt_finance", - "crud_collection_protocol_attachments_to_urls", + "crud_collection_protocol_apply_submit_refund_finance", "crud_collection_protocol_audit_to_dict", "crud_collection_protocol_batch_submit_receipt_finance", + "crud_collection_protocol_batch_submit_refund_finance", "crud_collection_protocol_build_installment_summary", "crud_collection_protocol_calc_installment_due_amounts", "crud_collection_protocol_classify_installment_warning", @@ -3180,8 +3040,8 @@ "crud_collection_protocol_complete_invoice_request", "crud_collection_protocol_confirm_receipt", "crud_collection_protocol_confirm_refund", - "crud_collection_protocol_create_audit", - "crud_collection_protocol_create_collection_protocol", + "crud_collection_protocol_count_pending_protocol_invoice_requests", + "crud_collection_protocol_create_invoice_request", "crud_collection_protocol_dec", "crud_collection_protocol_detail_query_with_protocol", "crud_collection_protocol_detail_to_dict", @@ -3199,16 +3059,18 @@ "crud_collection_protocol_get_payment_by_protocol_id", "crud_collection_protocol_get_payment_detail_or_raise", "crud_collection_protocol_get_protocol_detail_bundle", - "crud_collection_protocol_get_sample_codes_used_in_protocol_samples", "crud_collection_protocol_get_storage_cert", "crud_collection_protocol_invoice_request_item_to_dict", + "crud_collection_protocol_invoice_request_list_query", "crud_collection_protocol_invoice_request_to_dict", + "crud_collection_protocol_list_audits", "crud_collection_protocol_list_collection_protocols", "crud_collection_protocol_list_installment_warning", "crud_collection_protocol_list_invoice_eligible_payment_details", "crud_collection_protocol_list_invoice_requests_by_protocol", "crud_collection_protocol_list_payment_details", "crud_collection_protocol_list_payment_details_page", + "crud_collection_protocol_list_protocol_invoice_requests", "crud_collection_protocol_list_receipt_confirm_details", "crud_collection_protocol_list_receipt_confirmed_details", "crud_collection_protocol_list_refund_confirm_details", @@ -3222,14 +3084,12 @@ "crud_collection_protocol_load_site_name_map", "crud_collection_protocol_load_unit_name_map", "crud_collection_protocol_lookup_attachment_by_url", - "crud_collection_protocol_migrate_sample_child_refs_on_replace", "crud_collection_protocol_normalize_attachment_url_key", "crud_collection_protocol_normalize_date_bound", "crud_collection_protocol_normalize_fields", "crud_collection_protocol_normalize_yyyymmdd_date", "crud_collection_protocol_optional_decimal", "crud_collection_protocol_pack_invoice_request_with_items", - "crud_collection_protocol_parse_transfer_time_value", "crud_collection_protocol_party_customer_map_by_protocol_ids", "crud_collection_protocol_party_customer_to_dict", "crud_collection_protocol_payment_detail_compare_from_model", @@ -3246,212 +3106,32 @@ "crud_collection_protocol_rows_to_payment_detail_dicts", "crud_collection_protocol_sample_to_dict", "crud_collection_protocol_save_payment_details", - "crud_collection_protocol_save_sample_transports", - "crud_collection_protocol_save_samples", "crud_collection_protocol_soft_delete_collection_protocol", "crud_collection_protocol_soft_delete_transports_for_protocol", "crud_collection_protocol_storage_cert_to_dict", "crud_collection_protocol_storage_in_date_to_yyyymmdd", "crud_collection_protocol_submit_receipt_finance", + "crud_collection_protocol_submit_refund_finance", "crud_collection_protocol_today_yyyymmdd", "crud_collection_protocol_total_pages", "crud_collection_protocol_transport_to_dict", "crud_collection_protocol_update_collection_protocol", - "crud_collection_protocol_update_payment_detail_draft", "crud_collection_protocol_upsert_collection_info", - "crud_collection_protocol_upsert_fullmoon_todo", "crud_collection_protocol_upsert_party_customer", "crud_collection_protocol_upsert_payment", "crud_collection_protocol_upsert_storage_cert", "crud_collection_protocol_user_nick_name_map", "crud_collection_protocol_validate_receipt_finance_submit_ready", - "crud_collection_protocol_validate_sample_codes_not_used", "crud_collection_protocol_yyyymmdd_from_date_param", - "crud_customer_get_customer", - "crud_customer_id_card_taken", - "crud_customer_list_customers", - "crud_customer_normalize_date_bound", - "crud_customer_py", - "crud_customer_rationale_1", - "crud_customer_row_to_dict", - "crud_customer_soft_delete_customer", - "crud_customer_total_pages", - "crud_customer_update_customer", - "crud_dict_data_create_dict_data", - "crud_dict_data_get_dict_data", - "crud_dict_data_is_dict_value_valid", - "crud_dict_data_list_dict_data", - "crud_dict_data_list_dict_data_options", - "crud_dict_data_normalize_transfer_type", - "crud_dict_data_normalize_void_type", - "crud_dict_data_py", - "crud_dict_data_rationale_1", - "crud_dict_data_row_to_dict", - "crud_dict_data_soft_delete_dict_data", - "crud_dict_data_total_pages", - "crud_dict_data_update_dict_data", - "crud_inbound_sample_special_py", - "crud_inbound_sample_special_rationale_1", - "crud_inbound_sample_special_update_inbound_sample_special_mark", - "crud_pre_transit_sample_apply_collection_keyword", - "crud_pre_transit_sample_apply_collection_sample_collect_time_filter", - "crud_pre_transit_sample_apply_create_time_filter", - "crud_pre_transit_sample_apply_donation_keyword", - "crud_pre_transit_sample_apply_donation_sample_collect_time_filter", - "crud_pre_transit_sample_build_sample_items", - "crud_pre_transit_sample_cell_received_exists", - "crud_pre_transit_sample_donation_received_exists", - "crud_pre_transit_sample_earliest_eta", - "crud_pre_transit_sample_hydrate_collection_rows", - "crud_pre_transit_sample_hydrate_donation_rows", - "crud_pre_transit_sample_is_in_transit_sample", - "crud_pre_transit_sample_is_uncollected_status", - "crud_pre_transit_sample_list_in_transit_collection_ids", - "crud_pre_transit_sample_list_in_transit_donation_ids", - "crud_pre_transit_sample_list_in_transit_protocols", - "crud_pre_transit_sample_list_pre_delivery_collection_ids", - "crud_pre_transit_sample_list_pre_delivery_donation_ids", - "crud_pre_transit_sample_list_pre_delivery_protocols", - "crud_pre_transit_sample_py", - "crud_pre_transit_sample_sort_key_in_transit", - "crud_pre_transit_sample_sort_key_pre_delivery", - "crud_pre_transit_sample_summarize_in_transit_items", - "crud_pre_transit_sample_summarize_pre_delivery", - "crud_protocol_donation_convert_active_link_query", - "crud_protocol_donation_convert_assert_biz_no_available", - "crud_protocol_donation_convert_create_convert_link", - "crud_protocol_donation_convert_get_convert_partner", - "crud_protocol_donation_convert_get_partner_sample_codes", - "crud_protocol_donation_convert_has_active_convert_link", - "crud_protocol_donation_convert_py", - "crud_protocol_donation_convert_rationale_273", - "crud_protocol_donation_convert_rationale_84", - "crud_protocol_donation_convert_upsert_convert_link_for_to_storage", - "crud_qc_work_order_enrich_protocol_sibling_samples", - "crud_qc_work_order_load_sample_type_name_map", - "crud_qc_work_order_protocol_group_key_for_item", - "crud_research_donation_audit_to_dict", - "crud_research_donation_batch_delete_donations", - "crud_research_donation_change_status", - "crud_research_donation_collection_to_dict", - "crud_research_donation_convert_to_storage", - "crud_research_donation_create_collection", - "crud_research_donation_create_donation", - "crud_research_donation_create_party", - "crud_research_donation_create_samples", - "crud_research_donation_create_transport", - "crud_research_donation_dec", - "crud_research_donation_delete_donation", - "crud_research_donation_donation_sample_code_seq", - "crud_research_donation_donation_to_dict", - "crud_research_donation_fmt_dt", - "crud_research_donation_get_collection", - "crud_research_donation_get_donation_detail", - "crud_research_donation_get_party", - "crud_research_donation_list_audits", - "crud_research_donation_list_donations", - "crud_research_donation_list_sample_transports", - "crud_research_donation_list_samples", - "crud_research_donation_load_unit_name_map", - "crud_research_donation_merge_comma_separated_urls", - "crud_research_donation_migrate_donation_sample_child_refs_on_replace", - "crud_research_donation_next_donation_sample_code", - "crud_research_donation_normalize_date_bound", - "crud_research_donation_normalize_fields", - "crud_research_donation_optional_decimal", - "crud_research_donation_party_to_dict", - "crud_research_donation_py", - "crud_research_donation_resolve_donation_payload", - "crud_research_donation_sample_to_dict", - "crud_research_donation_soft_delete_all", - "crud_research_donation_soft_delete_collection", - "crud_research_donation_soft_delete_party", - "crud_research_donation_soft_delete_samples", - "crud_research_donation_soft_delete_transports", - "crud_research_donation_total_pages", - "crud_research_donation_transport_to_dict", - "crud_research_donation_update_donation", - "crud_research_donation_user_nick_name_map", - "crud_sample_reception_get_lab_storage_code_map_by_sample_codes", - "models_research_donation_bizprotocoldonationconvert", - "models_research_donation_rationale_191", - "services_protocol_payment_installment_add_days_yyyymmdd", - "services_protocol_payment_installment_add_interval_months_yyyymmdd", - "services_protocol_payment_installment_add_months_yyyymmdd", - "services_protocol_payment_installment_calc_fq_installment_due_date", - "services_protocol_payment_installment_calc_installment_due_amounts_by_ratios", - "services_protocol_payment_installment_calc_installment_due_amounts_inline", - "services_protocol_payment_installment_calc_unpaid_amounts_by_ratios", - "services_protocol_payment_installment_is_legacy_installment_ratios", - "services_protocol_payment_installment_parse_installment_ratios", - "services_protocol_payment_installment_py", - "services_protocol_payment_installment_rationale_1", - "services_protocol_payment_installment_rationale_138", - "services_protocol_payment_installment_rationale_160", - "services_protocol_payment_installment_rationale_45", - "services_protocol_payment_installment_rationale_70", - "services_protocol_payment_installment_resolve_installment_due_amounts", - "services_protocol_sample_list_summary_build_sample_item_reception_qc_fields", - "services_protocol_sample_list_summary_get_list_qc_conclusion_map_by_sample_codes", - "services_protocol_sample_list_summary_get_list_qc_status_map_by_sample_codes", - "services_protocol_sample_list_summary_get_list_reception_summary_map_by_sample_codes", - "services_protocol_sample_list_summary_py", - "services_qc_work_order_conclusion_build_qc_conclusion_fields", - "services_qc_work_order_conclusion_derive_work_order_qc_conclusion", - "services_qc_work_order_conclusion_py", - "services_qc_work_order_conclusion_rationale_1", - "services_qc_work_order_conclusion_rationale_14", - "services_qc_work_order_conclusion_work_order_qc_conclusion_label", - "utils_sample_special_apply_inbound_sample_special_mark_fields", - "utils_sample_special_apply_sample_special_fields", - "utils_sample_special_apply_special_to_item_from_samples", - "utils_sample_special_py", - "utils_sample_special_rationale_42", - "utils_sample_special_sample_special_to_dict", - "utils_sample_special_truthy_flag", - "utils_sample_special_validate_sample_special_raw" - ], - "5": [ - "api_basic_info_list_collection_regions", - "api_ethnic_list_ethnics_for_select", - "api_ethnic_py", - "api_workflow_get_designer_data", - "core_data_scope_apply_data_scope", - "core_data_scope_get_child_dept_ids", - "core_data_scope_get_user_dept_id", - "core_data_scope_py", - "core_data_scope_resolve_user_role_scopes", - "crud_api_request_log_apirequestlogcrud", - "crud_api_request_log_delete", - "crud_api_request_log_get", - "crud_api_request_log_get_multi_with_filters", - "crud_api_request_log_py", - "crud_base_crudbase_count", - "crud_collection_protocol_count_pending_protocol_invoice_requests", - "crud_collection_protocol_invoice_request_list_query", - "crud_collection_protocol_list_audits", - "crud_collection_protocol_list_protocol_invoice_requests", - "crud_collection_region_hospital_names_by_region_ids", - "crud_collection_region_list_collection_regions", - "crud_collection_region_rationale_29", - "crud_collection_region_region_to_dict", - "crud_consumable_pack_create_consumable_pack", - "crud_consumable_pack_get_consumable_pack", - "crud_consumable_pack_get_pack_detail", - "crud_consumable_pack_item_row_to_dict", - "crud_consumable_pack_list_all_packs", - "crud_consumable_pack_list_consumable_packs", - "crud_consumable_pack_pack_code_exists", - "crud_consumable_pack_py", - "crud_consumable_pack_rationale_1", - "crud_consumable_pack_row_to_dict", - "crud_consumable_pack_soft_delete_consumable_pack", - "crud_consumable_pack_total_pages", - "crud_consumable_pack_update_consumable_pack", + "crud_env_detect_record_list_env_detect_records", + "crud_env_detect_record_row_to_dict", + "crud_env_detect_record_split_csv", "crud_ethnic_list_ethnics", "crud_ethnic_py", "crud_ethnic_rationale_1", "crud_ethnic_row_to_dict", + "crud_inbound_sample_special_py", + "crud_inbound_sample_special_update_inbound_sample_special_mark", "crud_leave_create_leave", "crud_leave_get_leave", "crud_leave_list_leaves", @@ -3485,14 +3165,41 @@ "crud_material_usage_unit_price_for_row", "crud_material_usage_usage_unit_label", "crud_material_usage_user_nick_name_map", - "crud_pilot_service_list_cell_product_specs", "crud_pilot_service_list_channel_agreements", "crud_pilot_service_list_channel_invoices", + "crud_pilot_service_list_checkup_institution_invoices", + "crud_pilot_service_list_checkup_institution_projects", "crud_pilot_service_list_checkup_institutions", + "crud_pilot_service_row_to_dict_checkup_institution_project", + "crud_pre_transit_sample_apply_collection_keyword", + "crud_pre_transit_sample_apply_collection_sample_collect_time_filter", + "crud_pre_transit_sample_apply_create_time_filter", + "crud_pre_transit_sample_apply_donation_keyword", + "crud_pre_transit_sample_apply_donation_sample_collect_time_filter", + "crud_pre_transit_sample_build_sample_items", + "crud_pre_transit_sample_cell_received_exists", + "crud_pre_transit_sample_donation_received_exists", + "crud_pre_transit_sample_earliest_eta", + "crud_pre_transit_sample_hydrate_collection_rows", + "crud_pre_transit_sample_hydrate_donation_rows", + "crud_pre_transit_sample_is_in_transit_sample", + "crud_pre_transit_sample_is_uncollected_status", + "crud_pre_transit_sample_list_in_transit_collection_ids", + "crud_pre_transit_sample_list_in_transit_donation_ids", + "crud_pre_transit_sample_list_in_transit_protocols", + "crud_pre_transit_sample_list_pre_delivery_collection_ids", + "crud_pre_transit_sample_list_pre_delivery_donation_ids", + "crud_pre_transit_sample_list_pre_delivery_protocols", + "crud_pre_transit_sample_py", + "crud_pre_transit_sample_sort_key_in_transit", + "crud_pre_transit_sample_sort_key_pre_delivery", + "crud_pre_transit_sample_summarize_in_transit_items", + "crud_pre_transit_sample_summarize_pre_delivery", "crud_production_material_filter_material_type", + "crud_production_material_prep_list_available_material_batches", + "crud_production_material_prep_rationale_1296", "crud_production_material_usage_amount_for_row", "crud_production_material_usage_batch_map", - "crud_production_material_usage_deduct_step_usage_legacy_batch", "crud_production_material_usage_display_remark", "crud_production_material_usage_fmt_date_val", "crud_production_material_usage_list_available_requisitions_for_prep", @@ -3522,7 +3229,6 @@ "crud_production_material_usage_rationale_448", "crud_production_material_usage_rationale_524", "crud_production_material_usage_rationale_595", - "crud_production_material_usage_rationale_773", "crud_production_material_usage_rationale_934", "crud_production_material_usage_receiver_display_map", "crud_production_material_usage_record_step_usage_from_requisition", @@ -3534,6 +3240,7 @@ "crud_production_material_usage_unit_price_for_row", "crud_production_material_usage_usage_unit_label", "crud_production_material_usage_user_nick_name_map", + "crud_production_task_base_active_step_count_query", "crud_protocol_sample_collection_apply_sample_status_filter", "crud_protocol_sample_collection_base_query", "crud_protocol_sample_collection_fmt_dt", @@ -3542,15 +3249,6 @@ "crud_protocol_sample_collection_row_to_dict", "crud_protocol_sample_collection_sample_status_label", "crud_protocol_sample_collection_total_pages", - "crud_qc_material_amount_auth_assert_user_in_auth_dept", - "crud_qc_material_amount_auth_get_amount_view_role", - "crud_qc_material_amount_auth_get_auth_dept_id", - "crud_qc_material_amount_auth_grant_amount_view_role", - "crud_qc_material_amount_auth_list_authorized_users", - "crud_qc_material_amount_auth_py", - "crud_qc_material_amount_auth_revoke_amount_view_role", - "crud_qc_material_amount_auth_row_to_dict", - "crud_qc_material_amount_auth_user_has_role_binding", "crud_qc_material_usage_amount_for_row", "crud_qc_material_usage_batch_map", "crud_qc_material_usage_deduct_for_task", @@ -3569,18 +3267,6 @@ "crud_qc_material_usage_paginate_usages", "crud_qc_material_usage_parse_receiver_purpose_from_remark", "crud_qc_material_usage_py", - "crud_qc_material_usage_rationale_181", - "crud_qc_material_usage_rationale_19", - "crud_qc_material_usage_rationale_222", - "crud_qc_material_usage_rationale_408", - "crud_qc_material_usage_rationale_41", - "crud_qc_material_usage_rationale_431", - "crud_qc_material_usage_rationale_488", - "crud_qc_material_usage_rationale_537", - "crud_qc_material_usage_rationale_607", - "crud_qc_material_usage_rationale_774", - "crud_qc_material_usage_rationale_874", - "crud_qc_material_usage_rationale_959", "crud_qc_material_usage_receiver_display_map", "crud_qc_material_usage_record_task_usage_from_requisition", "crud_qc_material_usage_resolve_receiver_purpose", @@ -3610,27 +3296,35 @@ "crud_qc_sms_notification_toggle_notification_status", "crud_qc_sms_notification_total_pages", "crud_qc_sms_notification_unicode_ci", - "crud_qc_task_result_list_results_by_task", - "crud_qc_task_result_list_saved_results_by_task", - "crud_qc_task_result_list_saved_results_by_task_ids", - "crud_qc_task_result_merge_saved_into_template", - "crud_qc_task_result_py", - "crud_qc_task_result_resolve_task_item_ref", - "crud_qc_task_result_row_to_dict", - "crud_qc_task_result_save_results_for_task", "crud_qc_work_order_count_unfinished_work_orders_by_tab", - "crud_reagent_stock_log_deduct_for_step", - "crud_reagent_stock_log_display_remark", - "crud_reagent_stock_log_list_stock_logs", - "crud_reagent_stock_log_parse_receiver_purpose_from_remark", - "crud_reagent_stock_log_py", - "crud_reagent_stock_log_rationale_1", - "crud_reagent_stock_log_rationale_164", - "crud_reagent_stock_log_rationale_216", - "crud_reagent_stock_log_resolve_receiver_purpose", - "crud_reagent_stock_log_revert_step_stock_changes", - "crud_reagent_stock_log_row_to_dict", - "crud_reagent_stock_log_user_nick_name_map", + "crud_research_donation_audit_to_dict", + "crud_research_donation_batch_delete_donations", + "crud_research_donation_collection_to_dict", + "crud_research_donation_create_collection", + "crud_research_donation_create_donation", + "crud_research_donation_create_party", + "crud_research_donation_create_samples", + "crud_research_donation_create_transport", + "crud_research_donation_dec", + "crud_research_donation_delete_donation", + "crud_research_donation_donation_sample_code_seq", + "crud_research_donation_fmt_dt", + "crud_research_donation_get_collection", + "crud_research_donation_get_donation_detail", + "crud_research_donation_get_party", + "crud_research_donation_list_audits", + "crud_research_donation_list_donations", + "crud_research_donation_list_sample_transports", + "crud_research_donation_list_samples", + "crud_research_donation_load_unit_name_map", + "crud_research_donation_migrate_donation_sample_child_refs_on_replace", + "crud_research_donation_next_donation_sample_code", + "crud_research_donation_normalize_date_bound", + "crud_research_donation_normalize_fields", + "crud_research_donation_optional_decimal", + "crud_research_donation_party_to_dict", + "crud_research_donation_py", + "crud_research_donation_resolve_donation_payload", "crud_research_donation_sample_collection_apply_sample_status_filter", "crud_research_donation_sample_collection_base_query", "crud_research_donation_sample_collection_fmt_dt", @@ -3639,283 +3333,63 @@ "crud_research_donation_sample_collection_row_to_dict", "crud_research_donation_sample_collection_sample_status_label", "crud_research_donation_sample_collection_total_pages", - "crud_sample_sms_notification_accept_conclusion_label", - "crud_sample_sms_notification_base_query", - "crud_sample_sms_notification_ensure_notification", - "crud_sample_sms_notification_fetch_sample_type_name", - "crud_sample_sms_notification_fmt_dt", - "crud_sample_sms_notification_generate_sms_content", - "crud_sample_sms_notification_list_notifications", - "crud_sample_sms_notification_normalize_date_bound", - "crud_sample_sms_notification_py", - "crud_sample_sms_notification_resolve_notification", - "crud_sample_sms_notification_row_to_dict", - "crud_sample_sms_notification_toggle_notification_status", - "crud_sample_sms_notification_total_pages", - "crud_sample_sms_notification_unicode_ci", - "crud_workflow_create_instance", - "crud_workflow_get_instance", - "crud_workflow_get_latest_version", - "crud_workflow_get_nodes_by_version", - "crud_workflow_get_pending_tasks_by_node", - "crud_workflow_get_process_def", - "crud_workflow_get_task", - "crud_workflow_get_transitions_by_version", + "crud_research_donation_sample_to_dict", + "crud_research_donation_soft_delete_all", + "crud_research_donation_soft_delete_collection", + "crud_research_donation_soft_delete_party", + "crud_research_donation_soft_delete_samples", + "crud_research_donation_soft_delete_transports", + "crud_research_donation_total_pages", + "crud_research_donation_transport_to_dict", + "crud_research_donation_update_donation", + "crud_research_donation_user_nick_name_map", + "crud_sample_reception_get_lab_storage_code_map_by_sample_codes", "crud_workflow_list_completed_tasks", "crud_workflow_list_my_instances", "crud_workflow_list_pending_tasks", - "crud_workflow_list_process_defs", - "crud_workflow_list_versions", - "crud_workflow_process_code_exists", - "crud_workflow_py", - "crud_workflow_row_to_dict", - "crud_workflow_soft_delete_process_def", "crud_workflow_task_row_to_dict", - "crud_workflow_total_pages", - "crud_workflow_update_instance_status", - "crud_workflow_update_process_def", - "crud_workflow_version_to_dict", "models_production_material_bizproductionmaterialprep", "services_oa_engine_count_cc_unread", - "services_workflow_callback_dispatch_local", - "services_workflow_callback_py", - "services_workflow_callback_rationale_1", - "services_workflow_callback_rationale_24", - "services_workflow_callback_rationale_29", - "services_workflow_callback_rationale_61", - "services_workflow_callback_register_local_callback", - "services_workflow_callback_trigger_callback", - "services_workflow_engine_compare", - "services_workflow_engine_get_variable", - "services_workflow_engine_parse_node_config", - "services_workflow_engine_parse_variables", - "services_workflow_engine_py", - "services_workflow_engine_workflowengine_advance", - "services_workflow_engine_workflowengine_approve_task", - "services_workflow_engine_workflowengine_check_rules", - "services_workflow_engine_workflowengine_evaluate_condition", - "services_workflow_engine_workflowengine_execute_node", - "services_workflow_engine_workflowengine_reject_task", - "services_workflow_engine_workflowengine_start_process" + "services_protocol_payment_installment_add_days_yyyymmdd", + "services_protocol_payment_installment_add_interval_months_yyyymmdd", + "services_protocol_payment_installment_add_months_yyyymmdd", + "services_protocol_payment_installment_calc_fq_installment_due_date", + "services_protocol_payment_installment_calc_installment_due_amounts_by_ratios", + "services_protocol_payment_installment_calc_installment_due_amounts_inline", + "services_protocol_payment_installment_calc_unpaid_amounts_by_ratios", + "services_protocol_payment_installment_is_legacy_installment_ratios", + "services_protocol_payment_installment_parse_installment_ratios", + "services_protocol_payment_installment_py", + "services_protocol_payment_installment_rationale_1", + "services_protocol_payment_installment_rationale_138", + "services_protocol_payment_installment_rationale_160", + "services_protocol_payment_installment_rationale_45", + "services_protocol_payment_installment_rationale_70", + "services_protocol_payment_installment_resolve_installment_due_amounts", + "services_protocol_sample_list_summary_build_sample_item_reception_qc_fields", + "services_protocol_sample_list_summary_get_list_qc_conclusion_map_by_sample_codes", + "services_protocol_sample_list_summary_get_list_qc_status_map_by_sample_codes", + "services_protocol_sample_list_summary_get_list_reception_summary_map_by_sample_codes", + "services_protocol_sample_list_summary_py", + "utils_sample_special_apply_inbound_sample_special_mark_fields", + "utils_sample_special_apply_sample_special_fields", + "utils_sample_special_apply_special_to_item_from_samples", + "utils_sample_special_py", + "utils_sample_special_rationale_42", + "utils_sample_special_sample_special_to_dict", + "utils_sample_special_truthy_flag", + "utils_sample_special_validate_sample_special_raw" ], - "6": [ - "api_oa_approval_rationale_212", - "api_oa_approval_rationale_799", - "api_oa_approval_rationale_830", - "crud_oa_approval_app_to_dict", - "crud_oa_approval_copied_app_name", - "crud_oa_approval_copy_app", - "crud_oa_approval_create_app", - "crud_oa_approval_create_version", - "crud_oa_approval_delete_app", - "crud_oa_approval_delete_group", - "crud_oa_approval_dumps", - "crud_oa_approval_find_draft", - "crud_oa_approval_find_latest_published", - "crud_oa_approval_get_app", - "crud_oa_approval_get_group", - "crud_oa_approval_get_or_create_draft", - "crud_oa_approval_list_apps", - "crud_oa_approval_loads", - "crud_oa_approval_py", - "crud_oa_approval_save_draft", - "crud_oa_approval_update_app", - "crud_oa_approval_update_group", - "crud_oa_approval_version_draft_to_dict", - "crud_oa_instance_draft_batch_soft_delete_drafts", - "crud_oa_instance_draft_create_draft", - "crud_oa_instance_draft_draftaccesserror", - "crud_oa_instance_draft_dumps", - "crud_oa_instance_draft_enrich", - "crud_oa_instance_draft_get_draft_detail", - "crud_oa_instance_draft_get_owned_draft", - "crud_oa_instance_draft_list_drafts", - "crud_oa_instance_draft_loads", - "crud_oa_instance_draft_py", - "crud_oa_instance_draft_row_to_dict", - "crud_oa_instance_draft_soft_delete_draft", - "crud_oa_instance_draft_submit_draft", - "crud_oa_instance_draft_update_draft", - "services_oa_assignee_active_user_id", - "services_oa_assignee_normalize_cc_assignee_types", - "services_oa_assignee_py", - "services_oa_assignee_rationale_1", - "services_oa_assignee_rationale_184", - "services_oa_assignee_rationale_55", - "services_oa_assignee_resolve_assignees", - "services_oa_assignee_resolve_cc_assignees", - "services_oa_assignee_resolve_dept_leader", - "services_oa_assignee_resolve_direct_supervisor", - "services_oa_engine_add_instance_event", - "services_oa_engine_add_sign", - "services_oa_engine_advance_from", - "services_oa_engine_advanced", - "services_oa_engine_aggregate_node_status", - "services_oa_engine_append_pending_nodes", - "services_oa_engine_append_pending_nodes_on_path", - "services_oa_engine_apply_cc_task_read", - "services_oa_engine_approve_task_core", - "services_oa_engine_assignee_meta", - "services_oa_engine_assignee_meta_for_cc", - "services_oa_engine_build_progress_items", - "services_oa_engine_check_initiator_scope", - "services_oa_engine_collect_condition_fields", - "services_oa_engine_complete_task", - "services_oa_engine_condition_fields_ready", - "services_oa_engine_create_tasks_for_node", - "services_oa_engine_dept_name", - "services_oa_engine_dt_sort_key", - "services_oa_engine_dumps", - "services_oa_engine_enrich_list_rows", - "services_oa_engine_enrich_transfer_targets", - "services_oa_engine_find_node", - "services_oa_engine_flow_node_key_order", - "services_oa_engine_flow_root", - "services_oa_engine_fmt_dt", - "services_oa_engine_form_value_present", - "services_oa_engine_get_instance", - "services_oa_engine_get_instance_detail", - "services_oa_engine_get_template_detail", - "services_oa_engine_group_tasks_by_node", - "services_oa_engine_ids_for_initiator_select_node", - "services_oa_engine_instance_progress_summary", - "services_oa_engine_instance_to_dict", - "services_oa_engine_iter_resolved_path_nodes", - "services_oa_engine_list_tasks", - "services_oa_engine_list_templates", - "services_oa_engine_load_initiator_select_by_node", - "services_oa_engine_loads", - "services_oa_engine_mark_cc_task_read", - "services_oa_engine_mark_cc_tasks_read_batch", - "services_oa_engine_match_condition_group", - "services_oa_engine_maybe_auto_pass_initiator", - "services_oa_engine_merge_after_branch_end", - "services_oa_engine_next_task_order_num", - "services_oa_engine_node_type", - "services_oa_engine_normalize_cc_read_status", - "services_oa_engine_normalize_initiator_select_by_node", - "services_oa_engine_oaengineerror", - "services_oa_engine_pending_people_for_node", - "services_oa_engine_post_name_map", - "services_oa_engine_preview_people", - "services_oa_engine_preview_start_flow", - "services_oa_engine_progress_person", - "services_oa_engine_py", - "services_oa_engine_resubmit_instance", - "services_oa_engine_return_task", - "services_oa_engine_sort_tasks_for_detail", - "services_oa_engine_start_instance", - "services_oa_engine_subtree_contains", - "services_oa_engine_task_round", - "services_oa_engine_terminal_item", - "services_oa_engine_transfer_task", - "services_oa_engine_user_name_map", - "services_oa_engine_walk_preview_nodes", - "services_oa_engine_withdraw_instance", - "services_oa_formula_apply_formulas_and_linkages", - "services_oa_formula_eval_formula", - "services_oa_formula_extract_rules", - "services_oa_formula_formulaerror", - "services_oa_formula_preprocess_formula", - "services_oa_formula_py", - "services_oa_formula_rationale_1", - "services_oa_formula_rationale_232", - "services_oa_formula_rationale_69", - "services_oa_formula_safeeval", - "services_oa_formula_safeeval_init", - "services_oa_formula_safeeval_visit", - "services_oa_formula_safeeval_visit_binop", - "services_oa_formula_safeeval_visit_boolop", - "services_oa_formula_safeeval_visit_call", - "services_oa_formula_safeeval_visit_compare", - "services_oa_formula_safeeval_visit_constant", - "services_oa_formula_safeeval_visit_expression", - "services_oa_formula_safeeval_visit_ifexp", - "services_oa_formula_safeeval_visit_list", - "services_oa_formula_safeeval_visit_name", - "services_oa_formula_safeeval_visit_nameconstant", - "services_oa_formula_safeeval_visit_num", - "services_oa_formula_safeeval_visit_str", - "services_oa_formula_safeeval_visit_unaryop", - "services_oa_formula_to_number", - "services_oa_formula_truthy", - "services_oa_formula_walk_rules", - "services_oa_leave_hours_apply_leave_kit_hours", - "services_oa_leave_hours_calc_leave_hours", - "services_oa_leave_hours_extract_rules", - "services_oa_leave_hours_kit_child_fields", - "services_oa_leave_hours_overlap_minutes_on_day", - "services_oa_leave_hours_parse_dt", - "services_oa_leave_hours_parse_hm", - "services_oa_leave_hours_py", - "services_oa_leave_hours_rationale_1", - "services_oa_leave_hours_rationale_124", - "services_oa_leave_hours_rationale_171", - "services_oa_leave_hours_rationale_80", - "services_oa_leave_hours_round1", - "services_oa_leave_hours_validate_leave_kit_form_values", - "services_oa_leave_hours_walk", - "services_oa_owner_fields_allow_modify", - "services_oa_owner_fields_apply_owner_field_defaults", - "services_oa_owner_fields_py", - "services_oa_owner_fields_rationale_1", - "services_oa_owner_fields_rationale_49", - "services_oa_owner_fields_rule_props", - "services_oa_owner_fields_schema_rules", - "services_oa_owner_fields_walk_rules", - "services_oa_publish_count_fillable_fields", - "services_oa_publish_extract_rules", - "services_oa_publish_index_condition_fields", - "services_oa_publish_node_type", - "services_oa_publish_normalize_use_in_condition_required", - "services_oa_publish_publish_app", - "services_oa_publish_py", - "services_oa_publish_rationale_140", - "services_oa_publish_rationale_155", - "services_oa_publish_rationale_469", - "services_oa_publish_rule_use_in_condition", - "services_oa_publish_validate_condition_rules_against_form", - "services_oa_publish_validate_control_types", - "services_oa_publish_validate_draft_for_publish", - "services_oa_publish_validate_flow_tree", - "services_oa_publish_validate_posts_referenced", - "services_oa_publish_walk_form_rules", - "services_oa_related_approval_assert_linkable_instance", - "services_oa_related_approval_build_related_summaries", - "services_oa_related_approval_extract_related_approval_links", - "services_oa_related_approval_extract_upload_urls", - "services_oa_related_approval_flatten_form_fields_for_summary", - "services_oa_related_approval_format_value", - "services_oa_related_approval_list_related_candidates", - "services_oa_related_approval_merge_relation_targets", - "services_oa_related_approval_normalize_related_ids", - "services_oa_related_approval_py", - "services_oa_related_approval_rationale_1", - "services_oa_related_approval_rationale_172", - "services_oa_related_approval_rationale_207", - "services_oa_related_approval_rationale_41", - "services_oa_related_approval_rationale_73", - "services_oa_related_approval_rationale_92", - "services_oa_related_approval_schema_rules", - "services_oa_related_approval_walk_rules", - "services_oa_trip_days_apply_trip_kit_days", - "services_oa_trip_days_calc_trip_leg_days", - "services_oa_trip_days_day_index", - "services_oa_trip_days_end_offset", - "services_oa_trip_days_extract_rules", - "services_oa_trip_days_is_half_day_multiple", - "services_oa_trip_days_py", - "services_oa_trip_days_rationale_1", - "services_oa_trip_days_rationale_168", - "services_oa_trip_days_rationale_201", - "services_oa_trip_days_rationale_60", - "services_oa_trip_days_start_offset", - "services_oa_trip_days_sum_trip_leg_days", - "services_oa_trip_days_validate_trip_kit_form_values", - "services_oa_trip_days_walk", - "services_oa_trip_days_walk_trip_kits" - ], - "7": [ + "5": [ + "api_sample_production_reception_body_to_payload", + "api_sample_production_reception_get_current_user_id", + "api_sample_production_reception_get_production_reception_by_sample_code", + "api_sample_production_reception_get_production_reception_detail", + "api_sample_production_reception_get_tenant_no", + "api_sample_production_reception_post_production_reception", + "api_sample_production_reception_put_production_reception", + "api_sample_production_reception_py", + "api_sample_production_reception_resolve_reception_id", "core_db_collation_eq_unicode", "core_db_collation_like_unicode", "core_db_collation_py", @@ -3928,6 +3402,8 @@ "core_protocol_status_display_py", "core_protocol_status_display_resolve_void_type_label", "crud_base_crudbase_exists", + "crud_collection_protocol_format_attachment_file_size", + "crud_collection_protocol_urls_to_attachment_list", "crud_outbound_release_review_batch_review", "crud_outbound_release_review_dec", "crud_outbound_release_review_fmt_dt", @@ -3946,10 +3422,9 @@ "crud_outbound_release_review_review_schedule", "crud_outbound_release_review_row_to_dict", "crud_outbound_release_review_total_pages", - "crud_production_task_list_production_tasks", + "crud_production_work_order_apply_exclude_inactive_protocol_filter", "crud_production_work_order_outbound_work_order_ids_by_keyword", "crud_qc_inspection_batch_list_inspection_batches", - "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", "crud_qc_task_apply_task_result", "crud_qc_task_assert_task_assignee", "crud_qc_task_assignee_active_users_in_tenant", @@ -3984,11 +3459,11 @@ "crud_qc_task_task_row_to_dict", "crud_qc_task_task_to_dict", "crud_qc_task_task_work_order_context", + "crud_qc_task_update_task_attachments", "crud_qc_work_order_accept_conclusion_label", "crud_qc_work_order_aggregate_qc_tab_counts", "crud_qc_work_order_build_outbound_pilot_context_by_schedule", "crud_qc_work_order_build_work_order_list_summaries", - "crud_qc_work_order_configure_temp_qc_work_order", "crud_qc_work_order_configure_work_order", "crud_qc_work_order_count_mine_unfinished_work_orders_by_tab", "crud_qc_work_order_create_qc_work_order_from_production", @@ -4004,6 +3479,7 @@ "crud_qc_work_order_empty_qc_tab_counts", "crud_qc_work_order_enrich_outbound_work_orders", "crud_qc_work_order_enrich_production_work_order_refs", + "crud_qc_work_order_enrich_protocol_sibling_samples", "crud_qc_work_order_enrich_unfinished_badge_counts", "crud_qc_work_order_enrich_work_order_cell_products", "crud_qc_work_order_enrich_work_order_list_items", @@ -4032,9 +3508,11 @@ "crud_qc_work_order_list_temp_qc_work_orders", "crud_qc_work_order_list_work_orders", "crud_qc_work_order_list_work_orders_by_sample", + "crud_qc_work_order_load_sample_type_name_map", "crud_qc_work_order_normalize_date_bound", "crud_qc_work_order_outbound_qc_work_order_ids_by_keyword", "crud_qc_work_order_process_qc_info_items_from_wos", + "crud_qc_work_order_protocol_group_key_for_item", "crud_qc_work_order_protocol_sample_ids_for_sample_type", "crud_qc_work_order_py", "crud_qc_work_order_qc_biz_type_label", @@ -4060,6 +3538,83 @@ "crud_qc_work_order_validate_cell_product_id", "crud_qc_work_order_wo_to_dict", "crud_qc_work_order_work_order_qc_biz_type", + "crud_sample_production_reception_apply_payload_to_row", + "crud_sample_production_reception_create_production_reception", + "crud_sample_production_reception_dec", + "crud_sample_production_reception_fmt_dt", + "crud_sample_production_reception_get_by_id", + "crud_sample_production_reception_get_by_reception_id", + "crud_sample_production_reception_get_map_by_reception_ids", + "crud_sample_production_reception_get_qc_reception", + "crud_sample_production_reception_int_val", + "crud_sample_production_reception_py", + "crud_sample_production_reception_resolve_field_profile", + "crud_sample_production_reception_row_to_dict", + "crud_sample_production_reception_update_production_reception", + "crud_sample_production_reception_validate_handler_user_id", + "crud_sample_production_reception_validate_payload", + "crud_sample_reception_attach_production_reception", + "crud_sample_reception_check_result_get_check_results_for_reception", + "crud_sample_reception_check_result_legacy_results_from_reception", + "crud_sample_reception_check_result_list_results_by_reception_ids", + "crud_sample_reception_check_result_py", + "crud_sample_reception_check_result_result_to_dict", + "crud_sample_reception_dec", + "crud_sample_reception_donation_ids_matching_lab_storage_keyword", + "crud_sample_reception_donation_rows_to_sample_list_items", + "crud_sample_reception_donation_sample_detail_rows_query", + "crud_sample_reception_donation_sample_id_col", + "crud_sample_reception_donation_sample_pending_query", + "crud_sample_reception_finalize_reception_detail", + "crud_sample_reception_fmt_dt", + "crud_sample_reception_format_lab_storage_codes_csv", + "crud_sample_reception_get_reception_by_id", + "crud_sample_reception_get_reception_by_sample_code", + "crud_sample_reception_get_receptions_map_for_donation_samples", + "crud_sample_reception_get_receptions_map_for_samples", + "crud_sample_reception_lab_storage_keyword_like", + "crud_sample_reception_list_pending_protocol_samples", + "crud_sample_reception_list_received_protocol_samples", + "crud_sample_reception_normalize_date_bound", + "crud_sample_reception_protocol_ids_matching_lab_storage_keyword", + "crud_sample_reception_py", + "crud_sample_reception_reception_detail_item", + "crud_sample_reception_reception_detail_item_with_production", + "crud_sample_reception_reception_ids_matching_lab_storage_keyword", + "crud_sample_reception_reception_sample_code", + "crud_sample_reception_reception_to_dict", + "crud_sample_reception_rows_to_sample_list_items", + "crud_sample_reception_sample_codes_matching_lab_storage_keyword", + "crud_sample_reception_sample_detail_rows_query", + "crud_sample_reception_sample_pending_query", + "crud_sample_sms_notification_accept_conclusion_label", + "crud_sample_sms_notification_base_query", + "crud_sample_sms_notification_ensure_notification", + "crud_sample_sms_notification_fetch_sample_type_name", + "crud_sample_sms_notification_fmt_dt", + "crud_sample_sms_notification_generate_sms_content", + "crud_sample_sms_notification_list_notifications", + "crud_sample_sms_notification_normalize_date_bound", + "crud_sample_sms_notification_py", + "crud_sample_sms_notification_resolve_notification", + "crud_sample_sms_notification_row_to_dict", + "crud_sample_sms_notification_toggle_notification_status", + "crud_sample_sms_notification_total_pages", + "crud_sample_sms_notification_unicode_ci", + "crud_storage_entry_sms_notification_base_query", + "crud_storage_entry_sms_notification_ensure_notification", + "crud_storage_entry_sms_notification_fetch_sample_type_name", + "crud_storage_entry_sms_notification_fmt_dt", + "crud_storage_entry_sms_notification_generate_sms_content", + "crud_storage_entry_sms_notification_list_notifications", + "crud_storage_entry_sms_notification_normalize_date_bound", + "crud_storage_entry_sms_notification_py", + "crud_storage_entry_sms_notification_resolve_notification", + "crud_storage_entry_sms_notification_row_to_dict", + "crud_storage_entry_sms_notification_storage_status_label", + "crud_storage_entry_sms_notification_toggle_notification_status", + "crud_storage_entry_sms_notification_total_pages", + "crud_storage_entry_sms_notification_unicode_ci", "crud_storage_release_review_batch_store_samples", "crud_storage_release_review_batch_submit_review", "crud_storage_release_review_build_cell_storage_protocol_info", @@ -4091,6 +3646,12 @@ "crud_storage_release_review_store_sample", "crud_storage_release_review_submit_review", "crud_storage_release_review_total_pages", + "services_qc_work_order_conclusion_build_qc_conclusion_fields", + "services_qc_work_order_conclusion_derive_work_order_qc_conclusion", + "services_qc_work_order_conclusion_py", + "services_qc_work_order_conclusion_rationale_1", + "services_qc_work_order_conclusion_rationale_14", + "services_qc_work_order_conclusion_work_order_qc_conclusion_label", "services_qc_work_order_fee_summary_build_basic_experiment_fee_summaries", "services_qc_work_order_fee_summary_build_basic_experiment_fee_summary", "services_qc_work_order_fee_summary_build_protocol_payment_summaries", @@ -4110,172 +3671,8 @@ "services_qc_work_order_fee_summary_received_amount_from_details", "services_qc_work_order_fee_summary_sort_payment_details" ], - "8": [ - "crud_clinical_payment_map_payments_by_schedule_ids", - "crud_outbound_handover_fmt_dt", - "crud_outbound_handover_get_handover_by_schedule", - "crud_outbound_handover_get_outbound_handover", - "crud_outbound_handover_get_outbound_handover_view", - "crud_outbound_handover_handover_row_to_dict", - "crud_outbound_handover_handover_view_dict", - "crud_outbound_handover_parse_handover_time", - "crud_outbound_handover_py", - "crud_outbound_handover_rationale_103", - "crud_outbound_handover_rationale_113", - "crud_outbound_handover_rationale_147", - "crud_outbound_handover_save_outbound_handover", - "crud_outbound_release_material_cell_row_to_dict", - "crud_outbound_release_material_enrich_cell_dicts_with_live_status", - "crud_outbound_release_material_find_outbound_cell_row", - "crud_outbound_release_material_find_outbound_qc_material_row", - "crud_outbound_release_material_fmt_dt", - "crud_outbound_release_material_get_outbound_material", - "crud_outbound_release_material_get_schedule", - "crud_outbound_release_material_legacy_paper_rows_from_attachments", - "crud_outbound_release_material_material_header_to_dict", - "crud_outbound_release_material_paper_row_to_dict", - "crud_outbound_release_material_py", - "crud_outbound_release_material_qc_material_row_to_dict", - "crud_outbound_release_material_save_outbound_material", - "crud_outbound_release_material_soft_delete_outbound_cells_not_in", - "crud_outbound_release_material_soft_delete_outbound_qc_materials_not_in", - "crud_pilot_infusion_schedule_mgmt_create_settlement_txn", - "crud_pilot_infusion_schedule_mgmt_deduct_fee_on_complete", - "crud_pilot_infusion_schedule_mgmt_find_existing_settlement_txn", - "crud_pilot_infusion_schedule_mgmt_find_service_order_product", - "crud_pilot_infusion_schedule_mgmt_get_infusion_schedule_detail", - "crud_pilot_infusion_schedule_mgmt_get_plan_schedule_course_meta", - "crud_pilot_infusion_schedule_mgmt_get_products_for_schedule", - "crud_pilot_infusion_schedule_mgmt_list_infusion_schedules_mgmt", - "crud_pilot_infusion_schedule_mgmt_py", - "crud_pilot_infusion_schedule_mgmt_resolve_course_display", - "crud_pilot_infusion_schedule_mgmt_resolve_yfk_unit_price", - "crud_pilot_infusion_schedule_mgmt_row_to_dict_product", - "crud_pilot_infusion_schedule_mgmt_row_to_dict_schedule", - "crud_pilot_infusion_schedule_mgmt_schedule_product_to_txn_item", - "crud_pilot_infusion_schedule_mgmt_settlement_remark_marker", - "crud_pilot_infusion_schedule_mgmt_settlement_remark_markers_for_lookup", - "crud_pilot_infusion_schedule_mgmt_update_infusion_status", - "crud_pilot_infusion_schedule_mgmt_update_qc_status", - "crud_production_material_usage_rationale_878", - "crud_production_material_usage_register_step_usage_from_requisition", - "crud_production_task_add_task_step", - "crud_production_task_aggregate_production_tab_step_field", - "crud_production_task_assert_step_assignee_for_write", - "crud_production_task_assert_task_assignee", - "crud_production_task_assert_task_step_assignee_or_legacy", - "crud_production_task_base_active_step_count_query", - "crud_production_task_batch_load_step_sub_tables", - "crud_production_task_clone_route_to_task", - "crud_production_task_clone_step_consumables", - "crud_production_task_clone_step_data_collections", - "crud_production_task_clone_step_outputs", - "crud_production_task_clone_step_reagents", - "crud_production_task_consume_task_input_cell_products", - "crud_production_task_count_mine_production_work_order_tab_step_badges", - "crud_production_task_count_production_work_order_tab_step_badges", - "crud_production_task_count_step_tab_badges_by_tab", - "crud_production_task_create_occupancy_for_product", - "crud_production_task_create_production_task", - "crud_production_task_delete_production_task", - "crud_production_task_delete_task_step", - "crud_production_task_empty_production_tab_step_counts", - "crud_production_task_empty_step_sub_tables", - "crud_production_task_enrich_handover_times", - "crud_production_task_enrich_outbound_task_items", - "crud_production_task_fmt_dt", - "crud_production_task_forward_production_task", - "crud_production_task_generate_task_no", - "crud_production_task_get_production_task_detail", - "crud_production_task_get_production_task_row", - "crud_production_task_list_mine_production_tasks", - "crud_production_task_normalize_date_bound", - "crud_production_task_output_item_has_spec", - "crud_production_task_output_item_spec_text", - "crud_production_task_parse_optional_date", - "crud_production_task_production_conclusion_label", - "crud_production_task_py", - "crud_production_task_reassign_production_task", - "crud_production_task_record_task_handover", - "crud_production_task_reorder_task_steps", - "crud_production_task_replace_step_configured_reagents", - "crud_production_task_replace_step_consumables", - "crud_production_task_replace_step_data_collections", - "crud_production_task_replace_step_outputs", - "crud_production_task_replace_step_reagents", - "crud_production_task_require_requisition_for_catalog_material", - "crud_production_task_resolve_production_tab_key", - "crud_production_task_resolve_sub_table_order_num", - "crud_production_task_set_task_inputs", - "crud_production_task_set_task_outputs", - "crud_production_task_soft_delete_sub", - "crud_production_task_spawn_temporary_work_order_from_task", - "crud_production_task_step_assignee_active_users_in_tenant", - "crud_production_task_step_assignee_active_users_with_role_in_tenant", - "crud_production_task_step_assignee_enrich_step_assignees", - "crud_production_task_step_assignee_enrich_step_completed_by_names", - "crud_production_task_step_assignee_py", - "crud_production_task_step_assignee_rationale_140", - "crud_production_task_step_assignee_rationale_39", - "crud_production_task_step_assignee_rationale_92", - "crud_production_task_step_assignee_sync_assignees_for_step", - "crud_production_task_step_assignee_user_is_any_step_assignee_of_task", - "crud_production_task_step_assignee_user_is_step_assignee", - "crud_production_task_step_assignee_validate_assignee_user_ids", - "crud_production_task_step_configured_reagent_to_dict", - "crud_production_task_step_consumable_to_dict", - "crud_production_task_step_data_collection_to_dict", - "crud_production_task_step_output_to_dict", - "crud_production_task_step_reagent_to_dict", - "crud_production_task_step_sub_tables_to_dict", - "crud_production_task_step_to_dict", - "crud_production_task_task_input_to_dict", - "crud_production_task_task_output_to_dict", - "crud_production_task_task_to_dict", - "crud_production_task_total_pages", - "crud_production_task_update_product_from_output", - "crud_production_task_update_task_status", - "crud_production_task_validate_assignee_user_id", - "crud_production_work_order_accept_conclusion_label", - "crud_production_work_order_apply_exclude_inactive_protocol_filter", - "crud_production_work_order_apply_planned_start_time_step_filter", - "crud_production_work_order_attach_outbound_detail", - "crud_production_work_order_attach_reception_detail", - "crud_production_work_order_complete_production_work_order", - "crud_production_work_order_configure_temp_production_work_order", - "crud_production_work_order_create_outbound_production_work_order", - "crud_production_work_order_create_production_work_order_manual", - "crud_production_work_order_create_temp_production_work_order", - "crud_production_work_order_dec_price", - "crud_production_work_order_delete_production_work_order", - "crud_production_work_order_delete_temp_production_work_order", - "crud_production_work_order_enrich_inbound_qc_conclusions", - "crud_production_work_order_enrich_outbound_items", - "crud_production_work_order_enrich_wo_items", - "crud_production_work_order_fmt_dt", - "crud_production_work_order_generate_outbound_work_order_no", - "crud_production_work_order_generate_temp_work_order_no", - "crud_production_work_order_generate_work_order_no", - "crud_production_work_order_get_production_info_map_for_samples", - "crud_production_work_order_get_production_work_order", - "crud_production_work_order_get_temp_production_work_order", - "crud_production_work_order_get_temp_production_work_order_detail", - "crud_production_work_order_list_production_work_orders", - "crud_production_work_order_list_temp_production_work_orders", - "crud_production_work_order_normalize_date_bound", - "crud_production_work_order_production_info_item", - "crud_production_work_order_production_task_info", - "crud_production_work_order_py", - "crud_production_work_order_reception_source_label", - "crud_production_work_order_soft_delete_sub", - "crud_production_work_order_sync_production_work_order_status_from_tasks", - "crud_production_work_order_sync_temp_production_work_order_status", - "crud_production_work_order_temp_wo_to_dict", - "crud_production_work_order_update_production_work_order", - "crud_production_work_order_wo_to_dict", - "crud_production_work_order_wo_to_response_dict" - ], - "9": [ + "6": [ + "api_workflow_get_designer_data", "app_main_error_json", "app_main_health_check", "app_main_lifespan", @@ -4401,7 +3798,42 @@ "core_storage_rationale_53", "core_storage_rationale_83", "core_utils_generate_id", + "crud_base_crudbase_create", + "crud_qc_item_param_list_params_by_item", + "crud_qc_item_param_parse_options_list", + "crud_qc_item_param_py", + "crud_qc_item_param_row_to_dict", + "crud_qc_item_param_save_params_for_item", + "crud_qc_item_param_validate_param", + "crud_qc_task_result_list_results_by_task", + "crud_qc_task_result_list_saved_results_by_task", + "crud_qc_task_result_list_saved_results_by_task_ids", + "crud_qc_task_result_merge_saved_into_template", + "crud_qc_task_result_py", + "crud_qc_task_result_resolve_task_item_ref", + "crud_qc_task_result_row_to_dict", + "crud_qc_task_result_save_results_for_task", + "crud_workflow_create_instance", + "crud_workflow_create_process_def", "crud_workflow_create_task", + "crud_workflow_get_instance", + "crud_workflow_get_latest_version", + "crud_workflow_get_nodes_by_version", + "crud_workflow_get_pending_tasks_by_node", + "crud_workflow_get_process_def", + "crud_workflow_get_task", + "crud_workflow_get_transitions_by_version", + "crud_workflow_list_process_defs", + "crud_workflow_list_versions", + "crud_workflow_process_code_exists", + "crud_workflow_publish_version", + "crud_workflow_py", + "crud_workflow_row_to_dict", + "crud_workflow_soft_delete_process_def", + "crud_workflow_total_pages", + "crud_workflow_update_instance_status", + "crud_workflow_update_process_def", + "crud_workflow_version_to_dict", "exception", "main_py", "services_oa_confirmation_kit_sync_apply_confirmation_kit_user_sync", @@ -4427,324 +3859,277 @@ "services_oa_resignation_kit_sync_py", "services_oa_resignation_kit_sync_rationale_1", "services_oa_resignation_kit_sync_walk", + "services_workflow_callback_dispatch_local", + "services_workflow_callback_py", + "services_workflow_callback_rationale_1", + "services_workflow_callback_rationale_24", + "services_workflow_callback_rationale_29", + "services_workflow_callback_rationale_61", + "services_workflow_callback_register_local_callback", + "services_workflow_callback_trigger_callback", + "services_workflow_engine_compare", + "services_workflow_engine_get_variable", + "services_workflow_engine_parse_node_config", + "services_workflow_engine_parse_variables", + "services_workflow_engine_py", + "services_workflow_engine_workflowengine", + "services_workflow_engine_workflowengine_advance", + "services_workflow_engine_workflowengine_approve_task", + "services_workflow_engine_workflowengine_check_rules", + "services_workflow_engine_workflowengine_evaluate_condition", + "services_workflow_engine_workflowengine_execute_node", + "services_workflow_engine_workflowengine_init", + "services_workflow_engine_workflowengine_reject_task", + "services_workflow_engine_workflowengine_resolve_approvers", + "services_workflow_engine_workflowengine_start_process", "tasks_init_init_scheduled_tasks", "tasks_init_py", "tasks_init_shutdown_scheduler" ], - "10": [ - "api_operations_accesslogcreatebody", - "api_operations_accesslogupdatebody", - "api_operations_cleanroomcreatebody", - "api_operations_cleanroomupdatebody", - "api_operations_exhibitionappointmentcreatebody", - "api_operations_exhibitionappointmentupdatebody", - "api_operations_occupancycreatebody", - "api_operations_rationale_1", - "api_operations_rationale_674", - "api_operations_storagefacilitybatchcreatebody", - "api_operations_storagefacilitycreatebody", - "api_operations_storagefacilityupdatebody", - "api_operations_storageslotbatchcreatebody", - "api_operations_storageslotclearbody", - "api_operations_storageslotcreatebody", - "api_operations_storageslotinsertrowbody", - "api_operations_storageslotupdatebody", - "api_operations_uvdisinfectlogcreatebody", - "api_operations_uvdisinfectlogupdatebody", - "crud_clean_room_rationale_1", - "crud_exhibition_appointment_appointment_no_exists", - "crud_exhibition_appointment_create_exhibition_appointment", - "crud_exhibition_appointment_format_visit_date", - "crud_exhibition_appointment_generate_appointment_no", - "crud_exhibition_appointment_get_exhibition_appointment", - "crud_exhibition_appointment_list_exhibition_appointments", - "crud_exhibition_appointment_py", - "crud_exhibition_appointment_rationale_1", - "crud_exhibition_appointment_rationale_100", - "crud_exhibition_appointment_rationale_16", - "crud_exhibition_appointment_row_to_dict", - "crud_exhibition_appointment_soft_delete_exhibition_appointment", - "crud_exhibition_appointment_update_exhibition_appointment", - "crud_storage_facility_aggregate_slot_stats_by_facility", - "crud_storage_facility_apply_slot_select_base_filters", - "crud_storage_facility_apply_slot_select_query_filters", - "crud_storage_facility_batch_create_facilities", - "crud_storage_facility_batch_create_slots", - "crud_storage_facility_build_node_path_cache", - "crud_storage_facility_build_slot_keyword_sql_filters", - "crud_storage_facility_collect_descendant_ids", - "crud_storage_facility_collect_slot_host_node_ids", - "crud_storage_facility_create_facility", - "crud_storage_facility_ensure_slot_layout_order", - "crud_storage_facility_exact_node_ids_for_path", - "crud_storage_facility_facility_node_ids_matching_keyword", - "crud_storage_facility_format_seq", - "crud_storage_facility_get_children", - "crud_storage_facility_get_facility", - "crud_storage_facility_get_slot", - "crud_storage_facility_insert_row_and_shift_slots", - "crud_storage_facility_insert_slot_at_row_end", - "crud_storage_facility_is_slot_available_row", - "crud_storage_facility_leaf_node_ids_for_path_prefix", - "crud_storage_facility_list_all_facilities", - "crud_storage_facility_list_facility_slots", - "crud_storage_facility_list_slot_select_options", - "crud_storage_facility_list_slots", - "crud_storage_facility_py", - "crud_storage_facility_rationale_1", - "crud_storage_facility_rationale_178", - "crud_storage_facility_rationale_309", - "crud_storage_facility_rationale_358", - "crud_storage_facility_rationale_422", - "crud_storage_facility_rationale_457", - "crud_storage_facility_rationale_477", - "crud_storage_facility_rationale_524", - "crud_storage_facility_rationale_54", - "crud_storage_facility_rationale_563", - "crud_storage_facility_rationale_604", - "crud_storage_facility_rationale_675", - "crud_storage_facility_rationale_753", - "crud_storage_facility_rationale_785", - "crud_storage_facility_rationale_81", - "crud_storage_facility_rationale_97", - "crud_storage_facility_resolve_path_keyword", - "crud_storage_facility_resolve_slot_layout_position", - "crud_storage_facility_row_to_dict", - "crud_storage_facility_search_slot_select_matched_ids", - "crud_storage_facility_slot_available_filter", - "crud_storage_facility_slot_matches_select_keyword", - "crud_storage_facility_slot_select_display_name", - "crud_storage_facility_slot_to_dict", - "crud_storage_facility_slot_to_dict_for_row", - "crud_storage_facility_soft_delete_facility", - "crud_storage_facility_soft_delete_slot", - "crud_storage_facility_update_facility", - "crud_storage_facility_update_slot", - "crud_storage_occupancy_enrich_slots_with_stored_cell_products", - "crud_storage_occupancy_load_cell_product_shelf_summaries", - "crud_storage_occupancy_rationale_200", - "crud_storage_occupancy_rationale_285", - "models_models_bizcleanroom", - "models_models_bizcleanroomaccesslog", - "models_models_bizcleanroomuvdisinfectlog", - "models_models_bizexhibitionappointment", - "models_models_bizstoragefacility", - "models_models_bizstoragefacilityslot", - "services_storage_facility_code_assert_sibling_node_code_unique", - "services_storage_facility_code_build_full_slot_code", - "services_storage_facility_code_build_node_code_path", - "services_storage_facility_code_cascade_refresh_slot_name_snapshots_for_nodes", - "services_storage_facility_code_cascade_refresh_slot_name_snapshots_for_slots", - "services_storage_facility_code_collect_slot_ids_under_nodes", - "services_storage_facility_code_decode_slot_layout_order", - "services_storage_facility_code_encode_slot_layout_order", - "services_storage_facility_code_load_facility_ancestor_map", - "services_storage_facility_code_load_facility_map", - "services_storage_facility_code_py", - "services_storage_facility_code_rationale_1", - "services_storage_facility_code_rationale_125", - "services_storage_facility_code_rationale_20", - "services_storage_facility_code_rationale_31", - "services_storage_facility_code_refresh_outbound_release_cell_slot_names", - "services_storage_facility_code_validate_node_code" + "7": [ + "api_oa_approval_rationale_212", + "api_oa_approval_rationale_813", + "api_oa_approval_rationale_844", + "crud_oa_approval_app_to_dict", + "crud_oa_approval_copied_app_name", + "crud_oa_approval_copy_app", + "crud_oa_approval_create_app", + "crud_oa_approval_create_version", + "crud_oa_approval_delete_app", + "crud_oa_approval_delete_group", + "crud_oa_approval_dumps", + "crud_oa_approval_find_draft", + "crud_oa_approval_find_latest_published", + "crud_oa_approval_get_app", + "crud_oa_approval_get_group", + "crud_oa_approval_get_or_create_draft", + "crud_oa_approval_list_apps", + "crud_oa_approval_loads", + "crud_oa_approval_py", + "crud_oa_approval_save_draft", + "crud_oa_approval_update_app", + "crud_oa_approval_update_group", + "crud_oa_approval_version_draft_to_dict", + "crud_oa_instance_draft_batch_soft_delete_drafts", + "crud_oa_instance_draft_count_drafts", + "crud_oa_instance_draft_create_draft", + "crud_oa_instance_draft_draftaccesserror", + "crud_oa_instance_draft_dumps", + "crud_oa_instance_draft_enrich", + "crud_oa_instance_draft_get_draft_detail", + "crud_oa_instance_draft_get_owned_draft", + "crud_oa_instance_draft_list_drafts", + "crud_oa_instance_draft_loads", + "crud_oa_instance_draft_py", + "crud_oa_instance_draft_row_to_dict", + "crud_oa_instance_draft_soft_delete_draft", + "crud_oa_instance_draft_submit_draft", + "crud_oa_instance_draft_update_draft", + "services_oa_assignee_active_user_id", + "services_oa_assignee_normalize_cc_assignee_types", + "services_oa_assignee_py", + "services_oa_assignee_rationale_1", + "services_oa_assignee_rationale_184", + "services_oa_assignee_rationale_55", + "services_oa_assignee_resolve_assignees", + "services_oa_assignee_resolve_cc_assignees", + "services_oa_assignee_resolve_dept_leader", + "services_oa_assignee_resolve_direct_supervisor", + "services_oa_dept_select_field_label", + "services_oa_dept_select_is_multiple", + "services_oa_dept_select_is_required", + "services_oa_dept_select_is_valid_dept_item", + "services_oa_dept_select_max_count", + "services_oa_dept_select_py", + "services_oa_dept_select_rationale_1", + "services_oa_dept_select_rationale_128", + "services_oa_dept_select_rule_props", + "services_oa_dept_select_schema_rules", + "services_oa_dept_select_validate_dept_form_values", + "services_oa_dept_select_validate_dept_rule", + "services_oa_dept_select_walk_rules", + "services_oa_engine_add_instance_event", + "services_oa_engine_add_sign", + "services_oa_engine_advance_from", + "services_oa_engine_advanced", + "services_oa_engine_aggregate_node_status", + "services_oa_engine_append_pending_nodes", + "services_oa_engine_append_pending_nodes_on_path", + "services_oa_engine_apply_cc_task_read", + "services_oa_engine_approve_task_core", + "services_oa_engine_assignee_meta", + "services_oa_engine_assignee_meta_for_cc", + "services_oa_engine_build_progress_items", + "services_oa_engine_check_initiator_scope", + "services_oa_engine_collect_condition_fields", + "services_oa_engine_complete_task", + "services_oa_engine_condition_fields_ready", + "services_oa_engine_count_pending_tasks", + "services_oa_engine_create_tasks_for_node", + "services_oa_engine_dept_name", + "services_oa_engine_dt_sort_key", + "services_oa_engine_dumps", + "services_oa_engine_enrich_list_rows", + "services_oa_engine_enrich_transfer_targets", + "services_oa_engine_eval_condition_rules", + "services_oa_engine_find_node", + "services_oa_engine_flow_node_key_order", + "services_oa_engine_flow_root", + "services_oa_engine_fmt_dt", + "services_oa_engine_form_value_present", + "services_oa_engine_get_instance", + "services_oa_engine_get_instance_detail", + "services_oa_engine_get_template_detail", + "services_oa_engine_group_tasks_by_node", + "services_oa_engine_ids_for_initiator_select_node", + "services_oa_engine_instance_progress_summary", + "services_oa_engine_instance_to_dict", + "services_oa_engine_iter_resolved_path_nodes", + "services_oa_engine_list_tasks", + "services_oa_engine_list_templates", + "services_oa_engine_load_initiator_select_by_node", + "services_oa_engine_loads", + "services_oa_engine_mark_cc_task_read", + "services_oa_engine_mark_cc_tasks_read_batch", + "services_oa_engine_match_condition_group", + "services_oa_engine_maybe_auto_pass_initiator", + "services_oa_engine_merge_after_branch_end", + "services_oa_engine_next_task_order_num", + "services_oa_engine_node_type", + "services_oa_engine_normalize_cc_read_status", + "services_oa_engine_normalize_initiator_select_by_node", + "services_oa_engine_oaengineerror", + "services_oa_engine_pending_people_for_node", + "services_oa_engine_post_name_map", + "services_oa_engine_preview_people", + "services_oa_engine_preview_start_flow", + "services_oa_engine_progress_person", + "services_oa_engine_py", + "services_oa_engine_resubmit_instance", + "services_oa_engine_return_task", + "services_oa_engine_sort_tasks_for_detail", + "services_oa_engine_start_instance", + "services_oa_engine_subtree_contains", + "services_oa_engine_task_round", + "services_oa_engine_terminal_item", + "services_oa_engine_transfer_task", + "services_oa_engine_user_name_map", + "services_oa_engine_walk_preview_nodes", + "services_oa_engine_withdraw_instance", + "services_oa_formula_apply_formulas_and_linkages", + "services_oa_formula_eval_formula", + "services_oa_formula_extract_rules", + "services_oa_formula_formulaerror", + "services_oa_formula_preprocess_formula", + "services_oa_formula_py", + "services_oa_formula_rationale_1", + "services_oa_formula_rationale_232", + "services_oa_formula_rationale_69", + "services_oa_formula_safeeval", + "services_oa_formula_safeeval_init", + "services_oa_formula_safeeval_visit", + "services_oa_formula_safeeval_visit_binop", + "services_oa_formula_safeeval_visit_boolop", + "services_oa_formula_safeeval_visit_call", + "services_oa_formula_safeeval_visit_compare", + "services_oa_formula_safeeval_visit_constant", + "services_oa_formula_safeeval_visit_expression", + "services_oa_formula_safeeval_visit_ifexp", + "services_oa_formula_safeeval_visit_list", + "services_oa_formula_safeeval_visit_name", + "services_oa_formula_safeeval_visit_nameconstant", + "services_oa_formula_safeeval_visit_num", + "services_oa_formula_safeeval_visit_str", + "services_oa_formula_safeeval_visit_unaryop", + "services_oa_formula_to_number", + "services_oa_formula_truthy", + "services_oa_formula_walk_rules", + "services_oa_owner_fields_allow_modify", + "services_oa_owner_fields_apply_owner_field_defaults", + "services_oa_owner_fields_py", + "services_oa_owner_fields_rationale_1", + "services_oa_owner_fields_rationale_49", + "services_oa_owner_fields_rule_props", + "services_oa_owner_fields_schema_rules", + "services_oa_owner_fields_walk_rules", + "services_oa_publish_count_fillable_fields", + "services_oa_publish_extract_rules", + "services_oa_publish_index_condition_fields", + "services_oa_publish_node_type", + "services_oa_publish_normalize_use_in_condition_required", + "services_oa_publish_publish_app", + "services_oa_publish_py", + "services_oa_publish_rationale_140", + "services_oa_publish_rationale_155", + "services_oa_publish_rationale_469", + "services_oa_publish_rule_use_in_condition", + "services_oa_publish_validate_condition_rules_against_form", + "services_oa_publish_validate_control_types", + "services_oa_publish_validate_draft_for_publish", + "services_oa_publish_validate_flow_tree", + "services_oa_publish_validate_posts_referenced", + "services_oa_publish_walk_form_rules", + "services_oa_related_approval_assert_linkable_instance", + "services_oa_related_approval_build_related_summaries", + "services_oa_related_approval_extract_related_approval_links", + "services_oa_related_approval_extract_upload_urls", + "services_oa_related_approval_flatten_form_fields_for_summary", + "services_oa_related_approval_format_value", + "services_oa_related_approval_list_related_candidates", + "services_oa_related_approval_merge_relation_targets", + "services_oa_related_approval_normalize_related_ids", + "services_oa_related_approval_py", + "services_oa_related_approval_rationale_92", + "services_oa_related_approval_schema_rules", + "services_oa_related_approval_walk_rules", + "services_oa_trip_days_apply_trip_kit_days", + "services_oa_trip_days_calc_trip_leg_days", + "services_oa_trip_days_day_index", + "services_oa_trip_days_end_offset", + "services_oa_trip_days_extract_rules", + "services_oa_trip_days_is_half_day_multiple", + "services_oa_trip_days_py", + "services_oa_trip_days_rationale_1", + "services_oa_trip_days_rationale_168", + "services_oa_trip_days_rationale_201", + "services_oa_trip_days_rationale_60", + "services_oa_trip_days_start_offset", + "services_oa_trip_days_sum_trip_leg_days", + "services_oa_trip_days_validate_trip_kit_form_values", + "services_oa_trip_days_walk", + "services_oa_trip_days_walk_trip_kits" ], - "11": [ - "api_public_jwt_user_payload", - "api_public_rationale_120", - "api_public_rationale_131", - "api_public_refresh_token", - "api_public_web_login", - "api_public_web_login_rsa_public_key", - "core_auth_create_access_token", - "core_auth_create_refresh_token", - "core_auth_decode_token", - "core_auth_extend_session", - "core_auth_get_client_ip", - "core_auth_get_current_user", - "core_auth_get_current_user_by_token", - "core_auth_get_current_user_simple", - "core_auth_get_redis_client", - "core_auth_is_refresh_token_valid", - "core_auth_is_session_valid", - "core_auth_py", - "core_auth_rationale_107", - "core_auth_rationale_190", - "core_auth_rationale_76", - "core_auth_redis_session_enabled", - "core_auth_refresh_key", - "core_auth_revoke_refresh_token", - "core_auth_revoke_session", - "core_auth_session_key", - "core_auth_store_refresh_token", - "core_auth_store_session", - "core_login_crypto_decrypt_login_payload", - "core_login_crypto_ensure_initialized", - "core_login_crypto_extract_login_credentials", - "core_login_crypto_get_public_pem", - "core_login_crypto_load_private_key_from_pem", - "core_login_crypto_normalize_pem_text", - "core_login_crypto_py", - "core_login_crypto_rationale_1", - "core_login_crypto_rationale_101", - "core_login_crypto_rationale_42", - "core_login_crypto_rationale_80", - "core_login_crypto_validate_ts", - "core_menu_guard_get_user_menu_codes", - "core_menu_guard_py", - "core_menu_guard_rationale_1", - "core_menu_guard_rationale_15", - "core_menu_guard_rationale_23", - "core_menu_guard_rationale_51", - "core_menu_guard_rationale_57", - "core_menu_guard_require_admin_or_super_admin", - "core_menu_guard_require_any_menu_code", - "core_menu_guard_require_menu_code", - "core_security_get_password_hash", - "core_security_py", - "core_security_rationale_5", - "core_security_verify_password", - "crud_base_camel_to_snake", - "crud_base_crudbase", - "crud_base_crudbase_create", - "crud_base_crudbase_delete", - "crud_base_crudbase_get_all", - "crud_base_crudbase_get_multi", - "crud_base_crudbase_hard_delete", - "crud_base_crudbase_init", - "crud_base_get_model_attr", - "crud_base_historycrud", - "crud_base_historycrud_create_history", - "crud_base_py", - "crud_role_update_role_menus", - "crud_sample_reception_can_edit_sample_reception", - "crud_user_change_password", - "crud_user_create_user", - "crud_user_get_user", - "crud_user_get_user_with_relations", - "crud_user_hash_password", - "crud_user_list_post_ids_for_user", - "crud_user_list_user_ids_bound_to_post", - "crud_user_list_user_ids_bound_to_posts", - "crud_user_list_users", - "crud_user_parse_hire_date", - "crud_user_py", - "crud_user_rationale_1", - "crud_user_rationale_142", - "crud_user_rationale_192", - "crud_user_rationale_238", - "crud_user_rationale_312", - "crud_user_replace_associations", - "crud_user_reset_password", - "crud_user_row_to_dict", - "crud_user_set_user_post_ids_only", - "crud_user_soft_delete_user", - "crud_user_sync_post_user_bindings", - "crud_user_total_pages", - "crud_user_update_user", - "crud_user_user_no_exists", - "crud_user_usercrudcompat", - "crud_user_usercrudcompat_get_by_user_no", - "services_web_auth_roles_active_role_name_rows", - "services_web_auth_roles_dedupe_role_id_rows", - "services_web_auth_roles_get_direct_enabled_role_ids", - "services_web_auth_roles_get_effective_role_ids", - "services_web_auth_roles_get_post_inherited_role_ids", - "services_web_auth_roles_get_role_names_by_ids", - "services_web_auth_roles_get_user_role_names", - "services_web_auth_roles_iter_user_menu_perm_codes", - "services_web_auth_roles_map_role_name_to_web", - "services_web_auth_roles_py", - "services_web_auth_roles_resolve_web_role_for_user", - "services_web_auth_roles_user_has_active_roles" - ], - "12": [ - "api_sample_production_reception_body_to_payload", - "api_sample_production_reception_get_current_user_id", - "api_sample_production_reception_get_production_reception_by_sample_code", - "api_sample_production_reception_get_production_reception_detail", - "api_sample_production_reception_get_tenant_no", - "api_sample_production_reception_post_production_reception", - "api_sample_production_reception_put_production_reception", - "api_sample_production_reception_py", - "api_sample_production_reception_resolve_reception_id", - "crud_collection_protocol_format_attachment_file_size", - "crud_collection_protocol_urls_to_attachment_list", - "crud_sample_production_reception_apply_payload_to_row", - "crud_sample_production_reception_create_production_reception", - "crud_sample_production_reception_dec", - "crud_sample_production_reception_fmt_dt", - "crud_sample_production_reception_get_by_id", - "crud_sample_production_reception_get_by_reception_id", - "crud_sample_production_reception_get_map_by_reception_ids", - "crud_sample_production_reception_get_qc_reception", - "crud_sample_production_reception_int_val", - "crud_sample_production_reception_py", - "crud_sample_production_reception_resolve_field_profile", - "crud_sample_production_reception_row_to_dict", - "crud_sample_production_reception_update_production_reception", - "crud_sample_production_reception_validate_handler_user_id", - "crud_sample_production_reception_validate_payload", - "crud_sample_reception_attach_production_reception", - "crud_sample_reception_check_result_get_check_results_for_reception", - "crud_sample_reception_check_result_legacy_results_from_reception", - "crud_sample_reception_check_result_list_results_by_reception_ids", - "crud_sample_reception_check_result_py", - "crud_sample_reception_check_result_result_to_dict", - "crud_sample_reception_dec", - "crud_sample_reception_donation_ids_matching_lab_storage_keyword", - "crud_sample_reception_donation_rows_to_sample_list_items", - "crud_sample_reception_donation_sample_detail_rows_query", - "crud_sample_reception_donation_sample_id_col", - "crud_sample_reception_donation_sample_pending_query", - "crud_sample_reception_finalize_reception_detail", - "crud_sample_reception_fmt_dt", - "crud_sample_reception_format_lab_storage_codes_csv", - "crud_sample_reception_get_reception_by_id", - "crud_sample_reception_get_reception_by_sample_code", - "crud_sample_reception_get_receptions_map_for_donation_samples", - "crud_sample_reception_get_receptions_map_for_samples", - "crud_sample_reception_lab_storage_keyword_like", - "crud_sample_reception_list_pending_protocol_samples", - "crud_sample_reception_list_received_protocol_samples", - "crud_sample_reception_normalize_date_bound", - "crud_sample_reception_protocol_ids_matching_lab_storage_keyword", - "crud_sample_reception_py", - "crud_sample_reception_reception_detail_item", - "crud_sample_reception_reception_detail_item_with_production", - "crud_sample_reception_reception_ids_matching_lab_storage_keyword", - "crud_sample_reception_reception_sample_code", - "crud_sample_reception_reception_to_dict", - "crud_sample_reception_rows_to_sample_list_items", - "crud_sample_reception_sample_codes_matching_lab_storage_keyword", - "crud_sample_reception_sample_detail_rows_query", - "crud_sample_reception_sample_pending_query", - "crud_sop_document_create_sop_document", - "crud_sop_document_get_sop_document", - "crud_sop_document_list_sop_documents", - "crud_sop_document_py", - "crud_sop_document_rationale_1", - "crud_sop_document_row_to_dict", - "crud_sop_document_soft_delete_sop_document", - "crud_sop_document_sop_code_exists", - "crud_sop_document_total_pages", - "crud_sop_document_update_sop_document", - "crud_storage_entry_sms_notification_base_query", - "crud_storage_entry_sms_notification_ensure_notification", - "crud_storage_entry_sms_notification_fetch_sample_type_name", - "crud_storage_entry_sms_notification_fmt_dt", - "crud_storage_entry_sms_notification_generate_sms_content", - "crud_storage_entry_sms_notification_list_notifications", - "crud_storage_entry_sms_notification_normalize_date_bound", - "crud_storage_entry_sms_notification_py", - "crud_storage_entry_sms_notification_resolve_notification", - "crud_storage_entry_sms_notification_row_to_dict", - "crud_storage_entry_sms_notification_storage_status_label", - "crud_storage_entry_sms_notification_toggle_notification_status", - "crud_storage_entry_sms_notification_total_pages", - "crud_storage_entry_sms_notification_unicode_ci" - ], - "13": [ + "8": [ "api_pilot_application_api_save_application", + "crud_base_crudbase_update", + "crud_collection_protocol_get_protocol_nos_used_in_protocols", + "crud_outbound_handover_fmt_dt", + "crud_outbound_handover_get_handover_by_schedule", + "crud_outbound_handover_get_outbound_handover", + "crud_outbound_handover_get_outbound_handover_view", + "crud_outbound_handover_handover_row_to_dict", + "crud_outbound_handover_handover_view_dict", + "crud_outbound_handover_parse_handover_time", + "crud_outbound_handover_py", + "crud_outbound_handover_rationale_103", + "crud_outbound_handover_rationale_113", + "crud_outbound_handover_rationale_147", + "crud_outbound_handover_save_outbound_handover", + "crud_outbound_release_material_cell_row_to_dict", + "crud_outbound_release_material_enrich_cell_dicts_with_live_status", + "crud_outbound_release_material_find_outbound_cell_row", + "crud_outbound_release_material_find_outbound_qc_material_row", + "crud_outbound_release_material_fmt_dt", + "crud_outbound_release_material_get_outbound_material", + "crud_outbound_release_material_get_schedule", + "crud_outbound_release_material_legacy_paper_rows_from_attachments", + "crud_outbound_release_material_material_header_to_dict", + "crud_outbound_release_material_paper_row_to_dict", + "crud_outbound_release_material_py", + "crud_outbound_release_material_qc_material_row_to_dict", + "crud_outbound_release_material_save_outbound_material", + "crud_outbound_release_material_soft_delete_outbound_cells_not_in", + "crud_outbound_release_material_soft_delete_outbound_qc_materials_not_in", "crud_pilot_application_auto_generate_schedules", "crud_pilot_application_complete_application", "crud_pilot_application_create_application", @@ -4798,6 +4183,7 @@ "crud_pilot_checkup_delete_reserve_item", "crud_pilot_checkup_ensure_checkup_for_patient", "crud_pilot_checkup_generate_checkup_no", + "crud_pilot_checkup_get_checkup_by_application", "crud_pilot_checkup_get_checkup_by_id", "crud_pilot_checkup_list_actual_items", "crud_pilot_checkup_list_checkups_paginated", @@ -4813,20 +4199,306 @@ "crud_pilot_checkup_save_actual_items", "crud_pilot_checkup_save_reserve_items", "crud_pilot_checkup_settle_checkup_fee", + "crud_pilot_checkup_soft_delete_checkup", "crud_pilot_checkup_update_checkup", + "crud_pilot_delivery_create_delivery", + "crud_pilot_delivery_delete_delivery_material", + "crud_pilot_delivery_generate_delivery_no", + "crud_pilot_delivery_get_delivery_by_schedule", + "crud_pilot_delivery_get_delivery_method", + "crud_pilot_delivery_list_deliveries_by_application", + "crud_pilot_delivery_list_delivery_materials", + "crud_pilot_delivery_py", + "crud_pilot_delivery_row_to_dict_delivery", + "crud_pilot_delivery_row_to_dict_delivery_material", + "crud_pilot_delivery_row_to_dict_delivery_method", + "crud_pilot_delivery_save_delivery_method", + "crud_pilot_delivery_soft_delete_delivery", + "crud_pilot_infusion_schedule_mgmt_create_settlement_txn", + "crud_pilot_infusion_schedule_mgmt_deduct_fee_on_complete", + "crud_pilot_infusion_schedule_mgmt_find_existing_settlement_txn", + "crud_pilot_infusion_schedule_mgmt_find_service_order_product", + "crud_pilot_infusion_schedule_mgmt_get_infusion_schedule_detail", + "crud_pilot_infusion_schedule_mgmt_get_plan_schedule_course_meta", + "crud_pilot_infusion_schedule_mgmt_get_products_for_schedule", + "crud_pilot_infusion_schedule_mgmt_list_infusion_schedules_mgmt", + "crud_pilot_infusion_schedule_mgmt_py", + "crud_pilot_infusion_schedule_mgmt_resolve_course_display", + "crud_pilot_infusion_schedule_mgmt_resolve_yfk_unit_price", + "crud_pilot_infusion_schedule_mgmt_row_to_dict_product", + "crud_pilot_infusion_schedule_mgmt_row_to_dict_schedule", + "crud_pilot_infusion_schedule_mgmt_schedule_product_to_txn_item", + "crud_pilot_infusion_schedule_mgmt_settlement_remark_marker", + "crud_pilot_infusion_schedule_mgmt_settlement_remark_markers_for_lookup", + "crud_pilot_infusion_schedule_mgmt_update_infusion_schedule_mgmt", + "crud_pilot_infusion_schedule_mgmt_update_infusion_status", + "crud_pilot_infusion_schedule_mgmt_update_qc_status", "crud_pilot_outbound_status_sync_get_schedule", "crud_pilot_outbound_status_sync_is_pilot_outbound_production", "crud_pilot_outbound_status_sync_is_pilot_outbound_qc", "crud_pilot_outbound_status_sync_py", + "crud_pilot_outbound_status_sync_rationale_1", + "crud_pilot_outbound_status_sync_rationale_131", + "crud_pilot_outbound_status_sync_rationale_174", + "crud_pilot_outbound_status_sync_rationale_64", + "crud_pilot_outbound_status_sync_rationale_96", "crud_pilot_outbound_status_sync_sync_pilot_outbound_from_schedule", "crud_pilot_outbound_status_sync_sync_production_work_order_from_schedule", "crud_pilot_outbound_status_sync_sync_qc_work_order_from_schedule", "crud_pilot_outbound_status_sync_sync_schedule_from_production_work_order", "crud_pilot_outbound_status_sync_sync_schedule_from_qc_work_order", "crud_pilot_outbound_status_sync_touch", - "crud_qc_work_order_create_outbound_qc_work_order" + "crud_production_task_spawn_temporary_work_order_from_task", + "crud_production_work_order_accept_conclusion_label", + "crud_production_work_order_apply_planned_start_time_step_filter", + "crud_production_work_order_attach_outbound_detail", + "crud_production_work_order_attach_reception_detail", + "crud_production_work_order_complete_production_work_order", + "crud_production_work_order_configure_temp_production_work_order", + "crud_production_work_order_create_outbound_production_work_order", + "crud_production_work_order_create_production_work_order_manual", + "crud_production_work_order_create_temp_production_work_order", + "crud_production_work_order_dec_price", + "crud_production_work_order_delete_production_work_order", + "crud_production_work_order_delete_temp_production_work_order", + "crud_production_work_order_enrich_inbound_qc_conclusions", + "crud_production_work_order_enrich_outbound_items", + "crud_production_work_order_enrich_wo_items", + "crud_production_work_order_fmt_dt", + "crud_production_work_order_generate_outbound_work_order_no", + "crud_production_work_order_generate_temp_work_order_no", + "crud_production_work_order_generate_work_order_no", + "crud_production_work_order_get_production_info_map_for_samples", + "crud_production_work_order_get_production_work_order", + "crud_production_work_order_get_temp_production_work_order", + "crud_production_work_order_get_temp_production_work_order_detail", + "crud_production_work_order_list_production_work_orders", + "crud_production_work_order_list_temp_production_work_orders", + "crud_production_work_order_normalize_date_bound", + "crud_production_work_order_production_info_item", + "crud_production_work_order_production_task_info", + "crud_production_work_order_py", + "crud_production_work_order_reception_source_label", + "crud_production_work_order_soft_delete_sub", + "crud_production_work_order_sync_temp_production_work_order_status", + "crud_production_work_order_temp_wo_to_dict", + "crud_production_work_order_update_production_work_order", + "crud_production_work_order_wo_to_dict", + "crud_production_work_order_wo_to_response_dict", + "crud_qc_work_order_create_outbound_qc_work_order", + "crud_sample_reception_check_result_soft_delete_reception_check_results", + "services_oa_leave_hours_apply_leave_kit_hours", + "services_oa_leave_hours_calc_leave_hours", + "services_oa_leave_hours_extract_rules", + "services_oa_leave_hours_kit_child_fields", + "services_oa_leave_hours_overlap_minutes_on_day", + "services_oa_leave_hours_parse_dt", + "services_oa_leave_hours_parse_hm", + "services_oa_leave_hours_py", + "services_oa_leave_hours_rationale_1", + "services_oa_leave_hours_rationale_124", + "services_oa_leave_hours_rationale_171", + "services_oa_leave_hours_rationale_80", + "services_oa_leave_hours_round1", + "services_oa_leave_hours_validate_leave_kit_form_values", + "services_oa_leave_hours_walk" ], - "14": [ + "9": [ + "api_basic_info_cellsampletypecreatebody", + "api_basic_info_cellsampletypeupdatebody", + "api_basic_info_collectionregioncreatebody", + "api_basic_info_collectionregionupdatebody", + "api_basic_info_customercreatebody", + "api_basic_info_customerupdatebody", + "api_basic_info_hospitalcreatebody", + "api_basic_info_hospitalupdatebody", + "api_basic_info_protocolnobatchgeneratebody", + "api_basic_info_protocolnobatchissuebody", + "api_basic_info_protocolnobatchrevokebody", + "api_basic_info_protocolnocreatebody", + "api_basic_info_protocolnoupdatebody", + "api_basic_info_rationale_1", + "api_basic_info_samplecodebatchgeneratebody", + "api_basic_info_samplecodebatchissuebody", + "api_basic_info_samplecodebatchrevokebody", + "api_basic_info_samplecodecreatebody", + "api_basic_info_samplecodeupdatebody", + "api_collection_protocol_auditcreatebody", + "api_collection_protocol_batchdetailidsbody", + "api_collection_protocol_batchrefundfinancesubmitbody", + "api_collection_protocol_financeconfirmbody", + "api_collection_protocol_fullmoontodoinsurancebody", + "api_collection_protocol_invoicerequestcompletebody", + "api_collection_protocol_invoicerequestcreatebody", + "api_collection_protocol_paymentdetaildraftbody", + "api_collection_protocol_protocolcreatebody", + "api_collection_protocol_protocolupdatebody", + "api_collection_protocol_rationale_1", + "api_collection_protocol_rationale_273", + "api_collection_protocol_rationale_49", + "api_collection_protocol_rationale_83", + "api_collection_protocol_refundfinanceconfirmbody", + "api_collection_protocol_refundfinancesubmitbody", + "crud_biz_no_generator_allocate_next_biz_no", + "crud_biz_no_generator_format_biz_no", + "crud_biz_no_generator_prefix_for", + "crud_biz_no_generator_py", + "crud_biz_no_generator_rationale_1", + "crud_biz_no_generator_rationale_35", + "crud_cell_product_rationale_1", + "crud_cell_product_rationale_1169", + "crud_cell_product_rationale_1448", + "crud_cell_product_rationale_40", + "crud_cell_product_rationale_581", + "crud_cell_product_rationale_597", + "crud_cell_product_rationale_631", + "crud_cell_product_rationale_648", + "crud_cell_product_rationale_695", + "crud_cell_product_rationale_706", + "crud_cell_product_rationale_776", + "crud_cell_product_rationale_919", + "crud_collection_protocol_create_collection_protocol", + "crud_collection_protocol_no_rationale_34", + "crud_collection_protocol_rationale_1", + "crud_collection_protocol_rationale_109", + "crud_collection_protocol_rationale_145", + "crud_collection_protocol_rationale_1514", + "crud_collection_protocol_rationale_199", + "crud_collection_protocol_rationale_218", + "crud_collection_protocol_rationale_2188", + "crud_collection_protocol_rationale_229", + "crud_collection_protocol_rationale_240", + "crud_collection_protocol_rationale_2594", + "crud_collection_protocol_rationale_3033", + "crud_collection_protocol_rationale_304", + "crud_collection_protocol_rationale_3330", + "crud_collection_protocol_rationale_589", + "crud_collection_protocol_rationale_636", + "crud_collection_protocol_rationale_75", + "crud_collection_region_rationale_234", + "crud_collection_region_rationale_29", + "crud_inbound_sample_special_rationale_1", + "crud_pre_transit_sample_rationale_1", + "crud_protocol_donation_convert_active_link_query", + "crud_protocol_donation_convert_assert_biz_no_available", + "crud_protocol_donation_convert_create_convert_link", + "crud_protocol_donation_convert_get_convert_partner", + "crud_protocol_donation_convert_get_partner_sample_codes", + "crud_protocol_donation_convert_has_active_convert_link", + "crud_protocol_donation_convert_py", + "crud_protocol_donation_convert_rationale_1", + "crud_protocol_donation_convert_rationale_132", + "crud_protocol_donation_convert_rationale_198", + "crud_protocol_donation_convert_rationale_273", + "crud_protocol_donation_convert_rationale_35", + "crud_protocol_donation_convert_rationale_84", + "crud_protocol_donation_convert_upsert_convert_link_for_to_storage", + "crud_protocol_sample_collection_rationale_1", + "crud_qc_sms_notification_rationale_32", + "crud_qc_task_rationale_1018", + "crud_qc_task_rationale_180", + "crud_qc_task_rationale_709", + "crud_qc_task_rationale_767", + "crud_qc_task_rationale_791", + "crud_qc_task_rationale_924", + "crud_qc_task_rationale_986", + "crud_research_donation_convert_from_storage", + "crud_research_donation_convert_to_storage", + "crud_research_donation_merge_comma_separated_urls", + "crud_research_donation_rationale_1", + "crud_research_donation_rationale_1237", + "crud_research_donation_rationale_1630", + "crud_research_donation_rationale_178", + "crud_research_donation_rationale_189", + "crud_research_donation_rationale_1978", + "crud_research_donation_rationale_205", + "crud_research_donation_rationale_74", + "crud_research_donation_rationale_91", + "crud_research_donation_rationale_913", + "crud_research_donation_rationale_987", + "crud_research_donation_sample_collection_rationale_1", + "crud_sample_reception_check_result_rationale_108", + "crud_sample_reception_check_result_rationale_133", + "crud_sample_reception_check_result_rationale_171", + "crud_sample_reception_rationale_1018", + "crud_sample_reception_rationale_1046", + "crud_sample_reception_rationale_1205", + "crud_sample_reception_rationale_122", + "crud_sample_reception_rationale_1252", + "crud_sample_reception_rationale_1293", + "crud_sample_reception_rationale_1349", + "crud_sample_reception_rationale_1373", + "crud_sample_reception_rationale_1398", + "crud_sample_reception_rationale_1419", + "crud_sample_reception_rationale_1443", + "crud_sample_reception_rationale_1468", + "crud_sample_reception_rationale_156", + "crud_sample_reception_rationale_200", + "crud_sample_reception_rationale_312", + "crud_sample_reception_rationale_43", + "crud_sample_reception_rationale_88", + "crud_storage_entry_sms_notification_rationale_185", + "crud_storage_release_review_rationale_131", + "crud_storage_release_review_rationale_139", + "crud_storage_release_review_rationale_153", + "crud_storage_release_review_rationale_165", + "crud_storage_release_review_rationale_171", + "crud_storage_release_review_rationale_181", + "crud_storage_release_review_rationale_202", + "crud_storage_release_review_rationale_223", + "crud_storage_release_review_rationale_264", + "crud_storage_release_review_rationale_293", + "crud_storage_release_review_rationale_809", + "crud_storage_release_review_rationale_829", + "crud_storage_release_review_rationale_998", + "models_models_bizcellsampletype", + "models_models_bizcollectionhospital", + "models_models_bizcollectionprotocol", + "models_models_bizcollectionprotocolno", + "models_models_bizcollectionregion", + "models_models_bizcustomer", + "models_models_bizexpresscompany", + "models_models_bizitemunit", + "models_models_bizprotocolaudit", + "models_models_bizprotocolcollectioninfo", + "models_models_bizprotocolfullmoontodo", + "models_models_bizprotocolinvoicerequest", + "models_models_bizprotocolinvoicerequestitem", + "models_models_bizprotocolpartycustomer", + "models_models_bizprotocolpayment", + "models_models_bizprotocolpaymentdetail", + "models_models_bizprotocolsample", + "models_models_bizprotocolsampletransport", + "models_models_bizprotocolstoragecert", + "models_models_bizqcworkorder", + "models_models_bizsamplecode", + "models_models_bizsamplereception", + "models_models_bizsamplereceptioncheckresult", + "models_models_bizstoragereleasereview", + "models_models_syssite", + "models_research_donation_bizprotocoldonationconvert", + "models_research_donation_bizresearchdonation", + "models_research_donation_bizresearchdonationaudit", + "models_research_donation_bizresearchdonationcollection", + "models_research_donation_bizresearchdonationparty", + "models_research_donation_bizresearchdonationsample", + "models_research_donation_bizresearchdonationsampletransport", + "models_research_donation_py", + "models_research_donation_rationale_10", + "models_research_donation_rationale_108", + "models_research_donation_rationale_132", + "models_research_donation_rationale_163", + "models_research_donation_rationale_191", + "models_research_donation_rationale_47", + "models_research_donation_rationale_68", + "services_protocol_sample_list_summary_rationale_1", + "services_protocol_sample_list_summary_rationale_24", + "services_protocol_sample_list_summary_rationale_53", + "services_protocol_sample_list_summary_rationale_86", + "services_qc_work_order_fee_summary_rationale_1" + ], + "10": [ + "api_production_get_next_cell_product_code", "crud_cell_product_ancestor_link_from_cell_product_input", "crud_cell_product_ancestor_sample_chain_link", "crud_cell_product_apply_cell_product_status_change", @@ -4886,6 +4558,77 @@ "crud_outbound_handover_inventory_revert_handover_inventory", "crud_outbound_handover_inventory_revert_legacy_qc_handover_usages", "crud_outbound_handover_inventory_revert_market_handover_usages", + "crud_production_task_add_task_step", + "crud_production_task_aggregate_production_tab_step_field", + "crud_production_task_assert_step_assignee_for_write", + "crud_production_task_assert_task_assignee", + "crud_production_task_assert_task_step_assignee_or_legacy", + "crud_production_task_batch_load_step_sub_tables", + "crud_production_task_clone_route_to_task", + "crud_production_task_clone_step_consumables", + "crud_production_task_clone_step_data_collections", + "crud_production_task_clone_step_outputs", + "crud_production_task_clone_step_reagents", + "crud_production_task_consume_task_input_cell_products", + "crud_production_task_copy_task_step", + "crud_production_task_count_mine_production_work_order_tab_step_badges", + "crud_production_task_count_production_work_order_tab_step_badges", + "crud_production_task_count_step_tab_badges_by_tab", + "crud_production_task_create_occupancy_for_product", + "crud_production_task_create_production_task", + "crud_production_task_delete_production_task", + "crud_production_task_dispatch_task_steps", + "crud_production_task_empty_production_tab_step_counts", + "crud_production_task_empty_step_sub_tables", + "crud_production_task_enrich_handover_times", + "crud_production_task_enrich_outbound_task_items", + "crud_production_task_enrich_tasks_with_step_summaries", + "crud_production_task_fmt_dt", + "crud_production_task_forward_production_task", + "crud_production_task_generate_task_no", + "crud_production_task_get_production_task_detail", + "crud_production_task_get_production_task_row", + "crud_production_task_list_mine_production_tasks", + "crud_production_task_list_production_tasks", + "crud_production_task_normalize_date_bound", + "crud_production_task_output_item_has_spec", + "crud_production_task_output_item_spec_text", + "crud_production_task_parse_optional_date", + "crud_production_task_production_conclusion_label", + "crud_production_task_py", + "crud_production_task_reassign_production_task", + "crud_production_task_record_task_handover", + "crud_production_task_reorder_task_steps", + "crud_production_task_resolve_production_tab_key", + "crud_production_task_resolve_sub_table_order_num", + "crud_production_task_set_task_outputs", + "crud_production_task_step_assignee_active_users_in_tenant", + "crud_production_task_step_assignee_active_users_with_role_in_tenant", + "crud_production_task_step_assignee_enrich_step_assignees", + "crud_production_task_step_assignee_enrich_step_completed_by_names", + "crud_production_task_step_assignee_py", + "crud_production_task_step_assignee_rationale_140", + "crud_production_task_step_assignee_rationale_39", + "crud_production_task_step_assignee_rationale_92", + "crud_production_task_step_assignee_sync_assignees_for_step", + "crud_production_task_step_assignee_user_is_any_step_assignee_of_task", + "crud_production_task_step_assignee_user_is_step_assignee", + "crud_production_task_step_assignee_validate_assignee_user_ids", + "crud_production_task_step_configured_reagent_to_dict", + "crud_production_task_step_consumable_to_dict", + "crud_production_task_step_data_collection_to_dict", + "crud_production_task_step_output_to_dict", + "crud_production_task_step_reagent_to_dict", + "crud_production_task_step_sub_tables_to_dict", + "crud_production_task_step_to_dict", + "crud_production_task_task_input_to_dict", + "crud_production_task_task_output_to_dict", + "crud_production_task_task_to_dict", + "crud_production_task_total_pages", + "crud_production_task_update_product_from_output", + "crud_production_task_update_task_status", + "crud_production_task_validate_assignee_user_id", + "crud_production_work_order_sync_production_work_order_status_from_tasks", "crud_storage_occupancy_add_stored_occupancy_no_commit", "crud_storage_occupancy_assert_batch_slots_unique", "crud_storage_occupancy_assert_slot_vacant", @@ -4893,22 +4636,315 @@ "crud_storage_occupancy_batch_create_occupancies", "crud_storage_occupancy_create_occupancy", "crud_storage_occupancy_enrich_occupancy_items", + "crud_storage_occupancy_enrich_slots_with_stored_cell_products", "crud_storage_occupancy_list_occupancies", "crud_storage_occupancy_list_occupancy_history", "crud_storage_occupancy_load_cell_product_map", + "crud_storage_occupancy_load_cell_product_shelf_summaries", "crud_storage_occupancy_py", - "crud_storage_occupancy_rationale_1", - "crud_storage_occupancy_rationale_178", - "crud_storage_occupancy_rationale_330", - "crud_storage_occupancy_rationale_43", - "crud_storage_occupancy_rationale_472", "crud_storage_occupancy_refresh_slot_cache", "crud_storage_occupancy_remove_by_item", "crud_storage_occupancy_remove_by_item_no_commit", "crud_storage_occupancy_remove_occupancy", "crud_storage_occupancy_row_to_dict" ], - "15": [ + "11": [ + "api_operations_accesslogcreatebody", + "api_operations_accesslogupdatebody", + "api_operations_cleanroomcreatebody", + "api_operations_cleanroomupdatebody", + "api_operations_exhibitionappointmentcreatebody", + "api_operations_exhibitionappointmentupdatebody", + "api_operations_occupancycreatebody", + "api_operations_rationale_1", + "api_operations_rationale_674", + "api_operations_storagefacilitybatchcreatebody", + "api_operations_storagefacilitycreatebody", + "api_operations_storagefacilityupdatebody", + "api_operations_storageslotbatchcreatebody", + "api_operations_storageslotclearbody", + "api_operations_storageslotcreatebody", + "api_operations_storageslotinsertrowbody", + "api_operations_storageslotupdatebody", + "api_operations_uvdisinfectlogcreatebody", + "api_operations_uvdisinfectlogupdatebody", + "crud_clean_room_rationale_1", + "crud_exhibition_appointment_appointment_no_exists", + "crud_exhibition_appointment_format_visit_date", + "crud_exhibition_appointment_generate_appointment_no", + "crud_exhibition_appointment_get_exhibition_appointment", + "crud_exhibition_appointment_list_exhibition_appointments", + "crud_exhibition_appointment_py", + "crud_exhibition_appointment_rationale_1", + "crud_exhibition_appointment_rationale_100", + "crud_exhibition_appointment_rationale_16", + "crud_exhibition_appointment_row_to_dict", + "crud_exhibition_appointment_soft_delete_exhibition_appointment", + "crud_exhibition_appointment_update_exhibition_appointment", + "crud_storage_facility_aggregate_slot_stats_by_facility", + "crud_storage_facility_apply_slot_select_base_filters", + "crud_storage_facility_apply_slot_select_query_filters", + "crud_storage_facility_batch_create_facilities", + "crud_storage_facility_batch_create_slots", + "crud_storage_facility_build_node_path_cache", + "crud_storage_facility_build_slot_keyword_sql_filters", + "crud_storage_facility_clear_slots_by_facility_node", + "crud_storage_facility_collect_descendant_ids", + "crud_storage_facility_collect_slot_host_node_ids", + "crud_storage_facility_create_facility", + "crud_storage_facility_ensure_slot_layout_order", + "crud_storage_facility_exact_node_ids_for_path", + "crud_storage_facility_facility_node_ids_matching_keyword", + "crud_storage_facility_format_seq", + "crud_storage_facility_get_children", + "crud_storage_facility_get_facility", + "crud_storage_facility_get_slot", + "crud_storage_facility_insert_row_and_shift_slots", + "crud_storage_facility_insert_slot_at_row_end", + "crud_storage_facility_is_slot_available_row", + "crud_storage_facility_leaf_node_ids_for_path_prefix", + "crud_storage_facility_list_all_facilities", + "crud_storage_facility_list_facility_slots", + "crud_storage_facility_list_slot_select_options", + "crud_storage_facility_list_slots", + "crud_storage_facility_py", + "crud_storage_facility_rationale_1", + "crud_storage_facility_rationale_178", + "crud_storage_facility_rationale_309", + "crud_storage_facility_rationale_358", + "crud_storage_facility_rationale_422", + "crud_storage_facility_rationale_457", + "crud_storage_facility_rationale_477", + "crud_storage_facility_rationale_524", + "crud_storage_facility_rationale_54", + "crud_storage_facility_rationale_563", + "crud_storage_facility_rationale_604", + "crud_storage_facility_rationale_675", + "crud_storage_facility_rationale_753", + "crud_storage_facility_rationale_785", + "crud_storage_facility_rationale_81", + "crud_storage_facility_rationale_97", + "crud_storage_facility_resolve_path_keyword", + "crud_storage_facility_resolve_slot_layout_position", + "crud_storage_facility_row_to_dict", + "crud_storage_facility_search_slot_select_matched_ids", + "crud_storage_facility_slot_available_filter", + "crud_storage_facility_slot_matches_select_keyword", + "crud_storage_facility_slot_select_display_name", + "crud_storage_facility_slot_to_dict", + "crud_storage_facility_slot_to_dict_for_row", + "crud_storage_facility_soft_delete_facility", + "crud_storage_facility_soft_delete_slot", + "crud_storage_facility_update_facility", + "crud_storage_facility_update_slot", + "models_models_bizcleanroom", + "models_models_bizcleanroomaccesslog", + "models_models_bizcleanroomuvdisinfectlog", + "models_models_bizexhibitionappointment", + "models_models_bizstoragefacility", + "models_models_bizstoragefacilityslot", + "services_storage_facility_code_assert_sibling_node_code_unique", + "services_storage_facility_code_build_full_slot_code", + "services_storage_facility_code_build_node_code_path", + "services_storage_facility_code_cascade_refresh_slot_name_snapshots_for_nodes", + "services_storage_facility_code_cascade_refresh_slot_name_snapshots_for_slots", + "services_storage_facility_code_collect_slot_ids_under_nodes", + "services_storage_facility_code_decode_slot_layout_order", + "services_storage_facility_code_encode_slot_layout_order", + "services_storage_facility_code_load_facility_ancestor_map", + "services_storage_facility_code_load_facility_map", + "services_storage_facility_code_py", + "services_storage_facility_code_rationale_1", + "services_storage_facility_code_rationale_125", + "services_storage_facility_code_rationale_20", + "services_storage_facility_code_rationale_31", + "services_storage_facility_code_refresh_outbound_release_cell_slot_names", + "services_storage_facility_code_validate_node_code" + ], + "12": [ + "api_admin_get_user_by_id", + "api_public_jwt_user_payload", + "api_public_rationale_120", + "api_public_rationale_131", + "api_public_refresh_token", + "api_public_web_login", + "api_public_web_login_rsa_public_key", + "core_auth_create_access_token", + "core_auth_create_refresh_token", + "core_auth_decode_token", + "core_auth_extend_session", + "core_auth_get_client_ip", + "core_auth_get_current_user", + "core_auth_get_current_user_by_token", + "core_auth_get_current_user_simple", + "core_auth_get_redis_client", + "core_auth_is_refresh_token_valid", + "core_auth_is_session_valid", + "core_auth_py", + "core_auth_rationale_107", + "core_auth_rationale_190", + "core_auth_rationale_76", + "core_auth_redis_session_enabled", + "core_auth_refresh_key", + "core_auth_revoke_refresh_token", + "core_auth_revoke_session", + "core_auth_session_key", + "core_auth_store_refresh_token", + "core_auth_store_session", + "core_login_crypto_decrypt_login_payload", + "core_login_crypto_ensure_initialized", + "core_login_crypto_extract_login_credentials", + "core_login_crypto_get_public_pem", + "core_login_crypto_load_private_key_from_pem", + "core_login_crypto_normalize_pem_text", + "core_login_crypto_py", + "core_login_crypto_rationale_1", + "core_login_crypto_rationale_101", + "core_login_crypto_rationale_42", + "core_login_crypto_rationale_80", + "core_login_crypto_validate_ts", + "core_menu_guard_get_user_menu_codes", + "core_menu_guard_py", + "core_menu_guard_rationale_1", + "core_menu_guard_rationale_15", + "core_menu_guard_rationale_23", + "core_menu_guard_rationale_51", + "core_menu_guard_rationale_57", + "core_menu_guard_require_admin_or_super_admin", + "core_menu_guard_require_any_menu_code", + "core_menu_guard_require_menu_code", + "core_security_get_password_hash", + "core_security_py", + "core_security_rationale_5", + "core_security_verify_password", + "crud_base_crudbase", + "crud_base_crudbase_delete", + "crud_base_crudbase_get_all", + "crud_base_crudbase_get_multi", + "crud_base_crudbase_hard_delete", + "crud_base_crudbase_init", + "crud_role_update_role_menus", + "crud_sample_reception_can_edit_sample_reception", + "crud_user_change_password", + "crud_user_create_user", + "crud_user_get_user", + "crud_user_get_user_with_relations", + "crud_user_hash_password", + "crud_user_list_post_ids_for_user", + "crud_user_list_user_ids_bound_to_post", + "crud_user_list_user_ids_bound_to_posts", + "crud_user_list_users", + "crud_user_parse_hire_date", + "crud_user_py", + "crud_user_rationale_1", + "crud_user_rationale_142", + "crud_user_rationale_192", + "crud_user_rationale_238", + "crud_user_rationale_312", + "crud_user_replace_associations", + "crud_user_reset_password", + "crud_user_row_to_dict", + "crud_user_set_user_post_ids_only", + "crud_user_soft_delete_user", + "crud_user_sync_post_user_bindings", + "crud_user_total_pages", + "crud_user_update_user", + "crud_user_user_no_exists", + "crud_user_usercrudcompat", + "crud_user_usercrudcompat_get_by_user_no", + "services_web_auth_roles_active_role_name_rows", + "services_web_auth_roles_dedupe_role_id_rows", + "services_web_auth_roles_get_direct_enabled_role_ids", + "services_web_auth_roles_get_effective_role_ids", + "services_web_auth_roles_get_post_inherited_role_ids", + "services_web_auth_roles_get_role_names_by_ids", + "services_web_auth_roles_get_user_role_names", + "services_web_auth_roles_iter_user_menu_perm_codes", + "services_web_auth_roles_list_user_ids_with_any_effective_role_ids", + "services_web_auth_roles_list_user_ids_with_effective_role_name", + "services_web_auth_roles_map_role_name_to_web", + "services_web_auth_roles_normalize_candidate_user_ids", + "services_web_auth_roles_py", + "services_web_auth_roles_resolve_web_role_for_user", + "services_web_auth_roles_user_has_active_roles" + ], + "13": [ + "api_production_batchstockinbody", + "api_production_batchstockinitem", + "api_production_batchstockoutbody", + "api_production_batchstockoutitem", + "api_production_consumablecreatebody", + "api_production_consumablepackcreatebody", + "api_production_consumablepackupdatebody", + "api_production_consumableupdatebody", + "api_production_equipmentcreatebody", + "api_production_equipmentupdatebody", + "api_production_outputtypecreatebody", + "api_production_outputtypeupdatebody", + "api_production_packiteminput", + "api_production_processcategorycreatebody", + "api_production_processcategoryupdatebody", + "api_production_processconsumableinput", + "api_production_processcreatebody", + "api_production_processdatacollectioninput", + "api_production_processoutputinput", + "api_production_processreagentinput", + "api_production_processupdatebody", + "api_production_productionproducttypecreatebody", + "api_production_productionproducttypeupdatebody", + "api_production_rationale_1", + "api_production_rationale_2284", + "api_production_rationale_2681", + "api_production_rationale_2721", + "api_production_rationale_2737", + "api_production_reagentcreatebody", + "api_production_reagentupdatebody", + "api_production_sopdocumentcreatebody", + "api_production_sopdocumentupdatebody", + "api_production_stockinbody", + "api_production_stockoutbody", + "schemas_cell_product_cellproductcreate", + "schemas_cell_product_cellproductupdate", + "schemas_process_route_processroutecreatebody", + "schemas_process_route_processrouteupdatebody", + "schemas_process_route_py", + "schemas_process_route_rationale_1", + "schemas_process_route_setcurrentbody", + "schemas_process_route_stepaddbody", + "schemas_process_route_stepconsumableupdatebody", + "schemas_process_route_stepcopybody", + "schemas_process_route_stepdatacollectionupdatebody", + "schemas_process_route_stepoutputupdatebody", + "schemas_process_route_stepreagentupdatebody", + "schemas_process_route_stepreorderbody", + "schemas_process_route_stepupdatebody", + "schemas_production_task_productiontaskassigneeupdate", + "schemas_production_task_productiontaskcreate", + "schemas_production_task_productiontaskforwardbody", + "schemas_production_task_productiontasklistbyworkordersbody", + "schemas_production_task_productiontaskstatusupdate", + "schemas_production_task_productiontaskstepdispatchbody", + "schemas_production_task_productiontaskupdate", + "schemas_production_task_py", + "schemas_production_task_rationale_39", + "schemas_production_task_spawntemporaryworkorderbody", + "schemas_production_task_taskinputitem", + "schemas_production_task_taskoutputitem", + "schemas_production_task_taskstepadd", + "schemas_production_task_taskstepdatacollectionitem", + "schemas_production_task_taskstepmaterialitem", + "schemas_production_task_taskstepoutputitem", + "schemas_production_task_taskstepreorderbody", + "schemas_production_task_taskstepupdate", + "schemas_production_work_order_productionworkordercomplete", + "schemas_production_work_order_productionworkorderconfigurebody", + "schemas_production_work_order_productionworkordercreate", + "schemas_production_work_order_productionworkorderlistquery", + "schemas_production_work_order_productionworkorderupdate", + "schemas_production_work_order_py", + "schemas_qc_work_order_productionqcworkordercreatebody" + ], + "14": [ "core_wechat_pay_get_wechat_pay_client", "core_wechat_pay_get_wechat_pay_v2", "core_wechat_pay_py", @@ -4941,32 +4977,7 @@ "core_wechat_pay_wechatpayv2client_unified_order", "core_wechat_pay_wechatpayv2client_xml_to_dict" ], - "16": [ - "crud_material_code_exists", - "crud_material_create_material", - "crud_material_dec", - "crud_material_fmt_dt", - "crud_material_get_material", - "crud_material_get_material_entity", - "crud_material_get_my_usages", - "crud_material_is_enabled_status", - "crud_material_list_materials", - "crud_material_mine_usage_receiver_filter", - "crud_material_my_usage_batch_map", - "crud_material_my_usage_row_to_dict", - "crud_material_my_usage_user_nick_name_map", - "crud_material_norm_status", - "crud_material_options_list", - "crud_material_py", - "crud_material_rationale_377", - "crud_material_rationale_444", - "crud_material_rationale_473", - "crud_material_row_to_dict", - "crud_material_soft_delete_material", - "crud_material_update_material", - "crud_material_update_material_fields" - ], - "17": [ + "15": [ "crud_process_consumable_row_to_dict", "crud_process_create_process", "crud_process_create_sub_consumable", @@ -4989,26 +5000,29 @@ "crud_process_total_pages", "crud_process_update_process" ], - "18": [ - "services_oa_receive_account_field_label", - "services_oa_receive_account_is_non_empty_str", - "services_oa_receive_account_is_required", - "services_oa_receive_account_is_valid_receive_account_item", - "services_oa_receive_account_normalize_account_fields", - "services_oa_receive_account_pick", - "services_oa_receive_account_pick_order_num", - "services_oa_receive_account_pick_str", - "services_oa_receive_account_py", - "services_oa_receive_account_rationale_1", - "services_oa_receive_account_rationale_194", - "services_oa_receive_account_rationale_90", - "services_oa_receive_account_rule_props", - "services_oa_receive_account_schema_rules", - "services_oa_receive_account_validate_receive_account_form_values", - "services_oa_receive_account_validate_receive_account_rule", - "services_oa_receive_account_walk_rules" + "16": [ + "crud_material_code_exists", + "crud_material_create_material", + "crud_material_dec", + "crud_material_fmt_dt", + "crud_material_get_material", + "crud_material_get_material_entity", + "crud_material_get_my_usages", + "crud_material_is_enabled_status", + "crud_material_list_materials", + "crud_material_mine_usage_receiver_filter", + "crud_material_my_usage_batch_map", + "crud_material_my_usage_row_to_dict", + "crud_material_my_usage_user_nick_name_map", + "crud_material_norm_status", + "crud_material_options_list", + "crud_material_py", + "crud_material_row_to_dict", + "crud_material_soft_delete_material", + "crud_material_update_material", + "crud_material_update_material_fields" ], - "19": [ + "17": [ "crud_equipment_create_equipment", "crud_equipment_dec", "crud_equipment_equipment_code_exists", @@ -5024,37 +5038,7 @@ "crud_equipment_total_pages", "crud_equipment_update_equipment" ], - "20": [ - "core_wechat_message_py", - "core_wechat_message_rationale_1", - "core_wechat_message_rationale_86", - "core_wechat_message_send_delivery_notice", - "core_wechat_message_send_delivery_warning", - "core_wechat_message_send_order_status", - "core_wechat_message_send_payment_success", - "core_wechat_message_send_refund_result", - "core_wechat_message_send_urge_notification", - "core_wechat_message_wechatmessageservice", - "core_wechat_message_wechatmessageservice_get_access_token", - "core_wechat_message_wechatmessageservice_init", - "core_wechat_message_wechatmessageservice_send_template_message" - ], - "21": [ - "schemas_product_config", - "schemas_product_productbase", - "schemas_product_productcategorybase", - "schemas_product_productcategorycreate", - "schemas_product_productcategoryresponse", - "schemas_product_productcreate", - "schemas_product_productresponse", - "schemas_product_productunitbase", - "schemas_product_productunitcreate", - "schemas_product_productunitresponse", - "schemas_product_productupdate", - "schemas_product_py", - "schemas_product_rationale_1" - ], - "22": [ + "18": [ "services_oa_money_field_field_label", "services_oa_money_field_is_empty", "services_oa_money_field_is_required", @@ -5069,7 +5053,21 @@ "services_oa_money_field_validate_money_rule", "services_oa_money_field_walk_rules" ], - "23": [ + "19": [ + "crud_reagent_stock_log_deduct_for_step", + "crud_reagent_stock_log_display_remark", + "crud_reagent_stock_log_list_stock_logs", + "crud_reagent_stock_log_parse_receiver_purpose_from_remark", + "crud_reagent_stock_log_py", + "crud_reagent_stock_log_rationale_1", + "crud_reagent_stock_log_rationale_164", + "crud_reagent_stock_log_rationale_216", + "crud_reagent_stock_log_resolve_receiver_purpose", + "crud_reagent_stock_log_revert_step_stock_changes", + "crud_reagent_stock_log_row_to_dict", + "crud_reagent_stock_log_user_nick_name_map" + ], + "20": [ "crud_consumable_stock_log_deduct_for_step", "crud_consumable_stock_log_display_remark", "crud_consumable_stock_log_list_stock_logs", @@ -5083,7 +5081,7 @@ "crud_consumable_stock_log_row_to_dict", "crud_consumable_stock_log_user_nick_name_map" ], - "24": [ + "21": [ "crud_oa_receive_account_create_account", "crud_oa_receive_account_filtered_query", "crud_oa_receive_account_get_account", @@ -5096,7 +5094,7 @@ "crud_oa_receive_account_soft_delete_accounts", "crud_oa_receive_account_update_account" ], - "25": [ + "22": [ "crud_dept_build_tree", "crud_dept_cascade_soft_delete", "crud_dept_collect_with_ancestors", @@ -5109,19 +5107,19 @@ "crud_dept_soft_delete_dept", "crud_dept_update_dept" ], - "26": [ - "crud_env_detect_item_create_env_detect_item", - "crud_env_detect_item_get_env_detect_item", - "crud_env_detect_item_item_code_exists", - "crud_env_detect_item_list_active_env_detect_items", - "crud_env_detect_item_list_env_detect_items", - "crud_env_detect_item_order_query", - "crud_env_detect_item_py", - "crud_env_detect_item_row_to_dict", - "crud_env_detect_item_soft_delete_env_detect_item", - "crud_env_detect_item_update_env_detect_item" + "23": [ + "crud_menu_build_tree", + "crud_menu_cascade_soft_delete", + "crud_menu_get_menu", + "crud_menu_list_menus", + "crud_menu_list_menus_tree", + "crud_menu_menu_name_exists", + "crud_menu_py", + "crud_menu_row_to_dict", + "crud_menu_soft_delete_menu", + "crud_menu_update_menu" ], - "27": [ + "24": [ "models_base_basemodel", "models_base_basemodel_to_dict", "models_base_get_active", @@ -5131,7 +5129,7 @@ "models_base_softdeletemodel_soft_delete", "models_base_tablename" ], - "28": [ + "25": [ "core_order_status_compat_derive_legacy_status_from_three", "core_order_status_compat_derive_three_status_from_legacy", "core_order_status_compat_py", @@ -5140,74 +5138,74 @@ "core_order_status_compat_threestatus", "core_order_status_compat_to_decimal" ], - "29": [ + "26": [ "basesettings", "core_config_config", "core_config_py", "core_config_settings" ], - "30": [ + "27": [ "core_database_auto_fill_create_dept_id", "core_database_get_db", "core_database_py", "core_database_rationale_31" ], - "31": [ + "28": [ "api_menu_get_menu_list", "api_menu_py", "api_menu_rationale_1" ], - "32": [ + "29": [ "services_oa_confirmation_date_add_months_ymd", "services_oa_confirmation_date_py", "services_oa_confirmation_date_rationale_1" ], - "33": [ + "30": [ "core_qc_material_amount_auth_constants_py", "core_qc_material_amount_auth_constants_rationale_1" ], - "34": [ + "31": [ "core_context_py", "core_context_rationale_1" ], - "35": [ + "32": [ "api_init_py", "api_init_rationale_1" ], - "36": [ + "33": [ "init_py" ], - "37": [ + "34": [ "core_init_py" ], - "38": [ + "35": [ "core_wechat_message_rationale_143" ], - "39": [ + "36": [ "core_wechat_message_rationale_179" ], - "40": [ + "37": [ "core_wechat_message_rationale_215" ], - "41": [ + "38": [ "core_wechat_message_rationale_251" ], - "42": [ + "39": [ "core_wechat_message_rationale_289" ], - "43": [ + "40": [ "core_wechat_message_rationale_325" ], - "44": [ + "41": [ "models_init_py" ], - "45": [ + "42": [ "schemas_init_py" ], - "46": [ + "43": [ "crud_init_py" ], - "47": [ + "44": [ "ws_init_py" ] }, @@ -5215,36 +5213,36 @@ "0": 0.01, "1": 0.01, "2": 0.01, - "3": 0.05, - "4": 0.02, - "5": 0.01, + "3": 0.06, + "4": 0.01, + "5": 0.02, "6": 0.02, "7": 0.02, - "8": 0.03, - "9": 0.02, - "10": 0.05, - "11": 0.03, - "12": 0.06, - "13": 0.05, - "14": 0.05, - "15": 0.12, - "16": 0.16, - "17": 0.21, - "18": 0.21, - "19": 0.27, + "8": 0.02, + "9": 0.08, + "10": 0.03, + "11": 0.05, + "12": 0.04, + "13": 0.45, + "14": 0.12, + "15": 0.21, + "16": 0.2, + "17": 0.27, + "18": 0.27, + "19": 0.24, "20": 0.24, - "21": 0.23, - "22": 0.27, - "23": 0.24, - "24": 0.31, - "25": 0.31, - "26": 0.38, - "27": 0.29, - "28": 0.38, - "29": 0.5, - "30": 0.5, - "31": 0.67, - "32": 0.67, + "21": 0.31, + "22": 0.31, + "23": 0.33, + "24": 0.29, + "25": 0.38, + "26": 0.5, + "27": 0.5, + "28": 0.67, + "29": 0.67, + "30": 1.0, + "31": 1.0, + "32": 1.0, "33": 1.0, "34": 1.0, "35": 1.0, @@ -5256,21 +5254,18 @@ "41": 1.0, "42": 1.0, "43": 1.0, - "44": 1.0, - "45": 1.0, - "46": 1.0, - "47": 1.0 + "44": 1.0 }, "gods": [ { "id": "core_response_success_response", "label": "success_response()", - "degree": 730 + "degree": 732 }, { "id": "core_response_error_response", "label": "error_response()", - "degree": 604 + "degree": 605 }, { "id": "models_models_sysuser", diff --git a/backend/graphify-out/.graphify_extract.json b/backend/graphify-out/.graphify_extract.json index 11b00696..d45353b5 100644 --- a/backend/graphify-out/.graphify_extract.json +++ b/backend/graphify-out/.graphify_extract.json @@ -23114,54 +23114,61 @@ "source_file": "crud/oa_instance_draft.py", "source_location": "L89" }, + { + "id": "crud_oa_instance_draft_count_drafts", + "label": "count_drafts()", + "file_type": "code", + "source_file": "crud/oa_instance_draft.py", + "source_location": "L121" + }, { "id": "crud_oa_instance_draft_list_drafts", "label": "list_drafts()", "file_type": "code", "source_file": "crud/oa_instance_draft.py", - "source_location": "L121" + "source_location": "L133" }, { "id": "crud_oa_instance_draft_get_draft_detail", "label": "get_draft_detail()", "file_type": "code", "source_file": "crud/oa_instance_draft.py", - "source_location": "L190" + "source_location": "L202" }, { "id": "crud_oa_instance_draft_create_draft", "label": "create_draft()", "file_type": "code", "source_file": "crud/oa_instance_draft.py", - "source_location": "L201" + "source_location": "L213" }, { "id": "crud_oa_instance_draft_update_draft", "label": "update_draft()", "file_type": "code", "source_file": "crud/oa_instance_draft.py", - "source_location": "L243" + "source_location": "L255" }, { "id": "crud_oa_instance_draft_soft_delete_draft", "label": "soft_delete_draft()", "file_type": "code", "source_file": "crud/oa_instance_draft.py", - "source_location": "L273" + "source_location": "L285" }, { "id": "crud_oa_instance_draft_batch_soft_delete_drafts", "label": "batch_soft_delete_drafts()", "file_type": "code", "source_file": "crud/oa_instance_draft.py", - "source_location": "L287" + "source_location": "L299" }, { "id": "crud_oa_instance_draft_submit_draft", "label": "submit_draft()", "file_type": "code", "source_file": "crud/oa_instance_draft.py", - "source_location": "L318" + "source_location": "L330" }, { "id": "crud_oa_instance_draft_rationale_1", @@ -23171,11 +23178,11 @@ "source_location": "L1" }, { - "id": "crud_oa_instance_draft_rationale_329", + "id": "crud_oa_instance_draft_rationale_341", "label": "\u63d0\u4ea4\u8349\u7a3f\uff1a\u8d70 start_instance\uff0c\u6210\u529f\u540e\u8f6f\u5220\u8349\u7a3f\u3002", "file_type": "rationale", "source_file": "crud/oa_instance_draft.py", - "source_location": "L329" + "source_location": "L341" }, { "id": "crud_sample_reception_lab_code_py", @@ -28231,355 +28238,369 @@ "source_file": "api/oa_approval.py", "source_location": "L229" }, + { + "id": "api_oa_approval_oa_instance_draft_count", + "label": "oa_instance_draft_count()", + "file_type": "code", + "source_file": "api/oa_approval.py", + "source_location": "L243" + }, { "id": "api_oa_approval_list_oa_instance_drafts", "label": "list_oa_instance_drafts()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L243" + "source_location": "L257" }, { "id": "api_oa_approval_create_oa_instance_draft", "label": "create_oa_instance_draft()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L269" + "source_location": "L283" }, { "id": "api_oa_approval_batch_delete_oa_instance_drafts", "label": "batch_delete_oa_instance_drafts()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L293" + "source_location": "L307" }, { "id": "api_oa_approval_get_oa_instance_draft", "label": "get_oa_instance_draft()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L314" + "source_location": "L328" }, { "id": "api_oa_approval_update_oa_instance_draft", "label": "update_oa_instance_draft()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L333" + "source_location": "L347" }, { "id": "api_oa_approval_delete_oa_instance_draft", "label": "delete_oa_instance_draft()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L359" + "source_location": "L373" }, { "id": "api_oa_approval_submit_oa_instance_draft", "label": "submit_oa_instance_draft()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L378" + "source_location": "L392" }, { "id": "api_oa_approval_oagroupcreatebody", "label": "OaGroupCreateBody", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L413" + "source_location": "L427" }, { "id": "api_oa_approval_oagroupupdatebody", "label": "OaGroupUpdateBody", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L420" + "source_location": "L434" }, { "id": "api_oa_approval_list_oa_groups", "label": "list_oa_groups()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L428" + "source_location": "L442" }, { "id": "api_oa_approval_create_oa_group", "label": "create_oa_group()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L437" + "source_location": "L451" }, { "id": "api_oa_approval_update_oa_group", "label": "update_oa_group()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L458" + "source_location": "L472" }, { "id": "api_oa_approval_delete_oa_group", "label": "delete_oa_group()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L482" + "source_location": "L496" }, { "id": "api_oa_approval_oaappcreatebody", "label": "OaAppCreateBody", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L500" + "source_location": "L514" }, { "id": "api_oa_approval_oaappupdatebody", "label": "OaAppUpdateBody", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L515" + "source_location": "L529" }, { "id": "api_oa_approval_oadraftsavebody", "label": "OaDraftSaveBody", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L530" + "source_location": "L544" }, { "id": "api_oa_approval_list_oa_apps", "label": "list_oa_apps()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L539" + "source_location": "L553" }, { "id": "api_oa_approval_create_oa_app", "label": "create_oa_app()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L554" + "source_location": "L568" }, { "id": "api_oa_approval_copy_oa_app", "label": "copy_oa_app()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L590" + "source_location": "L604" }, { "id": "api_oa_approval_update_oa_app", "label": "update_oa_app()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L613" + "source_location": "L627" }, { "id": "api_oa_approval_delete_oa_app", "label": "delete_oa_app()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L633" + "source_location": "L647" }, { "id": "api_oa_approval_get_oa_app_draft", "label": "get_oa_app_draft()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L647" + "source_location": "L661" }, { "id": "api_oa_approval_save_oa_app_draft", "label": "save_oa_app_draft()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L663" + "source_location": "L677" }, { "id": "api_oa_approval_publish_oa_app", "label": "publish_oa_app()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L687" + "source_location": "L701" }, { "id": "api_oa_approval_oastartinstancebody", "label": "OaStartInstanceBody", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L708" + "source_location": "L722" }, { "id": "api_oa_approval_oaflowpreviewbody", "label": "OaFlowPreviewBody", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L721" + "source_location": "L735" }, { "id": "api_oa_approval_oataskactionbody", "label": "OaTaskActionBody", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L729" + "source_location": "L743" }, { "id": "api_oa_approval_oaccreadbatchbody", "label": "OaCcReadBatchBody", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L734" + "source_location": "L748" }, { "id": "api_oa_approval_oaaddsignbody", "label": "OaAddSignBody", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L739" + "source_location": "L753" }, { "id": "api_oa_approval_oatransferbody", "label": "OaTransferBody", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L745" + "source_location": "L759" }, { "id": "api_oa_approval_oaresubmitbody", "label": "OaResubmitBody", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L751" + "source_location": "L765" }, { "id": "api_oa_approval_list_oa_templates", "label": "list_oa_templates()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L760" + "source_location": "L774" }, { "id": "api_oa_approval_get_oa_template", "label": "get_oa_template()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L772" + "source_location": "L786" }, { "id": "api_oa_approval_preview_oa_template_flow", "label": "preview_oa_template_flow()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L793" + "source_location": "L807" }, { "id": "api_oa_approval_preview_oa_template_flow_get", "label": "preview_oa_template_flow_get()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L825" + "source_location": "L839" }, { "id": "api_oa_approval_start_oa_instance", "label": "start_oa_instance()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L856" + "source_location": "L870" }, { "id": "api_oa_approval_get_oa_instance", "label": "get_oa_instance()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L883" + "source_location": "L897" }, { "id": "api_oa_approval_list_related_candidates", "label": "list_related_candidates()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L898" + "source_location": "L912" }, { "id": "api_oa_approval_get_related_summaries", "label": "get_related_summaries()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L920" + "source_location": "L934" + }, + { + "id": "api_oa_approval_oa_pending_task_count", + "label": "oa_pending_task_count()", + "file_type": "code", + "source_file": "api/oa_approval.py", + "source_location": "L959" }, { "id": "api_oa_approval_oa_cc_unread_count", "label": "oa_cc_unread_count()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L945" + "source_location": "L976" }, { "id": "api_oa_approval_oa_cc_read_batch", "label": "oa_cc_read_batch()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L962" + "source_location": "L993" }, { "id": "api_oa_approval_oa_task_mark_read", "label": "oa_task_mark_read()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L983" + "source_location": "L1014" }, { "id": "api_oa_approval_list_oa_tasks", "label": "list_oa_tasks()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L1004" + "source_location": "L1035" }, { "id": "api_oa_approval_approve_oa_task", "label": "approve_oa_task()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L1027" + "source_location": "L1058" }, { "id": "api_oa_approval_reject_oa_task", "label": "reject_oa_task()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L1051" + "source_location": "L1082" }, { "id": "api_oa_approval_return_oa_task", "label": "return_oa_task()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L1075" + "source_location": "L1106" }, { "id": "api_oa_approval_resubmit_oa_instance", "label": "resubmit_oa_instance()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L1098" + "source_location": "L1129" }, { "id": "api_oa_approval_add_sign_oa_task", "label": "add_sign_oa_task()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L1122" + "source_location": "L1153" }, { "id": "api_oa_approval_transfer_oa_task", "label": "transfer_oa_task()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L1146" + "source_location": "L1177" }, { "id": "api_oa_approval_withdraw_oa_instance", "label": "withdraw_oa_instance()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L1170" + "source_location": "L1201" }, { "id": "api_oa_approval_rationale_212", @@ -28589,18 +28610,18 @@ "source_location": "L212" }, { - "id": "api_oa_approval_rationale_799", + "id": "api_oa_approval_rationale_813", "label": "\u53d1\u8d77\u524d\u9884\u89c8\u5ba1\u6279\u94fe\uff08\u6761\u4ef6\u9f50\u540e\u89e3\u6790\u6700\u7ec8\u8def\u5f84\u4e0e\u5ba1\u6279\u4eba\uff09\u3002", "file_type": "rationale", "source_file": "api/oa_approval.py", - "source_location": "L799" + "source_location": "L813" }, { - "id": "api_oa_approval_rationale_830", + "id": "api_oa_approval_rationale_844", "label": "\u517c\u5bb9\u65e7 GET\uff1a\u65e0 formData\uff0c\u542b\u6761\u4ef6\u5206\u652f\u65f6\u591a\u4e3a\u5f85\u786e\u5b9a\u5360\u4f4d\u3002", "file_type": "rationale", "source_file": "api/oa_approval.py", - "source_location": "L830" + "source_location": "L844" }, { "id": "api_operations_py", @@ -33663,82 +33684,89 @@ "source_file": "services/oa_engine.py", "source_location": "L1964" }, + { + "id": "services_oa_engine_count_pending_tasks", + "label": "count_pending_tasks()", + "file_type": "code", + "source_file": "services/oa_engine.py", + "source_location": "L1978" + }, { "id": "services_oa_engine_mark_cc_task_read", "label": "mark_cc_task_read()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L1978" + "source_location": "L1992" }, { "id": "services_oa_engine_mark_cc_tasks_read_batch", "label": "mark_cc_tasks_read_batch()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L1999" + "source_location": "L2013" }, { "id": "services_oa_engine_list_tasks", "label": "list_tasks()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L2025" + "source_location": "L2039" }, { "id": "services_oa_engine_approve_task_core", "label": "_approve_task_core()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L2096" + "source_location": "L2110" }, { "id": "services_oa_engine_maybe_auto_pass_initiator", "label": "_maybe_auto_pass_initiator()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L2168" + "source_location": "L2182" }, { "id": "services_oa_engine_complete_task", "label": "complete_task()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L2206" + "source_location": "L2220" }, { "id": "services_oa_engine_add_sign", "label": "add_sign()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L2290" + "source_location": "L2304" }, { "id": "services_oa_engine_transfer_task", "label": "transfer_task()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L2406" + "source_location": "L2420" }, { "id": "services_oa_engine_return_task", "label": "return_task()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L2517" + "source_location": "L2531" }, { "id": "services_oa_engine_resubmit_instance", "label": "resubmit_instance()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L2598" + "source_location": "L2612" }, { "id": "services_oa_engine_withdraw_instance", "label": "withdraw_instance()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L2612" + "source_location": "L2626" }, { "id": "services_oa_engine_rationale_104", @@ -33888,39 +33916,39 @@ "source_location": "L1953" }, { - "id": "services_oa_engine_rationale_2105", + "id": "services_oa_engine_rationale_2119", "label": "\u5c06 pending \u5ba1\u6279\u4efb\u52a1\u7f6e\u4e3a approved \u5e76\u6309\u6216\u7b7e/\u4f1a\u7b7e\u51b3\u5b9a\u662f\u5426\u63a8\u8fdb\u3002 \u8fd4\u56de True \u8868\u793a\u5df2\u8c03\u7528 advance_from \u63a8\u8fdb\uff1bFals", "file_type": "rationale", "source_file": "services/oa_engine.py", - "source_location": "L2105" + "source_location": "L2119" }, { - "id": "services_oa_engine_rationale_2299", + "id": "services_oa_engine_rationale_2313", "label": "\u5f53\u524d\u5f85\u529e\u5904\u7406\u4eba\u52a0\u7b7e\uff1a\u4e3a\u540c\u8282\u70b9\u65b0\u589e\u5f85\u529e\u5ba1\u6279\u4eba\u3002", "file_type": "rationale", "source_file": "services/oa_engine.py", - "source_location": "L2299" + "source_location": "L2313" }, { - "id": "services_oa_engine_rationale_2415", + "id": "services_oa_engine_rationale_2429", "label": "\u5f53\u524d\u5f85\u529e\u5904\u7406\u4eba\u8f6c\u4ea4\uff1a\u7ed3\u675f\u672c\u4eba\u5f85\u529e\u5e76\u4e3a\u540c\u8282\u70b9\u76ee\u6807\u7528\u6237\u65b0\u5efa pending \u4efb\u52a1\u3002", "file_type": "rationale", "source_file": "services/oa_engine.py", - "source_location": "L2415" + "source_location": "L2429" }, { - "id": "services_oa_engine_rationale_2525", + "id": "services_oa_engine_rationale_2539", "label": "\u5ba1\u6279\u4eba\u6253\u56de\uff1a\u672c\u5355\u7ec8\u6001 returned\uff1b\u518d\u529e\u987b\u590d\u5236\u8868\u5355\u5f00\u65b0\u5b9e\u4f8b\u3002", "file_type": "rationale", "source_file": "services/oa_engine.py", - "source_location": "L2525" + "source_location": "L2539" }, { - "id": "services_oa_engine_rationale_2607", + "id": "services_oa_engine_rationale_2621", "label": "\u5df2\u5e9f\u5f03\uff1a\u540c\u5b9e\u4f8b\u518d\u6b21\u63d0\u4ea4\u3002\u8bf7\u590d\u5236\u8868\u5355\u91cd\u65b0\u53d1\u8d77\u65b0\u5b9e\u4f8b\u3002", "file_type": "rationale", "source_file": "services/oa_engine.py", - "source_location": "L2607" + "source_location": "L2621" }, { "id": "services_workflow_callback_py", @@ -96429,20 +96457,29 @@ }, { "source": "crud_oa_instance_draft_py", - "target": "crud_oa_instance_draft_list_drafts", + "target": "crud_oa_instance_draft_count_drafts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", "source_location": "L121", "weight": 1.0 }, + { + "source": "crud_oa_instance_draft_py", + "target": "crud_oa_instance_draft_list_drafts", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "crud/oa_instance_draft.py", + "source_location": "L133", + "weight": 1.0 + }, { "source": "crud_oa_instance_draft_py", "target": "crud_oa_instance_draft_get_draft_detail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L190", + "source_location": "L202", "weight": 1.0 }, { @@ -96451,7 +96488,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L201", + "source_location": "L213", "weight": 1.0 }, { @@ -96460,7 +96497,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L243", + "source_location": "L255", "weight": 1.0 }, { @@ -96469,7 +96506,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L273", + "source_location": "L285", "weight": 1.0 }, { @@ -96478,7 +96515,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L287", + "source_location": "L299", "weight": 1.0 }, { @@ -96487,7 +96524,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L318", + "source_location": "L330", "weight": 1.0 }, { @@ -96523,7 +96560,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L179", + "source_location": "L191", "weight": 1.0 }, { @@ -96532,7 +96569,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L197", + "source_location": "L209", "weight": 1.0 }, { @@ -96541,7 +96578,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L198", + "source_location": "L210", "weight": 1.0 }, { @@ -96550,7 +96587,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L215", + "source_location": "L227", "weight": 1.0 }, { @@ -96559,7 +96596,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L225", + "source_location": "L237", "weight": 1.0 }, { @@ -96568,7 +96605,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L240", + "source_location": "L252", "weight": 1.0 }, { @@ -96577,7 +96614,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L254", + "source_location": "L266", "weight": 1.0 }, { @@ -96586,7 +96623,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L259", + "source_location": "L271", "weight": 1.0 }, { @@ -96595,7 +96632,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L270", + "source_location": "L282", "weight": 1.0 }, { @@ -96604,7 +96641,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L280", + "source_location": "L292", "weight": 1.0 }, { @@ -96613,7 +96650,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L296", + "source_location": "L308", "weight": 1.0 }, { @@ -96622,7 +96659,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L308", + "source_location": "L320", "weight": 1.0 }, { @@ -96631,7 +96668,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L332", + "source_location": "L344", "weight": 1.0 }, { @@ -96640,7 +96677,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L333", + "source_location": "L345", "weight": 1.0 }, { @@ -96653,12 +96690,12 @@ "weight": 1.0 }, { - "source": "crud_oa_instance_draft_rationale_329", + "source": "crud_oa_instance_draft_rationale_341", "target": "crud_oa_instance_draft_submit_draft", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L329", + "source_location": "L341", "weight": 1.0 }, { @@ -110010,20 +110047,29 @@ }, { "source": "api_oa_approval_py", - "target": "api_oa_approval_list_oa_instance_drafts", + "target": "api_oa_approval_oa_instance_draft_count", "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", "source_location": "L243", "weight": 1.0 }, + { + "source": "api_oa_approval_py", + "target": "api_oa_approval_list_oa_instance_drafts", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "api/oa_approval.py", + "source_location": "L257", + "weight": 1.0 + }, { "source": "api_oa_approval_py", "target": "api_oa_approval_create_oa_instance_draft", "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L269", + "source_location": "L283", "weight": 1.0 }, { @@ -110032,7 +110078,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L293", + "source_location": "L307", "weight": 1.0 }, { @@ -110041,7 +110087,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L314", + "source_location": "L328", "weight": 1.0 }, { @@ -110050,7 +110096,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L333", + "source_location": "L347", "weight": 1.0 }, { @@ -110059,7 +110105,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L359", + "source_location": "L373", "weight": 1.0 }, { @@ -110068,7 +110114,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L378", + "source_location": "L392", "weight": 1.0 }, { @@ -110077,7 +110123,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L413", + "source_location": "L427", "weight": 1.0 }, { @@ -110086,7 +110132,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L413", + "source_location": "L427", "weight": 1.0 }, { @@ -110095,7 +110141,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L420", + "source_location": "L434", "weight": 1.0 }, { @@ -110104,7 +110150,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L420", + "source_location": "L434", "weight": 1.0 }, { @@ -110113,7 +110159,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L428", + "source_location": "L442", "weight": 1.0 }, { @@ -110122,7 +110168,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L437", + "source_location": "L451", "weight": 1.0 }, { @@ -110131,7 +110177,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L458", + "source_location": "L472", "weight": 1.0 }, { @@ -110140,7 +110186,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L482", + "source_location": "L496", "weight": 1.0 }, { @@ -110149,7 +110195,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L500", + "source_location": "L514", "weight": 1.0 }, { @@ -110158,7 +110204,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L500", + "source_location": "L514", "weight": 1.0 }, { @@ -110167,7 +110213,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L515", + "source_location": "L529", "weight": 1.0 }, { @@ -110176,7 +110222,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L515", + "source_location": "L529", "weight": 1.0 }, { @@ -110185,7 +110231,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L530", + "source_location": "L544", "weight": 1.0 }, { @@ -110194,7 +110240,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L530", + "source_location": "L544", "weight": 1.0 }, { @@ -110203,7 +110249,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L539", + "source_location": "L553", "weight": 1.0 }, { @@ -110212,7 +110258,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L554", + "source_location": "L568", "weight": 1.0 }, { @@ -110221,7 +110267,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L590", + "source_location": "L604", "weight": 1.0 }, { @@ -110230,7 +110276,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L613", + "source_location": "L627", "weight": 1.0 }, { @@ -110239,7 +110285,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L633", + "source_location": "L647", "weight": 1.0 }, { @@ -110248,7 +110294,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L647", + "source_location": "L661", "weight": 1.0 }, { @@ -110257,7 +110303,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L663", + "source_location": "L677", "weight": 1.0 }, { @@ -110266,7 +110312,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L687", + "source_location": "L701", "weight": 1.0 }, { @@ -110275,7 +110321,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L708", + "source_location": "L722", "weight": 1.0 }, { @@ -110284,7 +110330,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L708", + "source_location": "L722", "weight": 1.0 }, { @@ -110293,7 +110339,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L721", + "source_location": "L735", "weight": 1.0 }, { @@ -110302,7 +110348,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L721", + "source_location": "L735", "weight": 1.0 }, { @@ -110311,7 +110357,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L729", + "source_location": "L743", "weight": 1.0 }, { @@ -110320,7 +110366,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L729", + "source_location": "L743", "weight": 1.0 }, { @@ -110329,7 +110375,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L734", + "source_location": "L748", "weight": 1.0 }, { @@ -110338,7 +110384,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L734", + "source_location": "L748", "weight": 1.0 }, { @@ -110347,7 +110393,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L739", + "source_location": "L753", "weight": 1.0 }, { @@ -110356,7 +110402,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L739", + "source_location": "L753", "weight": 1.0 }, { @@ -110365,7 +110411,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L745", + "source_location": "L759", "weight": 1.0 }, { @@ -110374,7 +110420,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L745", + "source_location": "L759", "weight": 1.0 }, { @@ -110383,7 +110429,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L751", + "source_location": "L765", "weight": 1.0 }, { @@ -110392,7 +110438,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L751", + "source_location": "L765", "weight": 1.0 }, { @@ -110401,7 +110447,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L760", + "source_location": "L774", "weight": 1.0 }, { @@ -110410,7 +110456,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L772", + "source_location": "L786", "weight": 1.0 }, { @@ -110419,7 +110465,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L793", + "source_location": "L807", "weight": 1.0 }, { @@ -110428,7 +110474,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L825", + "source_location": "L839", "weight": 1.0 }, { @@ -110437,7 +110483,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L856", + "source_location": "L870", "weight": 1.0 }, { @@ -110446,7 +110492,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L883", + "source_location": "L897", "weight": 1.0 }, { @@ -110455,7 +110501,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L898", + "source_location": "L912", "weight": 1.0 }, { @@ -110464,7 +110510,16 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L920", + "source_location": "L934", + "weight": 1.0 + }, + { + "source": "api_oa_approval_py", + "target": "api_oa_approval_oa_pending_task_count", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "api/oa_approval.py", + "source_location": "L959", "weight": 1.0 }, { @@ -110473,7 +110528,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L945", + "source_location": "L976", "weight": 1.0 }, { @@ -110482,7 +110537,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L962", + "source_location": "L993", "weight": 1.0 }, { @@ -110491,7 +110546,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L983", + "source_location": "L1014", "weight": 1.0 }, { @@ -110500,7 +110555,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1004", + "source_location": "L1035", "weight": 1.0 }, { @@ -110509,7 +110564,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1027", + "source_location": "L1058", "weight": 1.0 }, { @@ -110518,7 +110573,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1051", + "source_location": "L1082", "weight": 1.0 }, { @@ -110527,7 +110582,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1075", + "source_location": "L1106", "weight": 1.0 }, { @@ -110536,7 +110591,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1098", + "source_location": "L1129", "weight": 1.0 }, { @@ -110545,7 +110600,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1122", + "source_location": "L1153", "weight": 1.0 }, { @@ -110554,7 +110609,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1146", + "source_location": "L1177", "weight": 1.0 }, { @@ -110563,7 +110618,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1170", + "source_location": "L1201", "weight": 1.0 }, { @@ -110629,13 +110684,22 @@ "source_location": "L162", "weight": 1.0 }, + { + "source": "api_oa_approval_oa_instance_draft_count", + "target": "api_oa_approval_get_tenant_no", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "api/oa_approval.py", + "source_location": "L247", + "weight": 1.0 + }, { "source": "api_oa_approval_list_oa_instance_drafts", "target": "api_oa_approval_get_tenant_no", "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L253", + "source_location": "L267", "weight": 1.0 }, { @@ -110644,7 +110708,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L260", + "source_location": "L274", "weight": 1.0 }, { @@ -110653,7 +110717,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L261", + "source_location": "L275", "weight": 1.0 }, { @@ -110662,7 +110726,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L275", + "source_location": "L289", "weight": 1.0 }, { @@ -110671,7 +110735,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L299", + "source_location": "L313", "weight": 1.0 }, { @@ -110680,7 +110744,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L320", + "source_location": "L334", "weight": 1.0 }, { @@ -110689,7 +110753,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L340", + "source_location": "L354", "weight": 1.0 }, { @@ -110698,7 +110762,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L365", + "source_location": "L379", "weight": 1.0 }, { @@ -110707,7 +110771,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L386", + "source_location": "L400", "weight": 1.0 }, { @@ -110716,7 +110780,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L388", + "source_location": "L402", "weight": 1.0 }, { @@ -110725,7 +110789,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L432", + "source_location": "L446", "weight": 1.0 }, { @@ -110734,7 +110798,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L443", + "source_location": "L457", "weight": 1.0 }, { @@ -110743,7 +110807,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L465", + "source_location": "L479", "weight": 1.0 }, { @@ -110752,7 +110816,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L488", + "source_location": "L502", "weight": 1.0 }, { @@ -110761,7 +110825,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L546", + "source_location": "L560", "weight": 1.0 }, { @@ -110770,7 +110834,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L560", + "source_location": "L574", "weight": 1.0 }, { @@ -110779,7 +110843,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L596", + "source_location": "L610", "weight": 1.0 }, { @@ -110788,7 +110852,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L620", + "source_location": "L634", "weight": 1.0 }, { @@ -110797,7 +110861,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L639", + "source_location": "L653", "weight": 1.0 }, { @@ -110806,7 +110870,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L653", + "source_location": "L667", "weight": 1.0 }, { @@ -110815,7 +110879,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L670", + "source_location": "L684", "weight": 1.0 }, { @@ -110824,7 +110888,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L694", + "source_location": "L708", "weight": 1.0 }, { @@ -110833,7 +110897,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L766", + "source_location": "L780", "weight": 1.0 }, { @@ -110842,7 +110906,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L780", + "source_location": "L794", "weight": 1.0 }, { @@ -110851,7 +110915,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L803", + "source_location": "L817", "weight": 1.0 }, { @@ -110860,7 +110924,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L834", + "source_location": "L848", "weight": 1.0 }, { @@ -110869,7 +110933,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L864", + "source_location": "L878", "weight": 1.0 }, { @@ -110878,7 +110942,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L891", + "source_location": "L905", "weight": 1.0 }, { @@ -110887,7 +110951,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L907", + "source_location": "L921", "weight": 1.0 }, { @@ -110896,7 +110960,16 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L929", + "source_location": "L943", + "weight": 1.0 + }, + { + "source": "api_oa_approval_oa_pending_task_count", + "target": "api_oa_approval_get_tenant_no", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "api/oa_approval.py", + "source_location": "L966", "weight": 1.0 }, { @@ -110905,7 +110978,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L952", + "source_location": "L983", "weight": 1.0 }, { @@ -110914,7 +110987,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L970", + "source_location": "L1001", "weight": 1.0 }, { @@ -110923,7 +110996,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L991", + "source_location": "L1022", "weight": 1.0 }, { @@ -110932,7 +111005,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1013", + "source_location": "L1044", "weight": 1.0 }, { @@ -110941,7 +111014,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1036", + "source_location": "L1067", "weight": 1.0 }, { @@ -110950,7 +111023,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1060", + "source_location": "L1091", "weight": 1.0 }, { @@ -110959,7 +111032,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1084", + "source_location": "L1115", "weight": 1.0 }, { @@ -110968,7 +111041,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1107", + "source_location": "L1138", "weight": 1.0 }, { @@ -110977,7 +111050,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1131", + "source_location": "L1162", "weight": 1.0 }, { @@ -110986,7 +111059,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1155", + "source_location": "L1186", "weight": 1.0 }, { @@ -110995,7 +111068,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1178", + "source_location": "L1209", "weight": 1.0 }, { @@ -111008,21 +111081,21 @@ "weight": 1.0 }, { - "source": "api_oa_approval_rationale_799", + "source": "api_oa_approval_rationale_813", "target": "api_oa_approval_preview_oa_template_flow", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L799", + "source_location": "L813", "weight": 1.0 }, { - "source": "api_oa_approval_rationale_830", + "source": "api_oa_approval_rationale_844", "target": "api_oa_approval_preview_oa_template_flow_get", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L830", + "source_location": "L844", "weight": 1.0 }, { @@ -124536,20 +124609,29 @@ }, { "source": "services_oa_engine_py", - "target": "services_oa_engine_mark_cc_task_read", + "target": "services_oa_engine_count_pending_tasks", "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", "source_location": "L1978", "weight": 1.0 }, + { + "source": "services_oa_engine_py", + "target": "services_oa_engine_mark_cc_task_read", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/oa_engine.py", + "source_location": "L1992", + "weight": 1.0 + }, { "source": "services_oa_engine_py", "target": "services_oa_engine_mark_cc_tasks_read_batch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1999", + "source_location": "L2013", "weight": 1.0 }, { @@ -124558,7 +124640,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2025", + "source_location": "L2039", "weight": 1.0 }, { @@ -124567,7 +124649,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2096", + "source_location": "L2110", "weight": 1.0 }, { @@ -124576,7 +124658,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2168", + "source_location": "L2182", "weight": 1.0 }, { @@ -124585,7 +124667,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2206", + "source_location": "L2220", "weight": 1.0 }, { @@ -124594,7 +124676,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2290", + "source_location": "L2304", "weight": 1.0 }, { @@ -124603,7 +124685,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2406", + "source_location": "L2420", "weight": 1.0 }, { @@ -124612,7 +124694,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2517", + "source_location": "L2531", "weight": 1.0 }, { @@ -124621,7 +124703,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2598", + "source_location": "L2612", "weight": 1.0 }, { @@ -124630,7 +124712,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2612", + "source_location": "L2626", "weight": 1.0 }, { @@ -125485,7 +125567,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1991", + "source_location": "L2005", "weight": 1.0 }, { @@ -125494,7 +125576,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1993", + "source_location": "L2007", "weight": 1.0 }, { @@ -125503,7 +125585,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1996", + "source_location": "L2010", "weight": 1.0 }, { @@ -125512,7 +125594,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2019", + "source_location": "L2033", "weight": 1.0 }, { @@ -125521,7 +125603,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2057", + "source_location": "L2071", "weight": 1.0 }, { @@ -125530,7 +125612,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2074", + "source_location": "L2088", "weight": 1.0 }, { @@ -125539,7 +125621,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2075", + "source_location": "L2089", "weight": 1.0 }, { @@ -125548,7 +125630,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2077", + "source_location": "L2091", "weight": 1.0 }, { @@ -125557,7 +125639,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2080", + "source_location": "L2094", "weight": 1.0 }, { @@ -125566,7 +125648,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2153", + "source_location": "L2167", "weight": 1.0 }, { @@ -125575,7 +125657,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2153", + "source_location": "L2167", "weight": 1.0 }, { @@ -125584,7 +125666,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2154", + "source_location": "L2168", "weight": 1.0 }, { @@ -125593,7 +125675,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2156", + "source_location": "L2170", "weight": 1.0 }, { @@ -125602,7 +125684,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2157", + "source_location": "L2171", "weight": 1.0 }, { @@ -125611,7 +125693,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2163", + "source_location": "L2177", "weight": 1.0 }, { @@ -125620,7 +125702,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2177", + "source_location": "L2191", "weight": 1.0 }, { @@ -125629,7 +125711,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2196", + "source_location": "L2210", "weight": 1.0 }, { @@ -125638,25 +125720,25 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2217", - "weight": 1.0 - }, - { - "source": "services_oa_engine_complete_task", - "target": "services_oa_engine_get_instance", - "relation": "calls", - "confidence": "EXTRACTED", - "source_file": "services/oa_engine.py", "source_location": "L2231", "weight": 1.0 }, + { + "source": "services_oa_engine_complete_task", + "target": "services_oa_engine_get_instance", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "services/oa_engine.py", + "source_location": "L2245", + "weight": 1.0 + }, { "source": "services_oa_engine_complete_task", "target": "services_oa_engine_advanced", "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2243", + "source_location": "L2257", "weight": 1.0 }, { @@ -125665,7 +125747,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2276", + "source_location": "L2290", "weight": 1.0 }, { @@ -125674,7 +125756,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2278", + "source_location": "L2292", "weight": 1.0 }, { @@ -125683,7 +125765,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2306", + "source_location": "L2320", "weight": 1.0 }, { @@ -125692,7 +125774,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2312", + "source_location": "L2326", "weight": 1.0 }, { @@ -125701,7 +125783,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2323", + "source_location": "L2337", "weight": 1.0 }, { @@ -125710,7 +125792,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2351", + "source_location": "L2365", "weight": 1.0 }, { @@ -125719,7 +125801,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2403", + "source_location": "L2417", "weight": 1.0 }, { @@ -125728,7 +125810,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2422", + "source_location": "L2436", "weight": 1.0 }, { @@ -125737,7 +125819,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2428", + "source_location": "L2442", "weight": 1.0 }, { @@ -125746,7 +125828,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2475", + "source_location": "L2489", "weight": 1.0 }, { @@ -125755,7 +125837,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2502", + "source_location": "L2516", "weight": 1.0 }, { @@ -125764,7 +125846,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2514", + "source_location": "L2528", "weight": 1.0 }, { @@ -125773,7 +125855,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2532", + "source_location": "L2546", "weight": 1.0 }, { @@ -125782,7 +125864,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2538", + "source_location": "L2552", "weight": 1.0 }, { @@ -125791,7 +125873,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2549", + "source_location": "L2563", "weight": 1.0 }, { @@ -125800,7 +125882,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2584", + "source_location": "L2598", "weight": 1.0 }, { @@ -125809,7 +125891,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2595", + "source_location": "L2609", "weight": 1.0 }, { @@ -125818,7 +125900,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2609", + "source_location": "L2623", "weight": 1.0 }, { @@ -125827,7 +125909,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2615", + "source_location": "L2629", "weight": 1.0 }, { @@ -125836,7 +125918,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2617", + "source_location": "L2631", "weight": 1.0 }, { @@ -125845,7 +125927,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2625", + "source_location": "L2639", "weight": 1.0 }, { @@ -125854,7 +125936,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2643", + "source_location": "L2657", "weight": 1.0 }, { @@ -125863,7 +125945,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2651", + "source_location": "L2665", "weight": 1.0 }, { @@ -126056,48 +126138,48 @@ "weight": 1.0 }, { - "source": "services_oa_engine_rationale_2105", + "source": "services_oa_engine_rationale_2119", "target": "services_oa_engine_approve_task_core", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2105", + "source_location": "L2119", "weight": 1.0 }, { - "source": "services_oa_engine_rationale_2299", + "source": "services_oa_engine_rationale_2313", "target": "services_oa_engine_add_sign", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2299", + "source_location": "L2313", "weight": 1.0 }, { - "source": "services_oa_engine_rationale_2415", + "source": "services_oa_engine_rationale_2429", "target": "services_oa_engine_transfer_task", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2415", + "source_location": "L2429", "weight": 1.0 }, { - "source": "services_oa_engine_rationale_2525", + "source": "services_oa_engine_rationale_2539", "target": "services_oa_engine_return_task", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2525", + "source_location": "L2539", "weight": 1.0 }, { - "source": "services_oa_engine_rationale_2607", + "source": "services_oa_engine_rationale_2621", "target": "services_oa_engine_resubmit_instance", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2607", + "source_location": "L2621", "weight": 1.0 }, { @@ -225983,7 +226065,7 @@ "weight": 0.8 }, { - "source": "crud_oa_instance_draft_rationale_329", + "source": "crud_oa_instance_draft_rationale_341", "target": "models_models_oaapp", "relation": "uses", "confidence": "INFERRED", @@ -226010,7 +226092,7 @@ "weight": 0.8 }, { - "source": "crud_oa_instance_draft_rationale_329", + "source": "crud_oa_instance_draft_rationale_341", "target": "models_models_oaappgroup", "relation": "uses", "confidence": "INFERRED", @@ -226037,7 +226119,7 @@ "weight": 0.8 }, { - "source": "crud_oa_instance_draft_rationale_329", + "source": "crud_oa_instance_draft_rationale_341", "target": "models_models_oaappversion", "relation": "uses", "confidence": "INFERRED", @@ -226064,7 +226146,7 @@ "weight": 0.8 }, { - "source": "crud_oa_instance_draft_rationale_329", + "source": "crud_oa_instance_draft_rationale_341", "target": "models_models_oainstancedraft", "relation": "uses", "confidence": "INFERRED", @@ -230789,7 +230871,7 @@ "weight": 0.8 }, { - "source": "api_oa_approval_rationale_799", + "source": "api_oa_approval_rationale_813", "target": "models_models_sysuser", "relation": "uses", "confidence": "INFERRED", @@ -230798,7 +230880,7 @@ "weight": 0.8 }, { - "source": "api_oa_approval_rationale_830", + "source": "api_oa_approval_rationale_844", "target": "models_models_sysuser", "relation": "uses", "confidence": "INFERRED", @@ -230812,7 +230894,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L384", + "source_location": "L398", "weight": 0.8 }, { @@ -230821,7 +230903,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L384", + "source_location": "L398", "weight": 0.8 }, { @@ -230830,7 +230912,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L384", + "source_location": "L398", "weight": 0.8 }, { @@ -230839,7 +230921,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L384", + "source_location": "L398", "weight": 0.8 }, { @@ -230848,7 +230930,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L384", + "source_location": "L398", "weight": 0.8 }, { @@ -230857,7 +230939,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L384", + "source_location": "L398", "weight": 0.8 }, { @@ -230866,7 +230948,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L384", + "source_location": "L398", "weight": 0.8 }, { @@ -230875,7 +230957,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L384", + "source_location": "L398", "weight": 0.8 }, { @@ -230884,7 +230966,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L384", + "source_location": "L398", "weight": 0.8 }, { @@ -230893,7 +230975,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L384", + "source_location": "L398", "weight": 0.8 }, { @@ -230902,7 +230984,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L384", + "source_location": "L398", "weight": 0.8 }, { @@ -230911,7 +230993,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L384", + "source_location": "L398", "weight": 0.8 }, { @@ -230920,7 +231002,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L384", + "source_location": "L398", "weight": 0.8 }, { @@ -230929,7 +231011,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L384", + "source_location": "L398", "weight": 0.8 }, { @@ -230938,7 +231020,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L384", + "source_location": "L398", "weight": 0.8 }, { @@ -230947,7 +231029,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L384", + "source_location": "L398", "weight": 0.8 }, { @@ -230956,7 +231038,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L384", + "source_location": "L398", "weight": 0.8 }, { @@ -230965,7 +231047,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L384", + "source_location": "L398", "weight": 0.8 }, { @@ -230974,25 +231056,25 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L384", + "source_location": "L398", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_799", + "source": "api_oa_approval_rationale_813", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L384", + "source_location": "L398", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_830", + "source": "api_oa_approval_rationale_844", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L384", + "source_location": "L398", "weight": 0.8 }, { @@ -231001,7 +231083,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L777", + "source_location": "L791", "weight": 0.8 }, { @@ -231010,7 +231092,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L777", + "source_location": "L791", "weight": 0.8 }, { @@ -231019,7 +231101,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L777", + "source_location": "L791", "weight": 0.8 }, { @@ -231028,7 +231110,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L777", + "source_location": "L791", "weight": 0.8 }, { @@ -231037,7 +231119,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L777", + "source_location": "L791", "weight": 0.8 }, { @@ -231046,7 +231128,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L777", + "source_location": "L791", "weight": 0.8 }, { @@ -231055,7 +231137,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L777", + "source_location": "L791", "weight": 0.8 }, { @@ -231064,7 +231146,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L777", + "source_location": "L791", "weight": 0.8 }, { @@ -231073,7 +231155,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L777", + "source_location": "L791", "weight": 0.8 }, { @@ -231082,7 +231164,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L777", + "source_location": "L791", "weight": 0.8 }, { @@ -231091,7 +231173,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L777", + "source_location": "L791", "weight": 0.8 }, { @@ -231100,7 +231182,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L777", + "source_location": "L791", "weight": 0.8 }, { @@ -231109,7 +231191,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L777", + "source_location": "L791", "weight": 0.8 }, { @@ -231118,7 +231200,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L777", + "source_location": "L791", "weight": 0.8 }, { @@ -231127,7 +231209,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L777", + "source_location": "L791", "weight": 0.8 }, { @@ -231136,7 +231218,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L777", + "source_location": "L791", "weight": 0.8 }, { @@ -231145,7 +231227,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L777", + "source_location": "L791", "weight": 0.8 }, { @@ -231154,7 +231236,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L777", + "source_location": "L791", "weight": 0.8 }, { @@ -231163,25 +231245,25 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L777", + "source_location": "L791", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_799", + "source": "api_oa_approval_rationale_813", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L777", + "source_location": "L791", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_830", + "source": "api_oa_approval_rationale_844", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L777", + "source_location": "L791", "weight": 0.8 }, { @@ -231190,7 +231272,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L800", + "source_location": "L814", "weight": 0.8 }, { @@ -231199,7 +231281,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L800", + "source_location": "L814", "weight": 0.8 }, { @@ -231208,7 +231290,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L800", + "source_location": "L814", "weight": 0.8 }, { @@ -231217,7 +231299,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L800", + "source_location": "L814", "weight": 0.8 }, { @@ -231226,7 +231308,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L800", + "source_location": "L814", "weight": 0.8 }, { @@ -231235,7 +231317,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L800", + "source_location": "L814", "weight": 0.8 }, { @@ -231244,7 +231326,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L800", + "source_location": "L814", "weight": 0.8 }, { @@ -231253,7 +231335,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L800", + "source_location": "L814", "weight": 0.8 }, { @@ -231262,7 +231344,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L800", + "source_location": "L814", "weight": 0.8 }, { @@ -231271,7 +231353,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L800", + "source_location": "L814", "weight": 0.8 }, { @@ -231280,7 +231362,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L800", + "source_location": "L814", "weight": 0.8 }, { @@ -231289,7 +231371,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L800", + "source_location": "L814", "weight": 0.8 }, { @@ -231298,7 +231380,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L800", + "source_location": "L814", "weight": 0.8 }, { @@ -231307,7 +231389,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L800", + "source_location": "L814", "weight": 0.8 }, { @@ -231316,7 +231398,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L800", + "source_location": "L814", "weight": 0.8 }, { @@ -231325,7 +231407,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L800", + "source_location": "L814", "weight": 0.8 }, { @@ -231334,7 +231416,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L800", + "source_location": "L814", "weight": 0.8 }, { @@ -231343,7 +231425,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L800", + "source_location": "L814", "weight": 0.8 }, { @@ -231352,25 +231434,25 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L800", + "source_location": "L814", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_799", + "source": "api_oa_approval_rationale_813", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L800", + "source_location": "L814", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_830", + "source": "api_oa_approval_rationale_844", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L800", + "source_location": "L814", "weight": 0.8 }, { @@ -231379,7 +231461,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L831", + "source_location": "L845", "weight": 0.8 }, { @@ -231388,7 +231470,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L831", + "source_location": "L845", "weight": 0.8 }, { @@ -231397,7 +231479,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L831", + "source_location": "L845", "weight": 0.8 }, { @@ -231406,7 +231488,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L831", + "source_location": "L845", "weight": 0.8 }, { @@ -231415,7 +231497,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L831", + "source_location": "L845", "weight": 0.8 }, { @@ -231424,7 +231506,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L831", + "source_location": "L845", "weight": 0.8 }, { @@ -231433,7 +231515,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L831", + "source_location": "L845", "weight": 0.8 }, { @@ -231442,7 +231524,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L831", + "source_location": "L845", "weight": 0.8 }, { @@ -231451,7 +231533,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L831", + "source_location": "L845", "weight": 0.8 }, { @@ -231460,7 +231542,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L831", + "source_location": "L845", "weight": 0.8 }, { @@ -231469,7 +231551,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L831", + "source_location": "L845", "weight": 0.8 }, { @@ -231478,7 +231560,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L831", + "source_location": "L845", "weight": 0.8 }, { @@ -231487,7 +231569,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L831", + "source_location": "L845", "weight": 0.8 }, { @@ -231496,7 +231578,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L831", + "source_location": "L845", "weight": 0.8 }, { @@ -231505,7 +231587,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L831", + "source_location": "L845", "weight": 0.8 }, { @@ -231514,7 +231596,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L831", + "source_location": "L845", "weight": 0.8 }, { @@ -231523,7 +231605,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L831", + "source_location": "L845", "weight": 0.8 }, { @@ -231532,7 +231614,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L831", + "source_location": "L845", "weight": 0.8 }, { @@ -231541,25 +231623,25 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L831", + "source_location": "L845", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_799", + "source": "api_oa_approval_rationale_813", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L831", + "source_location": "L845", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_830", + "source": "api_oa_approval_rationale_844", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L831", + "source_location": "L845", "weight": 0.8 }, { @@ -231568,7 +231650,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L861", + "source_location": "L875", "weight": 0.8 }, { @@ -231577,7 +231659,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L861", + "source_location": "L875", "weight": 0.8 }, { @@ -231586,7 +231668,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L861", + "source_location": "L875", "weight": 0.8 }, { @@ -231595,7 +231677,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L861", + "source_location": "L875", "weight": 0.8 }, { @@ -231604,7 +231686,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L861", + "source_location": "L875", "weight": 0.8 }, { @@ -231613,7 +231695,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L861", + "source_location": "L875", "weight": 0.8 }, { @@ -231622,7 +231704,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L861", + "source_location": "L875", "weight": 0.8 }, { @@ -231631,7 +231713,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L861", + "source_location": "L875", "weight": 0.8 }, { @@ -231640,7 +231722,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L861", + "source_location": "L875", "weight": 0.8 }, { @@ -231649,7 +231731,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L861", + "source_location": "L875", "weight": 0.8 }, { @@ -231658,7 +231740,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L861", + "source_location": "L875", "weight": 0.8 }, { @@ -231667,7 +231749,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L861", + "source_location": "L875", "weight": 0.8 }, { @@ -231676,7 +231758,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L861", + "source_location": "L875", "weight": 0.8 }, { @@ -231685,7 +231767,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L861", + "source_location": "L875", "weight": 0.8 }, { @@ -231694,7 +231776,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L861", + "source_location": "L875", "weight": 0.8 }, { @@ -231703,7 +231785,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L861", + "source_location": "L875", "weight": 0.8 }, { @@ -231712,7 +231794,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L861", + "source_location": "L875", "weight": 0.8 }, { @@ -231721,7 +231803,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L861", + "source_location": "L875", "weight": 0.8 }, { @@ -231730,25 +231812,25 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L861", + "source_location": "L875", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_799", + "source": "api_oa_approval_rationale_813", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L861", + "source_location": "L875", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_830", + "source": "api_oa_approval_rationale_844", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L861", + "source_location": "L875", "weight": 0.8 }, { @@ -231757,7 +231839,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L888", + "source_location": "L902", "weight": 0.8 }, { @@ -231766,7 +231848,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L888", + "source_location": "L902", "weight": 0.8 }, { @@ -231775,7 +231857,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L888", + "source_location": "L902", "weight": 0.8 }, { @@ -231784,7 +231866,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L888", + "source_location": "L902", "weight": 0.8 }, { @@ -231793,7 +231875,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L888", + "source_location": "L902", "weight": 0.8 }, { @@ -231802,7 +231884,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L888", + "source_location": "L902", "weight": 0.8 }, { @@ -231811,7 +231893,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L888", + "source_location": "L902", "weight": 0.8 }, { @@ -231820,7 +231902,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L888", + "source_location": "L902", "weight": 0.8 }, { @@ -231829,7 +231911,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L888", + "source_location": "L902", "weight": 0.8 }, { @@ -231838,7 +231920,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L888", + "source_location": "L902", "weight": 0.8 }, { @@ -231847,7 +231929,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L888", + "source_location": "L902", "weight": 0.8 }, { @@ -231856,7 +231938,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L888", + "source_location": "L902", "weight": 0.8 }, { @@ -231865,7 +231947,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L888", + "source_location": "L902", "weight": 0.8 }, { @@ -231874,7 +231956,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L888", + "source_location": "L902", "weight": 0.8 }, { @@ -231883,7 +231965,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L888", + "source_location": "L902", "weight": 0.8 }, { @@ -231892,7 +231974,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L888", + "source_location": "L902", "weight": 0.8 }, { @@ -231901,7 +231983,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L888", + "source_location": "L902", "weight": 0.8 }, { @@ -231910,7 +231992,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L888", + "source_location": "L902", "weight": 0.8 }, { @@ -231919,25 +232001,25 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L888", + "source_location": "L902", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_799", + "source": "api_oa_approval_rationale_813", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L888", + "source_location": "L902", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_830", + "source": "api_oa_approval_rationale_844", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L888", + "source_location": "L902", "weight": 0.8 }, { @@ -231946,7 +232028,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L927", + "source_location": "L941", "weight": 0.8 }, { @@ -231955,7 +232037,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L927", + "source_location": "L941", "weight": 0.8 }, { @@ -231964,7 +232046,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L927", + "source_location": "L941", "weight": 0.8 }, { @@ -231973,7 +232055,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L927", + "source_location": "L941", "weight": 0.8 }, { @@ -231982,7 +232064,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L927", + "source_location": "L941", "weight": 0.8 }, { @@ -231991,7 +232073,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L927", + "source_location": "L941", "weight": 0.8 }, { @@ -232000,7 +232082,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L927", + "source_location": "L941", "weight": 0.8 }, { @@ -232009,7 +232091,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L927", + "source_location": "L941", "weight": 0.8 }, { @@ -232018,7 +232100,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L927", + "source_location": "L941", "weight": 0.8 }, { @@ -232027,7 +232109,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L927", + "source_location": "L941", "weight": 0.8 }, { @@ -232036,7 +232118,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L927", + "source_location": "L941", "weight": 0.8 }, { @@ -232045,7 +232127,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L927", + "source_location": "L941", "weight": 0.8 }, { @@ -232054,7 +232136,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L927", + "source_location": "L941", "weight": 0.8 }, { @@ -232063,7 +232145,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L927", + "source_location": "L941", "weight": 0.8 }, { @@ -232072,7 +232154,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L927", + "source_location": "L941", "weight": 0.8 }, { @@ -232081,7 +232163,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L927", + "source_location": "L941", "weight": 0.8 }, { @@ -232090,7 +232172,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L927", + "source_location": "L941", "weight": 0.8 }, { @@ -232099,7 +232181,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L927", + "source_location": "L941", "weight": 0.8 }, { @@ -232108,25 +232190,25 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L927", + "source_location": "L941", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_799", + "source": "api_oa_approval_rationale_813", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L927", + "source_location": "L941", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_830", + "source": "api_oa_approval_rationale_844", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L927", + "source_location": "L941", "weight": 0.8 }, { @@ -232135,7 +232217,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L949", + "source_location": "L963", "weight": 0.8 }, { @@ -232144,7 +232226,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L949", + "source_location": "L963", "weight": 0.8 }, { @@ -232153,7 +232235,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L949", + "source_location": "L963", "weight": 0.8 }, { @@ -232162,7 +232244,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L949", + "source_location": "L963", "weight": 0.8 }, { @@ -232171,7 +232253,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L949", + "source_location": "L963", "weight": 0.8 }, { @@ -232180,7 +232262,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L949", + "source_location": "L963", "weight": 0.8 }, { @@ -232189,7 +232271,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L949", + "source_location": "L963", "weight": 0.8 }, { @@ -232198,7 +232280,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L949", + "source_location": "L963", "weight": 0.8 }, { @@ -232207,7 +232289,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L949", + "source_location": "L963", "weight": 0.8 }, { @@ -232216,7 +232298,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L949", + "source_location": "L963", "weight": 0.8 }, { @@ -232225,7 +232307,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L949", + "source_location": "L963", "weight": 0.8 }, { @@ -232234,7 +232316,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L949", + "source_location": "L963", "weight": 0.8 }, { @@ -232243,7 +232325,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L949", + "source_location": "L963", "weight": 0.8 }, { @@ -232252,7 +232334,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L949", + "source_location": "L963", "weight": 0.8 }, { @@ -232261,7 +232343,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L949", + "source_location": "L963", "weight": 0.8 }, { @@ -232270,7 +232352,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L949", + "source_location": "L963", "weight": 0.8 }, { @@ -232279,7 +232361,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L949", + "source_location": "L963", "weight": 0.8 }, { @@ -232288,7 +232370,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L949", + "source_location": "L963", "weight": 0.8 }, { @@ -232297,25 +232379,25 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L949", + "source_location": "L963", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_799", + "source": "api_oa_approval_rationale_813", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L949", + "source_location": "L963", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_830", + "source": "api_oa_approval_rationale_844", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L949", + "source_location": "L963", "weight": 0.8 }, { @@ -232324,7 +232406,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L967", + "source_location": "L980", "weight": 0.8 }, { @@ -232333,7 +232415,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L967", + "source_location": "L980", "weight": 0.8 }, { @@ -232342,7 +232424,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L967", + "source_location": "L980", "weight": 0.8 }, { @@ -232351,7 +232433,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L967", + "source_location": "L980", "weight": 0.8 }, { @@ -232360,7 +232442,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L967", + "source_location": "L980", "weight": 0.8 }, { @@ -232369,7 +232451,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L967", + "source_location": "L980", "weight": 0.8 }, { @@ -232378,7 +232460,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L967", + "source_location": "L980", "weight": 0.8 }, { @@ -232387,7 +232469,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L967", + "source_location": "L980", "weight": 0.8 }, { @@ -232396,7 +232478,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L967", + "source_location": "L980", "weight": 0.8 }, { @@ -232405,7 +232487,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L967", + "source_location": "L980", "weight": 0.8 }, { @@ -232414,7 +232496,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L967", + "source_location": "L980", "weight": 0.8 }, { @@ -232423,7 +232505,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L967", + "source_location": "L980", "weight": 0.8 }, { @@ -232432,7 +232514,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L967", + "source_location": "L980", "weight": 0.8 }, { @@ -232441,7 +232523,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L967", + "source_location": "L980", "weight": 0.8 }, { @@ -232450,7 +232532,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L967", + "source_location": "L980", "weight": 0.8 }, { @@ -232459,7 +232541,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L967", + "source_location": "L980", "weight": 0.8 }, { @@ -232468,7 +232550,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L967", + "source_location": "L980", "weight": 0.8 }, { @@ -232477,7 +232559,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L967", + "source_location": "L980", "weight": 0.8 }, { @@ -232486,25 +232568,25 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L967", + "source_location": "L980", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_799", + "source": "api_oa_approval_rationale_813", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L967", + "source_location": "L980", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_830", + "source": "api_oa_approval_rationale_844", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L967", + "source_location": "L980", "weight": 0.8 }, { @@ -232513,7 +232595,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L988", + "source_location": "L998", "weight": 0.8 }, { @@ -232522,7 +232604,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L988", + "source_location": "L998", "weight": 0.8 }, { @@ -232531,7 +232613,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L988", + "source_location": "L998", "weight": 0.8 }, { @@ -232540,7 +232622,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L988", + "source_location": "L998", "weight": 0.8 }, { @@ -232549,7 +232631,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L988", + "source_location": "L998", "weight": 0.8 }, { @@ -232558,7 +232640,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L988", + "source_location": "L998", "weight": 0.8 }, { @@ -232567,7 +232649,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L988", + "source_location": "L998", "weight": 0.8 }, { @@ -232576,7 +232658,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L988", + "source_location": "L998", "weight": 0.8 }, { @@ -232585,7 +232667,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L988", + "source_location": "L998", "weight": 0.8 }, { @@ -232594,7 +232676,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L988", + "source_location": "L998", "weight": 0.8 }, { @@ -232603,7 +232685,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L988", + "source_location": "L998", "weight": 0.8 }, { @@ -232612,7 +232694,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L988", + "source_location": "L998", "weight": 0.8 }, { @@ -232621,7 +232703,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L988", + "source_location": "L998", "weight": 0.8 }, { @@ -232630,7 +232712,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L988", + "source_location": "L998", "weight": 0.8 }, { @@ -232639,7 +232721,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L988", + "source_location": "L998", "weight": 0.8 }, { @@ -232648,7 +232730,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L988", + "source_location": "L998", "weight": 0.8 }, { @@ -232657,7 +232739,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L988", + "source_location": "L998", "weight": 0.8 }, { @@ -232666,7 +232748,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L988", + "source_location": "L998", "weight": 0.8 }, { @@ -232675,25 +232757,25 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L988", + "source_location": "L998", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_799", + "source": "api_oa_approval_rationale_813", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L988", + "source_location": "L998", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_830", + "source": "api_oa_approval_rationale_844", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L988", + "source_location": "L998", "weight": 0.8 }, { @@ -232702,7 +232784,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1010", + "source_location": "L1019", "weight": 0.8 }, { @@ -232711,7 +232793,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1010", + "source_location": "L1019", "weight": 0.8 }, { @@ -232720,7 +232802,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1010", + "source_location": "L1019", "weight": 0.8 }, { @@ -232729,7 +232811,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1010", + "source_location": "L1019", "weight": 0.8 }, { @@ -232738,7 +232820,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1010", + "source_location": "L1019", "weight": 0.8 }, { @@ -232747,7 +232829,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1010", + "source_location": "L1019", "weight": 0.8 }, { @@ -232756,7 +232838,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1010", + "source_location": "L1019", "weight": 0.8 }, { @@ -232765,7 +232847,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1010", + "source_location": "L1019", "weight": 0.8 }, { @@ -232774,7 +232856,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1010", + "source_location": "L1019", "weight": 0.8 }, { @@ -232783,7 +232865,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1010", + "source_location": "L1019", "weight": 0.8 }, { @@ -232792,7 +232874,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1010", + "source_location": "L1019", "weight": 0.8 }, { @@ -232801,7 +232883,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1010", + "source_location": "L1019", "weight": 0.8 }, { @@ -232810,7 +232892,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1010", + "source_location": "L1019", "weight": 0.8 }, { @@ -232819,7 +232901,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1010", + "source_location": "L1019", "weight": 0.8 }, { @@ -232828,7 +232910,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1010", + "source_location": "L1019", "weight": 0.8 }, { @@ -232837,7 +232919,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1010", + "source_location": "L1019", "weight": 0.8 }, { @@ -232846,7 +232928,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1010", + "source_location": "L1019", "weight": 0.8 }, { @@ -232855,7 +232937,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1010", + "source_location": "L1019", "weight": 0.8 }, { @@ -232864,25 +232946,25 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1010", + "source_location": "L1019", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_799", + "source": "api_oa_approval_rationale_813", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1010", + "source_location": "L1019", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_830", + "source": "api_oa_approval_rationale_844", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1010", + "source_location": "L1019", "weight": 0.8 }, { @@ -232891,7 +232973,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1033", + "source_location": "L1041", "weight": 0.8 }, { @@ -232900,7 +232982,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1033", + "source_location": "L1041", "weight": 0.8 }, { @@ -232909,7 +232991,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1033", + "source_location": "L1041", "weight": 0.8 }, { @@ -232918,7 +233000,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1033", + "source_location": "L1041", "weight": 0.8 }, { @@ -232927,7 +233009,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1033", + "source_location": "L1041", "weight": 0.8 }, { @@ -232936,7 +233018,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1033", + "source_location": "L1041", "weight": 0.8 }, { @@ -232945,7 +233027,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1033", + "source_location": "L1041", "weight": 0.8 }, { @@ -232954,7 +233036,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1033", + "source_location": "L1041", "weight": 0.8 }, { @@ -232963,7 +233045,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1033", + "source_location": "L1041", "weight": 0.8 }, { @@ -232972,7 +233054,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1033", + "source_location": "L1041", "weight": 0.8 }, { @@ -232981,7 +233063,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1033", + "source_location": "L1041", "weight": 0.8 }, { @@ -232990,7 +233072,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1033", + "source_location": "L1041", "weight": 0.8 }, { @@ -232999,7 +233081,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1033", + "source_location": "L1041", "weight": 0.8 }, { @@ -233008,7 +233090,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1033", + "source_location": "L1041", "weight": 0.8 }, { @@ -233017,7 +233099,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1033", + "source_location": "L1041", "weight": 0.8 }, { @@ -233026,7 +233108,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1033", + "source_location": "L1041", "weight": 0.8 }, { @@ -233035,7 +233117,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1033", + "source_location": "L1041", "weight": 0.8 }, { @@ -233044,7 +233126,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1033", + "source_location": "L1041", "weight": 0.8 }, { @@ -233053,25 +233135,25 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1033", + "source_location": "L1041", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_799", + "source": "api_oa_approval_rationale_813", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1033", + "source_location": "L1041", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_830", + "source": "api_oa_approval_rationale_844", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1033", + "source_location": "L1041", "weight": 0.8 }, { @@ -233080,7 +233162,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1057", + "source_location": "L1064", "weight": 0.8 }, { @@ -233089,7 +233171,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1057", + "source_location": "L1064", "weight": 0.8 }, { @@ -233098,7 +233180,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1057", + "source_location": "L1064", "weight": 0.8 }, { @@ -233107,7 +233189,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1057", + "source_location": "L1064", "weight": 0.8 }, { @@ -233116,7 +233198,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1057", + "source_location": "L1064", "weight": 0.8 }, { @@ -233125,7 +233207,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1057", + "source_location": "L1064", "weight": 0.8 }, { @@ -233134,7 +233216,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1057", + "source_location": "L1064", "weight": 0.8 }, { @@ -233143,7 +233225,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1057", + "source_location": "L1064", "weight": 0.8 }, { @@ -233152,7 +233234,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1057", + "source_location": "L1064", "weight": 0.8 }, { @@ -233161,7 +233243,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1057", + "source_location": "L1064", "weight": 0.8 }, { @@ -233170,7 +233252,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1057", + "source_location": "L1064", "weight": 0.8 }, { @@ -233179,7 +233261,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1057", + "source_location": "L1064", "weight": 0.8 }, { @@ -233188,7 +233270,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1057", + "source_location": "L1064", "weight": 0.8 }, { @@ -233197,7 +233279,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1057", + "source_location": "L1064", "weight": 0.8 }, { @@ -233206,7 +233288,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1057", + "source_location": "L1064", "weight": 0.8 }, { @@ -233215,7 +233297,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1057", + "source_location": "L1064", "weight": 0.8 }, { @@ -233224,7 +233306,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1057", + "source_location": "L1064", "weight": 0.8 }, { @@ -233233,7 +233315,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1057", + "source_location": "L1064", "weight": 0.8 }, { @@ -233242,25 +233324,25 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1057", + "source_location": "L1064", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_799", + "source": "api_oa_approval_rationale_813", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1057", + "source_location": "L1064", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_830", + "source": "api_oa_approval_rationale_844", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1057", + "source_location": "L1064", "weight": 0.8 }, { @@ -233269,7 +233351,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1081", + "source_location": "L1088", "weight": 0.8 }, { @@ -233278,7 +233360,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1081", + "source_location": "L1088", "weight": 0.8 }, { @@ -233287,7 +233369,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1081", + "source_location": "L1088", "weight": 0.8 }, { @@ -233296,7 +233378,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1081", + "source_location": "L1088", "weight": 0.8 }, { @@ -233305,7 +233387,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1081", + "source_location": "L1088", "weight": 0.8 }, { @@ -233314,7 +233396,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1081", + "source_location": "L1088", "weight": 0.8 }, { @@ -233323,7 +233405,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1081", + "source_location": "L1088", "weight": 0.8 }, { @@ -233332,7 +233414,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1081", + "source_location": "L1088", "weight": 0.8 }, { @@ -233341,7 +233423,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1081", + "source_location": "L1088", "weight": 0.8 }, { @@ -233350,7 +233432,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1081", + "source_location": "L1088", "weight": 0.8 }, { @@ -233359,7 +233441,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1081", + "source_location": "L1088", "weight": 0.8 }, { @@ -233368,7 +233450,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1081", + "source_location": "L1088", "weight": 0.8 }, { @@ -233377,7 +233459,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1081", + "source_location": "L1088", "weight": 0.8 }, { @@ -233386,7 +233468,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1081", + "source_location": "L1088", "weight": 0.8 }, { @@ -233395,7 +233477,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1081", + "source_location": "L1088", "weight": 0.8 }, { @@ -233404,7 +233486,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1081", + "source_location": "L1088", "weight": 0.8 }, { @@ -233413,7 +233495,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1081", + "source_location": "L1088", "weight": 0.8 }, { @@ -233422,7 +233504,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1081", + "source_location": "L1088", "weight": 0.8 }, { @@ -233431,25 +233513,25 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1081", + "source_location": "L1088", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_799", + "source": "api_oa_approval_rationale_813", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1081", + "source_location": "L1088", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_830", + "source": "api_oa_approval_rationale_844", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1081", + "source_location": "L1088", "weight": 0.8 }, { @@ -233458,7 +233540,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1104", + "source_location": "L1112", "weight": 0.8 }, { @@ -233467,7 +233549,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1104", + "source_location": "L1112", "weight": 0.8 }, { @@ -233476,7 +233558,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1104", + "source_location": "L1112", "weight": 0.8 }, { @@ -233485,7 +233567,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1104", + "source_location": "L1112", "weight": 0.8 }, { @@ -233494,7 +233576,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1104", + "source_location": "L1112", "weight": 0.8 }, { @@ -233503,7 +233585,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1104", + "source_location": "L1112", "weight": 0.8 }, { @@ -233512,7 +233594,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1104", + "source_location": "L1112", "weight": 0.8 }, { @@ -233521,7 +233603,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1104", + "source_location": "L1112", "weight": 0.8 }, { @@ -233530,7 +233612,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1104", + "source_location": "L1112", "weight": 0.8 }, { @@ -233539,7 +233621,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1104", + "source_location": "L1112", "weight": 0.8 }, { @@ -233548,7 +233630,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1104", + "source_location": "L1112", "weight": 0.8 }, { @@ -233557,7 +233639,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1104", + "source_location": "L1112", "weight": 0.8 }, { @@ -233566,7 +233648,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1104", + "source_location": "L1112", "weight": 0.8 }, { @@ -233575,7 +233657,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1104", + "source_location": "L1112", "weight": 0.8 }, { @@ -233584,7 +233666,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1104", + "source_location": "L1112", "weight": 0.8 }, { @@ -233593,7 +233675,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1104", + "source_location": "L1112", "weight": 0.8 }, { @@ -233602,7 +233684,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1104", + "source_location": "L1112", "weight": 0.8 }, { @@ -233611,7 +233693,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1104", + "source_location": "L1112", "weight": 0.8 }, { @@ -233620,25 +233702,25 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1104", + "source_location": "L1112", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_799", + "source": "api_oa_approval_rationale_813", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1104", + "source_location": "L1112", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_830", + "source": "api_oa_approval_rationale_844", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1104", + "source_location": "L1112", "weight": 0.8 }, { @@ -233647,7 +233729,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1128", + "source_location": "L1135", "weight": 0.8 }, { @@ -233656,7 +233738,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1128", + "source_location": "L1135", "weight": 0.8 }, { @@ -233665,7 +233747,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1128", + "source_location": "L1135", "weight": 0.8 }, { @@ -233674,7 +233756,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1128", + "source_location": "L1135", "weight": 0.8 }, { @@ -233683,7 +233765,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1128", + "source_location": "L1135", "weight": 0.8 }, { @@ -233692,7 +233774,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1128", + "source_location": "L1135", "weight": 0.8 }, { @@ -233701,7 +233783,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1128", + "source_location": "L1135", "weight": 0.8 }, { @@ -233710,7 +233792,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1128", + "source_location": "L1135", "weight": 0.8 }, { @@ -233719,7 +233801,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1128", + "source_location": "L1135", "weight": 0.8 }, { @@ -233728,7 +233810,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1128", + "source_location": "L1135", "weight": 0.8 }, { @@ -233737,7 +233819,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1128", + "source_location": "L1135", "weight": 0.8 }, { @@ -233746,7 +233828,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1128", + "source_location": "L1135", "weight": 0.8 }, { @@ -233755,7 +233837,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1128", + "source_location": "L1135", "weight": 0.8 }, { @@ -233764,7 +233846,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1128", + "source_location": "L1135", "weight": 0.8 }, { @@ -233773,7 +233855,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1128", + "source_location": "L1135", "weight": 0.8 }, { @@ -233782,7 +233864,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1128", + "source_location": "L1135", "weight": 0.8 }, { @@ -233791,7 +233873,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1128", + "source_location": "L1135", "weight": 0.8 }, { @@ -233800,7 +233882,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1128", + "source_location": "L1135", "weight": 0.8 }, { @@ -233809,25 +233891,25 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1128", + "source_location": "L1135", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_799", + "source": "api_oa_approval_rationale_813", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1128", + "source_location": "L1135", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_830", + "source": "api_oa_approval_rationale_844", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1128", + "source_location": "L1135", "weight": 0.8 }, { @@ -233836,7 +233918,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1152", + "source_location": "L1159", "weight": 0.8 }, { @@ -233845,7 +233927,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1152", + "source_location": "L1159", "weight": 0.8 }, { @@ -233854,7 +233936,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1152", + "source_location": "L1159", "weight": 0.8 }, { @@ -233863,7 +233945,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1152", + "source_location": "L1159", "weight": 0.8 }, { @@ -233872,7 +233954,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1152", + "source_location": "L1159", "weight": 0.8 }, { @@ -233881,7 +233963,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1152", + "source_location": "L1159", "weight": 0.8 }, { @@ -233890,7 +233972,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1152", + "source_location": "L1159", "weight": 0.8 }, { @@ -233899,7 +233981,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1152", + "source_location": "L1159", "weight": 0.8 }, { @@ -233908,7 +233990,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1152", + "source_location": "L1159", "weight": 0.8 }, { @@ -233917,7 +233999,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1152", + "source_location": "L1159", "weight": 0.8 }, { @@ -233926,7 +234008,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1152", + "source_location": "L1159", "weight": 0.8 }, { @@ -233935,7 +234017,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1152", + "source_location": "L1159", "weight": 0.8 }, { @@ -233944,7 +234026,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1152", + "source_location": "L1159", "weight": 0.8 }, { @@ -233953,7 +234035,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1152", + "source_location": "L1159", "weight": 0.8 }, { @@ -233962,7 +234044,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1152", + "source_location": "L1159", "weight": 0.8 }, { @@ -233971,7 +234053,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1152", + "source_location": "L1159", "weight": 0.8 }, { @@ -233980,7 +234062,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1152", + "source_location": "L1159", "weight": 0.8 }, { @@ -233989,7 +234071,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1152", + "source_location": "L1159", "weight": 0.8 }, { @@ -233998,25 +234080,25 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1152", + "source_location": "L1159", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_799", + "source": "api_oa_approval_rationale_813", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1152", + "source_location": "L1159", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_830", + "source": "api_oa_approval_rationale_844", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1152", + "source_location": "L1159", "weight": 0.8 }, { @@ -234025,7 +234107,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1183", "weight": 0.8 }, { @@ -234034,7 +234116,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1183", "weight": 0.8 }, { @@ -234043,7 +234125,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1183", "weight": 0.8 }, { @@ -234052,7 +234134,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1183", "weight": 0.8 }, { @@ -234061,7 +234143,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1183", "weight": 0.8 }, { @@ -234070,7 +234152,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1183", "weight": 0.8 }, { @@ -234079,7 +234161,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1183", "weight": 0.8 }, { @@ -234088,7 +234170,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1183", "weight": 0.8 }, { @@ -234097,7 +234179,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1183", "weight": 0.8 }, { @@ -234106,7 +234188,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1183", "weight": 0.8 }, { @@ -234115,7 +234197,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1183", "weight": 0.8 }, { @@ -234124,7 +234206,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1183", "weight": 0.8 }, { @@ -234133,7 +234215,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1183", "weight": 0.8 }, { @@ -234142,7 +234224,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1183", "weight": 0.8 }, { @@ -234151,7 +234233,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1183", "weight": 0.8 }, { @@ -234160,7 +234242,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1183", "weight": 0.8 }, { @@ -234169,7 +234251,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1183", "weight": 0.8 }, { @@ -234178,7 +234260,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1183", "weight": 0.8 }, { @@ -234187,25 +234269,214 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1183", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_799", + "source": "api_oa_approval_rationale_813", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1183", "weight": 0.8 }, { - "source": "api_oa_approval_rationale_830", + "source": "api_oa_approval_rationale_844", "target": "services_oa_engine_oaengineerror", "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1183", + "weight": 0.8 + }, + { + "source": "api_oa_approval_oareceiveaccountbody", + "target": "services_oa_engine_oaengineerror", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "api/oa_approval.py", + "source_location": "L1206", + "weight": 0.8 + }, + { + "source": "api_oa_approval_oareceiveaccountbatchdeletebody", + "target": "services_oa_engine_oaengineerror", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "api/oa_approval.py", + "source_location": "L1206", + "weight": 0.8 + }, + { + "source": "api_oa_approval_oainstancedraftbody", + "target": "services_oa_engine_oaengineerror", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "api/oa_approval.py", + "source_location": "L1206", + "weight": 0.8 + }, + { + "source": "api_oa_approval_oainstancedraftupdatebody", + "target": "services_oa_engine_oaengineerror", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "api/oa_approval.py", + "source_location": "L1206", + "weight": 0.8 + }, + { + "source": "api_oa_approval_oainstancedraftbatchdeletebody", + "target": "services_oa_engine_oaengineerror", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "api/oa_approval.py", + "source_location": "L1206", + "weight": 0.8 + }, + { + "source": "api_oa_approval_oainstancedraftsubmitbody", + "target": "services_oa_engine_oaengineerror", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "api/oa_approval.py", + "source_location": "L1206", + "weight": 0.8 + }, + { + "source": "api_oa_approval_oagroupcreatebody", + "target": "services_oa_engine_oaengineerror", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "api/oa_approval.py", + "source_location": "L1206", + "weight": 0.8 + }, + { + "source": "api_oa_approval_oagroupupdatebody", + "target": "services_oa_engine_oaengineerror", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "api/oa_approval.py", + "source_location": "L1206", + "weight": 0.8 + }, + { + "source": "api_oa_approval_oaappcreatebody", + "target": "services_oa_engine_oaengineerror", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "api/oa_approval.py", + "source_location": "L1206", + "weight": 0.8 + }, + { + "source": "api_oa_approval_oaappupdatebody", + "target": "services_oa_engine_oaengineerror", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "api/oa_approval.py", + "source_location": "L1206", + "weight": 0.8 + }, + { + "source": "api_oa_approval_oadraftsavebody", + "target": "services_oa_engine_oaengineerror", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "api/oa_approval.py", + "source_location": "L1206", + "weight": 0.8 + }, + { + "source": "api_oa_approval_oastartinstancebody", + "target": "services_oa_engine_oaengineerror", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "api/oa_approval.py", + "source_location": "L1206", + "weight": 0.8 + }, + { + "source": "api_oa_approval_oaflowpreviewbody", + "target": "services_oa_engine_oaengineerror", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "api/oa_approval.py", + "source_location": "L1206", + "weight": 0.8 + }, + { + "source": "api_oa_approval_oataskactionbody", + "target": "services_oa_engine_oaengineerror", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "api/oa_approval.py", + "source_location": "L1206", + "weight": 0.8 + }, + { + "source": "api_oa_approval_oaccreadbatchbody", + "target": "services_oa_engine_oaengineerror", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "api/oa_approval.py", + "source_location": "L1206", + "weight": 0.8 + }, + { + "source": "api_oa_approval_oaaddsignbody", + "target": "services_oa_engine_oaengineerror", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "api/oa_approval.py", + "source_location": "L1206", + "weight": 0.8 + }, + { + "source": "api_oa_approval_oatransferbody", + "target": "services_oa_engine_oaengineerror", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "api/oa_approval.py", + "source_location": "L1206", + "weight": 0.8 + }, + { + "source": "api_oa_approval_oaresubmitbody", + "target": "services_oa_engine_oaengineerror", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "api/oa_approval.py", + "source_location": "L1206", + "weight": 0.8 + }, + { + "source": "api_oa_approval_rationale_212", + "target": "services_oa_engine_oaengineerror", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "api/oa_approval.py", + "source_location": "L1206", + "weight": 0.8 + }, + { + "source": "api_oa_approval_rationale_813", + "target": "services_oa_engine_oaengineerror", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "api/oa_approval.py", + "source_location": "L1206", + "weight": 0.8 + }, + { + "source": "api_oa_approval_rationale_844", + "target": "services_oa_engine_oaengineerror", + "relation": "uses", + "confidence": "INFERRED", + "source_file": "api/oa_approval.py", + "source_location": "L1206", "weight": 0.8 }, { @@ -249365,7 +249636,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2105", + "source": "services_oa_engine_rationale_2119", "target": "models_models_oaapp", "relation": "uses", "confidence": "INFERRED", @@ -249374,7 +249645,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2299", + "source": "services_oa_engine_rationale_2313", "target": "models_models_oaapp", "relation": "uses", "confidence": "INFERRED", @@ -249383,7 +249654,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2415", + "source": "services_oa_engine_rationale_2429", "target": "models_models_oaapp", "relation": "uses", "confidence": "INFERRED", @@ -249392,7 +249663,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2525", + "source": "services_oa_engine_rationale_2539", "target": "models_models_oaapp", "relation": "uses", "confidence": "INFERRED", @@ -249401,7 +249672,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2607", + "source": "services_oa_engine_rationale_2621", "target": "models_models_oaapp", "relation": "uses", "confidence": "INFERRED", @@ -249608,7 +249879,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2105", + "source": "services_oa_engine_rationale_2119", "target": "models_models_oaappversion", "relation": "uses", "confidence": "INFERRED", @@ -249617,7 +249888,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2299", + "source": "services_oa_engine_rationale_2313", "target": "models_models_oaappversion", "relation": "uses", "confidence": "INFERRED", @@ -249626,7 +249897,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2415", + "source": "services_oa_engine_rationale_2429", "target": "models_models_oaappversion", "relation": "uses", "confidence": "INFERRED", @@ -249635,7 +249906,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2525", + "source": "services_oa_engine_rationale_2539", "target": "models_models_oaappversion", "relation": "uses", "confidence": "INFERRED", @@ -249644,7 +249915,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2607", + "source": "services_oa_engine_rationale_2621", "target": "models_models_oaappversion", "relation": "uses", "confidence": "INFERRED", @@ -249851,7 +250122,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2105", + "source": "services_oa_engine_rationale_2119", "target": "models_models_oainstance", "relation": "uses", "confidence": "INFERRED", @@ -249860,7 +250131,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2299", + "source": "services_oa_engine_rationale_2313", "target": "models_models_oainstance", "relation": "uses", "confidence": "INFERRED", @@ -249869,7 +250140,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2415", + "source": "services_oa_engine_rationale_2429", "target": "models_models_oainstance", "relation": "uses", "confidence": "INFERRED", @@ -249878,7 +250149,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2525", + "source": "services_oa_engine_rationale_2539", "target": "models_models_oainstance", "relation": "uses", "confidence": "INFERRED", @@ -249887,7 +250158,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2607", + "source": "services_oa_engine_rationale_2621", "target": "models_models_oainstance", "relation": "uses", "confidence": "INFERRED", @@ -250094,7 +250365,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2105", + "source": "services_oa_engine_rationale_2119", "target": "models_models_oainstanceevent", "relation": "uses", "confidence": "INFERRED", @@ -250103,7 +250374,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2299", + "source": "services_oa_engine_rationale_2313", "target": "models_models_oainstanceevent", "relation": "uses", "confidence": "INFERRED", @@ -250112,7 +250383,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2415", + "source": "services_oa_engine_rationale_2429", "target": "models_models_oainstanceevent", "relation": "uses", "confidence": "INFERRED", @@ -250121,7 +250392,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2525", + "source": "services_oa_engine_rationale_2539", "target": "models_models_oainstanceevent", "relation": "uses", "confidence": "INFERRED", @@ -250130,7 +250401,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2607", + "source": "services_oa_engine_rationale_2621", "target": "models_models_oainstanceevent", "relation": "uses", "confidence": "INFERRED", @@ -250337,7 +250608,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2105", + "source": "services_oa_engine_rationale_2119", "target": "models_models_oarelation", "relation": "uses", "confidence": "INFERRED", @@ -250346,7 +250617,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2299", + "source": "services_oa_engine_rationale_2313", "target": "models_models_oarelation", "relation": "uses", "confidence": "INFERRED", @@ -250355,7 +250626,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2415", + "source": "services_oa_engine_rationale_2429", "target": "models_models_oarelation", "relation": "uses", "confidence": "INFERRED", @@ -250364,7 +250635,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2525", + "source": "services_oa_engine_rationale_2539", "target": "models_models_oarelation", "relation": "uses", "confidence": "INFERRED", @@ -250373,7 +250644,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2607", + "source": "services_oa_engine_rationale_2621", "target": "models_models_oarelation", "relation": "uses", "confidence": "INFERRED", @@ -250580,7 +250851,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2105", + "source": "services_oa_engine_rationale_2119", "target": "models_models_oatask", "relation": "uses", "confidence": "INFERRED", @@ -250589,7 +250860,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2299", + "source": "services_oa_engine_rationale_2313", "target": "models_models_oatask", "relation": "uses", "confidence": "INFERRED", @@ -250598,7 +250869,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2415", + "source": "services_oa_engine_rationale_2429", "target": "models_models_oatask", "relation": "uses", "confidence": "INFERRED", @@ -250607,7 +250878,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2525", + "source": "services_oa_engine_rationale_2539", "target": "models_models_oatask", "relation": "uses", "confidence": "INFERRED", @@ -250616,7 +250887,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2607", + "source": "services_oa_engine_rationale_2621", "target": "models_models_oatask", "relation": "uses", "confidence": "INFERRED", @@ -250823,7 +251094,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2105", + "source": "services_oa_engine_rationale_2119", "target": "models_models_sysdept", "relation": "uses", "confidence": "INFERRED", @@ -250832,7 +251103,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2299", + "source": "services_oa_engine_rationale_2313", "target": "models_models_sysdept", "relation": "uses", "confidence": "INFERRED", @@ -250841,7 +251112,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2415", + "source": "services_oa_engine_rationale_2429", "target": "models_models_sysdept", "relation": "uses", "confidence": "INFERRED", @@ -250850,7 +251121,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2525", + "source": "services_oa_engine_rationale_2539", "target": "models_models_sysdept", "relation": "uses", "confidence": "INFERRED", @@ -250859,7 +251130,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2607", + "source": "services_oa_engine_rationale_2621", "target": "models_models_sysdept", "relation": "uses", "confidence": "INFERRED", @@ -251066,7 +251337,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2105", + "source": "services_oa_engine_rationale_2119", "target": "models_models_syspost", "relation": "uses", "confidence": "INFERRED", @@ -251075,7 +251346,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2299", + "source": "services_oa_engine_rationale_2313", "target": "models_models_syspost", "relation": "uses", "confidence": "INFERRED", @@ -251084,7 +251355,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2415", + "source": "services_oa_engine_rationale_2429", "target": "models_models_syspost", "relation": "uses", "confidence": "INFERRED", @@ -251093,7 +251364,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2525", + "source": "services_oa_engine_rationale_2539", "target": "models_models_syspost", "relation": "uses", "confidence": "INFERRED", @@ -251102,7 +251373,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2607", + "source": "services_oa_engine_rationale_2621", "target": "models_models_syspost", "relation": "uses", "confidence": "INFERRED", @@ -251309,7 +251580,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2105", + "source": "services_oa_engine_rationale_2119", "target": "models_models_sysuser", "relation": "uses", "confidence": "INFERRED", @@ -251318,7 +251589,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2299", + "source": "services_oa_engine_rationale_2313", "target": "models_models_sysuser", "relation": "uses", "confidence": "INFERRED", @@ -251327,7 +251598,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2415", + "source": "services_oa_engine_rationale_2429", "target": "models_models_sysuser", "relation": "uses", "confidence": "INFERRED", @@ -251336,7 +251607,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2525", + "source": "services_oa_engine_rationale_2539", "target": "models_models_sysuser", "relation": "uses", "confidence": "INFERRED", @@ -251345,7 +251616,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2607", + "source": "services_oa_engine_rationale_2621", "target": "models_models_sysuser", "relation": "uses", "confidence": "INFERRED", @@ -251552,7 +251823,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2105", + "source": "services_oa_engine_rationale_2119", "target": "services_oa_assignee_assigneeresolveerror", "relation": "uses", "confidence": "INFERRED", @@ -251561,7 +251832,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2299", + "source": "services_oa_engine_rationale_2313", "target": "services_oa_assignee_assigneeresolveerror", "relation": "uses", "confidence": "INFERRED", @@ -251570,7 +251841,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2415", + "source": "services_oa_engine_rationale_2429", "target": "services_oa_assignee_assigneeresolveerror", "relation": "uses", "confidence": "INFERRED", @@ -251579,7 +251850,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2525", + "source": "services_oa_engine_rationale_2539", "target": "services_oa_assignee_assigneeresolveerror", "relation": "uses", "confidence": "INFERRED", @@ -251588,7 +251859,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2607", + "source": "services_oa_engine_rationale_2621", "target": "services_oa_assignee_assigneeresolveerror", "relation": "uses", "confidence": "INFERRED", @@ -251795,7 +252066,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2105", + "source": "services_oa_engine_rationale_2119", "target": "services_oa_formula_formulaerror", "relation": "uses", "confidence": "INFERRED", @@ -251804,7 +252075,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2299", + "source": "services_oa_engine_rationale_2313", "target": "services_oa_formula_formulaerror", "relation": "uses", "confidence": "INFERRED", @@ -251813,7 +252084,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2415", + "source": "services_oa_engine_rationale_2429", "target": "services_oa_formula_formulaerror", "relation": "uses", "confidence": "INFERRED", @@ -251822,7 +252093,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2525", + "source": "services_oa_engine_rationale_2539", "target": "services_oa_formula_formulaerror", "relation": "uses", "confidence": "INFERRED", @@ -251831,7 +252102,7 @@ "weight": 0.8 }, { - "source": "services_oa_engine_rationale_2607", + "source": "services_oa_engine_rationale_2621", "target": "services_oa_formula_formulaerror", "relation": "uses", "confidence": "INFERRED", @@ -277001,6 +277272,16 @@ "source_location": "L1201", "weight": 1.0 }, + { + "source": "crud_oa_instance_draft_count_drafts", + "target": "crud_base_crudbase_count", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/oa_instance_draft.py", + "source_location": "L123", + "weight": 1.0 + }, { "source": "crud_oa_instance_draft_list_drafts", "target": "crud_base_crudbase_count", @@ -277008,7 +277289,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/oa_instance_draft.py", - "source_location": "L167", + "source_location": "L179", "weight": 1.0 }, { @@ -277018,7 +277299,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/oa_instance_draft.py", - "source_location": "L213", + "source_location": "L225", "weight": 1.0 }, { @@ -277028,7 +277309,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/oa_instance_draft.py", - "source_location": "L216", + "source_location": "L228", "weight": 1.0 }, { @@ -277038,7 +277319,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/oa_instance_draft.py", - "source_location": "L220", + "source_location": "L232", "weight": 1.0 }, { @@ -277048,7 +277329,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/oa_instance_draft.py", - "source_location": "L221", + "source_location": "L233", "weight": 1.0 }, { @@ -277058,7 +277339,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/oa_instance_draft.py", - "source_location": "L255", + "source_location": "L267", "weight": 1.0 }, { @@ -277068,7 +277349,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/oa_instance_draft.py", - "source_location": "L294", + "source_location": "L306", "weight": 1.0 }, { @@ -277078,7 +277359,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/oa_instance_draft.py", - "source_location": "L342", + "source_location": "L354", "weight": 1.0 }, { @@ -293971,6 +294252,36 @@ "source_location": "L233", "weight": 1.0 }, + { + "source": "api_oa_approval_oa_instance_draft_count", + "target": "crud_oa_instance_draft_count_drafts", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L248", + "weight": 1.0 + }, + { + "source": "api_oa_approval_oa_instance_draft_count", + "target": "crud_base_crudbase_get", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L251", + "weight": 1.0 + }, + { + "source": "api_oa_approval_oa_instance_draft_count", + "target": "core_response_success_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L253", + "weight": 1.0 + }, { "source": "api_oa_approval_list_oa_instance_drafts", "target": "crud_oa_instance_draft_list_drafts", @@ -293978,7 +294289,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L254", + "source_location": "L268", "weight": 1.0 }, { @@ -293988,7 +294299,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L257", + "source_location": "L271", "weight": 1.0 }, { @@ -293998,29 +294309,29 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L265", - "weight": 1.0 - }, - { - "source": "api_oa_approval_create_oa_instance_draft", - "target": "crud_oa_instance_draft_create_draft", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/oa_approval.py", - "source_location": "L276", - "weight": 1.0 - }, - { - "source": "api_oa_approval_create_oa_instance_draft", - "target": "crud_base_crudbase_get", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/oa_approval.py", "source_location": "L279", "weight": 1.0 }, + { + "source": "api_oa_approval_create_oa_instance_draft", + "target": "crud_oa_instance_draft_create_draft", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L290", + "weight": 1.0 + }, + { + "source": "api_oa_approval_create_oa_instance_draft", + "target": "crud_base_crudbase_get", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L293", + "weight": 1.0 + }, { "source": "api_oa_approval_create_oa_instance_draft", "target": "core_response_success_response", @@ -294028,7 +294339,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L287", + "source_location": "L301", "weight": 1.0 }, { @@ -294038,7 +294349,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L289", + "source_location": "L303", "weight": 1.0 }, { @@ -294048,7 +294359,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L289", + "source_location": "L303", "weight": 1.0 }, { @@ -294058,7 +294369,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L300", + "source_location": "L314", "weight": 1.0 }, { @@ -294068,7 +294379,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L304", + "source_location": "L318", "weight": 1.0 }, { @@ -294078,7 +294389,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L306", + "source_location": "L320", "weight": 1.0 }, { @@ -294088,7 +294399,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L308", + "source_location": "L322", "weight": 1.0 }, { @@ -294098,7 +294409,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L308", + "source_location": "L322", "weight": 1.0 }, { @@ -294108,7 +294419,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L321", + "source_location": "L335", "weight": 1.0 }, { @@ -294118,7 +294429,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L325", + "source_location": "L339", "weight": 1.0 }, { @@ -294128,7 +294439,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L327", + "source_location": "L341", "weight": 1.0 }, { @@ -294138,7 +294449,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L329", + "source_location": "L343", "weight": 1.0 }, { @@ -294148,7 +294459,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L329", + "source_location": "L343", "weight": 1.0 }, { @@ -294158,7 +294469,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L341", + "source_location": "L355", "weight": 1.0 }, { @@ -294168,7 +294479,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L345", + "source_location": "L359", "weight": 1.0 }, { @@ -294178,7 +294489,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L351", + "source_location": "L365", "weight": 1.0 }, { @@ -294188,7 +294499,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L353", + "source_location": "L367", "weight": 1.0 }, { @@ -294198,7 +294509,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L353", + "source_location": "L367", "weight": 1.0 }, { @@ -294208,7 +294519,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L366", + "source_location": "L380", "weight": 1.0 }, { @@ -294218,7 +294529,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L370", + "source_location": "L384", "weight": 1.0 }, { @@ -294228,7 +294539,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L372", + "source_location": "L386", "weight": 1.0 }, { @@ -294238,7 +294549,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L374", + "source_location": "L388", "weight": 1.0 }, { @@ -294248,7 +294559,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L374", + "source_location": "L388", "weight": 1.0 }, { @@ -294258,7 +294569,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L389", + "source_location": "L403", "weight": 1.0 }, { @@ -294268,7 +294579,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L393", + "source_location": "L407", "weight": 1.0 }, { @@ -294278,7 +294589,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L399", + "source_location": "L413", "weight": 1.0 }, { @@ -294288,7 +294599,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L401", + "source_location": "L415", "weight": 1.0 }, { @@ -294298,7 +294609,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L401", + "source_location": "L415", "weight": 1.0 }, { @@ -294308,7 +294619,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L433", + "source_location": "L447", "weight": 1.0 }, { @@ -294318,7 +294629,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L433", + "source_location": "L447", "weight": 1.0 }, { @@ -294328,7 +294639,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L444", + "source_location": "L458", "weight": 1.0 }, { @@ -294338,7 +294649,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L450", + "source_location": "L464", "weight": 1.0 }, { @@ -294348,7 +294659,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L452", + "source_location": "L466", "weight": 1.0 }, { @@ -294358,7 +294669,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L452", + "source_location": "L466", "weight": 1.0 }, { @@ -294368,7 +294679,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L454", + "source_location": "L468", "weight": 1.0 }, { @@ -294378,7 +294689,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L454", + "source_location": "L468", "weight": 1.0 }, { @@ -294388,7 +294699,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L467", + "source_location": "L481", "weight": 1.0 }, { @@ -294398,7 +294709,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L471", + "source_location": "L485", "weight": 1.0 }, { @@ -294408,71 +294719,21 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L476", - "weight": 1.0 - }, - { - "source": "api_oa_approval_update_oa_group", - "target": "crud_oa_approval_group_to_dict", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/oa_approval.py", - "source_location": "L476", - "weight": 1.0 - }, - { - "source": "api_oa_approval_update_oa_group", - "target": "core_response_error_response", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/oa_approval.py", - "source_location": "L478", - "weight": 1.0 - }, - { - "source": "api_oa_approval_update_oa_group", - "target": "str", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/oa_approval.py", - "source_location": "L478", - "weight": 1.0 - }, - { - "source": "api_oa_approval_delete_oa_group", - "target": "crud_oa_approval_delete_group", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/oa_approval.py", - "source_location": "L489", - "weight": 1.0 - }, - { - "source": "api_oa_approval_delete_oa_group", - "target": "crud_base_crudbase_get", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/oa_approval.py", - "source_location": "L489", - "weight": 1.0 - }, - { - "source": "api_oa_approval_delete_oa_group", - "target": "core_response_success_response", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/oa_approval.py", "source_location": "L490", "weight": 1.0 }, { - "source": "api_oa_approval_delete_oa_group", + "source": "api_oa_approval_update_oa_group", + "target": "crud_oa_approval_group_to_dict", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L490", + "weight": 1.0 + }, + { + "source": "api_oa_approval_update_oa_group", "target": "core_response_error_response", "relation": "calls", "confidence": "INFERRED", @@ -294482,7 +294743,7 @@ "weight": 1.0 }, { - "source": "api_oa_approval_delete_oa_group", + "source": "api_oa_approval_update_oa_group", "target": "str", "relation": "calls", "confidence": "INFERRED", @@ -294491,6 +294752,56 @@ "source_location": "L492", "weight": 1.0 }, + { + "source": "api_oa_approval_delete_oa_group", + "target": "crud_oa_approval_delete_group", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L503", + "weight": 1.0 + }, + { + "source": "api_oa_approval_delete_oa_group", + "target": "crud_base_crudbase_get", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L503", + "weight": 1.0 + }, + { + "source": "api_oa_approval_delete_oa_group", + "target": "core_response_success_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L504", + "weight": 1.0 + }, + { + "source": "api_oa_approval_delete_oa_group", + "target": "core_response_error_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L506", + "weight": 1.0 + }, + { + "source": "api_oa_approval_delete_oa_group", + "target": "str", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L506", + "weight": 1.0 + }, { "source": "api_oa_approval_list_oa_apps", "target": "crud_oa_approval_list_apps", @@ -294498,7 +294809,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L547", + "source_location": "L561", "weight": 1.0 }, { @@ -294508,7 +294819,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L550", + "source_location": "L564", "weight": 1.0 }, { @@ -294518,7 +294829,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L561", + "source_location": "L575", "weight": 1.0 }, { @@ -294528,7 +294839,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L575", + "source_location": "L589", "weight": 1.0 }, { @@ -294538,7 +294849,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L579", + "source_location": "L593", "weight": 1.0 }, { @@ -294548,7 +294859,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L581", + "source_location": "L595", "weight": 1.0 }, { @@ -294558,7 +294869,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L582", + "source_location": "L596", "weight": 1.0 }, { @@ -294568,7 +294879,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L586", + "source_location": "L600", "weight": 1.0 }, { @@ -294578,7 +294889,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L586", + "source_location": "L600", "weight": 1.0 }, { @@ -294588,7 +294899,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L597", + "source_location": "L611", "weight": 1.0 }, { @@ -294598,7 +294909,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L598", + "source_location": "L612", "weight": 1.0 }, { @@ -294608,7 +294919,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L602", + "source_location": "L616", "weight": 1.0 }, { @@ -294618,7 +294929,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L604", + "source_location": "L618", "weight": 1.0 }, { @@ -294628,7 +294939,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L605", + "source_location": "L619", "weight": 1.0 }, { @@ -294638,7 +294949,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L609", + "source_location": "L623", "weight": 1.0 }, { @@ -294648,7 +294959,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L609", + "source_location": "L623", "weight": 1.0 }, { @@ -294658,7 +294969,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L622", + "source_location": "L636", "weight": 1.0 }, { @@ -294668,7 +294979,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L622", + "source_location": "L636", "weight": 1.0 }, { @@ -294678,7 +294989,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L625", + "source_location": "L639", "weight": 1.0 }, { @@ -294688,71 +294999,21 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L627", - "weight": 1.0 - }, - { - "source": "api_oa_approval_update_oa_app", - "target": "crud_oa_approval_app_to_dict", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/oa_approval.py", - "source_location": "L627", - "weight": 1.0 - }, - { - "source": "api_oa_approval_update_oa_app", - "target": "core_response_error_response", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/oa_approval.py", - "source_location": "L629", - "weight": 1.0 - }, - { - "source": "api_oa_approval_update_oa_app", - "target": "str", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/oa_approval.py", - "source_location": "L629", - "weight": 1.0 - }, - { - "source": "api_oa_approval_delete_oa_app", - "target": "crud_oa_approval_delete_app", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/oa_approval.py", - "source_location": "L640", - "weight": 1.0 - }, - { - "source": "api_oa_approval_delete_oa_app", - "target": "crud_base_crudbase_get", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/oa_approval.py", - "source_location": "L640", - "weight": 1.0 - }, - { - "source": "api_oa_approval_delete_oa_app", - "target": "core_response_success_response", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/oa_approval.py", "source_location": "L641", "weight": 1.0 }, { - "source": "api_oa_approval_delete_oa_app", + "source": "api_oa_approval_update_oa_app", + "target": "crud_oa_approval_app_to_dict", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L641", + "weight": 1.0 + }, + { + "source": "api_oa_approval_update_oa_app", "target": "core_response_error_response", "relation": "calls", "confidence": "INFERRED", @@ -294762,7 +295023,7 @@ "weight": 1.0 }, { - "source": "api_oa_approval_delete_oa_app", + "source": "api_oa_approval_update_oa_app", "target": "str", "relation": "calls", "confidence": "INFERRED", @@ -294772,8 +295033,8 @@ "weight": 1.0 }, { - "source": "api_oa_approval_get_oa_app_draft", - "target": "crud_oa_approval_get_or_create_draft", + "source": "api_oa_approval_delete_oa_app", + "target": "crud_oa_approval_delete_app", "relation": "calls", "confidence": "INFERRED", "confidence_score": 0.8, @@ -294782,18 +295043,38 @@ "weight": 1.0 }, { - "source": "api_oa_approval_get_oa_app_draft", + "source": "api_oa_approval_delete_oa_app", "target": "crud_base_crudbase_get", "relation": "calls", "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", + "source_location": "L654", + "weight": 1.0 + }, + { + "source": "api_oa_approval_delete_oa_app", + "target": "core_response_success_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", "source_location": "L655", "weight": 1.0 }, { - "source": "api_oa_approval_get_oa_app_draft", - "target": "core_response_success_response", + "source": "api_oa_approval_delete_oa_app", + "target": "core_response_error_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L657", + "weight": 1.0 + }, + { + "source": "api_oa_approval_delete_oa_app", + "target": "str", "relation": "calls", "confidence": "INFERRED", "confidence_score": 0.8, @@ -294801,6 +295082,36 @@ "source_location": "L657", "weight": 1.0 }, + { + "source": "api_oa_approval_get_oa_app_draft", + "target": "crud_oa_approval_get_or_create_draft", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L668", + "weight": 1.0 + }, + { + "source": "api_oa_approval_get_oa_app_draft", + "target": "crud_base_crudbase_get", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L669", + "weight": 1.0 + }, + { + "source": "api_oa_approval_get_oa_app_draft", + "target": "core_response_success_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L671", + "weight": 1.0 + }, { "source": "api_oa_approval_get_oa_app_draft", "target": "core_response_error_response", @@ -294808,7 +295119,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L659", + "source_location": "L673", "weight": 1.0 }, { @@ -294818,7 +295129,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L659", + "source_location": "L673", "weight": 1.0 }, { @@ -294828,7 +295139,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L671", + "source_location": "L685", "weight": 1.0 }, { @@ -294838,7 +295149,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L679", + "source_location": "L693", "weight": 1.0 }, { @@ -294848,7 +295159,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L681", + "source_location": "L695", "weight": 1.0 }, { @@ -294858,7 +295169,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L683", + "source_location": "L697", "weight": 1.0 }, { @@ -294868,7 +295179,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L683", + "source_location": "L697", "weight": 1.0 }, { @@ -294878,7 +295189,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L695", + "source_location": "L709", "weight": 1.0 }, { @@ -294888,7 +295199,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L696", + "source_location": "L710", "weight": 1.0 }, { @@ -294898,7 +295209,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L699", + "source_location": "L713", "weight": 1.0 }, { @@ -294908,7 +295219,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L700", + "source_location": "L714", "weight": 1.0 }, { @@ -294918,7 +295229,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L767", + "source_location": "L781", "weight": 1.0 }, { @@ -294928,7 +295239,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L767", + "source_location": "L781", "weight": 1.0 }, { @@ -294938,7 +295249,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L768", + "source_location": "L782", "weight": 1.0 }, { @@ -294948,7 +295259,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L781", + "source_location": "L795", "weight": 1.0 }, { @@ -294958,7 +295269,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L785", + "source_location": "L799", "weight": 1.0 }, { @@ -294968,7 +295279,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L787", + "source_location": "L801", "weight": 1.0 }, { @@ -294978,7 +295289,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L789", + "source_location": "L803", "weight": 1.0 }, { @@ -294988,7 +295299,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L789", + "source_location": "L803", "weight": 1.0 }, { @@ -294998,7 +295309,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L804", + "source_location": "L818", "weight": 1.0 }, { @@ -295008,7 +295319,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L810", + "source_location": "L824", "weight": 1.0 }, { @@ -295018,7 +295329,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L819", + "source_location": "L833", "weight": 1.0 }, { @@ -295028,7 +295339,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L821", + "source_location": "L835", "weight": 1.0 }, { @@ -295038,19 +295349,19 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L821", - "weight": 1.0 - }, - { - "source": "api_oa_approval_preview_oa_template_flow_get", - "target": "crud_base_crudbase_get", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/oa_approval.py", "source_location": "L835", "weight": 1.0 }, + { + "source": "api_oa_approval_preview_oa_template_flow_get", + "target": "crud_base_crudbase_get", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L849", + "weight": 1.0 + }, { "source": "api_oa_approval_preview_oa_template_flow_get", "target": "services_oa_engine_preview_start_flow", @@ -295058,7 +295369,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L841", + "source_location": "L855", "weight": 1.0 }, { @@ -295068,7 +295379,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L850", + "source_location": "L864", "weight": 1.0 }, { @@ -295078,7 +295389,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L852", + "source_location": "L866", "weight": 1.0 }, { @@ -295088,7 +295399,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L852", + "source_location": "L866", "weight": 1.0 }, { @@ -295098,7 +295409,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L865", + "source_location": "L879", "weight": 1.0 }, { @@ -295108,7 +295419,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L869", + "source_location": "L883", "weight": 1.0 }, { @@ -295118,7 +295429,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L877", + "source_location": "L891", "weight": 1.0 }, { @@ -295128,7 +295439,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L879", + "source_location": "L893", "weight": 1.0 }, { @@ -295138,7 +295449,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L879", + "source_location": "L893", "weight": 1.0 }, { @@ -295148,7 +295459,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L892", + "source_location": "L906", "weight": 1.0 }, { @@ -295158,7 +295469,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L892", + "source_location": "L906", "weight": 1.0 }, { @@ -295168,7 +295479,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L894", + "source_location": "L908", "weight": 1.0 }, { @@ -295178,7 +295489,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L894", + "source_location": "L908", "weight": 1.0 }, { @@ -295188,7 +295499,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L911", + "source_location": "L925", "weight": 1.0 }, { @@ -295198,7 +295509,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L916", + "source_location": "L930", "weight": 1.0 }, { @@ -295208,7 +295519,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L932", + "source_location": "L946", "weight": 1.0 }, { @@ -295218,7 +295529,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L935", + "source_location": "L949", "weight": 1.0 }, { @@ -295228,7 +295539,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L940", + "source_location": "L954", "weight": 1.0 }, { @@ -295238,7 +295549,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L940", + "source_location": "L954", "weight": 1.0 }, { @@ -295248,7 +295559,57 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L941", + "source_location": "L955", + "weight": 1.0 + }, + { + "source": "api_oa_approval_oa_pending_task_count", + "target": "services_oa_engine_count_pending_tasks", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L967", + "weight": 1.0 + }, + { + "source": "api_oa_approval_oa_pending_task_count", + "target": "crud_base_crudbase_get", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L968", + "weight": 1.0 + }, + { + "source": "api_oa_approval_oa_pending_task_count", + "target": "core_response_success_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L970", + "weight": 1.0 + }, + { + "source": "api_oa_approval_oa_pending_task_count", + "target": "core_response_error_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L972", + "weight": 1.0 + }, + { + "source": "api_oa_approval_oa_pending_task_count", + "target": "str", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L972", "weight": 1.0 }, { @@ -295258,7 +295619,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L953", + "source_location": "L984", "weight": 1.0 }, { @@ -295268,7 +295629,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L954", + "source_location": "L985", "weight": 1.0 }, { @@ -295278,7 +295639,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L956", + "source_location": "L987", "weight": 1.0 }, { @@ -295288,7 +295649,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L958", + "source_location": "L989", "weight": 1.0 }, { @@ -295298,7 +295659,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L958", + "source_location": "L989", "weight": 1.0 }, { @@ -295308,7 +295669,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L971", + "source_location": "L1002", "weight": 1.0 }, { @@ -295318,7 +295679,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L974", + "source_location": "L1005", "weight": 1.0 }, { @@ -295328,7 +295689,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L977", + "source_location": "L1008", "weight": 1.0 }, { @@ -295338,7 +295699,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L979", + "source_location": "L1010", "weight": 1.0 }, { @@ -295348,7 +295709,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L979", + "source_location": "L1010", "weight": 1.0 }, { @@ -295358,7 +295719,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L992", + "source_location": "L1023", "weight": 1.0 }, { @@ -295368,7 +295729,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L995", + "source_location": "L1026", "weight": 1.0 }, { @@ -295378,7 +295739,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L998", + "source_location": "L1029", "weight": 1.0 }, { @@ -295388,7 +295749,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1000", + "source_location": "L1031", "weight": 1.0 }, { @@ -295398,7 +295759,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1000", + "source_location": "L1031", "weight": 1.0 }, { @@ -295408,79 +295769,79 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1014", - "weight": 1.0 - }, - { - "source": "api_oa_approval_list_oa_tasks", - "target": "crud_base_crudbase_get", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/oa_approval.py", - "source_location": "L1017", - "weight": 1.0 - }, - { - "source": "api_oa_approval_list_oa_tasks", - "target": "core_response_success_response", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/oa_approval.py", - "source_location": "L1021", - "weight": 1.0 - }, - { - "source": "api_oa_approval_list_oa_tasks", - "target": "core_response_error_response", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/oa_approval.py", - "source_location": "L1023", - "weight": 1.0 - }, - { - "source": "api_oa_approval_list_oa_tasks", - "target": "str", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/oa_approval.py", - "source_location": "L1023", - "weight": 1.0 - }, - { - "source": "api_oa_approval_approve_oa_task", - "target": "services_oa_engine_complete_task", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/oa_approval.py", - "source_location": "L1037", - "weight": 1.0 - }, - { - "source": "api_oa_approval_approve_oa_task", - "target": "crud_base_crudbase_get", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/oa_approval.py", - "source_location": "L1041", - "weight": 1.0 - }, - { - "source": "api_oa_approval_approve_oa_task", - "target": "core_response_success_response", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "api/oa_approval.py", "source_location": "L1045", "weight": 1.0 }, + { + "source": "api_oa_approval_list_oa_tasks", + "target": "crud_base_crudbase_get", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L1048", + "weight": 1.0 + }, + { + "source": "api_oa_approval_list_oa_tasks", + "target": "core_response_success_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L1052", + "weight": 1.0 + }, + { + "source": "api_oa_approval_list_oa_tasks", + "target": "core_response_error_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L1054", + "weight": 1.0 + }, + { + "source": "api_oa_approval_list_oa_tasks", + "target": "str", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L1054", + "weight": 1.0 + }, + { + "source": "api_oa_approval_approve_oa_task", + "target": "services_oa_engine_complete_task", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L1068", + "weight": 1.0 + }, + { + "source": "api_oa_approval_approve_oa_task", + "target": "crud_base_crudbase_get", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L1072", + "weight": 1.0 + }, + { + "source": "api_oa_approval_approve_oa_task", + "target": "core_response_success_response", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L1076", + "weight": 1.0 + }, { "source": "api_oa_approval_approve_oa_task", "target": "core_response_error_response", @@ -295488,7 +295849,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1047", + "source_location": "L1078", "weight": 1.0 }, { @@ -295498,7 +295859,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1047", + "source_location": "L1078", "weight": 1.0 }, { @@ -295508,7 +295869,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1061", + "source_location": "L1092", "weight": 1.0 }, { @@ -295518,7 +295879,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1065", + "source_location": "L1096", "weight": 1.0 }, { @@ -295528,7 +295889,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1069", + "source_location": "L1100", "weight": 1.0 }, { @@ -295538,7 +295899,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1071", + "source_location": "L1102", "weight": 1.0 }, { @@ -295548,7 +295909,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1071", + "source_location": "L1102", "weight": 1.0 }, { @@ -295558,7 +295919,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1085", + "source_location": "L1116", "weight": 1.0 }, { @@ -295568,7 +295929,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1089", + "source_location": "L1120", "weight": 1.0 }, { @@ -295578,7 +295939,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1092", + "source_location": "L1123", "weight": 1.0 }, { @@ -295588,7 +295949,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1094", + "source_location": "L1125", "weight": 1.0 }, { @@ -295598,7 +295959,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1094", + "source_location": "L1125", "weight": 1.0 }, { @@ -295608,7 +295969,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1108", + "source_location": "L1139", "weight": 1.0 }, { @@ -295618,7 +295979,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1112", + "source_location": "L1143", "weight": 1.0 }, { @@ -295628,7 +295989,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1116", + "source_location": "L1147", "weight": 1.0 }, { @@ -295638,7 +295999,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1118", + "source_location": "L1149", "weight": 1.0 }, { @@ -295648,7 +296009,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1118", + "source_location": "L1149", "weight": 1.0 }, { @@ -295658,7 +296019,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1132", + "source_location": "L1163", "weight": 1.0 }, { @@ -295668,7 +296029,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1136", + "source_location": "L1167", "weight": 1.0 }, { @@ -295678,7 +296039,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1140", + "source_location": "L1171", "weight": 1.0 }, { @@ -295688,7 +296049,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1142", + "source_location": "L1173", "weight": 1.0 }, { @@ -295698,7 +296059,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1142", + "source_location": "L1173", "weight": 1.0 }, { @@ -295708,7 +296069,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1156", + "source_location": "L1187", "weight": 1.0 }, { @@ -295718,7 +296079,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1160", + "source_location": "L1191", "weight": 1.0 }, { @@ -295728,7 +296089,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1164", + "source_location": "L1195", "weight": 1.0 }, { @@ -295738,7 +296099,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1166", + "source_location": "L1197", "weight": 1.0 }, { @@ -295748,7 +296109,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1166", + "source_location": "L1197", "weight": 1.0 }, { @@ -295758,7 +296119,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1179", + "source_location": "L1210", "weight": 1.0 }, { @@ -295768,7 +296129,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1180", + "source_location": "L1211", "weight": 1.0 }, { @@ -295778,7 +296139,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1182", + "source_location": "L1213", "weight": 1.0 }, { @@ -295788,7 +296149,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1184", + "source_location": "L1215", "weight": 1.0 }, { @@ -295798,7 +296159,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1184", + "source_location": "L1215", "weight": 1.0 }, { @@ -313741,6 +314102,16 @@ "source_location": "L1966", "weight": 1.0 }, + { + "source": "services_oa_engine_count_pending_tasks", + "target": "crud_base_crudbase_count", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "services/oa_engine.py", + "source_location": "L1980", + "weight": 1.0 + }, { "source": "services_oa_engine_approve_task_core", "target": "crud_base_crudbase_count", @@ -313748,7 +314119,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L2122", + "source_location": "L2136", "weight": 1.0 }, { @@ -313758,7 +314129,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L2178", + "source_location": "L2192", "weight": 1.0 }, { @@ -313768,7 +314139,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L2244", + "source_location": "L2258", "weight": 1.0 }, { @@ -313778,7 +314149,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L2324", + "source_location": "L2338", "weight": 1.0 }, { @@ -313788,7 +314159,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L2369", + "source_location": "L2383", "weight": 1.0 }, { @@ -313798,7 +314169,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L2370", + "source_location": "L2384", "weight": 1.0 }, { @@ -313808,7 +314179,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L2477", + "source_location": "L2491", "weight": 1.0 }, { @@ -313818,7 +314189,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L2478", + "source_location": "L2492", "weight": 1.0 }, { @@ -313828,7 +314199,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L2550", + "source_location": "L2564", "weight": 1.0 }, { @@ -313838,7 +314209,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L2626", + "source_location": "L2640", "weight": 1.0 }, { diff --git a/backend/graphify-out/GRAPH_REPORT.md b/backend/graphify-out/GRAPH_REPORT.md index eb2c3852..d1a74def 100644 --- a/backend/graphify-out/GRAPH_REPORT.md +++ b/backend/graphify-out/GRAPH_REPORT.md @@ -1,11 +1,11 @@ # Graph Report - app (2026-08-06) ## Corpus Check -- Large corpus: 242 files · ~296,606 words. Semantic extraction will be expensive (many Claude tokens). Consider running on a subfolder, or use --no-semantic to run AST-only. +- Large corpus: 242 files · ~296,735 words. Semantic extraction will be expensive (many Claude tokens). Consider running on a subfolder, or use --no-semantic to run AST-only. ## Summary -- 5114 nodes · 27947 edges · 42 communities detected -- Extraction: 32% EXTRACTED · 68% INFERRED · 0% AMBIGUOUS · INFERRED: 19091 edges (avg confidence: 0.6) +- 5118 nodes · 27963 edges · 39 communities detected +- Extraction: 32% EXTRACTED · 68% INFERRED · 0% AMBIGUOUS · INFERRED: 19101 edges (avg confidence: 0.6) - Token cost: 0 input · 0 output ## Community Hubs (Navigation) @@ -42,19 +42,16 @@ - [[_COMMUNITY_Community 30|Community 30]] - [[_COMMUNITY_Community 31|Community 31]] - [[_COMMUNITY_Community 32|Community 32]] -- [[_COMMUNITY_Community 33|Community 33]] -- [[_COMMUNITY_Community 34|Community 34]] - [[_COMMUNITY_Community 35|Community 35]] +- [[_COMMUNITY_Community 36|Community 36]] +- [[_COMMUNITY_Community 37|Community 37]] - [[_COMMUNITY_Community 38|Community 38]] - [[_COMMUNITY_Community 39|Community 39]] - [[_COMMUNITY_Community 40|Community 40]] -- [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 42|Community 42]] -- [[_COMMUNITY_Community 43|Community 43]] ## God Nodes (most connected - your core abstractions) -1. `success_response()` - 730 edges -2. `error_response()` - 604 edges +1. `success_response()` - 732 edges +2. `error_response()` - 605 edges 3. `SysUser` - 591 edges 4. `BizQcTaskResult` - 345 edges 5. `BizProductionMaterial` - 329 edges @@ -80,216 +77,204 @@ ### Community 0 - "Community 0" Cohesion: 0.01 -Nodes (917): attachment_download_url(), create_dept(), create_dict_data(), create_dict_type(), create_express_company(), create_item_unit(), create_menu(), create_post() (+909 more) +Nodes (966): create_dept(), create_dict_data(), create_dict_type(), create_express_company(), create_item_unit(), create_menu(), create_post(), create_role_management() (+958 more) ### Community 1 - "Community 1" Cohesion: 0.01 -Nodes (738): generate_uuid(), create_cell_sample_type(), get_cell_sample_type(), list_cell_sample_types(), 细胞样本类型 CRUD(biz_cell_sample_type), _row_to_dict(), soft_delete_cell_sample_type(), type_code_exists() (+730 more) +Nodes (736): get_role_menus(), generate_uuid(), create_cell_sample_type(), get_cell_sample_type(), list_cell_sample_types(), 细胞样本类型 CRUD(biz_cell_sample_type), _row_to_dict(), soft_delete_cell_sample_type() (+728 more) ### Community 2 - "Community 2" Cohesion: 0.01 -Nodes (679): AttachmentDownloadUrlBody, DeptCreateBody, DeptUpdateBody, DictDataCreateBody, DictDataUpdateBody, DictTypeCreateBody, DictTypeUpdateBody, ExpressCompanyCreateBody (+671 more) +Nodes (626): attachment_download_url(), AttachmentDownloadUrlBody, DeptCreateBody, DeptUpdateBody, dict_data_options(), DictDataCreateBody, DictDataUpdateBody, DictTypeCreateBody (+618 more) ### Community 3 - "Community 3" -Cohesion: 0.05 -Nodes (603): 细胞存储 — 采集协议单 / 审核 / 财务确认 / 分期预警 API, 持久化协议子资源。 缴费(含明细校验)须在样本之前:明细校验失败时不得已占用样本编码。 各子表 CRUD 内部仍可能分段 commit,创建接, 与列表接口一致:按租户 + 角色数据权限判断是否可访问该协议单。, If mother info exists but no customerId, create a customer record and link it., Base, 细胞产品 CRUD(biz_cell_product), 解析任务样本投入物,返回祖先链单段(样本终止节点)。, 将 get_product_chain 结果展平为上游→下游节点列表(含 current,不含 descendants)。 (+595 more) +Cohesion: 0.06 +Nodes (500): 保险公司及险种价格管理 API(保险公司 + 开票信息 + 险种价格), Base, 按输注计划 ID 批量索引缴费记录(列表页展示用,不做关联 enrich), 输注计划创建时自动调用,生成 dfj 缴费记录, 关联查询申请单、患者、输注计划信息,附加到 dict, 将 BizMaterialUsage 行转换为字典(用于我的领用记录)。, 当前登录人的手动出库领用记录:领用人字段存昵称或用户 ID(与生产/质检一致)。, 获取当前用户的物料领用记录(手动出库记录) 筛选条件: - tenant_no = 当前用户租户 - source_type = 'm (+492 more) ### Community 4 - "Community 4" -Cohesion: 0.02 -Nodes (282): _normalize_date_bound(), complete_protocol_invoice_request(), create_collection_protocol(), delete_collection_protocol(), _draft_fields_from_body(), _ensure_customer_for_mother(), get_collection_protocol_detail(), _get_current_user_id() (+274 more) +Cohesion: 0.01 +Nodes (342): _normalize_date_bound(), list_ethnics_for_select(), apply_data_scope(), format_date(), optional_date(), parse_date(), 将字符串 / date / datetime 转为 date 或 None, ApiRequestLogCRUD (+334 more) ### Community 5 - "Community 5" -Cohesion: 0.01 -Nodes (247): list_collection_regions(), list_ethnics_for_select(), get_designer_data(), apply_data_scope(), _get_child_dept_ids(), get_user_dept_id(), _resolve_user_role_scopes(), ApiRequestLogCRUD (+239 more) +Cohesion: 0.02 +Nodes (267): _body_to_payload(), _get_current_user_id(), get_production_reception_by_sample_code(), get_production_reception_detail(), _get_tenant_no(), post_production_reception(), put_production_reception(), _resolve_reception_id() (+259 more) ### Community 6 - "Community 6" Cohesion: 0.02 -Nodes (189): 截止日期:仅日期时扩到当天 23:59:59。, 发起前预览审批链(条件齐后解析最终路径与审批人)。, 兼容旧 GET:无 formData,含条件分支时多为待确定占位。, _app_to_dict(), _copied_app_name(), copy_app(), create_app(), _create_version() (+181 more) +Nodes (139): get_designer_data(), _error_json(), lifespan(), 数据库异常:返回 JSON 并保留 CORS 头,避免浏览器只报跨域错误, 未捕获异常:统一 JSON 500,确保跨域场景下仍有 Access-Control-Allow-Origin, sqlalchemy_exception_handler(), unhandled_exception_handler(), BaseHTTPMiddleware (+131 more) ### Community 7 - "Community 7" Cohesion: 0.02 -Nodes (182): eq_unicode(), like_unicode(), MySQL 字符串比较/模糊匹配时统一排序规则,避免 Illegal mix of collations。, 跨表字符串等值比较(JOIN / WHERE)时统一为 utf8mb4_unicode_ci。, 将列显式设为 utf8mb4_unicode_ci。, unicode_ci(), build_void_type_label_map(), format_protocol_status_label() (+174 more) +Nodes (185): 截止日期:仅日期时扩到当天 23:59:59。, 发起前预览审批链(条件齐后解析最终路径与审批人)。, 兼容旧 GET:无 formData,含条件分支时多为待确定占位。, _app_to_dict(), _copied_app_name(), copy_app(), create_app(), _create_version() (+177 more) ### Community 8 - "Community 8" -Cohesion: 0.03 -Nodes (155): map_payments_by_schedule_ids(), _fmt_dt(), get_handover_by_schedule(), get_outbound_handover(), get_outbound_handover_view(), _handover_row_to_dict(), _handover_view_dict(), _parse_handover_time() (+147 more) +Cohesion: 0.02 +Nodes (191): api_save_application(), get_protocol_nos_used_in_protocols(), _fmt_dt(), get_handover_by_schedule(), get_outbound_handover(), get_outbound_handover_view(), _handover_row_to_dict(), _handover_view_dict() (+183 more) ### Community 9 - "Community 9" -Cohesion: 0.02 -Nodes (96): _error_json(), lifespan(), 数据库异常:返回 JSON 并保留 CORS 头,避免浏览器只报跨域错误, 未捕获异常:统一 JSON 500,确保跨域场景下仍有 Access-Control-Allow-Origin, sqlalchemy_exception_handler(), unhandled_exception_handler(), BaseHTTPMiddleware, ApiCryptoError (+88 more) +Cohesion: 0.08 +Nodes (189): CellSampleTypeCreateBody, CellSampleTypeUpdateBody, CollectionRegionCreateBody, CollectionRegionUpdateBody, CustomerCreateBody, CustomerUpdateBody, HospitalCreateBody, HospitalUpdateBody (+181 more) ### Community 10 - "Community 10" -Cohesion: 0.05 -Nodes (112): AccessLogCreateBody, AccessLogUpdateBody, CleanRoomCreateBody, CleanRoomUpdateBody, ExhibitionAppointmentCreateBody, ExhibitionAppointmentUpdateBody, OccupancyCreateBody, 运营支撑 API(洁净室、进出记录、仓储设施、储位、展厅预约) (+104 more) +Cohesion: 0.03 +Nodes (141): get_next_cell_product_code(), _ancestor_link_from_cell_product_input(), _ancestor_sample_chain_link(), _apply_cell_product_status_change(), _build_ancestor_chain(), _build_descendant_chain(), _build_facility_path_label(), build_split_product_codes() (+133 more) ### Community 11 - "Community 11" -Cohesion: 0.03 -Nodes (90): _jwt_user_payload(), Web 端登录用 RSA 公钥(PKCS#1 v1.5,与 JSEncrypt 一致), Web 端登录:账号为 sys_user.user_no,密码为 sys_user.password(bcrypt)。, refresh_token(), web_login(), web_login_rsa_public_key(), create_access_token(), create_refresh_token() (+82 more) +Cohesion: 0.05 +Nodes (108): AccessLogCreateBody, AccessLogUpdateBody, CleanRoomCreateBody, CleanRoomUpdateBody, ExhibitionAppointmentCreateBody, ExhibitionAppointmentUpdateBody, OccupancyCreateBody, 运营支撑 API(洁净室、进出记录、仓储设施、储位、展厅预约) (+100 more) ### Community 12 - "Community 12" -Cohesion: 0.06 -Nodes (75): _body_to_payload(), _get_current_user_id(), get_production_reception_by_sample_code(), get_production_reception_detail(), _get_tenant_no(), post_production_reception(), put_production_reception(), _resolve_reception_id() (+67 more) +Cohesion: 0.04 +Nodes (91): get_user_by_id(), _jwt_user_payload(), Web 端登录用 RSA 公钥(PKCS#1 v1.5,与 JSEncrypt 一致), Web 端登录:账号为 sys_user.user_no,密码为 sys_user.password(bcrypt)。, refresh_token(), web_login(), web_login_rsa_public_key(), create_access_token() (+83 more) ### Community 13 - "Community 13" -Cohesion: 0.05 -Nodes (77): api_save_application(), auto_generate_schedules(), complete_application(), create_application(), create_basic_experiment_sale_schedules(), create_infusion_plan(), create_schedule(), _create_schedule_products() (+69 more) +Cohesion: 0.45 +Nodes (71): BatchStockInBody, BatchStockInItem, BatchStockOutBody, BatchStockOutItem, ConsumableCreateBody, ConsumablePackCreateBody, ConsumablePackUpdateBody, ConsumableUpdateBody (+63 more) ### Community 14 - "Community 14" -Cohesion: 0.05 -Nodes (76): _ancestor_link_from_cell_product_input(), _ancestor_sample_chain_link(), _apply_cell_product_status_change(), _build_ancestor_chain(), _build_descendant_chain(), _build_facility_path_label(), build_split_product_codes(), create_cell_product() (+68 more) - -### Community 15 - "Community 15" Cohesion: 0.12 Nodes (11): get_wechat_pay_client(), get_wechat_pay_v2(), 微信支付工具模块 支持微信支付 V3 API 文档参考: https://pay.weixin.qq.com/docs/v3/apis/index.ht, 统一下单接口 (V3) Args: out_trade_no: 商户订单号 total, 申请退款 Args: out_trade_no: 商户订单号 total_amount, 小程序调起支付的二次签名参数(与公众号 JSAPI 规则一致), 统一下单 (V2 API) Args: out_trade_no: 商户订单号 tot, 生成签名 V3 (SHA256 with RSA) (+3 more) -### Community 16 - "Community 16" -Cohesion: 0.16 -Nodes (22): _code_exists(), create_material(), _dec(), _fmt_dt(), get_material(), get_material_entity(), get_my_usages(), _is_enabled_status() (+14 more) - -### Community 17 - "Community 17" +### Community 15 - "Community 15" Cohesion: 0.21 Nodes (19): _consumable_row_to_dict(), create_process(), _create_sub_consumable(), _create_sub_data_collection(), _create_sub_output(), _create_sub_reagent(), _data_collection_row_to_dict(), get_process() (+11 more) -### Community 18 - "Community 18" -Cohesion: 0.21 -Nodes (16): _field_label(), _is_non_empty_str(), _is_required(), _is_valid_receive_account_item(), normalize_account_fields(), _pick(), _pick_order_num(), _pick_str() (+8 more) +### Community 16 - "Community 16" +Cohesion: 0.2 +Nodes (19): _code_exists(), create_material(), _dec(), _fmt_dt(), get_material(), get_material_entity(), get_my_usages(), _is_enabled_status() (+11 more) -### Community 19 - "Community 19" +### Community 17 - "Community 17" Cohesion: 0.27 Nodes (12): create_equipment(), _dec(), equipment_code_exists(), equipment_is_referenced(), get_equipment(), list_equipments(), _norm_status(), _parse_date() (+4 more) -### Community 20 - "Community 20" -Cohesion: 0.24 -Nodes (9): 微信消息通知服务 支持微信小程序模板消息推送 使用方式: from app.core.wechat_message import Wech, 发送模板消息 Args: openid: 用户openid templ, send_delivery_notice(), send_delivery_warning(), send_order_status(), send_payment_success(), send_refund_result(), send_urge_notification() (+1 more) - -### Community 21 - "Community 21" -Cohesion: 0.23 -Nodes (12): Config, ProductBase, ProductCategoryBase, ProductCategoryCreate, ProductCategoryResponse, ProductCreate, ProductResponse, ProductUnitBase (+4 more) - -### Community 22 - "Community 22" +### Community 18 - "Community 18" Cohesion: 0.27 Nodes (12): _field_label(), _is_empty(), _is_required(), _parse_money(), OA 表单设计器:金额控件 form_data 校验, 校验 form_data 中金额控件的值格式,返回中文错误列表(空表示通过)。, 解析金额值。成功返回 (number, None);失败返回 (None, error_key)。, _rule_props() (+4 more) -### Community 23 - "Community 23" +### Community 19 - "Community 19" +Cohesion: 0.24 +Nodes (11): deduct_for_step(), _display_remark(), list_stock_logs(), _parse_receiver_purpose_from_remark(), 试剂变动记录 CRUD(biz_reagent_stock_log), 撤销步骤此前 step_save 扣减,便于重新填报。, 扣减试剂库存并生成变动记录。调用方控制事务,本函数不 commit。, _resolve_receiver_purpose() (+3 more) + +### Community 20 - "Community 20" Cohesion: 0.24 Nodes (11): deduct_for_step(), _display_remark(), list_stock_logs(), _parse_receiver_purpose_from_remark(), 耗材变动记录 CRUD(biz_consumable_stock_log), 撤销步骤此前 step_save 扣减,便于重新填报。, 扣减耗材库存并生成变动记录。调用方控制事务,本函数不 commit。, _resolve_receiver_purpose() (+3 more) -### Community 24 - "Community 24" +### Community 21 - "Community 21" Cohesion: 0.31 Nodes (10): create_account(), _filtered_query(), get_account(), list_accounts(), list_options(), OA 收款账户 CRUD(oa_receive_account), row_to_dict(), soft_delete_account() (+2 more) -### Community 25 - "Community 25" +### Community 22 - "Community 22" Cohesion: 0.31 Nodes (10): _build_tree(), _cascade_soft_delete(), _collect_with_ancestors(), get_dept(), list_depts(), list_depts_tree(), 保留匹配节点及其全部上级,供关键词检索后仍能正确组树。, _row_to_dict() (+2 more) -### Community 26 - "Community 26" -Cohesion: 0.38 -Nodes (9): create_env_detect_item(), get_env_detect_item(), item_code_exists(), list_active_env_detect_items(), list_env_detect_items(), _order_query(), _row_to_dict(), soft_delete_env_detect_item() (+1 more) +### Community 23 - "Community 23" +Cohesion: 0.33 +Nodes (8): _build_tree(), _cascade_soft_delete(), get_menu(), list_menus(), list_menus_tree(), _row_to_dict(), soft_delete_menu(), update_menu() -### Community 27 - "Community 27" +### Community 24 - "Community 24" Cohesion: 0.29 Nodes (2): BaseModel, SoftDeleteModel -### Community 28 - "Community 28" +### Community 25 - "Community 25" Cohesion: 0.38 Nodes (6): derive_legacy_status_from_three(), derive_three_status_from_legacy(), 阶段A兼容:从旧 status 推导三字段。 约束:旧 status 本身混合了支付/配送/订单生命周期,因此只能尽力推断; 若业务侧已有更精确, 阶段A兼容:从三字段反推旧 status(用于旧前端/旧筛选参数兼容)。, ThreeStatus, _to_decimal() -### Community 29 - "Community 29" +### Community 26 - "Community 26" Cohesion: 0.5 Nodes (3): BaseSettings, Config, Settings -### Community 30 - "Community 30" +### Community 27 - "Community 27" Cohesion: 0.5 Nodes (2): _auto_fill_create_dept_id(), ORM before_insert 钩子:当 create_dept_id 为空时,自动从请求上下文填充当前用户部门 ID -### Community 31 - "Community 31" +### Community 28 - "Community 28" Cohesion: 0.67 Nodes (2): get_menu_list(), 运营端菜单接口(与 web-admin 前端静态路由 sqxp.ts 对齐,5 个一级菜单分组) -### Community 32 - "Community 32" +### Community 29 - "Community 29" Cohesion: 0.67 Nodes (1): 转正套件:入职日 + 试用期月数 → 建议转正日(YYYY-MM-DD)。 -### Community 33 - "Community 33" +### Community 30 - "Community 30" Cohesion: 1.0 Nodes (1): 质检物料金额查看授权:专用角色与菜单权限常量。 -### Community 34 - "Community 34" +### Community 31 - "Community 31" Cohesion: 1.0 Nodes (1): 请求级别的用户上下文变量 通过 contextvars 在请求处理链路中传递当前用户信息, 供 SQLAlchemy 事件监听器等底层机制使用,避免逐层手动传 -### Community 35 - "Community 35" +### Community 32 - "Community 32" Cohesion: 1.0 Nodes (1): API 路由包(骨架:公共鉴权 + 静态菜单 + 运营端占位) -### Community 38 - "Community 38" +### Community 35 - "Community 35" Cohesion: 1.0 Nodes (1): 发送订单状态通知 Args: openid: 用户openid ord -### Community 39 - "Community 39" +### Community 36 - "Community 36" Cohesion: 1.0 Nodes (1): 发送支付成功通知 Args: openid: 用户openid ord -### Community 40 - "Community 40" +### Community 37 - "Community 37" Cohesion: 1.0 Nodes (1): 发送配送通知 Args: openid: 配送员openid task -### Community 41 - "Community 41" +### Community 38 - "Community 38" Cohesion: 1.0 Nodes (1): 发送配送时效预警 Args: openid: 配送员openid ta -### Community 42 - "Community 42" +### Community 39 - "Community 39" Cohesion: 1.0 Nodes (1): 发送退款结果通知 Args: openid: 用户openid ord -### Community 43 - "Community 43" +### Community 40 - "Community 40" Cohesion: 1.0 Nodes (1): 发送催单通知给配送员 Args: deliver_openid: 配送员openid ## Knowledge Gaps - **163 isolated node(s):** `刷新会话 TTL(refreshToken 续期;已登录用户每次 API 校验通过后滑动续期)`, `写入 refreshToken(用于 one-time 使用/吊销)`, `根据 token 获取当前用户(包含 Redis 会话校验;会话滑动续期)`, `登录凭据 RSA 解密(与前端 JSEncrypt PKCS#1 v1.5 兼容)。`, `加载 RSA 密钥对:优先环境变量,否则使用内置固定默认密钥。` (+158 more) These have ≤1 connection - possible missing edges or undocumented components. -- **Thin community `Community 27`** (8 nodes): `BaseModel`, `.to_dict()`, `get_active()`, `base.py`, `SoftDeleteModel`, `.restore()`, `.soft_delete()`, `__tablename__()` +- **Thin community `Community 24`** (8 nodes): `BaseModel`, `.to_dict()`, `get_active()`, `base.py`, `SoftDeleteModel`, `.restore()`, `.soft_delete()`, `__tablename__()` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 30`** (4 nodes): `_auto_fill_create_dept_id()`, `get_db()`, `database.py`, `ORM before_insert 钩子:当 create_dept_id 为空时,自动从请求上下文填充当前用户部门 ID` +- **Thin community `Community 27`** (4 nodes): `_auto_fill_create_dept_id()`, `get_db()`, `database.py`, `ORM before_insert 钩子:当 create_dept_id 为空时,自动从请求上下文填充当前用户部门 ID` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 31`** (3 nodes): `get_menu_list()`, `menu.py`, `运营端菜单接口(与 web-admin 前端静态路由 sqxp.ts 对齐,5 个一级菜单分组)` +- **Thin community `Community 28`** (3 nodes): `get_menu_list()`, `menu.py`, `运营端菜单接口(与 web-admin 前端静态路由 sqxp.ts 对齐,5 个一级菜单分组)` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 32`** (3 nodes): `add_months_ymd()`, `oa_confirmation_date.py`, `转正套件:入职日 + 试用期月数 → 建议转正日(YYYY-MM-DD)。` +- **Thin community `Community 29`** (3 nodes): `add_months_ymd()`, `oa_confirmation_date.py`, `转正套件:入职日 + 试用期月数 → 建议转正日(YYYY-MM-DD)。` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 33`** (2 nodes): `qc_material_amount_auth_constants.py`, `质检物料金额查看授权:专用角色与菜单权限常量。` +- **Thin community `Community 30`** (2 nodes): `qc_material_amount_auth_constants.py`, `质检物料金额查看授权:专用角色与菜单权限常量。` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 34`** (2 nodes): `context.py`, `请求级别的用户上下文变量 通过 contextvars 在请求处理链路中传递当前用户信息, 供 SQLAlchemy 事件监听器等底层机制使用,避免逐层手动传` +- **Thin community `Community 31`** (2 nodes): `context.py`, `请求级别的用户上下文变量 通过 contextvars 在请求处理链路中传递当前用户信息, 供 SQLAlchemy 事件监听器等底层机制使用,避免逐层手动传` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 35`** (2 nodes): `__init__.py`, `API 路由包(骨架:公共鉴权 + 静态菜单 + 运营端占位)` +- **Thin community `Community 32`** (2 nodes): `__init__.py`, `API 路由包(骨架:公共鉴权 + 静态菜单 + 运营端占位)` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 38`** (1 nodes): `发送订单状态通知 Args: openid: 用户openid ord` +- **Thin community `Community 35`** (1 nodes): `发送订单状态通知 Args: openid: 用户openid ord` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 39`** (1 nodes): `发送支付成功通知 Args: openid: 用户openid ord` +- **Thin community `Community 36`** (1 nodes): `发送支付成功通知 Args: openid: 用户openid ord` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 40`** (1 nodes): `发送配送通知 Args: openid: 配送员openid task` +- **Thin community `Community 37`** (1 nodes): `发送配送通知 Args: openid: 配送员openid task` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 41`** (1 nodes): `发送配送时效预警 Args: openid: 配送员openid ta` +- **Thin community `Community 38`** (1 nodes): `发送配送时效预警 Args: openid: 配送员openid ta` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 42`** (1 nodes): `发送退款结果通知 Args: openid: 用户openid ord` +- **Thin community `Community 39`** (1 nodes): `发送退款结果通知 Args: openid: 用户openid ord` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 43`** (1 nodes): `发送催单通知给配送员 Args: deliver_openid: 配送员openid` +- **Thin community `Community 40`** (1 nodes): `发送催单通知给配送员 Args: deliver_openid: 配送员openid` Too small to be a meaningful cluster - may be noise or needs more connections extracted. ## Suggested Questions _Questions this graph is uniquely positioned to answer:_ -- **Why does `SysUser` connect `Community 2` to `Community 0`, `Community 1`, `Community 3`, `Community 4`, `Community 5`, `Community 6`, `Community 8`, `Community 9`, `Community 10`, `Community 11`, `Community 16`, `Community 23`?** - _High betweenness centrality (0.113) - this node is a cross-community bridge._ -- **Why does `generate_uuid()` connect `Community 1` to `Community 0`, `Community 4`, `Community 5`, `Community 6`, `Community 7`, `Community 8`, `Community 9`, `Community 10`, `Community 11`, `Community 12`, `Community 13`, `Community 14`, `Community 16`, `Community 17`, `Community 19`, `Community 23`, `Community 24`, `Community 26`?** +- **Why does `SysUser` connect `Community 2` to `Community 0`, `Community 1`, `Community 3`, `Community 4`, `Community 6`, `Community 7`, `Community 8`, `Community 9`, `Community 10`, `Community 11`, `Community 12`, `Community 13`, `Community 19`, `Community 20`?** + _High betweenness centrality (0.112) - this node is a cross-community bridge._ +- **Why does `success_response()` connect `Community 0` to `Community 1`, `Community 2`, `Community 4`, `Community 5`, `Community 6`, `Community 8`, `Community 10`, `Community 12`, `Community 28`?** _High betweenness centrality (0.048) - this node is a cross-community bridge._ -- **Why does `success_response()` connect `Community 0` to `Community 2`, `Community 4`, `Community 5`, `Community 11`, `Community 12`, `Community 13`, `Community 31`?** - _High betweenness centrality (0.038) - this node is a cross-community bridge._ -- **Are the 858 inferred relationships involving `str` (e.g. with `unhandled_exception_handler()` and `get_current_user_by_token()`) actually correct?** - _`str` has 858 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 729 inferred relationships involving `success_response()` (e.g. with `list_storage_release_reviews()` and `get_storage_release_review_detail()`) actually correct?** - _`success_response()` has 729 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 603 inferred relationships involving `error_response()` (e.g. with `_json_error_response()` and `list_storage_release_reviews()`) actually correct?** - _`error_response()` has 603 INFERRED edges - model-reasoned connections that need verification._ +- **Why does `generate_uuid()` connect `Community 1` to `Community 0`, `Community 2`, `Community 4`, `Community 5`, `Community 6`, `Community 7`, `Community 8`, `Community 9`, `Community 10`, `Community 11`, `Community 12`, `Community 15`, `Community 16`, `Community 17`, `Community 19`, `Community 20`, `Community 21`?** + _High betweenness centrality (0.048) - this node is a cross-community bridge._ +- **Are the 859 inferred relationships involving `str` (e.g. with `unhandled_exception_handler()` and `get_current_user_by_token()`) actually correct?** + _`str` has 859 INFERRED edges - model-reasoned connections that need verification._ +- **Are the 731 inferred relationships involving `success_response()` (e.g. with `list_storage_release_reviews()` and `get_storage_release_review_detail()`) actually correct?** + _`success_response()` has 731 INFERRED edges - model-reasoned connections that need verification._ +- **Are the 604 inferred relationships involving `error_response()` (e.g. with `_json_error_response()` and `list_storage_release_reviews()`) actually correct?** + _`error_response()` has 604 INFERRED edges - model-reasoned connections that need verification._ - **Are the 589 inferred relationships involving `SysUser` (e.g. with `数据权限过滤(V0.3:基于角色 data_scope 的查询级行级过滤) data_scope 值: 1 = 全部数据 2 = 本部门数据 3` and `从 SysUser 读取用户的 dept_id。`) actually correct?** _`SysUser` has 589 INFERRED edges - model-reasoned connections that need verification._ \ No newline at end of file diff --git a/backend/graphify-out/graph.json b/backend/graphify-out/graph.json index a1d5a4eb..b8b2f8bc 100644 --- a/backend/graphify-out/graph.json +++ b/backend/graphify-out/graph.json @@ -9,7 +9,7 @@ "source_file": "__init__.py", "source_location": "L1", "id": "init_py", - "community": 36, + "community": 33, "norm_label": "__init__.py" }, { @@ -18,7 +18,7 @@ "source_file": "main.py", "source_location": "L1", "id": "main_py", - "community": 9, + "community": 6, "norm_label": "main.py" }, { @@ -27,7 +27,7 @@ "source_file": "main.py", "source_location": "L20", "id": "app_main_lifespan", - "community": 9, + "community": 6, "norm_label": "lifespan()" }, { @@ -36,7 +36,7 @@ "source_file": "main.py", "source_location": "L67", "id": "app_main_error_json", - "community": 9, + "community": 6, "norm_label": "_error_json()" }, { @@ -45,7 +45,7 @@ "source_file": "main.py", "source_location": "L80", "id": "app_main_sqlalchemy_exception_handler", - "community": 9, + "community": 6, "norm_label": "sqlalchemy_exception_handler()" }, { @@ -54,7 +54,7 @@ "source_file": "main.py", "source_location": "L91", "id": "app_main_unhandled_exception_handler", - "community": 9, + "community": 6, "norm_label": "unhandled_exception_handler()" }, { @@ -63,7 +63,7 @@ "source_file": "main.py", "source_location": "L138", "id": "app_main_mask_secret", - "community": 9, + "community": 6, "norm_label": "_mask_secret()" }, { @@ -72,7 +72,7 @@ "source_file": "main.py", "source_location": "L160", "id": "app_main_root", - "community": 9, + "community": 6, "norm_label": "root()" }, { @@ -81,7 +81,7 @@ "source_file": "main.py", "source_location": "L165", "id": "app_main_health_check", - "community": 9, + "community": 6, "norm_label": "health_check()" }, { @@ -90,7 +90,7 @@ "source_file": "main.py", "source_location": "L81", "id": "app_main_rationale_81", - "community": 9, + "community": 6, "norm_label": "\u6570\u636e\u5e93\u5f02\u5e38:\u8fd4\u56de json \u5e76\u4fdd\u7559 cors \u5934,\u907f\u514d\u6d4f\u89c8\u5668\u53ea\u62a5\u8de8\u57df\u9519\u8bef" }, { @@ -99,7 +99,7 @@ "source_file": "main.py", "source_location": "L92", "id": "app_main_rationale_92", - "community": 9, + "community": 6, "norm_label": "\u672a\u6355\u83b7\u5f02\u5e38:\u7edf\u4e00 json 500,\u786e\u4fdd\u8de8\u57df\u573a\u666f\u4e0b\u4ecd\u6709 access-control-allow-origin" }, { @@ -108,7 +108,7 @@ "source_file": "tasks/__init__.py", "source_location": "L1", "id": "tasks_init_py", - "community": 9, + "community": 6, "norm_label": "__init__.py" }, { @@ -117,7 +117,7 @@ "source_file": "tasks/__init__.py", "source_location": "L10", "id": "tasks_init_init_scheduled_tasks", - "community": 9, + "community": 6, "norm_label": "init_scheduled_tasks()" }, { @@ -126,7 +126,7 @@ "source_file": "tasks/__init__.py", "source_location": "L18", "id": "tasks_init_shutdown_scheduler", - "community": 9, + "community": 6, "norm_label": "shutdown_scheduler()" }, { @@ -135,7 +135,7 @@ "source_file": "core/auth.py", "source_location": "L1", "id": "core_auth_py", - "community": 11, + "community": 12, "norm_label": "auth.py" }, { @@ -144,7 +144,7 @@ "source_file": "core/auth.py", "source_location": "L29", "id": "core_auth_redis_session_enabled", - "community": 11, + "community": 12, "norm_label": "_redis_session_enabled()" }, { @@ -153,7 +153,7 @@ "source_file": "core/auth.py", "source_location": "L34", "id": "core_auth_get_redis_client", - "community": 11, + "community": 12, "norm_label": "_get_redis_client()" }, { @@ -162,7 +162,7 @@ "source_file": "core/auth.py", "source_location": "L51", "id": "core_auth_session_key", - "community": 11, + "community": 12, "norm_label": "_session_key()" }, { @@ -171,7 +171,7 @@ "source_file": "core/auth.py", "source_location": "L55", "id": "core_auth_refresh_key", - "community": 11, + "community": 12, "norm_label": "_refresh_key()" }, { @@ -180,7 +180,7 @@ "source_file": "core/auth.py", "source_location": "L59", "id": "core_auth_store_session", - "community": 11, + "community": 12, "norm_label": "store_session()" }, { @@ -189,7 +189,7 @@ "source_file": "core/auth.py", "source_location": "L67", "id": "core_auth_revoke_session", - "community": 11, + "community": 12, "norm_label": "revoke_session()" }, { @@ -198,7 +198,7 @@ "source_file": "core/auth.py", "source_location": "L75", "id": "core_auth_extend_session", - "community": 11, + "community": 12, "norm_label": "extend_session()" }, { @@ -207,7 +207,7 @@ "source_file": "core/auth.py", "source_location": "L91", "id": "core_auth_is_session_valid", - "community": 11, + "community": 12, "norm_label": "is_session_valid()" }, { @@ -216,7 +216,7 @@ "source_file": "core/auth.py", "source_location": "L106", "id": "core_auth_store_refresh_token", - "community": 11, + "community": 12, "norm_label": "store_refresh_token()" }, { @@ -225,7 +225,7 @@ "source_file": "core/auth.py", "source_location": "L114", "id": "core_auth_is_refresh_token_valid", - "community": 11, + "community": 12, "norm_label": "is_refresh_token_valid()" }, { @@ -234,7 +234,7 @@ "source_file": "core/auth.py", "source_location": "L126", "id": "core_auth_revoke_refresh_token", - "community": 11, + "community": 12, "norm_label": "revoke_refresh_token()" }, { @@ -243,7 +243,7 @@ "source_file": "core/auth.py", "source_location": "L133", "id": "core_auth_create_access_token", - "community": 11, + "community": 12, "norm_label": "create_access_token()" }, { @@ -252,7 +252,7 @@ "source_file": "core/auth.py", "source_location": "L157", "id": "core_auth_create_refresh_token", - "community": 11, + "community": 12, "norm_label": "create_refresh_token()" }, { @@ -261,7 +261,7 @@ "source_file": "core/auth.py", "source_location": "L173", "id": "core_auth_decode_token", - "community": 11, + "community": 12, "norm_label": "decode_token()" }, { @@ -270,7 +270,7 @@ "source_file": "core/auth.py", "source_location": "L186", "id": "core_auth_get_current_user_by_token", - "community": 11, + "community": 12, "norm_label": "get_current_user_by_token()" }, { @@ -279,7 +279,7 @@ "source_file": "core/auth.py", "source_location": "L253", "id": "core_auth_get_current_user", - "community": 11, + "community": 12, "norm_label": "get_current_user()" }, { @@ -288,7 +288,7 @@ "source_file": "core/auth.py", "source_location": "L261", "id": "core_auth_get_current_user_simple", - "community": 11, + "community": 12, "norm_label": "get_current_user_simple()" }, { @@ -297,7 +297,7 @@ "source_file": "core/auth.py", "source_location": "L280", "id": "core_auth_get_client_ip", - "community": 11, + "community": 12, "norm_label": "get_client_ip()" }, { @@ -306,7 +306,7 @@ "source_file": "core/auth.py", "source_location": "L76", "id": "core_auth_rationale_76", - "community": 11, + "community": 12, "norm_label": "\u5237\u65b0\u4f1a\u8bdd ttl(refreshtoken \u7eed\u671f;\u5df2\u767b\u5f55\u7528\u6237\u6bcf\u6b21 api \u6821\u9a8c\u901a\u8fc7\u540e\u6ed1\u52a8\u7eed\u671f)" }, { @@ -315,7 +315,7 @@ "source_file": "core/auth.py", "source_location": "L107", "id": "core_auth_rationale_107", - "community": 11, + "community": 12, "norm_label": "\u5199\u5165 refreshtoken(\u7528\u4e8e one-time \u4f7f\u7528/\u540a\u9500)" }, { @@ -324,7 +324,7 @@ "source_file": "core/auth.py", "source_location": "L190", "id": "core_auth_rationale_190", - "community": 11, + "community": 12, "norm_label": "\u6839\u636e token \u83b7\u53d6\u5f53\u524d\u7528\u6237(\u5305\u542b redis \u4f1a\u8bdd\u6821\u9a8c;\u4f1a\u8bdd\u6ed1\u52a8\u7eed\u671f)" }, { @@ -333,7 +333,7 @@ "source_file": "core/api_crypto.py", "source_location": "L1", "id": "core_api_crypto_py", - "community": 9, + "community": 6, "norm_label": "api_crypto.py" }, { @@ -342,7 +342,7 @@ "source_file": "core/api_crypto.py", "source_location": "L14", "id": "core_api_crypto_apicryptoerror", - "community": 9, + "community": 6, "norm_label": "apicryptoerror" }, { @@ -351,7 +351,7 @@ "source_file": "", "source_location": "", "id": "exception", - "community": 9, + "community": 6, "norm_label": "exception" }, { @@ -360,7 +360,7 @@ "source_file": "core/api_crypto.py", "source_location": "L18", "id": "core_api_crypto_derive_key", - "community": 9, + "community": 6, "norm_label": "derive_key()" }, { @@ -369,7 +369,7 @@ "source_file": "core/api_crypto.py", "source_location": "L23", "id": "core_api_crypto_b64url_encode", - "community": 9, + "community": 6, "norm_label": "_b64url_encode()" }, { @@ -378,7 +378,7 @@ "source_file": "core/api_crypto.py", "source_location": "L27", "id": "core_api_crypto_b64url_decode", - "community": 9, + "community": 6, "norm_label": "_b64url_decode()" }, { @@ -387,7 +387,7 @@ "source_file": "core/api_crypto.py", "source_location": "L32", "id": "core_api_crypto_encrypt_json", - "community": 9, + "community": 6, "norm_label": "encrypt_json()" }, { @@ -396,7 +396,7 @@ "source_file": "core/api_crypto.py", "source_location": "L40", "id": "core_api_crypto_decrypt_json", - "community": 9, + "community": 6, "norm_label": "decrypt_json()" }, { @@ -405,7 +405,7 @@ "source_file": "core/api_crypto.py", "source_location": "L59", "id": "core_api_crypto_gen_nonce_hex", - "community": 9, + "community": 6, "norm_label": "gen_nonce_hex()" }, { @@ -414,7 +414,7 @@ "source_file": "core/api_crypto.py", "source_location": "L63", "id": "core_api_crypto_is_ts_in_window", - "community": 9, + "community": 6, "norm_label": "is_ts_in_window()" }, { @@ -423,7 +423,7 @@ "source_file": "core/login_crypto.py", "source_location": "L1", "id": "core_login_crypto_py", - "community": 11, + "community": 12, "norm_label": "login_crypto.py" }, { @@ -432,7 +432,7 @@ "source_file": "core/login_crypto.py", "source_location": "L26", "id": "core_login_crypto_normalize_pem_text", - "community": 11, + "community": 12, "norm_label": "_normalize_pem_text()" }, { @@ -441,7 +441,7 @@ "source_file": "core/login_crypto.py", "source_location": "L33", "id": "core_login_crypto_load_private_key_from_pem", - "community": 11, + "community": 12, "norm_label": "_load_private_key_from_pem()" }, { @@ -450,7 +450,7 @@ "source_file": "core/login_crypto.py", "source_location": "L41", "id": "core_login_crypto_ensure_initialized", - "community": 11, + "community": 12, "norm_label": "ensure_initialized()" }, { @@ -459,7 +459,7 @@ "source_file": "core/login_crypto.py", "source_location": "L73", "id": "core_login_crypto_get_public_pem", - "community": 11, + "community": 12, "norm_label": "get_public_pem()" }, { @@ -468,7 +468,7 @@ "source_file": "core/login_crypto.py", "source_location": "L79", "id": "core_login_crypto_decrypt_login_payload", - "community": 11, + "community": 12, "norm_label": "decrypt_login_payload()" }, { @@ -477,7 +477,7 @@ "source_file": "core/login_crypto.py", "source_location": "L88", "id": "core_login_crypto_validate_ts", - "community": 11, + "community": 12, "norm_label": "_validate_ts()" }, { @@ -486,7 +486,7 @@ "source_file": "core/login_crypto.py", "source_location": "L100", "id": "core_login_crypto_extract_login_credentials", - "community": 11, + "community": 12, "norm_label": "extract_login_credentials()" }, { @@ -495,7 +495,7 @@ "source_file": "core/login_crypto.py", "source_location": "L1", "id": "core_login_crypto_rationale_1", - "community": 11, + "community": 12, "norm_label": "\u767b\u5f55\u51ed\u636e rsa \u89e3\u5bc6(\u4e0e\u524d\u7aef jsencrypt pkcs#1 v1.5 \u517c\u5bb9)\u3002" }, { @@ -504,7 +504,7 @@ "source_file": "core/login_crypto.py", "source_location": "L42", "id": "core_login_crypto_rationale_42", - "community": 11, + "community": 12, "norm_label": "\u52a0\u8f7d rsa \u5bc6\u94a5\u5bf9:\u4f18\u5148\u73af\u5883\u53d8\u91cf,\u5426\u5219\u4f7f\u7528\u5185\u7f6e\u56fa\u5b9a\u9ed8\u8ba4\u5bc6\u94a5\u3002" }, { @@ -513,7 +513,7 @@ "source_file": "core/login_crypto.py", "source_location": "L80", "id": "core_login_crypto_rationale_80", - "community": 11, + "community": 12, "norm_label": "base64 \u5bc6\u6587 -> json \u5bf9\u8c61(\u987b\u542b username\u3001password\u3001ts \u6beb\u79d2\u65f6\u95f4\u6233)\u3002" }, { @@ -522,7 +522,7 @@ "source_file": "core/login_crypto.py", "source_location": "L101", "id": "core_login_crypto_rationale_101", - "community": 11, + "community": 12, "norm_label": "\u4ece\u8bf7\u6c42\u4f53\u89e3\u6790\u7528\u6237\u540d\u3001\u5bc6\u7801\u3002 \u8fd4\u56de (username, password, error_message);error_message \u975e\u7a7a\u65f6\u8868\u793a\u5931\u8d25\u3002" }, { @@ -531,7 +531,7 @@ "source_file": "core/config.py", "source_location": "L1", "id": "core_config_py", - "community": 29, + "community": 26, "norm_label": "config.py" }, { @@ -540,7 +540,7 @@ "source_file": "core/config.py", "source_location": "L7", "id": "core_config_settings", - "community": 29, + "community": 26, "norm_label": "settings" }, { @@ -549,7 +549,7 @@ "source_file": "", "source_location": "", "id": "basesettings", - "community": 29, + "community": 26, "norm_label": "basesettings" }, { @@ -558,7 +558,7 @@ "source_file": "core/config.py", "source_location": "L145", "id": "core_config_config", - "community": 29, + "community": 26, "norm_label": "config" }, { @@ -567,7 +567,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L1", "id": "core_wechat_pay_py", - "community": 15, + "community": 14, "norm_label": "wechat_pay.py" }, { @@ -576,7 +576,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L33", "id": "core_wechat_pay_wechatpayclient", - "community": 15, + "community": 14, "norm_label": "wechatpayclient" }, { @@ -585,7 +585,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L36", "id": "core_wechat_pay_wechatpayclient_init", - "community": 15, + "community": 14, "norm_label": ".__init__()" }, { @@ -594,7 +594,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L47", "id": "core_wechat_pay_wechatpayclient_generate_nonce_str", - "community": 15, + "community": 14, "norm_label": "._generate_nonce_str()" }, { @@ -603,7 +603,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L51", "id": "core_wechat_pay_wechatpayclient_generate_sign", - "community": 15, + "community": 14, "norm_label": "._generate_sign()" }, { @@ -612,7 +612,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L59", "id": "core_wechat_pay_wechatpayclient_generate_sign_v3", - "community": 15, + "community": 14, "norm_label": "._generate_sign_v3()" }, { @@ -621,7 +621,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L93", "id": "core_wechat_pay_wechatpayclient_make_request", - "community": 15, + "community": 14, "norm_label": "._make_request()" }, { @@ -630,7 +630,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L123", "id": "core_wechat_pay_wechatpayclient_unified_order", - "community": 15, + "community": 14, "norm_label": ".unified_order()" }, { @@ -639,7 +639,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L206", "id": "core_wechat_pay_wechatpayclient_generate_pay_sign", - "community": 15, + "community": 14, "norm_label": "._generate_pay_sign()" }, { @@ -648,7 +648,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L214", "id": "core_wechat_pay_wechatpayclient_query_order", - "community": 15, + "community": 14, "norm_label": ".query_order()" }, { @@ -657,7 +657,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L247", "id": "core_wechat_pay_wechatpayclient_refund", - "community": 15, + "community": 14, "norm_label": ".refund()" }, { @@ -666,7 +666,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L320", "id": "core_wechat_pay_wechatpayclient_close_order", - "community": 15, + "community": 14, "norm_label": ".close_order()" }, { @@ -675,7 +675,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L354", "id": "core_wechat_pay_get_wechat_pay_client", - "community": 15, + "community": 14, "norm_label": "get_wechat_pay_client()" }, { @@ -684,7 +684,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L363", "id": "core_wechat_pay_wechat_pay", - "community": 15, + "community": 14, "norm_label": "wechat_pay()" }, { @@ -693,7 +693,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L371", "id": "core_wechat_pay_wechatpayv2client", - "community": 15, + "community": 14, "norm_label": "wechatpayv2client" }, { @@ -702,7 +702,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L374", "id": "core_wechat_pay_wechatpayv2client_init", - "community": 15, + "community": 14, "norm_label": ".__init__()" }, { @@ -711,7 +711,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L386", "id": "core_wechat_pay_wechatpayv2client_generate_sign", - "community": 15, + "community": 14, "norm_label": "._generate_sign()" }, { @@ -720,7 +720,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L393", "id": "core_wechat_pay_wechatpayv2client_dict_to_xml", - "community": 15, + "community": 14, "norm_label": "._dict_to_xml()" }, { @@ -729,7 +729,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L401", "id": "core_wechat_pay_wechatpayv2client_xml_to_dict", - "community": 15, + "community": 14, "norm_label": "._xml_to_dict()" }, { @@ -738,7 +738,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L409", "id": "core_wechat_pay_wechatpayv2client_build_miniprogram_pay_params", - "community": 15, + "community": 14, "norm_label": ".build_miniprogram_pay_params()" }, { @@ -747,7 +747,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L435", "id": "core_wechat_pay_wechatpayv2client_unified_order", - "community": 15, + "community": 14, "norm_label": ".unified_order()" }, { @@ -756,7 +756,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L522", "id": "core_wechat_pay_wechatpayv2client_query_order", - "community": 15, + "community": 14, "norm_label": ".query_order()" }, { @@ -765,7 +765,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L560", "id": "core_wechat_pay_wechatpayv2client_refund", - "community": 15, + "community": 14, "norm_label": ".refund()" }, { @@ -774,7 +774,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L614", "id": "core_wechat_pay_wechatpayv2client_parse_notify", - "community": 15, + "community": 14, "norm_label": ".parse_notify()" }, { @@ -783,7 +783,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L625", "id": "core_wechat_pay_get_wechat_pay_v2", - "community": 15, + "community": 14, "norm_label": "get_wechat_pay_v2()" }, { @@ -792,7 +792,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L1", "id": "core_wechat_pay_rationale_1", - "community": 15, + "community": 14, "norm_label": "\u5fae\u4fe1\u652f\u4ed8\u5de5\u5177\u6a21\u5757 \u652f\u6301\u5fae\u4fe1\u652f\u4ed8 v3 api \u6587\u6863\u53c2\u8003: https://pay.weixin.qq.com/docs/v3/apis/index.ht" }, { @@ -801,7 +801,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L60", "id": "core_wechat_pay_rationale_60", - "community": 15, + "community": 14, "norm_label": "\u751f\u6210\u7b7e\u540d v3 (sha256 with rsa)" }, { @@ -810,7 +810,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L131", "id": "core_wechat_pay_rationale_131", - "community": 15, + "community": 14, "norm_label": "\u7edf\u4e00\u4e0b\u5355\u63a5\u53e3 (v3) args: out_trade_no: \u5546\u6237\u8ba2\u5355\u53f7 total" }, { @@ -819,7 +819,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L254", "id": "core_wechat_pay_rationale_254", - "community": 15, + "community": 14, "norm_label": "\u7533\u8bf7\u9000\u6b3e args: out_trade_no: \u5546\u6237\u8ba2\u5355\u53f7 total_amount" }, { @@ -828,7 +828,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L410", "id": "core_wechat_pay_rationale_410", - "community": 15, + "community": 14, "norm_label": "\u5c0f\u7a0b\u5e8f\u8c03\u8d77\u652f\u4ed8\u7684\u4e8c\u6b21\u7b7e\u540d\u53c2\u6570(\u4e0e\u516c\u4f17\u53f7 jsapi \u89c4\u5219\u4e00\u81f4)" }, { @@ -837,7 +837,7 @@ "source_file": "core/wechat_pay.py", "source_location": "L443", "id": "core_wechat_pay_rationale_443", - "community": 15, + "community": 14, "norm_label": "\u7edf\u4e00\u4e0b\u5355 (v2 api) args: out_trade_no: \u5546\u6237\u8ba2\u5355\u53f7 tot" }, { @@ -846,7 +846,7 @@ "source_file": "core/api_request_log_middleware.py", "source_location": "L1", "id": "core_api_request_log_middleware_py", - "community": 9, + "community": 6, "norm_label": "api_request_log_middleware.py" }, { @@ -855,7 +855,7 @@ "source_file": "core/api_request_log_middleware.py", "source_location": "L35", "id": "core_api_request_log_middleware_truncate", - "community": 9, + "community": 6, "norm_label": "_truncate()" }, { @@ -864,7 +864,7 @@ "source_file": "core/api_request_log_middleware.py", "source_location": "L43", "id": "core_api_request_log_middleware_redact_obj", - "community": 9, + "community": 6, "norm_label": "_redact_obj()" }, { @@ -873,7 +873,7 @@ "source_file": "core/api_request_log_middleware.py", "source_location": "L62", "id": "core_api_request_log_middleware_format_body_bytes", - "community": 9, + "community": 6, "norm_label": "_format_body_bytes()" }, { @@ -882,7 +882,7 @@ "source_file": "core/api_request_log_middleware.py", "source_location": "L89", "id": "core_api_request_log_middleware_claims_from_auth", - "community": 9, + "community": 6, "norm_label": "_claims_from_auth()" }, { @@ -891,7 +891,7 @@ "source_file": "core/api_request_log_middleware.py", "source_location": "L107", "id": "core_api_request_log_middleware_should_skip", - "community": 9, + "community": 6, "norm_label": "_should_skip()" }, { @@ -900,7 +900,7 @@ "source_file": "core/api_request_log_middleware.py", "source_location": "L118", "id": "core_api_request_log_middleware_persist_log", - "community": 9, + "community": 6, "norm_label": "_persist_log()" }, { @@ -909,7 +909,7 @@ "source_file": "core/api_request_log_middleware.py", "source_location": "L168", "id": "core_api_request_log_middleware_schedule_persist_log", - "community": 9, + "community": 6, "norm_label": "_schedule_persist_log()" }, { @@ -918,7 +918,7 @@ "source_file": "core/api_request_log_middleware.py", "source_location": "L191", "id": "core_api_request_log_middleware_apirequestlogmiddleware", - "community": 9, + "community": 6, "norm_label": "apirequestlogmiddleware" }, { @@ -927,7 +927,7 @@ "source_file": "", "source_location": "", "id": "basehttpmiddleware", - "community": 9, + "community": 6, "norm_label": "basehttpmiddleware" }, { @@ -936,7 +936,7 @@ "source_file": "core/api_request_log_middleware.py", "source_location": "L192", "id": "core_api_request_log_middleware_apirequestlogmiddleware_dispatch", - "community": 9, + "community": 6, "norm_label": ".dispatch()" }, { @@ -945,7 +945,7 @@ "source_file": "core/api_request_log_middleware.py", "source_location": "L1", "id": "core_api_request_log_middleware_rationale_1", - "community": 9, + "community": 6, "norm_label": "\u7edf\u4e00\u8bb0\u5f55 api \u8bf7\u6c42/\u54cd\u5e94\u51fa\u5165\u53c2\u7684\u4e2d\u95f4\u4ef6" }, { @@ -954,7 +954,7 @@ "source_file": "core/avatar_url.py", "source_location": "L1", "id": "core_avatar_url_py", - "community": 9, + "community": 6, "norm_label": "avatar_url.py" }, { @@ -963,7 +963,7 @@ "source_file": "core/avatar_url.py", "source_location": "L8", "id": "core_avatar_url_resolve_avatar_display_url", - "community": 9, + "community": 6, "norm_label": "resolve_avatar_display_url()" }, { @@ -972,7 +972,7 @@ "source_file": "core/avatar_url.py", "source_location": "L27", "id": "core_avatar_url_extract_avatar_storage_key", - "community": 9, + "community": 6, "norm_label": "extract_avatar_storage_key()" }, { @@ -981,7 +981,7 @@ "source_file": "core/avatar_url.py", "source_location": "L1", "id": "core_avatar_url_rationale_1", - "community": 9, + "community": 6, "norm_label": "\u7528\u6237\u5934\u50cf url \u89e3\u6790(sys_user.avatar \u53ef\u80fd\u5b58 minio \u76f8\u5bf9\u8def\u5f84\u6216\u5b8c\u6574 url)" }, { @@ -990,7 +990,7 @@ "source_file": "core/avatar_url.py", "source_location": "L9", "id": "core_avatar_url_rationale_9", - "community": 9, + "community": 6, "norm_label": "\u670d\u52a1\u7aef\u5185\u90e8\u62fc\u5b8c\u6574 url(\u90ae\u4ef6\u7b49);web api \u5e94\u8fd4\u56de\u5e93\u4e2d\u539f\u59cb\u8def\u5f84\u3002" }, { @@ -999,7 +999,7 @@ "source_file": "core/avatar_url.py", "source_location": "L28", "id": "core_avatar_url_rationale_28", - "community": 9, + "community": 6, "norm_label": "\u4ece upload \u8fd4\u56de\u503c\u6216\u5386\u53f2\u5b8c\u6574 url \u4e2d\u63d0\u53d6 avatar/ \u76f8\u5bf9\u8def\u5f84\u3002" }, { @@ -1008,7 +1008,7 @@ "source_file": "core/database.py", "source_location": "L1", "id": "core_database_py", - "community": 30, + "community": 27, "norm_label": "database.py" }, { @@ -1017,7 +1017,7 @@ "source_file": "core/database.py", "source_location": "L20", "id": "core_database_get_db", - "community": 30, + "community": 27, "norm_label": "get_db()" }, { @@ -1026,7 +1026,7 @@ "source_file": "core/database.py", "source_location": "L30", "id": "core_database_auto_fill_create_dept_id", - "community": 30, + "community": 27, "norm_label": "_auto_fill_create_dept_id()" }, { @@ -1035,7 +1035,7 @@ "source_file": "core/database.py", "source_location": "L31", "id": "core_database_rationale_31", - "community": 30, + "community": 27, "norm_label": "orm before_insert \u94a9\u5b50:\u5f53 create_dept_id \u4e3a\u7a7a\u65f6,\u81ea\u52a8\u4ece\u8bf7\u6c42\u4e0a\u4e0b\u6587\u586b\u5145\u5f53\u524d\u7528\u6237\u90e8\u95e8 id" }, { @@ -1044,7 +1044,7 @@ "source_file": "core/security.py", "source_location": "L1", "id": "core_security_py", - "community": 11, + "community": 12, "norm_label": "security.py" }, { @@ -1053,7 +1053,7 @@ "source_file": "core/security.py", "source_location": "L4", "id": "core_security_verify_password", - "community": 11, + "community": 12, "norm_label": "verify_password()" }, { @@ -1062,7 +1062,7 @@ "source_file": "core/security.py", "source_location": "L20", "id": "core_security_get_password_hash", - "community": 11, + "community": 12, "norm_label": "get_password_hash()" }, { @@ -1071,7 +1071,7 @@ "source_file": "core/security.py", "source_location": "L5", "id": "core_security_rationale_5", - "community": 11, + "community": 12, "norm_label": "\u9a8c\u8bc1\u5bc6\u7801(\u54c8\u5e0c\u975e bcrypt \u6216\u635f\u574f\u65f6\u8fd4\u56de false,\u907f\u514d\u629b\u9519)" }, { @@ -1080,7 +1080,7 @@ "source_file": "core/request_payload.py", "source_location": "L1", "id": "core_request_payload_py", - "community": 9, + "community": 6, "norm_label": "request_payload.py" }, { @@ -1089,7 +1089,7 @@ "source_file": "core/request_payload.py", "source_location": "L12", "id": "core_request_payload_resolve_request_payload", - "community": 9, + "community": 6, "norm_label": "resolve_request_payload()" }, { @@ -1098,7 +1098,7 @@ "source_file": "core/request_payload.py", "source_location": "L1", "id": "core_request_payload_rationale_1", - "community": 9, + "community": 6, "norm_label": "\u7edf\u4e00\u89e3\u6790\u63a5\u53e3\u8bf7\u6c42\u8f7d\u8377(\u660e\u6587 / \u5bc6\u6587\u4fe1\u5c01)\u3002" }, { @@ -1107,7 +1107,7 @@ "source_file": "core/request_payload.py", "source_location": "L18", "id": "core_request_payload_rationale_18", - "community": 9, + "community": 6, "norm_label": "\u517c\u5bb9\u660e\u6587\u4e0e\u5bc6\u6587\u4fe1\u5c01,\u8fd4\u56de\u4e1a\u52a1\u5c42 payload(\u591a\u4e3a dict;\u6279\u91cf\u6570\u7ec4\u63a5\u53e3\u89e3\u5bc6\u540e\u4e3a list)\u3002" }, { @@ -1116,7 +1116,7 @@ "source_file": "core/__init__.py", "source_location": "L1", "id": "core_init_py", - "community": 37, + "community": 34, "norm_label": "__init__.py" }, { @@ -1206,7 +1206,7 @@ "source_file": "core/menu_guard.py", "source_location": "L1", "id": "core_menu_guard_py", - "community": 11, + "community": 12, "norm_label": "menu_guard.py" }, { @@ -1215,7 +1215,7 @@ "source_file": "core/menu_guard.py", "source_location": "L14", "id": "core_menu_guard_require_admin_or_super_admin", - "community": 11, + "community": 12, "norm_label": "require_admin_or_super_admin()" }, { @@ -1224,7 +1224,7 @@ "source_file": "core/menu_guard.py", "source_location": "L22", "id": "core_menu_guard_get_user_menu_codes", - "community": 11, + "community": 12, "norm_label": "get_user_menu_codes()" }, { @@ -1251,7 +1251,7 @@ "source_file": "core/menu_guard.py", "source_location": "L50", "id": "core_menu_guard_require_menu_code", - "community": 11, + "community": 12, "norm_label": "require_menu_code()" }, { @@ -1260,7 +1260,7 @@ "source_file": "core/menu_guard.py", "source_location": "L56", "id": "core_menu_guard_require_any_menu_code", - "community": 11, + "community": 12, "norm_label": "require_any_menu_code()" }, { @@ -1269,7 +1269,7 @@ "source_file": "core/menu_guard.py", "source_location": "L1", "id": "core_menu_guard_rationale_1", - "community": 11, + "community": 12, "norm_label": "\u83dc\u5355 code \u6743\u9650\u5b88\u536b(v0.3:\u901a\u8fc7 sys_user_role \u2192 sys_role_menu \u2192 sys_menu.perms)" }, { @@ -1278,7 +1278,7 @@ "source_file": "core/menu_guard.py", "source_location": "L15", "id": "core_menu_guard_rationale_15", - "community": 11, + "community": 12, "norm_label": "\u8fd0\u8425\u7aef\u89d2\u8272\u5b88\u536b:admin / super_admin \u53ef\u8bbf\u95ee\u3002" }, { @@ -1287,7 +1287,7 @@ "source_file": "core/menu_guard.py", "source_location": "L23", "id": "core_menu_guard_rationale_23", - "community": 11, + "community": 12, "norm_label": "\u8bfb\u53d6\u7528\u6237\u6388\u6743\u7684\u83dc\u5355\u6743\u9650\u6807\u8bc6\u96c6\u5408(\u4e0e\u524d\u7aef meta.menucode / perms \u5bf9\u9f50)\u3002" }, { @@ -1305,7 +1305,7 @@ "source_file": "core/menu_guard.py", "source_location": "L51", "id": "core_menu_guard_rationale_51", - "community": 11, + "community": 12, "norm_label": "\u63a5\u53e3\u83dc\u5355\u6743\u9650\u5b88\u536b(\u5df2\u7edf\u4e00\u653e\u884c menucode \u6821\u9a8c,\u4ec5\u4fdd\u7559\u8fd0\u8425\u7aef\u767b\u5f55)\u3002" }, { @@ -1314,7 +1314,7 @@ "source_file": "core/menu_guard.py", "source_location": "L57", "id": "core_menu_guard_rationale_57", - "community": 11, + "community": 12, "norm_label": "\u63a5\u53e3\u83dc\u5355\u6743\u9650\u5b88\u536b(\u5df2\u7edf\u4e00\u653e\u884c menucode \u6821\u9a8c,\u4ec5\u4fdd\u7559\u8fd0\u8425\u7aef\u767b\u5f55)\u3002" }, { @@ -1323,7 +1323,7 @@ "source_file": "core/db_collation.py", "source_location": "L1", "id": "core_db_collation_py", - "community": 7, + "community": 5, "norm_label": "db_collation.py" }, { @@ -1332,7 +1332,7 @@ "source_file": "core/db_collation.py", "source_location": "L6", "id": "core_db_collation_unicode_ci", - "community": 7, + "community": 5, "norm_label": "unicode_ci()" }, { @@ -1341,7 +1341,7 @@ "source_file": "core/db_collation.py", "source_location": "L11", "id": "core_db_collation_eq_unicode", - "community": 7, + "community": 5, "norm_label": "eq_unicode()" }, { @@ -1350,7 +1350,7 @@ "source_file": "core/db_collation.py", "source_location": "L16", "id": "core_db_collation_like_unicode", - "community": 7, + "community": 5, "norm_label": "like_unicode()" }, { @@ -1359,7 +1359,7 @@ "source_file": "core/db_collation.py", "source_location": "L1", "id": "core_db_collation_rationale_1", - "community": 7, + "community": 5, "norm_label": "mysql \u5b57\u7b26\u4e32\u6bd4\u8f83/\u6a21\u7cca\u5339\u914d\u65f6\u7edf\u4e00\u6392\u5e8f\u89c4\u5219,\u907f\u514d illegal mix of collations\u3002" }, { @@ -1368,7 +1368,7 @@ "source_file": "core/db_collation.py", "source_location": "L7", "id": "core_db_collation_rationale_7", - "community": 7, + "community": 5, "norm_label": "\u5c06\u5217\u663e\u5f0f\u8bbe\u4e3a utf8mb4_unicode_ci\u3002" }, { @@ -1377,7 +1377,7 @@ "source_file": "core/db_collation.py", "source_location": "L12", "id": "core_db_collation_rationale_12", - "community": 7, + "community": 5, "norm_label": "\u8de8\u8868\u5b57\u7b26\u4e32\u7b49\u503c\u6bd4\u8f83(join / where)\u65f6\u7edf\u4e00\u4e3a utf8mb4_unicode_ci\u3002" }, { @@ -1386,7 +1386,7 @@ "source_file": "core/qc_material_amount_auth_constants.py", "source_location": "L1", "id": "core_qc_material_amount_auth_constants_py", - "community": 33, + "community": 30, "norm_label": "qc_material_amount_auth_constants.py" }, { @@ -1395,7 +1395,7 @@ "source_file": "core/qc_material_amount_auth_constants.py", "source_location": "L1", "id": "core_qc_material_amount_auth_constants_rationale_1", - "community": 33, + "community": 30, "norm_label": "\u8d28\u68c0\u7269\u6599\u91d1\u989d\u67e5\u770b\u6388\u6743:\u4e13\u7528\u89d2\u8272\u4e0e\u83dc\u5355\u6743\u9650\u5e38\u91cf\u3002" }, { @@ -1404,7 +1404,7 @@ "source_file": "core/context.py", "source_location": "L1", "id": "core_context_py", - "community": 34, + "community": 31, "norm_label": "context.py" }, { @@ -1413,7 +1413,7 @@ "source_file": "core/context.py", "source_location": "L1", "id": "core_context_rationale_1", - "community": 34, + "community": 31, "norm_label": "\u8bf7\u6c42\u7ea7\u522b\u7684\u7528\u6237\u4e0a\u4e0b\u6587\u53d8\u91cf \u901a\u8fc7 contextvars \u5728\u8bf7\u6c42\u5904\u7406\u94fe\u8def\u4e2d\u4f20\u9012\u5f53\u524d\u7528\u6237\u4fe1\u606f, \u4f9b sqlalchemy \u4e8b\u4ef6\u76d1\u542c\u5668\u7b49\u5e95\u5c42\u673a\u5236\u4f7f\u7528,\u907f\u514d\u9010\u5c42\u624b\u52a8\u4f20" }, { @@ -1440,7 +1440,7 @@ "source_file": "core/utils.py", "source_location": "L14", "id": "core_utils_generate_id", - "community": 9, + "community": 6, "norm_label": "generate_id()" }, { @@ -1530,7 +1530,7 @@ "source_file": "core/protocol_status_display.py", "source_location": "L1", "id": "core_protocol_status_display_py", - "community": 7, + "community": 5, "norm_label": "protocol_status_display.py" }, { @@ -1539,7 +1539,7 @@ "source_file": "core/protocol_status_display.py", "source_location": "L38", "id": "core_protocol_status_display_resolve_void_type_label", - "community": 7, + "community": 5, "norm_label": "resolve_void_type_label()" }, { @@ -1548,7 +1548,7 @@ "source_file": "core/protocol_status_display.py", "source_location": "L62", "id": "core_protocol_status_display_format_protocol_status_label", - "community": 7, + "community": 5, "norm_label": "format_protocol_status_label()" }, { @@ -1557,7 +1557,7 @@ "source_file": "core/protocol_status_display.py", "source_location": "L81", "id": "core_protocol_status_display_build_void_type_label_map", - "community": 7, + "community": 5, "norm_label": "build_void_type_label_map()" }, { @@ -1566,7 +1566,7 @@ "source_file": "core/storage.py", "source_location": "L1", "id": "core_storage_py", - "community": 9, + "community": 6, "norm_label": "storage.py" }, { @@ -1575,7 +1575,7 @@ "source_file": "core/storage.py", "source_location": "L37", "id": "core_storage_convert_heic_to_jpeg", - "community": 9, + "community": 6, "norm_label": "convert_heic_to_jpeg()" }, { @@ -1584,7 +1584,7 @@ "source_file": "core/storage.py", "source_location": "L52", "id": "core_storage_process_image_content", - "community": 9, + "community": 6, "norm_label": "process_image_content()" }, { @@ -1593,7 +1593,7 @@ "source_file": "core/storage.py", "source_location": "L61", "id": "core_storage_basestorage", - "community": 9, + "community": 6, "norm_label": "basestorage" }, { @@ -1602,7 +1602,7 @@ "source_file": "core/storage.py", "source_location": "L64", "id": "core_storage_basestorage_upload_file", - "community": 9, + "community": 6, "norm_label": ".upload_file()" }, { @@ -1611,7 +1611,7 @@ "source_file": "core/storage.py", "source_location": "L68", "id": "core_storage_basestorage_upload_base64", - "community": 9, + "community": 6, "norm_label": ".upload_base64()" }, { @@ -1620,7 +1620,7 @@ "source_file": "core/storage.py", "source_location": "L72", "id": "core_storage_basestorage_delete_file", - "community": 9, + "community": 6, "norm_label": ".delete_file()" }, { @@ -1629,7 +1629,7 @@ "source_file": "core/storage.py", "source_location": "L76", "id": "core_storage_basestorage_get_url", - "community": 9, + "community": 6, "norm_label": ".get_url()" }, { @@ -1638,7 +1638,7 @@ "source_file": "core/storage.py", "source_location": "L80", "id": "core_storage_basestorage_presigned_download_url", - "community": 9, + "community": 6, "norm_label": ".presigned_download_url()" }, { @@ -1647,7 +1647,7 @@ "source_file": "core/storage.py", "source_location": "L87", "id": "core_storage_localstorage", - "community": 9, + "community": 6, "norm_label": "localstorage" }, { @@ -1656,7 +1656,7 @@ "source_file": "core/storage.py", "source_location": "L90", "id": "core_storage_localstorage_init", - "community": 9, + "community": 6, "norm_label": ".__init__()" }, { @@ -1665,7 +1665,7 @@ "source_file": "core/storage.py", "source_location": "L94", "id": "core_storage_localstorage_ensure_dir", - "community": 9, + "community": 6, "norm_label": "._ensure_dir()" }, { @@ -1674,7 +1674,7 @@ "source_file": "core/storage.py", "source_location": "L100", "id": "core_storage_localstorage_generate_filename", - "community": 9, + "community": 6, "norm_label": "._generate_filename()" }, { @@ -1683,7 +1683,7 @@ "source_file": "core/storage.py", "source_location": "L106", "id": "core_storage_localstorage_upload_file", - "community": 9, + "community": 6, "norm_label": ".upload_file()" }, { @@ -1692,7 +1692,7 @@ "source_file": "core/storage.py", "source_location": "L121", "id": "core_storage_localstorage_upload_base64", - "community": 9, + "community": 6, "norm_label": ".upload_base64()" }, { @@ -1701,7 +1701,7 @@ "source_file": "core/storage.py", "source_location": "L130", "id": "core_storage_localstorage_delete_file", - "community": 9, + "community": 6, "norm_label": ".delete_file()" }, { @@ -1710,7 +1710,7 @@ "source_file": "core/storage.py", "source_location": "L147", "id": "core_storage_localstorage_get_url", - "community": 9, + "community": 6, "norm_label": ".get_url()" }, { @@ -1719,7 +1719,7 @@ "source_file": "core/storage.py", "source_location": "L152", "id": "core_storage_qiniustorage", - "community": 9, + "community": 6, "norm_label": "qiniustorage" }, { @@ -1728,7 +1728,7 @@ "source_file": "core/storage.py", "source_location": "L155", "id": "core_storage_qiniustorage_init", - "community": 9, + "community": 6, "norm_label": ".__init__()" }, { @@ -1737,7 +1737,7 @@ "source_file": "core/storage.py", "source_location": "L164", "id": "core_storage_qiniustorage_generate_filename", - "community": 9, + "community": 6, "norm_label": "._generate_filename()" }, { @@ -1746,7 +1746,7 @@ "source_file": "core/storage.py", "source_location": "L170", "id": "core_storage_qiniustorage_upload_file", - "community": 9, + "community": 6, "norm_label": ".upload_file()" }, { @@ -1755,7 +1755,7 @@ "source_file": "core/storage.py", "source_location": "L185", "id": "core_storage_qiniustorage_upload_base64", - "community": 9, + "community": 6, "norm_label": ".upload_base64()" }, { @@ -1764,7 +1764,7 @@ "source_file": "core/storage.py", "source_location": "L193", "id": "core_storage_qiniustorage_delete_file", - "community": 9, + "community": 6, "norm_label": ".delete_file()" }, { @@ -1773,7 +1773,7 @@ "source_file": "core/storage.py", "source_location": "L204", "id": "core_storage_qiniustorage_get_url", - "community": 9, + "community": 6, "norm_label": ".get_url()" }, { @@ -1782,7 +1782,7 @@ "source_file": "core/storage.py", "source_location": "L209", "id": "core_storage_ossstorage", - "community": 9, + "community": 6, "norm_label": "ossstorage" }, { @@ -1791,7 +1791,7 @@ "source_file": "core/storage.py", "source_location": "L212", "id": "core_storage_ossstorage_init", - "community": 9, + "community": 6, "norm_label": ".__init__()" }, { @@ -1800,7 +1800,7 @@ "source_file": "core/storage.py", "source_location": "L222", "id": "core_storage_ossstorage_generate_filename", - "community": 9, + "community": 6, "norm_label": "._generate_filename()" }, { @@ -1809,7 +1809,7 @@ "source_file": "core/storage.py", "source_location": "L228", "id": "core_storage_ossstorage_upload_file", - "community": 9, + "community": 6, "norm_label": ".upload_file()" }, { @@ -1818,7 +1818,7 @@ "source_file": "core/storage.py", "source_location": "L239", "id": "core_storage_ossstorage_upload_base64", - "community": 9, + "community": 6, "norm_label": ".upload_base64()" }, { @@ -1827,7 +1827,7 @@ "source_file": "core/storage.py", "source_location": "L247", "id": "core_storage_ossstorage_delete_file", - "community": 9, + "community": 6, "norm_label": ".delete_file()" }, { @@ -1836,7 +1836,7 @@ "source_file": "core/storage.py", "source_location": "L256", "id": "core_storage_ossstorage_get_url", - "community": 9, + "community": 6, "norm_label": ".get_url()" }, { @@ -1845,7 +1845,7 @@ "source_file": "core/storage.py", "source_location": "L261", "id": "core_storage_miniostorage", - "community": 9, + "community": 6, "norm_label": "miniostorage" }, { @@ -1854,7 +1854,7 @@ "source_file": "core/storage.py", "source_location": "L264", "id": "core_storage_miniostorage_init", - "community": 9, + "community": 6, "norm_label": ".__init__()" }, { @@ -1863,7 +1863,7 @@ "source_file": "core/storage.py", "source_location": "L282", "id": "core_storage_miniostorage_generate_filename", - "community": 9, + "community": 6, "norm_label": "._generate_filename()" }, { @@ -1872,7 +1872,7 @@ "source_file": "core/storage.py", "source_location": "L288", "id": "core_storage_miniostorage_upload_file", - "community": 9, + "community": 6, "norm_label": ".upload_file()" }, { @@ -1881,7 +1881,7 @@ "source_file": "core/storage.py", "source_location": "L305", "id": "core_storage_miniostorage_upload_base64", - "community": 9, + "community": 6, "norm_label": ".upload_base64()" }, { @@ -1890,7 +1890,7 @@ "source_file": "core/storage.py", "source_location": "L313", "id": "core_storage_miniostorage_delete_file", - "community": 9, + "community": 6, "norm_label": ".delete_file()" }, { @@ -1899,7 +1899,7 @@ "source_file": "core/storage.py", "source_location": "L322", "id": "core_storage_miniostorage_get_url", - "community": 9, + "community": 6, "norm_label": ".get_url()" }, { @@ -1908,7 +1908,7 @@ "source_file": "core/storage.py", "source_location": "L326", "id": "core_storage_miniostorage_extract_object_key", - "community": 9, + "community": 6, "norm_label": "._extract_object_key()" }, { @@ -1917,7 +1917,7 @@ "source_file": "core/storage.py", "source_location": "L342", "id": "core_storage_miniostorage_internal_base_prefixes", - "community": 9, + "community": 6, "norm_label": "._internal_base_prefixes()" }, { @@ -1926,7 +1926,7 @@ "source_file": "core/storage.py", "source_location": "L353", "id": "core_storage_miniostorage_rewrite_presigned_public_url", - "community": 9, + "community": 6, "norm_label": "._rewrite_presigned_public_url()" }, { @@ -1935,7 +1935,7 @@ "source_file": "core/storage.py", "source_location": "L365", "id": "core_storage_miniostorage_presigned_download_url", - "community": 9, + "community": 6, "norm_label": ".presigned_download_url()" }, { @@ -1944,7 +1944,7 @@ "source_file": "core/storage.py", "source_location": "L385", "id": "core_storage_get_storage", - "community": 9, + "community": 6, "norm_label": "get_storage()" }, { @@ -1953,7 +1953,7 @@ "source_file": "core/storage.py", "source_location": "L1", "id": "core_storage_rationale_1", - "community": 9, + "community": 6, "norm_label": "\u6587\u4ef6\u5b58\u50a8\u5de5\u5177\u6a21\u5757 \u652f\u6301\u591a\u79cd\u5b58\u50a8\u65b9\u5f0f: 1. \u672c\u5730\u5b58\u50a8 (local) - \u9ed8\u8ba4 2. \u4e03\u725b\u4e91\u5b58\u50a8 (qiniu) - \u63a8\u8350\u751f\u4ea7\u73af\u5883\u4f7f\u7528 3. \u963f\u91cc\u4e91" }, { @@ -1962,7 +1962,7 @@ "source_file": "core/storage.py", "source_location": "L38", "id": "core_storage_rationale_38", - "community": 9, + "community": 6, "norm_label": "\u5c06 heic/heif \u683c\u5f0f\u8f6c\u6362\u4e3a jpeg \u683c\u5f0f" }, { @@ -1971,7 +1971,7 @@ "source_file": "core/storage.py", "source_location": "L53", "id": "core_storage_rationale_53", - "community": 9, + "community": 6, "norm_label": "\u5904\u7406\u56fe\u7247\u5185\u5bb9,\u5982\u679c\u662f heic \u683c\u5f0f\u5219\u8f6c\u6362\u4e3a jpeg" }, { @@ -1980,7 +1980,7 @@ "source_file": "core/storage.py", "source_location": "L83", "id": "core_storage_rationale_83", - "community": 9, + "community": 6, "norm_label": "\u5e26\u4e0b\u8f7d\u6587\u4ef6\u540d\u7684\u8bbf\u95ee url;\u9ed8\u8ba4\u5b9e\u73b0\u4e3a\u666e\u901a\u8bbf\u95ee\u5730\u5740\u3002" }, { @@ -1989,7 +1989,7 @@ "source_file": "core/storage.py", "source_location": "L343", "id": "core_storage_rationale_343", - "community": 9, + "community": 6, "norm_label": "sdk \u9884\u7b7e\u540d url \u4f7f\u7528\u7684\u5185\u7f51\u5730\u5740\u524d\u7f00(http/https \u5747\u8986\u76d6)\u3002" }, { @@ -1998,7 +1998,7 @@ "source_file": "core/storage.py", "source_location": "L354", "id": "core_storage_rationale_354", - "community": 9, + "community": 6, "norm_label": "\u5c06 sdk \u751f\u6210\u7684\u5185\u7f51 minio \u9884\u7b7e\u540d url \u6539\u5199\u4e3a minio_base_url \u5bf9\u5916\u8def\u5f84\u3002" }, { @@ -2007,7 +2007,7 @@ "source_file": "core/storage.py", "source_location": "L368", "id": "core_storage_rationale_368", - "community": 9, + "community": 6, "norm_label": "minio \u9884\u7b7e\u540d\u4e0b\u8f7d url,\u643a\u5e26\u539f\u59cb\u6587\u4ef6\u540d\u3002" }, { @@ -2016,7 +2016,7 @@ "source_file": "core/order_status_compat.py", "source_location": "L1", "id": "core_order_status_compat_py", - "community": 28, + "community": 25, "norm_label": "order_status_compat.py" }, { @@ -2025,7 +2025,7 @@ "source_file": "core/order_status_compat.py", "source_location": "L9", "id": "core_order_status_compat_threestatus", - "community": 28, + "community": 25, "norm_label": "threestatus" }, { @@ -2034,7 +2034,7 @@ "source_file": "core/order_status_compat.py", "source_location": "L15", "id": "core_order_status_compat_to_decimal", - "community": 28, + "community": 25, "norm_label": "_to_decimal()" }, { @@ -2043,7 +2043,7 @@ "source_file": "core/order_status_compat.py", "source_location": "L26", "id": "core_order_status_compat_derive_three_status_from_legacy", - "community": 28, + "community": 25, "norm_label": "derive_three_status_from_legacy()" }, { @@ -2052,7 +2052,7 @@ "source_file": "core/order_status_compat.py", "source_location": "L69", "id": "core_order_status_compat_derive_legacy_status_from_three", - "community": 28, + "community": 25, "norm_label": "derive_legacy_status_from_three()" }, { @@ -2061,7 +2061,7 @@ "source_file": "core/order_status_compat.py", "source_location": "L31", "id": "core_order_status_compat_rationale_31", - "community": 28, + "community": 25, "norm_label": "\u9636\u6bb5a\u517c\u5bb9:\u4ece\u65e7 status \u63a8\u5bfc\u4e09\u5b57\u6bb5\u3002 \u7ea6\u675f:\u65e7 status \u672c\u8eab\u6df7\u5408\u4e86\u652f\u4ed8/\u914d\u9001/\u8ba2\u5355\u751f\u547d\u5468\u671f,\u56e0\u6b64\u53ea\u80fd\u5c3d\u529b\u63a8\u65ad; \u82e5\u4e1a\u52a1\u4fa7\u5df2\u6709\u66f4\u7cbe\u786e" }, { @@ -2070,7 +2070,7 @@ "source_file": "core/order_status_compat.py", "source_location": "L75", "id": "core_order_status_compat_rationale_75", - "community": 28, + "community": 25, "norm_label": "\u9636\u6bb5a\u517c\u5bb9:\u4ece\u4e09\u5b57\u6bb5\u53cd\u63a8\u65e7 status(\u7528\u4e8e\u65e7\u524d\u7aef/\u65e7\u7b5b\u9009\u53c2\u6570\u517c\u5bb9)\u3002" }, { @@ -2079,7 +2079,7 @@ "source_file": "core/exceptions.py", "source_location": "L1", "id": "core_exceptions_py", - "community": 9, + "community": 6, "norm_label": "exceptions.py" }, { @@ -2088,7 +2088,7 @@ "source_file": "core/exceptions.py", "source_location": "L28", "id": "core_exceptions_businessexception", - "community": 9, + "community": 6, "norm_label": "businessexception" }, { @@ -2097,7 +2097,7 @@ "source_file": "core/exceptions.py", "source_location": "L30", "id": "core_exceptions_businessexception_init", - "community": 9, + "community": 6, "norm_label": ".__init__()" }, { @@ -2106,7 +2106,7 @@ "source_file": "core/exceptions.py", "source_location": "L37", "id": "core_exceptions_validationexception", - "community": 9, + "community": 6, "norm_label": "validationexception" }, { @@ -2115,7 +2115,7 @@ "source_file": "core/exceptions.py", "source_location": "L39", "id": "core_exceptions_validationexception_init", - "community": 9, + "community": 6, "norm_label": ".__init__()" }, { @@ -2124,7 +2124,7 @@ "source_file": "core/exceptions.py", "source_location": "L43", "id": "core_exceptions_permissionexception", - "community": 9, + "community": 6, "norm_label": "permissionexception" }, { @@ -2133,7 +2133,7 @@ "source_file": "core/exceptions.py", "source_location": "L45", "id": "core_exceptions_permissionexception_init", - "community": 9, + "community": 6, "norm_label": ".__init__()" }, { @@ -2142,7 +2142,7 @@ "source_file": "core/exceptions.py", "source_location": "L49", "id": "core_exceptions_resourcenotfoundexception", - "community": 9, + "community": 6, "norm_label": "resourcenotfoundexception" }, { @@ -2151,7 +2151,7 @@ "source_file": "core/exceptions.py", "source_location": "L51", "id": "core_exceptions_resourcenotfoundexception_init", - "community": 9, + "community": 6, "norm_label": ".__init__()" }, { @@ -2160,7 +2160,7 @@ "source_file": "core/exceptions.py", "source_location": "L55", "id": "core_exceptions_resourceconflictexception", - "community": 9, + "community": 6, "norm_label": "resourceconflictexception" }, { @@ -2169,7 +2169,7 @@ "source_file": "core/exceptions.py", "source_location": "L57", "id": "core_exceptions_resourceconflictexception_init", - "community": 9, + "community": 6, "norm_label": ".__init__()" }, { @@ -2178,7 +2178,7 @@ "source_file": "core/exceptions.py", "source_location": "L61", "id": "core_exceptions_orderlockedexception", - "community": 9, + "community": 6, "norm_label": "orderlockedexception" }, { @@ -2187,7 +2187,7 @@ "source_file": "core/exceptions.py", "source_location": "L63", "id": "core_exceptions_orderlockedexception_init", - "community": 9, + "community": 6, "norm_label": ".__init__()" }, { @@ -2196,7 +2196,7 @@ "source_file": "core/exceptions.py", "source_location": "L67", "id": "core_exceptions_invalidstatustransitionexception", - "community": 9, + "community": 6, "norm_label": "invalidstatustransitionexception" }, { @@ -2205,7 +2205,7 @@ "source_file": "core/exceptions.py", "source_location": "L69", "id": "core_exceptions_invalidstatustransitionexception_init", - "community": 9, + "community": 6, "norm_label": ".__init__()" }, { @@ -2214,7 +2214,7 @@ "source_file": "core/exceptions.py", "source_location": "L73", "id": "core_exceptions_log_operation", - "community": 9, + "community": 6, "norm_label": "log_operation()" }, { @@ -2223,7 +2223,7 @@ "source_file": "core/exceptions.py", "source_location": "L102", "id": "core_exceptions_log_api_request", - "community": 9, + "community": 6, "norm_label": "log_api_request()" }, { @@ -2232,7 +2232,7 @@ "source_file": "core/exceptions.py", "source_location": "L124", "id": "core_exceptions_log_order_operation", - "community": 9, + "community": 6, "norm_label": "log_order_operation()" }, { @@ -2241,7 +2241,7 @@ "source_file": "core/exceptions.py", "source_location": "L129", "id": "core_exceptions_log_delivery_operation", - "community": 9, + "community": 6, "norm_label": "log_delivery_operation()" }, { @@ -2250,7 +2250,7 @@ "source_file": "core/exceptions.py", "source_location": "L134", "id": "core_exceptions_log_settlement_operation", - "community": 9, + "community": 6, "norm_label": "log_settlement_operation()" }, { @@ -2259,7 +2259,7 @@ "source_file": "core/exceptions.py", "source_location": "L139", "id": "core_exceptions_log_user_operation", - "community": 9, + "community": 6, "norm_label": "log_user_operation()" }, { @@ -2268,7 +2268,7 @@ "source_file": "core/data_scope.py", "source_location": "L1", "id": "core_data_scope_py", - "community": 5, + "community": 2, "norm_label": "data_scope.py" }, { @@ -2277,7 +2277,7 @@ "source_file": "core/data_scope.py", "source_location": "L26", "id": "core_data_scope_get_user_dept_id", - "community": 5, + "community": 2, "norm_label": "get_user_dept_id()" }, { @@ -2286,7 +2286,7 @@ "source_file": "core/data_scope.py", "source_location": "L36", "id": "core_data_scope_get_child_dept_ids", - "community": 5, + "community": 2, "norm_label": "_get_child_dept_ids()" }, { @@ -2295,7 +2295,7 @@ "source_file": "core/data_scope.py", "source_location": "L61", "id": "core_data_scope_resolve_user_role_scopes", - "community": 5, + "community": 2, "norm_label": "_resolve_user_role_scopes()" }, { @@ -2304,7 +2304,7 @@ "source_file": "core/data_scope.py", "source_location": "L113", "id": "core_data_scope_apply_data_scope", - "community": 5, + "community": 4, "norm_label": "apply_data_scope()" }, { @@ -2394,7 +2394,7 @@ "source_file": "core/api_crypto_middleware.py", "source_location": "L1", "id": "core_api_crypto_middleware_py", - "community": 9, + "community": 6, "norm_label": "api_crypto_middleware.py" }, { @@ -2403,7 +2403,7 @@ "source_file": "core/api_crypto_middleware.py", "source_location": "L28", "id": "core_api_crypto_middleware_nonce_key", - "community": 9, + "community": 6, "norm_label": "_nonce_key()" }, { @@ -2412,7 +2412,7 @@ "source_file": "core/api_crypto_middleware.py", "source_location": "L32", "id": "core_api_crypto_middleware_should_skip_path", - "community": 9, + "community": 6, "norm_label": "_should_skip_path()" }, { @@ -2421,7 +2421,7 @@ "source_file": "core/api_crypto_middleware.py", "source_location": "L37", "id": "core_api_crypto_middleware_is_crypto_api", - "community": 9, + "community": 6, "norm_label": "_is_crypto_api()" }, { @@ -2430,7 +2430,7 @@ "source_file": "core/api_crypto_middleware.py", "source_location": "L43", "id": "core_api_crypto_middleware_claims_from_auth", - "community": 9, + "community": 6, "norm_label": "_claims_from_auth()" }, { @@ -2439,7 +2439,7 @@ "source_file": "core/api_crypto_middleware.py", "source_location": "L61", "id": "core_api_crypto_middleware_get_redis_client", - "community": 9, + "community": 6, "norm_label": "_get_redis_client()" }, { @@ -2448,7 +2448,7 @@ "source_file": "core/api_crypto_middleware.py", "source_location": "L78", "id": "core_api_crypto_middleware_mark_nonce_once", - "community": 9, + "community": 6, "norm_label": "_mark_nonce_once()" }, { @@ -2457,7 +2457,7 @@ "source_file": "core/api_crypto_middleware.py", "source_location": "L100", "id": "core_api_crypto_middleware_json_error_response", - "community": 9, + "community": 6, "norm_label": "_json_error_response()" }, { @@ -2466,7 +2466,7 @@ "source_file": "core/api_crypto_middleware.py", "source_location": "L105", "id": "core_api_crypto_middleware_coerce_post_method_override_to_get", - "community": 9, + "community": 6, "norm_label": "_coerce_post_method_override_to_get()" }, { @@ -2475,7 +2475,7 @@ "source_file": "core/api_crypto_middleware.py", "source_location": "L151", "id": "core_api_crypto_middleware_apicryptomiddleware", - "community": 9, + "community": 6, "norm_label": "apicryptomiddleware" }, { @@ -2484,7 +2484,7 @@ "source_file": "core/api_crypto_middleware.py", "source_location": "L152", "id": "core_api_crypto_middleware_apicryptomiddleware_dispatch", - "community": 9, + "community": 6, "norm_label": ".dispatch()" }, { @@ -2493,7 +2493,7 @@ "source_file": "core/api_crypto_middleware.py", "source_location": "L38", "id": "core_api_crypto_middleware_rationale_38", - "community": 9, + "community": 6, "norm_label": "\u4ec5\u5bf9\u8fd0\u8425\u7aef\u4e0e\u5c0f\u7a0b\u5e8f\u4e1a\u52a1 api \u5e94\u7528\u7edf\u4e00\u5bc6\u6587\u534f\u8bae\u3002" }, { @@ -2502,7 +2502,7 @@ "source_file": "core/api_crypto_middleware.py", "source_location": "L106", "id": "core_api_crypto_middleware_rationale_106", - "community": 9, + "community": 6, "norm_label": "\u524d\u7aef axios \u5728\u5f00\u542f\u52a0\u5bc6\u65f6\u4f1a\u628a get \u6539\u4e3a post \u5e76\u5e26 x-http-method-override: get\u3002 \u5f53\u540e\u7aef\u672a\u542f\u7528 api_en" }, { @@ -2511,7 +2511,7 @@ "source_file": "core/wechat_message.py", "source_location": "L1", "id": "core_wechat_message_py", - "community": 20, + "community": 0, "norm_label": "wechat_message.py" }, { @@ -2520,7 +2520,7 @@ "source_file": "core/wechat_message.py", "source_location": "L37", "id": "core_wechat_message_wechatmessageservice", - "community": 20, + "community": 0, "norm_label": "wechatmessageservice" }, { @@ -2529,7 +2529,7 @@ "source_file": "core/wechat_message.py", "source_location": "L49", "id": "core_wechat_message_wechatmessageservice_init", - "community": 20, + "community": 0, "norm_label": ".__init__()" }, { @@ -2538,7 +2538,7 @@ "source_file": "core/wechat_message.py", "source_location": "L55", "id": "core_wechat_message_wechatmessageservice_get_access_token", - "community": 20, + "community": 0, "norm_label": "._get_access_token()" }, { @@ -2547,7 +2547,7 @@ "source_file": "core/wechat_message.py", "source_location": "L85", "id": "core_wechat_message_wechatmessageservice_send_template_message", - "community": 20, + "community": 0, "norm_label": "._send_template_message()" }, { @@ -2556,7 +2556,7 @@ "source_file": "core/wechat_message.py", "source_location": "L135", "id": "core_wechat_message_send_order_status", - "community": 20, + "community": 0, "norm_label": "send_order_status()" }, { @@ -2565,7 +2565,7 @@ "source_file": "core/wechat_message.py", "source_location": "L172", "id": "core_wechat_message_send_payment_success", - "community": 20, + "community": 0, "norm_label": "send_payment_success()" }, { @@ -2574,7 +2574,7 @@ "source_file": "core/wechat_message.py", "source_location": "L207", "id": "core_wechat_message_send_delivery_notice", - "community": 20, + "community": 0, "norm_label": "send_delivery_notice()" }, { @@ -2583,7 +2583,7 @@ "source_file": "core/wechat_message.py", "source_location": "L244", "id": "core_wechat_message_send_delivery_warning", - "community": 20, + "community": 0, "norm_label": "send_delivery_warning()" }, { @@ -2592,7 +2592,7 @@ "source_file": "core/wechat_message.py", "source_location": "L281", "id": "core_wechat_message_send_refund_result", - "community": 20, + "community": 0, "norm_label": "send_refund_result()" }, { @@ -2601,7 +2601,7 @@ "source_file": "core/wechat_message.py", "source_location": "L318", "id": "core_wechat_message_send_urge_notification", - "community": 20, + "community": 0, "norm_label": "send_urge_notification()" }, { @@ -2610,7 +2610,7 @@ "source_file": "core/wechat_message.py", "source_location": "L1", "id": "core_wechat_message_rationale_1", - "community": 20, + "community": 0, "norm_label": "\u5fae\u4fe1\u6d88\u606f\u901a\u77e5\u670d\u52a1 \u652f\u6301\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u6a21\u677f\u6d88\u606f\u63a8\u9001 \u4f7f\u7528\u65b9\u5f0f: from app.core.wechat_message import wech" }, { @@ -2619,7 +2619,7 @@ "source_file": "core/wechat_message.py", "source_location": "L86", "id": "core_wechat_message_rationale_86", - "community": 20, + "community": 0, "norm_label": "\u53d1\u9001\u6a21\u677f\u6d88\u606f args: openid: \u7528\u6237openid templ" }, { @@ -2628,7 +2628,7 @@ "source_file": "core/wechat_message.py", "source_location": "L143", "id": "core_wechat_message_rationale_143", - "community": 38, + "community": 35, "norm_label": "\u53d1\u9001\u8ba2\u5355\u72b6\u6001\u901a\u77e5 args: openid: \u7528\u6237openid ord" }, { @@ -2637,7 +2637,7 @@ "source_file": "core/wechat_message.py", "source_location": "L179", "id": "core_wechat_message_rationale_179", - "community": 39, + "community": 36, "norm_label": "\u53d1\u9001\u652f\u4ed8\u6210\u529f\u901a\u77e5 args: openid: \u7528\u6237openid ord" }, { @@ -2646,7 +2646,7 @@ "source_file": "core/wechat_message.py", "source_location": "L215", "id": "core_wechat_message_rationale_215", - "community": 40, + "community": 37, "norm_label": "\u53d1\u9001\u914d\u9001\u901a\u77e5 args: openid: \u914d\u9001\u5458openid task" }, { @@ -2655,7 +2655,7 @@ "source_file": "core/wechat_message.py", "source_location": "L251", "id": "core_wechat_message_rationale_251", - "community": 41, + "community": 38, "norm_label": "\u53d1\u9001\u914d\u9001\u65f6\u6548\u9884\u8b66 args: openid: \u914d\u9001\u5458openid ta" }, { @@ -2664,7 +2664,7 @@ "source_file": "core/wechat_message.py", "source_location": "L289", "id": "core_wechat_message_rationale_289", - "community": 42, + "community": 39, "norm_label": "\u53d1\u9001\u9000\u6b3e\u7ed3\u679c\u901a\u77e5 args: openid: \u7528\u6237openid ord" }, { @@ -2673,7 +2673,7 @@ "source_file": "core/wechat_message.py", "source_location": "L325", "id": "core_wechat_message_rationale_325", - "community": 43, + "community": 40, "norm_label": "\u53d1\u9001\u50ac\u5355\u901a\u77e5\u7ed9\u914d\u9001\u5458 args: deliver_openid: \u914d\u9001\u5458openid" }, { @@ -2871,7 +2871,7 @@ "source_file": "models/production_material.py", "source_location": "L114", "id": "models_production_material_bizproductionmaterialformula", - "community": 1, + "community": 3, "norm_label": "bizproductionmaterialformula" }, { @@ -2880,7 +2880,7 @@ "source_file": "models/production_material.py", "source_location": "L136", "id": "models_production_material_bizproductionmaterialprep", - "community": 5, + "community": 4, "norm_label": "bizproductionmaterialprep" }, { @@ -3051,7 +3051,7 @@ "source_file": "models/models.py", "source_location": "L200", "id": "models_models_syssite", - "community": 3, + "community": 9, "norm_label": "syssite" }, { @@ -3087,7 +3087,7 @@ "source_file": "models/models.py", "source_location": "L284", "id": "models_models_bizitemunit", - "community": 3, + "community": 9, "norm_label": "bizitemunit" }, { @@ -3096,7 +3096,7 @@ "source_file": "models/models.py", "source_location": "L303", "id": "models_models_bizexpresscompany", - "community": 3, + "community": 9, "norm_label": "bizexpresscompany" }, { @@ -3105,7 +3105,7 @@ "source_file": "models/models.py", "source_location": "L323", "id": "models_models_bizcustomer", - "community": 2, + "community": 9, "norm_label": "bizcustomer" }, { @@ -3114,7 +3114,7 @@ "source_file": "models/models.py", "source_location": "L346", "id": "models_models_bizcellsampletype", - "community": 3, + "community": 9, "norm_label": "bizcellsampletype" }, { @@ -3123,7 +3123,7 @@ "source_file": "models/models.py", "source_location": "L369", "id": "models_models_bizcollectionregion", - "community": 3, + "community": 9, "norm_label": "bizcollectionregion" }, { @@ -3132,7 +3132,7 @@ "source_file": "models/models.py", "source_location": "L387", "id": "models_models_bizcollectionhospital", - "community": 3, + "community": 9, "norm_label": "bizcollectionhospital" }, { @@ -3141,7 +3141,7 @@ "source_file": "models/models.py", "source_location": "L406", "id": "models_models_bizcollectionprotocolno", - "community": 2, + "community": 9, "norm_label": "bizcollectionprotocolno" }, { @@ -3159,7 +3159,7 @@ "source_file": "models/models.py", "source_location": "L448", "id": "models_models_bizsamplecode", - "community": 2, + "community": 9, "norm_label": "bizsamplecode" }, { @@ -3357,7 +3357,7 @@ "source_file": "models/models.py", "source_location": "L986", "id": "models_models_bizcollectionprotocol", - "community": 3, + "community": 9, "norm_label": "bizcollectionprotocol" }, { @@ -3366,7 +3366,7 @@ "source_file": "models/models.py", "source_location": "L1020", "id": "models_models_bizprotocolaudit", - "community": 3, + "community": 9, "norm_label": "bizprotocolaudit" }, { @@ -3375,7 +3375,7 @@ "source_file": "models/models.py", "source_location": "L1041", "id": "models_models_bizstoragereleasereview", - "community": 3, + "community": 9, "norm_label": "bizstoragereleasereview" }, { @@ -3384,7 +3384,7 @@ "source_file": "models/models.py", "source_location": "L1074", "id": "models_models_bizprotocolpayment", - "community": 3, + "community": 9, "norm_label": "bizprotocolpayment" }, { @@ -3393,7 +3393,7 @@ "source_file": "models/models.py", "source_location": "L1100", "id": "models_models_bizprotocolpaymentdetail", - "community": 3, + "community": 9, "norm_label": "bizprotocolpaymentdetail" }, { @@ -3402,7 +3402,7 @@ "source_file": "models/models.py", "source_location": "L1133", "id": "models_models_bizprotocolinvoicerequest", - "community": 3, + "community": 9, "norm_label": "bizprotocolinvoicerequest" }, { @@ -3411,7 +3411,7 @@ "source_file": "models/models.py", "source_location": "L1163", "id": "models_models_bizprotocolinvoicerequestitem", - "community": 3, + "community": 9, "norm_label": "bizprotocolinvoicerequestitem" }, { @@ -3420,7 +3420,7 @@ "source_file": "models/models.py", "source_location": "L1185", "id": "models_models_bizprotocolpartycustomer", - "community": 3, + "community": 9, "norm_label": "bizprotocolpartycustomer" }, { @@ -3429,7 +3429,7 @@ "source_file": "models/models.py", "source_location": "L1225", "id": "models_models_bizprotocolcollectioninfo", - "community": 3, + "community": 9, "norm_label": "bizprotocolcollectioninfo" }, { @@ -3438,7 +3438,7 @@ "source_file": "models/models.py", "source_location": "L1249", "id": "models_models_bizprotocolsample", - "community": 3, + "community": 9, "norm_label": "bizprotocolsample" }, { @@ -3447,7 +3447,7 @@ "source_file": "models/models.py", "source_location": "L1282", "id": "models_models_bizprotocolsampletransport", - "community": 3, + "community": 9, "norm_label": "bizprotocolsampletransport" }, { @@ -3465,7 +3465,7 @@ "source_file": "models/models.py", "source_location": "L1334", "id": "models_models_bizprotocolstoragecert", - "community": 3, + "community": 9, "norm_label": "bizprotocolstoragecert" }, { @@ -3483,7 +3483,7 @@ "source_file": "models/models.py", "source_location": "L1375", "id": "models_models_bizsamplereceptioncheckresult", - "community": 3, + "community": 9, "norm_label": "bizsamplereceptioncheckresult" }, { @@ -3492,7 +3492,7 @@ "source_file": "models/models.py", "source_location": "L1397", "id": "models_models_bizsamplereception", - "community": 3, + "community": 9, "norm_label": "bizsamplereception" }, { @@ -3564,7 +3564,7 @@ "source_file": "models/models.py", "source_location": "L1620", "id": "models_models_bizqcworkorder", - "community": 3, + "community": 9, "norm_label": "bizqcworkorder" }, { @@ -3627,7 +3627,7 @@ "source_file": "models/models.py", "source_location": "L1817", "id": "models_models_bizcleanroom", - "community": 10, + "community": 11, "norm_label": "bizcleanroom" }, { @@ -3636,7 +3636,7 @@ "source_file": "models/models.py", "source_location": "L1840", "id": "models_models_bizcleanroomaccesslog", - "community": 10, + "community": 11, "norm_label": "bizcleanroomaccesslog" }, { @@ -3645,7 +3645,7 @@ "source_file": "models/models.py", "source_location": "L1865", "id": "models_models_bizcleanroomuvdisinfectlog", - "community": 10, + "community": 11, "norm_label": "bizcleanroomuvdisinfectlog" }, { @@ -3654,7 +3654,7 @@ "source_file": "models/models.py", "source_location": "L1888", "id": "models_models_bizstoragefacility", - "community": 10, + "community": 11, "norm_label": "bizstoragefacility" }, { @@ -3663,7 +3663,7 @@ "source_file": "models/models.py", "source_location": "L1910", "id": "models_models_bizstoragefacilityslot", - "community": 10, + "community": 11, "norm_label": "bizstoragefacilityslot" }, { @@ -3681,7 +3681,7 @@ "source_file": "models/models.py", "source_location": "L1959", "id": "models_models_bizexhibitionappointment", - "community": 10, + "community": 11, "norm_label": "bizexhibitionappointment" }, { @@ -4167,7 +4167,7 @@ "source_file": "models/models.py", "source_location": "L3282", "id": "models_models_bizprotocolfullmoontodo", - "community": 3, + "community": 9, "norm_label": "bizprotocolfullmoontodo" }, { @@ -5625,7 +5625,7 @@ "source_file": "models/__init__.py", "source_location": "L1", "id": "models_init_py", - "community": 44, + "community": 41, "norm_label": "__init__.py" }, { @@ -5634,7 +5634,7 @@ "source_file": "models/research_donation.py", "source_location": "L1", "id": "models_research_donation_py", - "community": 3, + "community": 9, "norm_label": "research_donation.py" }, { @@ -5643,7 +5643,7 @@ "source_file": "models/research_donation.py", "source_location": "L9", "id": "models_research_donation_bizresearchdonation", - "community": 3, + "community": 9, "norm_label": "bizresearchdonation" }, { @@ -5652,7 +5652,7 @@ "source_file": "models/research_donation.py", "source_location": "L46", "id": "models_research_donation_bizresearchdonationaudit", - "community": 3, + "community": 9, "norm_label": "bizresearchdonationaudit" }, { @@ -5661,7 +5661,7 @@ "source_file": "models/research_donation.py", "source_location": "L67", "id": "models_research_donation_bizresearchdonationparty", - "community": 3, + "community": 9, "norm_label": "bizresearchdonationparty" }, { @@ -5670,7 +5670,7 @@ "source_file": "models/research_donation.py", "source_location": "L107", "id": "models_research_donation_bizresearchdonationcollection", - "community": 3, + "community": 9, "norm_label": "bizresearchdonationcollection" }, { @@ -5679,7 +5679,7 @@ "source_file": "models/research_donation.py", "source_location": "L131", "id": "models_research_donation_bizresearchdonationsample", - "community": 3, + "community": 9, "norm_label": "bizresearchdonationsample" }, { @@ -5688,7 +5688,7 @@ "source_file": "models/research_donation.py", "source_location": "L162", "id": "models_research_donation_bizresearchdonationsampletransport", - "community": 3, + "community": 9, "norm_label": "bizresearchdonationsampletransport" }, { @@ -5697,7 +5697,7 @@ "source_file": "models/research_donation.py", "source_location": "L190", "id": "models_research_donation_bizprotocoldonationconvert", - "community": 4, + "community": 9, "norm_label": "bizprotocoldonationconvert" }, { @@ -5706,7 +5706,7 @@ "source_file": "models/research_donation.py", "source_location": "L10", "id": "models_research_donation_rationale_10", - "community": 3, + "community": 9, "norm_label": "\u79d1\u7814\u6350\u8d60\u4e3b\u8868 biz_research_donation" }, { @@ -5715,7 +5715,7 @@ "source_file": "models/research_donation.py", "source_location": "L47", "id": "models_research_donation_rationale_47", - "community": 3, + "community": 9, "norm_label": "\u79d1\u7814\u6350\u8d60\u5ba1\u6838\u8bb0\u5f55 biz_research_donation_audit" }, { @@ -5724,7 +5724,7 @@ "source_file": "models/research_donation.py", "source_location": "L68", "id": "models_research_donation_rationale_68", - "community": 3, + "community": 9, "norm_label": "\u79d1\u7814\u6350\u8d60\u5f53\u4e8b\u4eba\u4fe1\u606f biz_research_donation_party" }, { @@ -5733,7 +5733,7 @@ "source_file": "models/research_donation.py", "source_location": "L108", "id": "models_research_donation_rationale_108", - "community": 3, + "community": 9, "norm_label": "\u79d1\u7814\u6350\u8d60\u91c7\u96c6\u4fe1\u606f biz_research_donation_collection" }, { @@ -5742,7 +5742,7 @@ "source_file": "models/research_donation.py", "source_location": "L132", "id": "models_research_donation_rationale_132", - "community": 3, + "community": 9, "norm_label": "\u79d1\u7814\u6350\u8d60\u6837\u672c\u4fe1\u606f biz_research_donation_sample(\u65e0\u91d1\u989d\u5b57\u6bb5)" }, { @@ -5751,7 +5751,7 @@ "source_file": "models/research_donation.py", "source_location": "L163", "id": "models_research_donation_rationale_163", - "community": 3, + "community": 9, "norm_label": "\u79d1\u7814\u6350\u8d60\u6837\u672c\u8fd0\u8f93 biz_research_donation_sample_transport" }, { @@ -5760,7 +5760,7 @@ "source_file": "models/research_donation.py", "source_location": "L191", "id": "models_research_donation_rationale_191", - "community": 4, + "community": 9, "norm_label": "\u7ec6\u80de\u5b58\u50a8\u534f\u8bae\u4e0e\u79d1\u7814\u6350\u8d60\u8f6c\u79fb\u5173\u8054 biz_protocol_donation_convert" }, { @@ -5832,7 +5832,7 @@ "source_file": "models/base.py", "source_location": "L1", "id": "models_base_py", - "community": 27, + "community": 24, "norm_label": "base.py" }, { @@ -5841,7 +5841,7 @@ "source_file": "models/base.py", "source_location": "L10", "id": "models_base_basemodel", - "community": 27, + "community": 24, "norm_label": "basemodel" }, { @@ -5850,7 +5850,7 @@ "source_file": "models/base.py", "source_location": "L15", "id": "models_base_tablename", - "community": 27, + "community": 24, "norm_label": "__tablename__()" }, { @@ -5859,7 +5859,7 @@ "source_file": "models/base.py", "source_location": "L29", "id": "models_base_basemodel_to_dict", - "community": 27, + "community": 24, "norm_label": ".to_dict()" }, { @@ -5868,7 +5868,7 @@ "source_file": "models/base.py", "source_location": "L44", "id": "models_base_softdeletemodel", - "community": 27, + "community": 24, "norm_label": "softdeletemodel" }, { @@ -5877,7 +5877,7 @@ "source_file": "models/base.py", "source_location": "L51", "id": "models_base_get_active", - "community": 27, + "community": 24, "norm_label": "get_active()" }, { @@ -5886,7 +5886,7 @@ "source_file": "models/base.py", "source_location": "L55", "id": "models_base_softdeletemodel_soft_delete", - "community": 27, + "community": 24, "norm_label": ".soft_delete()" }, { @@ -5895,7 +5895,7 @@ "source_file": "models/base.py", "source_location": "L60", "id": "models_base_softdeletemodel_restore", - "community": 27, + "community": 24, "norm_label": ".restore()" }, { @@ -6012,7 +6012,7 @@ "source_file": "schemas/process_route.py", "source_location": "L1", "id": "schemas_process_route_py", - "community": 2, + "community": 13, "norm_label": "process_route.py" }, { @@ -6021,7 +6021,7 @@ "source_file": "schemas/process_route.py", "source_location": "L7", "id": "schemas_process_route_processroutecreatebody", - "community": 2, + "community": 13, "norm_label": "processroutecreatebody" }, { @@ -6030,7 +6030,7 @@ "source_file": "schemas/process_route.py", "source_location": "L16", "id": "schemas_process_route_processrouteupdatebody", - "community": 2, + "community": 13, "norm_label": "processrouteupdatebody" }, { @@ -6039,7 +6039,7 @@ "source_file": "schemas/process_route.py", "source_location": "L26", "id": "schemas_process_route_setcurrentbody", - "community": 2, + "community": 13, "norm_label": "setcurrentbody" }, { @@ -6048,7 +6048,7 @@ "source_file": "schemas/process_route.py", "source_location": "L32", "id": "schemas_process_route_stepaddbody", - "community": 2, + "community": 13, "norm_label": "stepaddbody" }, { @@ -6057,7 +6057,7 @@ "source_file": "schemas/process_route.py", "source_location": "L39", "id": "schemas_process_route_stepcopybody", - "community": 2, + "community": 13, "norm_label": "stepcopybody" }, { @@ -6066,7 +6066,7 @@ "source_file": "schemas/process_route.py", "source_location": "L44", "id": "schemas_process_route_stepupdatebody", - "community": 2, + "community": 13, "norm_label": "stepupdatebody" }, { @@ -6075,7 +6075,7 @@ "source_file": "schemas/process_route.py", "source_location": "L56", "id": "schemas_process_route_stepreorderbody", - "community": 2, + "community": 13, "norm_label": "stepreorderbody" }, { @@ -6120,7 +6120,7 @@ "source_file": "schemas/process_route.py", "source_location": "L105", "id": "schemas_process_route_stepreagentupdatebody", - "community": 2, + "community": 13, "norm_label": "stepreagentupdatebody" }, { @@ -6129,7 +6129,7 @@ "source_file": "schemas/process_route.py", "source_location": "L111", "id": "schemas_process_route_stepconsumableupdatebody", - "community": 2, + "community": 13, "norm_label": "stepconsumableupdatebody" }, { @@ -6138,7 +6138,7 @@ "source_file": "schemas/process_route.py", "source_location": "L117", "id": "schemas_process_route_stepoutputupdatebody", - "community": 2, + "community": 13, "norm_label": "stepoutputupdatebody" }, { @@ -6147,7 +6147,7 @@ "source_file": "schemas/process_route.py", "source_location": "L123", "id": "schemas_process_route_stepdatacollectionupdatebody", - "community": 2, + "community": 13, "norm_label": "stepdatacollectionupdatebody" }, { @@ -6156,7 +6156,7 @@ "source_file": "schemas/process_route.py", "source_location": "L1", "id": "schemas_process_route_rationale_1", - "community": 2, + "community": 13, "norm_label": "\u5de5\u827a\u8def\u7ebf\u7ba1\u7406 pydantic schemas" }, { @@ -6849,7 +6849,7 @@ "source_file": "schemas/production_work_order.py", "source_location": "L1", "id": "schemas_production_work_order_py", - "community": 2, + "community": 13, "norm_label": "production_work_order.py" }, { @@ -6867,7 +6867,7 @@ "source_file": "schemas/production_work_order.py", "source_location": "L10", "id": "schemas_production_work_order_productionworkorderlistquery", - "community": 2, + "community": 13, "norm_label": "productionworkorderlistquery" }, { @@ -6876,7 +6876,7 @@ "source_file": "schemas/production_work_order.py", "source_location": "L30", "id": "schemas_production_work_order_productionworkordercomplete", - "community": 2, + "community": 13, "norm_label": "productionworkordercomplete" }, { @@ -6885,7 +6885,7 @@ "source_file": "schemas/production_work_order.py", "source_location": "L34", "id": "schemas_production_work_order_productionworkorderupdate", - "community": 2, + "community": 13, "norm_label": "productionworkorderupdate" }, { @@ -6894,7 +6894,7 @@ "source_file": "schemas/production_work_order.py", "source_location": "L40", "id": "schemas_production_work_order_productionworkordercreate", - "community": 2, + "community": 13, "norm_label": "productionworkordercreate" }, { @@ -6903,7 +6903,7 @@ "source_file": "schemas/production_work_order.py", "source_location": "L50", "id": "schemas_production_work_order_productionworkorderconfigurebody", - "community": 2, + "community": 13, "norm_label": "productionworkorderconfigurebody" }, { @@ -7398,7 +7398,7 @@ "source_file": "schemas/production_task.py", "source_location": "L1", "id": "schemas_production_task_py", - "community": 2, + "community": 13, "norm_label": "production_task.py" }, { @@ -7407,7 +7407,7 @@ "source_file": "schemas/production_task.py", "source_location": "L6", "id": "schemas_production_task_productiontaskcreate", - "community": 2, + "community": 13, "norm_label": "productiontaskcreate" }, { @@ -7416,7 +7416,7 @@ "source_file": "schemas/production_task.py", "source_location": "L17", "id": "schemas_production_task_productiontaskforwardbody", - "community": 2, + "community": 13, "norm_label": "productiontaskforwardbody" }, { @@ -7425,7 +7425,7 @@ "source_file": "schemas/production_task.py", "source_location": "L23", "id": "schemas_production_task_productiontaskassigneeupdate", - "community": 2, + "community": 13, "norm_label": "productiontaskassigneeupdate" }, { @@ -7443,7 +7443,7 @@ "source_file": "schemas/production_task.py", "source_location": "L38", "id": "schemas_production_task_productiontasklistbyworkordersbody", - "community": 2, + "community": 13, "norm_label": "productiontasklistbyworkordersbody" }, { @@ -7452,7 +7452,7 @@ "source_file": "schemas/production_task.py", "source_location": "L48", "id": "schemas_production_task_productiontaskupdate", - "community": 2, + "community": 13, "norm_label": "productiontaskupdate" }, { @@ -7461,7 +7461,7 @@ "source_file": "schemas/production_task.py", "source_location": "L57", "id": "schemas_production_task_productiontaskstatusupdate", - "community": 2, + "community": 13, "norm_label": "productiontaskstatusupdate" }, { @@ -7470,7 +7470,7 @@ "source_file": "schemas/production_task.py", "source_location": "L64", "id": "schemas_production_task_taskstepadd", - "community": 2, + "community": 13, "norm_label": "taskstepadd" }, { @@ -7479,7 +7479,7 @@ "source_file": "schemas/production_task.py", "source_location": "L75", "id": "schemas_production_task_taskstepupdate", - "community": 2, + "community": 13, "norm_label": "taskstepupdate" }, { @@ -7488,7 +7488,7 @@ "source_file": "schemas/production_task.py", "source_location": "L85", "id": "schemas_production_task_taskstepmaterialitem", - "community": 2, + "community": 13, "norm_label": "taskstepmaterialitem" }, { @@ -7497,7 +7497,7 @@ "source_file": "schemas/production_task.py", "source_location": "L100", "id": "schemas_production_task_taskstepoutputitem", - "community": 2, + "community": 13, "norm_label": "taskstepoutputitem" }, { @@ -7506,7 +7506,7 @@ "source_file": "schemas/production_task.py", "source_location": "L107", "id": "schemas_production_task_taskstepdatacollectionitem", - "community": 2, + "community": 13, "norm_label": "taskstepdatacollectionitem" }, { @@ -7515,7 +7515,7 @@ "source_file": "schemas/production_task.py", "source_location": "L114", "id": "schemas_production_task_taskinputitem", - "community": 2, + "community": 13, "norm_label": "taskinputitem" }, { @@ -7524,7 +7524,7 @@ "source_file": "schemas/production_task.py", "source_location": "L123", "id": "schemas_production_task_taskoutputitem", - "community": 2, + "community": 13, "norm_label": "taskoutputitem" }, { @@ -7533,7 +7533,7 @@ "source_file": "schemas/production_task.py", "source_location": "L152", "id": "schemas_production_task_taskstepreorderbody", - "community": 2, + "community": 13, "norm_label": "taskstepreorderbody" }, { @@ -7551,7 +7551,7 @@ "source_file": "schemas/production_task.py", "source_location": "L165", "id": "schemas_production_task_productiontaskstepdispatchbody", - "community": 2, + "community": 13, "norm_label": "productiontaskstepdispatchbody" }, { @@ -7560,7 +7560,7 @@ "source_file": "schemas/production_task.py", "source_location": "L170", "id": "schemas_production_task_spawntemporaryworkorderbody", - "community": 2, + "community": 13, "norm_label": "spawntemporaryworkorderbody" }, { @@ -7569,7 +7569,7 @@ "source_file": "schemas/production_task.py", "source_location": "L39", "id": "schemas_production_task_rationale_39", - "community": 2, + "community": 13, "norm_label": "\u6309\u591a\u4e2a\u5de5\u5355 id \u6279\u91cf\u67e5\u8be2\u751f\u4ea7\u4efb\u52a1(post body,\u907f\u514d get url \u8fc7\u957f)" }, { @@ -8271,7 +8271,7 @@ "source_file": "schemas/__init__.py", "source_location": "L1", "id": "schemas_init_py", - "community": 45, + "community": 42, "norm_label": "__init__.py" }, { @@ -8352,7 +8352,7 @@ "source_file": "schemas/cell_product.py", "source_location": "L53", "id": "schemas_cell_product_cellproductcreate", - "community": 2, + "community": 13, "norm_label": "cellproductcreate" }, { @@ -8388,7 +8388,7 @@ "source_file": "schemas/cell_product.py", "source_location": "L99", "id": "schemas_cell_product_cellproductupdate", - "community": 2, + "community": 13, "norm_label": "cellproductupdate" }, { @@ -8775,7 +8775,7 @@ "source_file": "schemas/qc_work_order.py", "source_location": "L89", "id": "schemas_qc_work_order_productionqcworkordercreatebody", - "community": 2, + "community": 13, "norm_label": "productionqcworkordercreatebody" }, { @@ -8856,7 +8856,7 @@ "source_file": "schemas/product.py", "source_location": "L1", "id": "schemas_product_py", - "community": 21, + "community": 2, "norm_label": "product.py" }, { @@ -8865,7 +8865,7 @@ "source_file": "schemas/product.py", "source_location": "L7", "id": "schemas_product_productunitbase", - "community": 21, + "community": 2, "norm_label": "productunitbase" }, { @@ -8874,7 +8874,7 @@ "source_file": "schemas/product.py", "source_location": "L13", "id": "schemas_product_productunitcreate", - "community": 21, + "community": 2, "norm_label": "productunitcreate" }, { @@ -8883,7 +8883,7 @@ "source_file": "schemas/product.py", "source_location": "L18", "id": "schemas_product_productunitresponse", - "community": 21, + "community": 2, "norm_label": "productunitresponse" }, { @@ -8892,7 +8892,7 @@ "source_file": "schemas/product.py", "source_location": "L24", "id": "schemas_product_config", - "community": 21, + "community": 2, "norm_label": "config" }, { @@ -8901,7 +8901,7 @@ "source_file": "schemas/product.py", "source_location": "L28", "id": "schemas_product_productcategorybase", - "community": 21, + "community": 2, "norm_label": "productcategorybase" }, { @@ -8910,7 +8910,7 @@ "source_file": "schemas/product.py", "source_location": "L35", "id": "schemas_product_productcategorycreate", - "community": 21, + "community": 2, "norm_label": "productcategorycreate" }, { @@ -8919,7 +8919,7 @@ "source_file": "schemas/product.py", "source_location": "L40", "id": "schemas_product_productcategoryresponse", - "community": 21, + "community": 2, "norm_label": "productcategoryresponse" }, { @@ -8928,7 +8928,7 @@ "source_file": "schemas/product.py", "source_location": "L50", "id": "schemas_product_productbase", - "community": 21, + "community": 2, "norm_label": "productbase" }, { @@ -8937,7 +8937,7 @@ "source_file": "schemas/product.py", "source_location": "L59", "id": "schemas_product_productcreate", - "community": 21, + "community": 2, "norm_label": "productcreate" }, { @@ -8946,7 +8946,7 @@ "source_file": "schemas/product.py", "source_location": "L64", "id": "schemas_product_productupdate", - "community": 21, + "community": 2, "norm_label": "productupdate" }, { @@ -8955,7 +8955,7 @@ "source_file": "schemas/product.py", "source_location": "L74", "id": "schemas_product_productresponse", - "community": 21, + "community": 2, "norm_label": "productresponse" }, { @@ -8964,7 +8964,7 @@ "source_file": "schemas/product.py", "source_location": "L1", "id": "schemas_product_rationale_1", - "community": 21, + "community": 2, "norm_label": "pydantic schemas - \u5546\u54c1\u7ba1\u7406" }, { @@ -9387,7 +9387,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L1", "id": "crud_storage_release_review_py", - "community": 7, + "community": 5, "norm_label": "storage_release_review.py" }, { @@ -9396,7 +9396,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L54", "id": "crud_storage_release_review_fmt_dt", - "community": 7, + "community": 5, "norm_label": "_fmt_dt()" }, { @@ -9405,7 +9405,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L58", "id": "crud_storage_release_review_total_pages", - "community": 7, + "community": 5, "norm_label": "total_pages()" }, { @@ -9414,7 +9414,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L64", "id": "crud_storage_release_review_row_to_dict", - "community": 7, + "community": 5, "norm_label": "_row_to_dict()" }, { @@ -9432,7 +9432,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L130", "id": "crud_storage_release_review_normalize_review_phase", - "community": 7, + "community": 5, "norm_label": "normalize_review_phase()" }, { @@ -9441,7 +9441,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L138", "id": "crud_storage_release_review_normalize_qc_work_order_completed", - "community": 7, + "community": 5, "norm_label": "normalize_qc_work_order_completed()" }, { @@ -9450,7 +9450,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L152", "id": "crud_storage_release_review_normalize_ready_for_review_only", - "community": 7, + "community": 5, "norm_label": "normalize_ready_for_review_only()" }, { @@ -9459,7 +9459,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L164", "id": "crud_storage_release_review_is_inactive_protocol_status_for_hide", - "community": 7, + "community": 5, "norm_label": "is_inactive_protocol_status_for_hide()" }, { @@ -9468,7 +9468,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L170", "id": "crud_storage_release_review_inbound_work_orders_all_void", - "community": 7, + "community": 5, "norm_label": "inbound_work_orders_all_void()" }, { @@ -9477,7 +9477,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L178", "id": "crud_storage_release_review_qc_work_order_exists_for_review_sample", - "community": 7, + "community": 5, "norm_label": "_qc_work_order_exists_for_review_sample()" }, { @@ -9486,7 +9486,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L201", "id": "crud_storage_release_review_production_work_order_unfinished_exists_for_review_sample", - "community": 7, + "community": 5, "norm_label": "_production_work_order_unfinished_exists_for_review_sample()" }, { @@ -9495,7 +9495,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L222", "id": "crud_storage_release_review_inactive_protocol_exists_for_review", - "community": 7, + "community": 5, "norm_label": "_inactive_protocol_exists_for_review()" }, { @@ -9504,7 +9504,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L263", "id": "crud_storage_release_review_inbound_qc_all_void_for_review_sample", - "community": 7, + "community": 5, "norm_label": "_inbound_qc_all_void_for_review_sample()" }, { @@ -9513,7 +9513,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L292", "id": "crud_storage_release_review_inbound_production_all_void_for_review_sample", - "community": 7, + "community": 5, "norm_label": "_inbound_production_all_void_for_review_sample()" }, { @@ -9522,7 +9522,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L323", "id": "crud_storage_release_review_list_reviews", - "community": 7, + "community": 5, "norm_label": "list_reviews()" }, { @@ -9531,7 +9531,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L437", "id": "crud_storage_release_review_enrich_review_list_items", - "community": 7, + "community": 5, "norm_label": "_enrich_review_list_items()" }, { @@ -9540,7 +9540,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L530", "id": "crud_storage_release_review_get_user_name", - "community": 7, + "community": 5, "norm_label": "_get_user_name()" }, { @@ -9549,7 +9549,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L535", "id": "crud_storage_release_review_get_review_detail", - "community": 7, + "community": 5, "norm_label": "get_review_detail()" }, { @@ -9558,7 +9558,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L599", "id": "crud_storage_release_review_build_cell_storage_protocol_info", - "community": 7, + "community": 5, "norm_label": "_build_cell_storage_protocol_info()" }, { @@ -9567,7 +9567,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L657", "id": "crud_storage_release_review_build_research_donation_protocol_info", - "community": 7, + "community": 5, "norm_label": "_build_research_donation_protocol_info()" }, { @@ -9576,7 +9576,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L715", "id": "crud_storage_release_review_build_cell_storage_transport_info", - "community": 7, + "community": 5, "norm_label": "_build_cell_storage_transport_info()" }, { @@ -9585,7 +9585,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L749", "id": "crud_storage_release_review_build_research_donation_transport_info", - "community": 7, + "community": 5, "norm_label": "_build_research_donation_transport_info()" }, { @@ -9594,7 +9594,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L783", "id": "crud_storage_release_review_build_reception_info", - "community": 7, + "community": 5, "norm_label": "_build_reception_info()" }, { @@ -9603,7 +9603,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L806", "id": "crud_storage_release_review_build_gate_qc_info", - "community": 7, + "community": 5, "norm_label": "_build_gate_qc_info()" }, { @@ -9612,7 +9612,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L826", "id": "crud_storage_release_review_build_process_qc_info_list", - "community": 7, + "community": 5, "norm_label": "_build_process_qc_info_list()" }, { @@ -9621,7 +9621,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L837", "id": "crud_storage_release_review_build_production_info", - "community": 7, + "community": 5, "norm_label": "_build_production_info()" }, { @@ -9630,7 +9630,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L855", "id": "crud_storage_release_review_submit_review", - "community": 7, + "community": 5, "norm_label": "submit_review()" }, { @@ -9639,7 +9639,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L890", "id": "crud_storage_release_review_batch_submit_review", - "community": 7, + "community": 5, "norm_label": "batch_submit_review()" }, { @@ -9648,7 +9648,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L919", "id": "crud_storage_release_review_store_sample", - "community": 7, + "community": 5, "norm_label": "store_sample()" }, { @@ -9657,7 +9657,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L973", "id": "crud_storage_release_review_batch_store_samples", - "community": 7, + "community": 5, "norm_label": "batch_store_samples()" }, { @@ -9666,7 +9666,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L991", "id": "crud_storage_release_review_get_storage_release_map_for_samples", - "community": 7, + "community": 5, "norm_label": "get_storage_release_map_for_samples()" }, { @@ -9675,7 +9675,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L131", "id": "crud_storage_release_review_rationale_131", - "community": 3, + "community": 9, "norm_label": "return 'pending' | 'reviewed' or none when absent/invalid." }, { @@ -9684,7 +9684,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L139", "id": "crud_storage_release_review_rationale_139", - "community": 3, + "community": 9, "norm_label": "return true/false when recognizable; none means no filter." }, { @@ -9693,7 +9693,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L153", "id": "crud_storage_release_review_rationale_153", - "community": 3, + "community": 9, "norm_label": "return true when ready-only filter should apply; none means no filter." }, { @@ -9702,7 +9702,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L165", "id": "crud_storage_release_review_rationale_165", - "community": 3, + "community": 9, "norm_label": "true when protocol/donation status is yzf or sdfq (list-hide rule)." }, { @@ -9711,7 +9711,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L171", "id": "crud_storage_release_review_rationale_171", - "community": 3, + "community": 9, "norm_label": "true when there is \u22651 non-empty status and every one equals yzf." }, { @@ -9720,7 +9720,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L181", "id": "crud_storage_release_review_rationale_181", - "community": 3, + "community": 9, "norm_label": "correlate biz_qc_work_order to bizstoragereleasereview.sample_code." }, { @@ -9729,7 +9729,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L202", "id": "crud_storage_release_review_rationale_202", - "community": 3, + "community": 9, "norm_label": "true if sample has any unfinished inbound-side production wo (dpz/jxz)." }, { @@ -9738,7 +9738,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L223", "id": "crud_storage_release_review_rationale_223", - "community": 3, + "community": 9, "norm_label": "true when linked collection/donation protocol is yzf or sdfq." }, { @@ -9747,7 +9747,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L264", "id": "crud_storage_release_review_rationale_264", - "community": 3, + "community": 9, "norm_label": "true when sample has \u22651 inbound qc wo and every such wo is yzf." }, { @@ -9756,7 +9756,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L293", "id": "crud_storage_release_review_rationale_293", - "community": 3, + "community": 9, "norm_label": "true when sample has \u22651 inbound production wo and every such wo is yzf." }, { @@ -9765,7 +9765,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L809", "id": "crud_storage_release_review_rationale_809", - "community": 3, + "community": 9, "norm_label": "\u5165\u5e93\u653e\u884c\u95e8\u7981\u8d28\u68c0(\u4ec5 trigger_source=reception)\u3002" }, { @@ -9774,7 +9774,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L829", "id": "crud_storage_release_review_rationale_829", - "community": 3, + "community": 9, "norm_label": "\u751f\u4ea7\u8fc7\u7a0b\u89e6\u53d1\u7684\u5165\u5e93\u8d28\u68c0(\u53ea\u8bfb\u5c55\u793a,\u4e0d\u53c2\u4e0e\u653e\u884c\u5224\u5b9a)\u3002" }, { @@ -9783,7 +9783,7 @@ "source_file": "crud/storage_release_review.py", "source_location": "L998", "id": "crud_storage_release_review_rationale_998", - "community": 3, + "community": 9, "norm_label": "\u6309\u6837\u672c\u6279\u91cf\u8fd4\u56de\u5b58\u50a8\u653e\u884c\u5ba1\u6838\u6458\u8981\u3002 \u5f53\u4f20\u5165 sample_code_by_id \u65f6,\u6309\u79df\u6237 + \u6837\u672c\u7f16\u7801\u5173\u8054\u5b58\u50a8\u653e\u884c\u5ba1\u6838\u8bb0\u5f55, \u8fd4\u56de\u4ee5 samp" }, { @@ -9792,7 +9792,7 @@ "source_file": "crud/equipment.py", "source_location": "L1", "id": "crud_equipment_py", - "community": 19, + "community": 17, "norm_label": "equipment.py" }, { @@ -9801,7 +9801,7 @@ "source_file": "crud/equipment.py", "source_location": "L17", "id": "crud_equipment_dec", - "community": 19, + "community": 17, "norm_label": "_dec()" }, { @@ -9810,7 +9810,7 @@ "source_file": "crud/equipment.py", "source_location": "L23", "id": "crud_equipment_norm_status", - "community": 19, + "community": 17, "norm_label": "_norm_status()" }, { @@ -9819,7 +9819,7 @@ "source_file": "crud/equipment.py", "source_location": "L39", "id": "crud_equipment_parse_date", - "community": 19, + "community": 17, "norm_label": "_parse_date()" }, { @@ -9828,7 +9828,7 @@ "source_file": "crud/equipment.py", "source_location": "L57", "id": "crud_equipment_row_to_dict", - "community": 19, + "community": 17, "norm_label": "_row_to_dict()" }, { @@ -9837,7 +9837,7 @@ "source_file": "crud/equipment.py", "source_location": "L77", "id": "crud_equipment_list_equipments", - "community": 19, + "community": 17, "norm_label": "list_equipments()" }, { @@ -9846,7 +9846,7 @@ "source_file": "crud/equipment.py", "source_location": "L123", "id": "crud_equipment_get_equipment", - "community": 19, + "community": 17, "norm_label": "get_equipment()" }, { @@ -9855,7 +9855,7 @@ "source_file": "crud/equipment.py", "source_location": "L131", "id": "crud_equipment_equipment_is_referenced", - "community": 19, + "community": 17, "norm_label": "equipment_is_referenced()" }, { @@ -9864,7 +9864,7 @@ "source_file": "crud/equipment.py", "source_location": "L148", "id": "crud_equipment_equipment_code_exists", - "community": 19, + "community": 17, "norm_label": "equipment_code_exists()" }, { @@ -9873,7 +9873,7 @@ "source_file": "crud/equipment.py", "source_location": "L163", "id": "crud_equipment_create_equipment", - "community": 19, + "community": 17, "norm_label": "create_equipment()" }, { @@ -9882,7 +9882,7 @@ "source_file": "crud/equipment.py", "source_location": "L212", "id": "crud_equipment_update_equipment", - "community": 19, + "community": 17, "norm_label": "update_equipment()" }, { @@ -9891,7 +9891,7 @@ "source_file": "crud/equipment.py", "source_location": "L269", "id": "crud_equipment_soft_delete_equipment", - "community": 19, + "community": 17, "norm_label": "soft_delete_equipment()" }, { @@ -9900,7 +9900,7 @@ "source_file": "crud/equipment.py", "source_location": "L281", "id": "crud_equipment_total_pages", - "community": 19, + "community": 17, "norm_label": "total_pages()" }, { @@ -9909,7 +9909,7 @@ "source_file": "crud/equipment.py", "source_location": "L1", "id": "crud_equipment_rationale_1", - "community": 19, + "community": 17, "norm_label": "\u8bbe\u5907 crud(biz_equipment)" }, { @@ -9918,7 +9918,7 @@ "source_file": "crud/qc_task.py", "source_location": "L1", "id": "crud_qc_task_py", - "community": 7, + "community": 5, "norm_label": "qc_task.py" }, { @@ -9927,7 +9927,7 @@ "source_file": "crud/qc_task.py", "source_location": "L40", "id": "crud_qc_task_dec", - "community": 7, + "community": 5, "norm_label": "_dec()" }, { @@ -9936,7 +9936,7 @@ "source_file": "crud/qc_task.py", "source_location": "L46", "id": "crud_qc_task_fmt_dt", - "community": 7, + "community": 5, "norm_label": "_fmt_dt()" }, { @@ -9945,7 +9945,7 @@ "source_file": "crud/qc_task.py", "source_location": "L50", "id": "crud_qc_task_gen_task_no", - "community": 7, + "community": 5, "norm_label": "_gen_task_no()" }, { @@ -9954,7 +9954,7 @@ "source_file": "crud/qc_task.py", "source_location": "L63", "id": "crud_qc_task_conclusion_label", - "community": 7, + "community": 5, "norm_label": "_conclusion_label()" }, { @@ -9963,7 +9963,7 @@ "source_file": "crud/qc_task.py", "source_location": "L68", "id": "crud_qc_task_task_to_dict", - "community": 7, + "community": 5, "norm_label": "_task_to_dict()" }, { @@ -9972,7 +9972,7 @@ "source_file": "crud/qc_task.py", "source_location": "L102", "id": "crud_qc_task_task_work_order_context", - "community": 7, + "community": 5, "norm_label": "_task_work_order_context()" }, { @@ -9981,7 +9981,7 @@ "source_file": "crud/qc_task.py", "source_location": "L179", "id": "crud_qc_task_merge_work_order_summary_into_task", - "community": 7, + "community": 5, "norm_label": "_merge_work_order_summary_into_task()" }, { @@ -9990,7 +9990,7 @@ "source_file": "crud/qc_task.py", "source_location": "L203", "id": "crud_qc_task_enrich_mine_tasks_with_work_order_summaries", - "community": 7, + "community": 5, "norm_label": "_enrich_mine_tasks_with_work_order_summaries()" }, { @@ -9999,7 +9999,7 @@ "source_file": "crud/qc_task.py", "source_location": "L223", "id": "crud_qc_task_enrich_tasks_reception_fields", - "community": 7, + "community": 5, "norm_label": "_enrich_tasks_reception_fields()" }, { @@ -10008,7 +10008,7 @@ "source_file": "crud/qc_task.py", "source_location": "L370", "id": "crud_qc_task_task_row_to_dict", - "community": 7, + "community": 5, "norm_label": "_task_row_to_dict()" }, { @@ -10026,7 +10026,7 @@ "source_file": "crud/qc_task.py", "source_location": "L428", "id": "crud_qc_task_list_tasks", - "community": 7, + "community": 5, "norm_label": "list_tasks()" }, { @@ -10035,7 +10035,7 @@ "source_file": "crud/qc_task.py", "source_location": "L509", "id": "crud_qc_task_list_mine_tasks", - "community": 7, + "community": 5, "norm_label": "list_mine_tasks()" }, { @@ -10044,7 +10044,7 @@ "source_file": "crud/qc_task.py", "source_location": "L601", "id": "crud_qc_task_assert_task_assignee", - "community": 7, + "community": 5, "norm_label": "assert_task_assignee()" }, { @@ -10053,7 +10053,7 @@ "source_file": "crud/qc_task.py", "source_location": "L608", "id": "crud_qc_task_list_tasks_by_work_order", - "community": 7, + "community": 5, "norm_label": "list_tasks_by_work_order()" }, { @@ -10062,7 +10062,7 @@ "source_file": "crud/qc_task.py", "source_location": "L615", "id": "crud_qc_task_list_tasks_by_work_order_ids", - "community": 7, + "community": 5, "norm_label": "list_tasks_by_work_order_ids()" }, { @@ -10071,7 +10071,7 @@ "source_file": "crud/qc_task.py", "source_location": "L645", "id": "crud_qc_task_get_task", - "community": 7, + "community": 5, "norm_label": "get_task()" }, { @@ -10080,7 +10080,7 @@ "source_file": "crud/qc_task.py", "source_location": "L654", "id": "crud_qc_task_get_task_detail", - "community": 7, + "community": 5, "norm_label": "get_task_detail()" }, { @@ -10089,7 +10089,7 @@ "source_file": "crud/qc_task.py", "source_location": "L687", "id": "crud_qc_task_start_task", - "community": 7, + "community": 5, "norm_label": "start_task()" }, { @@ -10098,7 +10098,7 @@ "source_file": "crud/qc_task.py", "source_location": "L704", "id": "crud_qc_task_set_task_remark", - "community": 7, + "community": 5, "norm_label": "_set_task_remark()" }, { @@ -10107,7 +10107,7 @@ "source_file": "crud/qc_task.py", "source_location": "L708", "id": "crud_qc_task_require_dsfjc_attachments", - "community": 7, + "community": 5, "norm_label": "_require_dsfjc_attachments()" }, { @@ -10116,7 +10116,7 @@ "source_file": "crud/qc_task.py", "source_location": "L718", "id": "crud_qc_task_complete_task", - "community": 7, + "community": 5, "norm_label": "complete_task()" }, { @@ -10125,7 +10125,7 @@ "source_file": "crud/qc_task.py", "source_location": "L763", "id": "crud_qc_task_resolve_task_result_conclusion", - "community": 7, + "community": 5, "norm_label": "resolve_task_result_conclusion()" }, { @@ -10134,7 +10134,7 @@ "source_file": "crud/qc_task.py", "source_location": "L779", "id": "crud_qc_task_apply_task_result", - "community": 7, + "community": 5, "norm_label": "apply_task_result()" }, { @@ -10143,7 +10143,7 @@ "source_file": "crud/qc_task.py", "source_location": "L837", "id": "crud_qc_task_update_task_attachments", - "community": 0, + "community": 5, "norm_label": "update_task_attachments()" }, { @@ -10152,7 +10152,7 @@ "source_file": "crud/qc_task.py", "source_location": "L867", "id": "crud_qc_task_create_qc_task_manual", - "community": 7, + "community": 5, "norm_label": "create_qc_task_manual()" }, { @@ -10161,7 +10161,7 @@ "source_file": "crud/qc_task.py", "source_location": "L916", "id": "crud_qc_task_soft_delete_source_line_for_task", - "community": 7, + "community": 5, "norm_label": "_soft_delete_source_line_for_task()" }, { @@ -10170,7 +10170,7 @@ "source_file": "crud/qc_task.py", "source_location": "L978", "id": "crud_qc_task_refresh_work_order_item_flags", - "community": 7, + "community": 5, "norm_label": "_refresh_work_order_item_flags()" }, { @@ -10179,7 +10179,7 @@ "source_file": "crud/qc_task.py", "source_location": "L1017", "id": "crud_qc_task_delete_qc_task", - "community": 7, + "community": 5, "norm_label": "delete_qc_task()" }, { @@ -10188,7 +10188,7 @@ "source_file": "crud/qc_task.py", "source_location": "L180", "id": "crud_qc_task_rationale_180", - "community": 3, + "community": 9, "norm_label": "\u5c06\u5217\u8868\u7ea7\u5de5\u5355\u6458\u8981\u5408\u5e76\u8fdb\u4efb\u52a1\u884c,\u4f9b\u300c\u6211\u7684\u8d28\u68c0\u4efb\u52a1\u300d\u524d\u7aef\u805a\u5408\u5c55\u793a\u3002" }, { @@ -10197,7 +10197,7 @@ "source_file": "crud/qc_task.py", "source_location": "L709", "id": "crud_qc_task_rationale_709", - "community": 3, + "community": 9, "norm_label": "\u7b2c\u4e09\u65b9\u68c0\u6d4b\u4e14\u4efb\u52a1\u72b6\u6001\u4e3a\u5df2\u5b8c\u6210\u65f6,\u987b\u81f3\u5c11\u6709\u4e00\u4e2a\u68c0\u6d4b\u6750\u6599\u9644\u4ef6\u3002" }, { @@ -10206,7 +10206,7 @@ "source_file": "crud/qc_task.py", "source_location": "L767", "id": "crud_qc_task_rationale_767", - "community": 3, + "community": 9, "norm_label": "normalize conclusion for apply_task_result. returns '' | 'tg' | 'btg'. empt" }, { @@ -10215,7 +10215,7 @@ "source_file": "crud/qc_task.py", "source_location": "L791", "id": "crud_qc_task_rationale_791", - "community": 3, + "community": 9, "norm_label": "\u4fdd\u5b58\u68c0\u6d4b\u7ed3\u679c\u4e0e\u7ed3\u8bba,\u5e76\u6309\u6307\u5b9a\u4efb\u52a1\u72b6\u6001\u843d\u5e93(\u9ed8\u8ba4\u5df2\u5b8c\u6210)\u3002" }, { @@ -10224,7 +10224,7 @@ "source_file": "crud/qc_task.py", "source_location": "L924", "id": "crud_qc_task_rationale_924", - "community": 3, + "community": 9, "norm_label": "\u5220\u9664\u4efb\u52a1\u65f6\u540c\u6b65\u8f6f\u5220\u6279\u6b21\u4e0b\u5bf9\u5e94 lab/third \u660e\u7ec6\u884c,\u907f\u514d\u914d\u7f6e\u5f39\u7a97\u4ecd\u52fe\u9009\u8be5\u9879\u76ee\u3002" }, { @@ -10233,7 +10233,7 @@ "source_file": "crud/qc_task.py", "source_location": "L986", "id": "crud_qc_task_rationale_986", - "community": 3, + "community": 9, "norm_label": "\u6309\u672a\u5220\u9664\u660e\u7ec6\u884c\u56de\u5199\u5de5\u5355 has_lab / has_third_party / \u7b2c\u4e09\u65b9\u8d39\u7528\u5408\u8ba1\u3002" }, { @@ -10242,7 +10242,7 @@ "source_file": "crud/qc_task.py", "source_location": "L1018", "id": "crud_qc_task_rationale_1018", - "community": 3, + "community": 9, "norm_label": "\u8f6f\u5220\u9664\u8d28\u68c0\u4efb\u52a1\u3001\u68c0\u6d4b\u7ed3\u679c,\u5e76\u540c\u6b65\u89e3\u9664\u6279\u6b21\u4e2d\u7684\u9879\u76ee\u5173\u8054\u3002" }, { @@ -10674,7 +10674,7 @@ "source_file": "crud/qc_task_result.py", "source_location": "L1", "id": "crud_qc_task_result_py", - "community": 5, + "community": 6, "norm_label": "qc_task_result.py" }, { @@ -10683,7 +10683,7 @@ "source_file": "crud/qc_task_result.py", "source_location": "L15", "id": "crud_qc_task_result_row_to_dict", - "community": 5, + "community": 6, "norm_label": "_row_to_dict()" }, { @@ -10692,7 +10692,7 @@ "source_file": "crud/qc_task_result.py", "source_location": "L27", "id": "crud_qc_task_result_list_saved_results_by_task", - "community": 5, + "community": 6, "norm_label": "_list_saved_results_by_task()" }, { @@ -10701,7 +10701,7 @@ "source_file": "crud/qc_task_result.py", "source_location": "L42", "id": "crud_qc_task_result_resolve_task_item_ref", - "community": 5, + "community": 6, "norm_label": "_resolve_task_item_ref()" }, { @@ -10710,7 +10710,7 @@ "source_file": "crud/qc_task_result.py", "source_location": "L69", "id": "crud_qc_task_result_merge_saved_into_template", - "community": 5, + "community": 6, "norm_label": "_merge_saved_into_template()" }, { @@ -10719,7 +10719,7 @@ "source_file": "crud/qc_task_result.py", "source_location": "L100", "id": "crud_qc_task_result_list_saved_results_by_task_ids", - "community": 5, + "community": 6, "norm_label": "list_saved_results_by_task_ids()" }, { @@ -10728,7 +10728,7 @@ "source_file": "crud/qc_task_result.py", "source_location": "L125", "id": "crud_qc_task_result_list_results_by_task", - "community": 5, + "community": 6, "norm_label": "list_results_by_task()" }, { @@ -10737,7 +10737,7 @@ "source_file": "crud/qc_task_result.py", "source_location": "L142", "id": "crud_qc_task_result_save_results_for_task", - "community": 5, + "community": 6, "norm_label": "save_results_for_task()" }, { @@ -10773,7 +10773,7 @@ "source_file": "crud/outbound_release_review.py", "source_location": "L1", "id": "crud_outbound_release_review_py", - "community": 7, + "community": 5, "norm_label": "outbound_release_review.py" }, { @@ -10782,7 +10782,7 @@ "source_file": "crud/outbound_release_review.py", "source_location": "L53", "id": "crud_outbound_release_review_fmt_dt", - "community": 7, + "community": 5, "norm_label": "_fmt_dt()" }, { @@ -10791,7 +10791,7 @@ "source_file": "crud/outbound_release_review.py", "source_location": "L57", "id": "crud_outbound_release_review_dec", - "community": 7, + "community": 5, "norm_label": "_dec()" }, { @@ -10800,7 +10800,7 @@ "source_file": "crud/outbound_release_review.py", "source_location": "L66", "id": "crud_outbound_release_review_total_pages", - "community": 7, + "community": 5, "norm_label": "_total_pages()" }, { @@ -10809,7 +10809,7 @@ "source_file": "crud/outbound_release_review.py", "source_location": "L72", "id": "crud_outbound_release_review_normalize_outbound_review_phase", - "community": 7, + "community": 5, "norm_label": "normalize_outbound_review_phase()" }, { @@ -10818,7 +10818,7 @@ "source_file": "crud/outbound_release_review.py", "source_location": "L79", "id": "crud_outbound_release_review_normalize_outbound_ready_for_review_only", - "community": 7, + "community": 5, "norm_label": "normalize_outbound_ready_for_review_only()" }, { @@ -10827,7 +10827,7 @@ "source_file": "crud/outbound_release_review.py", "source_location": "L91", "id": "crud_outbound_release_review_outbound_work_orders_all_void", - "community": 7, + "community": 5, "norm_label": "outbound_work_orders_all_void()" }, { @@ -10836,7 +10836,7 @@ "source_file": "crud/outbound_release_review.py", "source_location": "L99", "id": "crud_outbound_release_review_outbound_qc_unfinished_exists_for_schedule", - "community": 7, + "community": 5, "norm_label": "_outbound_qc_unfinished_exists_for_schedule()" }, { @@ -10845,7 +10845,7 @@ "source_file": "crud/outbound_release_review.py", "source_location": "L120", "id": "crud_outbound_release_review_outbound_production_unfinished_exists_for_schedule", - "community": 7, + "community": 5, "norm_label": "_outbound_production_unfinished_exists_for_schedule()" }, { @@ -10854,7 +10854,7 @@ "source_file": "crud/outbound_release_review.py", "source_location": "L139", "id": "crud_outbound_release_review_outbound_qc_all_void_for_schedule", - "community": 7, + "community": 5, "norm_label": "_outbound_qc_all_void_for_schedule()" }, { @@ -10863,7 +10863,7 @@ "source_file": "crud/outbound_release_review.py", "source_location": "L164", "id": "crud_outbound_release_review_outbound_production_all_void_for_schedule", - "community": 7, + "community": 5, "norm_label": "_outbound_production_all_void_for_schedule()" }, { @@ -10872,7 +10872,7 @@ "source_file": "crud/outbound_release_review.py", "source_location": "L190", "id": "crud_outbound_release_review_get_user_name", - "community": 7, + "community": 5, "norm_label": "_get_user_name()" }, { @@ -10881,7 +10881,7 @@ "source_file": "crud/outbound_release_review.py", "source_location": "L195", "id": "crud_outbound_release_review_resolve_schedule_biz_type", - "community": 7, + "community": 5, "norm_label": "_resolve_schedule_biz_type()" }, { @@ -10890,7 +10890,7 @@ "source_file": "crud/outbound_release_review.py", "source_location": "L212", "id": "crud_outbound_release_review_row_to_dict", - "community": 7, + "community": 5, "norm_label": "_row_to_dict()" }, { @@ -10899,7 +10899,7 @@ "source_file": "crud/outbound_release_review.py", "source_location": "L243", "id": "crud_outbound_release_review_list_reviews_paginated", - "community": 7, + "community": 5, "norm_label": "list_reviews_paginated()" }, { @@ -10908,7 +10908,7 @@ "source_file": "crud/outbound_release_review.py", "source_location": "L664", "id": "crud_outbound_release_review_get_schedule_detail", - "community": 7, + "community": 5, "norm_label": "get_schedule_detail()" }, { @@ -10917,7 +10917,7 @@ "source_file": "crud/outbound_release_review.py", "source_location": "L740", "id": "crud_outbound_release_review_review_schedule", - "community": 7, + "community": 5, "norm_label": "review_schedule()" }, { @@ -10926,7 +10926,7 @@ "source_file": "crud/outbound_release_review.py", "source_location": "L830", "id": "crud_outbound_release_review_batch_review", - "community": 7, + "community": 5, "norm_label": "batch_review()" }, { @@ -11439,7 +11439,7 @@ "source_file": "crud/post.py", "source_location": "L1", "id": "crud_post_py", - "community": 1, + "community": 2, "norm_label": "post.py" }, { @@ -11448,7 +11448,7 @@ "source_file": "crud/post.py", "source_location": "L15", "id": "crud_post_user_display_name", - "community": 1, + "community": 2, "norm_label": "_user_display_name()" }, { @@ -11457,7 +11457,7 @@ "source_file": "crud/post.py", "source_location": "L22", "id": "crud_post_bound_user_names_by_post_ids", - "community": 1, + "community": 2, "norm_label": "_bound_user_names_by_post_ids()" }, { @@ -11466,7 +11466,7 @@ "source_file": "crud/post.py", "source_location": "L57", "id": "crud_post_row_to_dict", - "community": 1, + "community": 2, "norm_label": "_row_to_dict()" }, { @@ -11475,7 +11475,7 @@ "source_file": "crud/post.py", "source_location": "L72", "id": "crud_post_list_posts", - "community": 1, + "community": 2, "norm_label": "list_posts()" }, { @@ -11484,7 +11484,7 @@ "source_file": "crud/post.py", "source_location": "L110", "id": "crud_post_get_post", - "community": 0, + "community": 2, "norm_label": "get_post()" }, { @@ -11493,7 +11493,7 @@ "source_file": "crud/post.py", "source_location": "L118", "id": "crud_post_post_code_exists", - "community": 1, + "community": 2, "norm_label": "post_code_exists()" }, { @@ -11511,7 +11511,7 @@ "source_file": "crud/post.py", "source_location": "L162", "id": "crud_post_update_post", - "community": 1, + "community": 2, "norm_label": "update_post()" }, { @@ -11520,7 +11520,7 @@ "source_file": "crud/post.py", "source_location": "L199", "id": "crud_post_soft_delete_post", - "community": 0, + "community": 2, "norm_label": "soft_delete_post()" }, { @@ -11529,7 +11529,7 @@ "source_file": "crud/post.py", "source_location": "L213", "id": "crud_post_list_role_ids_for_post", - "community": 1, + "community": 2, "norm_label": "list_role_ids_for_post()" }, { @@ -11547,7 +11547,7 @@ "source_file": "crud/post.py", "source_location": "L280", "id": "crud_post_total_pages", - "community": 1, + "community": 2, "norm_label": "total_pages()" }, { @@ -11556,7 +11556,7 @@ "source_file": "crud/post.py", "source_location": "L25", "id": "crud_post_rationale_25", - "community": 1, + "community": 2, "norm_label": "\u6279\u91cf\u67e5\u8be2\u804c\u4f4d\u5173\u8054\u7528\u6237\u663e\u793a\u540d(nick_name \u4f18\u5148,\u5426\u5219 user_no)\u3002" }, { @@ -11565,7 +11565,7 @@ "source_file": "crud/post.py", "source_location": "L235", "id": "crud_post_rationale_235", - "community": 1, + "community": 3, "norm_label": "\u5c06\u672c\u804c\u4f4d\u7ed1\u5b9a\u7684\u89d2\u8272\u96c6\u5408\u5168\u91cf\u66ff\u6362\u4e3a role_ids\u3002" }, { @@ -11574,7 +11574,7 @@ "source_file": "crud/sample_reception_check_result.py", "source_location": "L1", "id": "crud_sample_reception_check_result_py", - "community": 12, + "community": 5, "norm_label": "sample_reception_check_result.py" }, { @@ -11583,7 +11583,7 @@ "source_file": "crud/sample_reception_check_result.py", "source_location": "L29", "id": "crud_sample_reception_check_result_result_to_dict", - "community": 12, + "community": 5, "norm_label": "_result_to_dict()" }, { @@ -11592,7 +11592,7 @@ "source_file": "crud/sample_reception_check_result.py", "source_location": "L40", "id": "crud_sample_reception_check_result_list_results_by_reception_ids", - "community": 12, + "community": 5, "norm_label": "list_results_by_reception_ids()" }, { @@ -11601,7 +11601,7 @@ "source_file": "crud/sample_reception_check_result.py", "source_location": "L64", "id": "crud_sample_reception_check_result_legacy_results_from_reception", - "community": 12, + "community": 5, "norm_label": "_legacy_results_from_reception()" }, { @@ -11610,7 +11610,7 @@ "source_file": "crud/sample_reception_check_result.py", "source_location": "L80", "id": "crud_sample_reception_check_result_get_check_results_for_reception", - "community": 12, + "community": 5, "norm_label": "get_check_results_for_reception()" }, { @@ -11619,7 +11619,7 @@ "source_file": "crud/sample_reception_check_result.py", "source_location": "L101", "id": "crud_sample_reception_check_result_soft_delete_reception_check_results", - "community": 1, + "community": 8, "norm_label": "soft_delete_reception_check_results()" }, { @@ -11646,7 +11646,7 @@ "source_file": "crud/sample_reception_check_result.py", "source_location": "L108", "id": "crud_sample_reception_check_result_rationale_108", - "community": 3, + "community": 9, "norm_label": "\u8f6f\u5220\u9664\u67d0\u6b21\u63a5\u6536\u7684\u5168\u90e8\u68c0\u67e5\u9879\u7ed3\u679c(\u7f16\u8f91\u63a5\u6536\u65f6\u5148\u6e05\u7a7a\u518d\u91cd\u5199)\u3002" }, { @@ -11655,7 +11655,7 @@ "source_file": "crud/sample_reception_check_result.py", "source_location": "L133", "id": "crud_sample_reception_check_result_rationale_133", - "community": 3, + "community": 9, "norm_label": "\u6309\u5f53\u524d\u79df\u6237\u542f\u7528\u68c0\u67e5\u9879\u5199\u5165\u7ed3\u679c;checks: [{checkitemid, checked}]" }, { @@ -11664,7 +11664,7 @@ "source_file": "crud/sample_reception_check_result.py", "source_location": "L171", "id": "crud_sample_reception_check_result_rationale_171", - "community": 3, + "community": 9, "norm_label": "\u517c\u5bb9\u65e7\u5217:\u6309 item_code \u56de\u5199 biz_sample_reception.check_*" }, { @@ -11898,7 +11898,7 @@ "source_file": "crud/user.py", "source_location": "L1", "id": "crud_user_py", - "community": 11, + "community": 12, "norm_label": "user.py" }, { @@ -11907,7 +11907,7 @@ "source_file": "crud/user.py", "source_location": "L18", "id": "crud_user_hash_password", - "community": 11, + "community": 12, "norm_label": "_hash_password()" }, { @@ -11916,7 +11916,7 @@ "source_file": "crud/user.py", "source_location": "L22", "id": "crud_user_usercrudcompat", - "community": 11, + "community": 12, "norm_label": "_usercrudcompat" }, { @@ -11925,7 +11925,7 @@ "source_file": "crud/user.py", "source_location": "L23", "id": "crud_user_usercrudcompat_get_by_user_no", - "community": 11, + "community": 12, "norm_label": ".get_by_user_no()" }, { @@ -11934,7 +11934,7 @@ "source_file": "crud/user.py", "source_location": "L38", "id": "crud_user_row_to_dict", - "community": 11, + "community": 12, "norm_label": "_row_to_dict()" }, { @@ -11943,7 +11943,7 @@ "source_file": "crud/user.py", "source_location": "L66", "id": "crud_user_list_users", - "community": 11, + "community": 12, "norm_label": "list_users()" }, { @@ -11952,7 +11952,7 @@ "source_file": "crud/user.py", "source_location": "L117", "id": "crud_user_get_user", - "community": 11, + "community": 12, "norm_label": "get_user()" }, { @@ -11961,7 +11961,7 @@ "source_file": "crud/user.py", "source_location": "L125", "id": "crud_user_list_post_ids_for_user", - "community": 11, + "community": 12, "norm_label": "list_post_ids_for_user()" }, { @@ -11970,7 +11970,7 @@ "source_file": "crud/user.py", "source_location": "L135", "id": "crud_user_set_user_post_ids_only", - "community": 11, + "community": 12, "norm_label": "set_user_post_ids_only()" }, { @@ -11979,7 +11979,7 @@ "source_file": "crud/user.py", "source_location": "L167", "id": "crud_user_list_user_ids_bound_to_post", - "community": 11, + "community": 12, "norm_label": "list_user_ids_bound_to_post()" }, { @@ -11988,7 +11988,7 @@ "source_file": "crud/user.py", "source_location": "L189", "id": "crud_user_list_user_ids_bound_to_posts", - "community": 11, + "community": 12, "norm_label": "list_user_ids_bound_to_posts()" }, { @@ -11997,7 +11997,7 @@ "source_file": "crud/user.py", "source_location": "L231", "id": "crud_user_sync_post_user_bindings", - "community": 11, + "community": 12, "norm_label": "sync_post_user_bindings()" }, { @@ -12006,7 +12006,7 @@ "source_file": "crud/user.py", "source_location": "L259", "id": "crud_user_get_user_with_relations", - "community": 11, + "community": 12, "norm_label": "get_user_with_relations()" }, { @@ -12015,7 +12015,7 @@ "source_file": "crud/user.py", "source_location": "L295", "id": "crud_user_user_no_exists", - "community": 11, + "community": 12, "norm_label": "user_no_exists()" }, { @@ -12024,7 +12024,7 @@ "source_file": "crud/user.py", "source_location": "L304", "id": "crud_user_replace_associations", - "community": 11, + "community": 12, "norm_label": "_replace_associations()" }, { @@ -12033,7 +12033,7 @@ "source_file": "crud/user.py", "source_location": "L359", "id": "crud_user_parse_hire_date", - "community": 11, + "community": 12, "norm_label": "_parse_hire_date()" }, { @@ -12042,7 +12042,7 @@ "source_file": "crud/user.py", "source_location": "L370", "id": "crud_user_create_user", - "community": 11, + "community": 12, "norm_label": "create_user()" }, { @@ -12051,7 +12051,7 @@ "source_file": "crud/user.py", "source_location": "L437", "id": "crud_user_update_user", - "community": 11, + "community": 12, "norm_label": "update_user()" }, { @@ -12060,7 +12060,7 @@ "source_file": "crud/user.py", "source_location": "L507", "id": "crud_user_soft_delete_user", - "community": 11, + "community": 12, "norm_label": "soft_delete_user()" }, { @@ -12069,7 +12069,7 @@ "source_file": "crud/user.py", "source_location": "L517", "id": "crud_user_reset_password", - "community": 11, + "community": 12, "norm_label": "reset_password()" }, { @@ -12078,7 +12078,7 @@ "source_file": "crud/user.py", "source_location": "L527", "id": "crud_user_change_password", - "community": 11, + "community": 12, "norm_label": "change_password()" }, { @@ -12087,7 +12087,7 @@ "source_file": "crud/user.py", "source_location": "L546", "id": "crud_user_total_pages", - "community": 11, + "community": 12, "norm_label": "total_pages()" }, { @@ -12096,7 +12096,7 @@ "source_file": "crud/user.py", "source_location": "L1", "id": "crud_user_rationale_1", - "community": 11, + "community": 12, "norm_label": "\u7528\u6237 crud(sys_user + sys_user_role + sys_user_post)" }, { @@ -12105,7 +12105,7 @@ "source_file": "crud/user.py", "source_location": "L142", "id": "crud_user_rationale_142", - "community": 11, + "community": 12, "norm_label": "\u4ec5\u66ff\u6362 sys_user_post,\u4e0d\u5f71\u54cd sys_user_role\u3002" }, { @@ -12114,7 +12114,7 @@ "source_file": "crud/user.py", "source_location": "L192", "id": "crud_user_rationale_192", - "community": 11, + "community": 12, "norm_label": "\u591a\u804c\u4f4d\u5c55\u5f00\u542f\u7528\u7528\u6237 id(\u4ec5\u542f\u7528\u804c\u4f4d;\u7528\u6237\u542f\u7528\u8fc7\u6ee4\u7559\u7ed9\u8c03\u7528\u65b9\u6216\u672c\u51fd\u6570\u540e\u5904\u7406)\u3002 \u8fd4\u56de\u4fdd\u5e8f\u53bb\u91cd\u7684 user_id \u5217\u8868\u3002\u4ec5\u5305\u542b status=1 \u7684\u804c\u4f4d" }, { @@ -12123,7 +12123,7 @@ "source_file": "crud/user.py", "source_location": "L238", "id": "crud_user_rationale_238", - "community": 11, + "community": 12, "norm_label": "\u5c06\u672c\u804c\u4f4d\u7ed1\u5b9a\u7684\u7528\u6237\u96c6\u5408\u8bbe\u4e3a user_ids(\u53ea\u589e\u5220\u672c\u804c\u4f4d,\u4fdd\u7559\u7528\u6237\u5176\u5b83\u804c\u4f4d\u4e0e\u89d2\u8272)\u3002" }, { @@ -12132,7 +12132,7 @@ "source_file": "crud/user.py", "source_location": "L312", "id": "crud_user_rationale_312", - "community": 11, + "community": 12, "norm_label": "\u5168\u91cf\u66ff\u6362\u5173\u8054\u3002\u4ec5\u5f53\u5bf9\u5e94\u53c2\u6570\u4e0d\u4e3a none \u65f6\u624d\u66ff\u6362\u8be5\u4fa7(\u907f\u514d\u53ea\u6539\u804c\u4f4d\u65f6\u6e05\u7a7a\u76f4\u63a5\u89d2\u8272)\u3002" }, { @@ -12150,7 +12150,7 @@ "source_file": "crud/production_work_order.py", "source_location": "L53", "id": "crud_production_work_order_apply_exclude_inactive_protocol_filter", - "community": 8, + "community": 5, "norm_label": "apply_exclude_inactive_protocol_filter()" }, { @@ -12249,7 +12249,7 @@ "source_file": "crud/production_work_order.py", "source_location": "L422", "id": "crud_production_work_order_outbound_work_order_ids_by_keyword", - "community": 7, + "community": 5, "norm_label": "_outbound_work_order_ids_by_keyword()" }, { @@ -12321,7 +12321,7 @@ "source_file": "crud/production_work_order.py", "source_location": "L837", "id": "crud_production_work_order_sync_production_work_order_status_from_tasks", - "community": 8, + "community": 10, "norm_label": "sync_production_work_order_status_from_tasks()" }, { @@ -12807,7 +12807,7 @@ "source_file": "crud/material.py", "source_location": "L377", "id": "crud_material_rationale_377", - "community": 16, + "community": 3, "norm_label": "\u5c06 bizmaterialusage \u884c\u8f6c\u6362\u4e3a\u5b57\u5178(\u7528\u4e8e\u6211\u7684\u9886\u7528\u8bb0\u5f55)\u3002" }, { @@ -12816,7 +12816,7 @@ "source_file": "crud/material.py", "source_location": "L444", "id": "crud_material_rationale_444", - "community": 16, + "community": 3, "norm_label": "\u5f53\u524d\u767b\u5f55\u4eba\u7684\u624b\u52a8\u51fa\u5e93\u9886\u7528\u8bb0\u5f55:\u9886\u7528\u4eba\u5b57\u6bb5\u5b58\u6635\u79f0\u6216\u7528\u6237 id(\u4e0e\u751f\u4ea7/\u8d28\u68c0\u4e00\u81f4)\u3002" }, { @@ -12825,7 +12825,7 @@ "source_file": "crud/material.py", "source_location": "L473", "id": "crud_material_rationale_473", - "community": 16, + "community": 3, "norm_label": "\u83b7\u53d6\u5f53\u524d\u7528\u6237\u7684\u7269\u6599\u9886\u7528\u8bb0\u5f55(\u624b\u52a8\u51fa\u5e93\u8bb0\u5f55) \u7b5b\u9009\u6761\u4ef6: - tenant_no = \u5f53\u524d\u7528\u6237\u79df\u6237 - source_type = 'm" }, { @@ -12924,7 +12924,7 @@ "source_file": "crud/storage_occupancy.py", "source_location": "L1", "id": "crud_storage_occupancy_py", - "community": 14, + "community": 10, "norm_label": "storage_occupancy.py" }, { @@ -12933,7 +12933,7 @@ "source_file": "crud/storage_occupancy.py", "source_location": "L23", "id": "crud_storage_occupancy_assert_batch_slots_unique", - "community": 14, + "community": 10, "norm_label": "assert_batch_slots_unique()" }, { @@ -12942,7 +12942,7 @@ "source_file": "crud/storage_occupancy.py", "source_location": "L35", "id": "crud_storage_occupancy_assert_slot_vacant", - "community": 14, + "community": 10, "norm_label": "assert_slot_vacant()" }, { @@ -12951,7 +12951,7 @@ "source_file": "crud/storage_occupancy.py", "source_location": "L85", "id": "crud_storage_occupancy_add_stored_occupancy_no_commit", - "community": 14, + "community": 10, "norm_label": "_add_stored_occupancy_no_commit()" }, { @@ -12960,7 +12960,7 @@ "source_file": "crud/storage_occupancy.py", "source_location": "L128", "id": "crud_storage_occupancy_remove_by_item_no_commit", - "community": 14, + "community": 10, "norm_label": "remove_by_item_no_commit()" }, { @@ -12969,7 +12969,7 @@ "source_file": "crud/storage_occupancy.py", "source_location": "L154", "id": "crud_storage_occupancy_row_to_dict", - "community": 14, + "community": 10, "norm_label": "_row_to_dict()" }, { @@ -12978,7 +12978,7 @@ "source_file": "crud/storage_occupancy.py", "source_location": "L173", "id": "crud_storage_occupancy_load_cell_product_map", - "community": 14, + "community": 10, "norm_label": "_load_cell_product_map()" }, { @@ -12996,7 +12996,7 @@ "source_file": "crud/storage_occupancy.py", "source_location": "L244", "id": "crud_storage_occupancy_attach_cell_product_fields", - "community": 14, + "community": 10, "norm_label": "_attach_cell_product_fields()" }, { @@ -13005,7 +13005,7 @@ "source_file": "crud/storage_occupancy.py", "source_location": "L260", "id": "crud_storage_occupancy_enrich_occupancy_items", - "community": 14, + "community": 10, "norm_label": "enrich_occupancy_items()" }, { @@ -13023,7 +13023,7 @@ "source_file": "crud/storage_occupancy.py", "source_location": "L329", "id": "crud_storage_occupancy_refresh_slot_cache", - "community": 14, + "community": 10, "norm_label": "_refresh_slot_cache()" }, { @@ -13032,7 +13032,7 @@ "source_file": "crud/storage_occupancy.py", "source_location": "L364", "id": "crud_storage_occupancy_create_occupancy", - "community": 14, + "community": 10, "norm_label": "create_occupancy()" }, { @@ -13041,7 +13041,7 @@ "source_file": "crud/storage_occupancy.py", "source_location": "L399", "id": "crud_storage_occupancy_batch_create_occupancies", - "community": 14, + "community": 10, "norm_label": "batch_create_occupancies()" }, { @@ -13050,7 +13050,7 @@ "source_file": "crud/storage_occupancy.py", "source_location": "L437", "id": "crud_storage_occupancy_remove_occupancy", - "community": 14, + "community": 10, "norm_label": "remove_occupancy()" }, { @@ -13059,7 +13059,7 @@ "source_file": "crud/storage_occupancy.py", "source_location": "L465", "id": "crud_storage_occupancy_remove_by_item", - "community": 14, + "community": 10, "norm_label": "remove_by_item()" }, { @@ -13068,7 +13068,7 @@ "source_file": "crud/storage_occupancy.py", "source_location": "L477", "id": "crud_storage_occupancy_list_occupancies", - "community": 14, + "community": 10, "norm_label": "list_occupancies()" }, { @@ -13077,7 +13077,7 @@ "source_file": "crud/storage_occupancy.py", "source_location": "L512", "id": "crud_storage_occupancy_list_occupancy_history", - "community": 14, + "community": 10, "norm_label": "list_occupancy_history()" }, { @@ -13086,7 +13086,7 @@ "source_file": "crud/storage_occupancy.py", "source_location": "L1", "id": "crud_storage_occupancy_rationale_1", - "community": 14, + "community": 3, "norm_label": "\u5e93\u4f4d\u5360\u7528\u8bb0\u5f55 crud(biz_storage_slot_occupancy)" }, { @@ -13095,7 +13095,7 @@ "source_file": "crud/storage_occupancy.py", "source_location": "L43", "id": "crud_storage_occupancy_rationale_43", - "community": 14, + "community": 3, "norm_label": "\u65ad\u8a00\u50a8\u7269\u683c\u5f53\u524d\u65e0\u5728\u5e93\u7269\u54c1(\u4efb\u610f item_type)\u3002" }, { @@ -13104,7 +13104,7 @@ "source_file": "crud/storage_occupancy.py", "source_location": "L178", "id": "crud_storage_occupancy_rationale_178", - "community": 14, + "community": 3, "norm_label": "\u6279\u91cf\u52a0\u8f7d\u7ec6\u80de\u4ea7\u54c1\u5b8c\u6574\u4fe1\u606f(\u4e00\u6b21 enrich,\u907f\u514d per-id \u7684 n+1)\u3002" }, { @@ -13113,7 +13113,7 @@ "source_file": "crud/storage_occupancy.py", "source_location": "L200", "id": "crud_storage_occupancy_rationale_200", - "community": 10, + "community": 3, "norm_label": "\u5e93\u4f4d\u8d27\u67b6\u5c55\u793a\u4e13\u7528:\u4ec5\u6279\u91cf\u53d6 id/\u7f16\u7801/\u540d\u79f0/\u7c7b\u578b\u540d/\u6279\u6b21\u53f7(2 \u6b21\u67e5\u8be2)\u3002" }, { @@ -13122,7 +13122,7 @@ "source_file": "crud/storage_occupancy.py", "source_location": "L285", "id": "crud_storage_occupancy_rationale_285", - "community": 10, + "community": 3, "norm_label": "\u4e3a\u5360\u7528\u683c\u9644\u5e26\u5728\u5e93\u5360\u7528 id \u4e0e\u7269\u54c1\u6458\u8981(\u540d\u79f0/\u7c7b\u578b),\u4f9b\u5e93\u4f4d\u8d27\u67b6\u5c55\u793a\u4e0e\u6279\u91cf\u51fa\u5e93\u3002" }, { @@ -13131,7 +13131,7 @@ "source_file": "crud/storage_occupancy.py", "source_location": "L330", "id": "crud_storage_occupancy_rationale_330", - "community": 14, + "community": 3, "norm_label": "\u5237\u65b0 slot \u7684 occupied_count / last_item_type / last_stored_at / slot_status" }, { @@ -13140,7 +13140,7 @@ "source_file": "crud/storage_occupancy.py", "source_location": "L472", "id": "crud_storage_occupancy_rationale_472", - "community": 14, + "community": 3, "norm_label": "\u6309\u7269\u54c1\u7c7b\u578b+id\u51fa\u5e93(\u7ec6\u80de\u4ea7\u54c1\u72b6\u6001\u53d8\u66f4\u65f6\u8c03\u7528)" }, { @@ -13284,7 +13284,7 @@ "source_file": "crud/production_material.py", "source_location": "L56", "id": "crud_production_material_filter_material_type", - "community": 5, + "community": 4, "norm_label": "_filter_material_type()" }, { @@ -13446,7 +13446,7 @@ "source_file": "crud/material_stock_log.py", "source_location": "L1", "id": "crud_material_stock_log_py", - "community": 5, + "community": 4, "norm_label": "material_stock_log.py" }, { @@ -13455,7 +13455,7 @@ "source_file": "crud/material_stock_log.py", "source_location": "L14", "id": "crud_material_stock_log_user_nick_name_map", - "community": 5, + "community": 4, "norm_label": "_user_nick_name_map()" }, { @@ -13464,7 +13464,7 @@ "source_file": "crud/material_stock_log.py", "source_location": "L22", "id": "crud_material_stock_log_dec", - "community": 5, + "community": 4, "norm_label": "_dec()" }, { @@ -13473,7 +13473,7 @@ "source_file": "crud/material_stock_log.py", "source_location": "L28", "id": "crud_material_stock_log_fmt_dt", - "community": 5, + "community": 4, "norm_label": "_fmt_dt()" }, { @@ -13482,7 +13482,7 @@ "source_file": "crud/material_stock_log.py", "source_location": "L32", "id": "crud_material_stock_log_row_to_dict", - "community": 5, + "community": 4, "norm_label": "_row_to_dict()" }, { @@ -13491,7 +13491,7 @@ "source_file": "crud/material_stock_log.py", "source_location": "L53", "id": "crud_material_stock_log_list_stock_logs", - "community": 5, + "community": 4, "norm_label": "list_stock_logs()" }, { @@ -13743,7 +13743,7 @@ "source_file": "crud/material_usage.py", "source_location": "L1", "id": "crud_material_usage_py", - "community": 5, + "community": 4, "norm_label": "material_usage.py" }, { @@ -13752,7 +13752,7 @@ "source_file": "crud/material_usage.py", "source_location": "L14", "id": "crud_material_usage_parse_receiver_purpose_from_remark", - "community": 5, + "community": 4, "norm_label": "_parse_receiver_purpose_from_remark()" }, { @@ -13761,7 +13761,7 @@ "source_file": "crud/material_usage.py", "source_location": "L25", "id": "crud_material_usage_resolve_receiver_purpose", - "community": 5, + "community": 4, "norm_label": "_resolve_receiver_purpose()" }, { @@ -13770,7 +13770,7 @@ "source_file": "crud/material_usage.py", "source_location": "L35", "id": "crud_material_usage_display_remark", - "community": 5, + "community": 4, "norm_label": "_display_remark()" }, { @@ -13779,7 +13779,7 @@ "source_file": "crud/material_usage.py", "source_location": "L50", "id": "crud_material_usage_user_nick_name_map", - "community": 5, + "community": 4, "norm_label": "_user_nick_name_map()" }, { @@ -13788,7 +13788,7 @@ "source_file": "crud/material_usage.py", "source_location": "L58", "id": "crud_material_usage_receiver_display_map", - "community": 5, + "community": 4, "norm_label": "_receiver_display_map()" }, { @@ -13797,7 +13797,7 @@ "source_file": "crud/material_usage.py", "source_location": "L69", "id": "crud_material_usage_usage_unit_label", - "community": 5, + "community": 4, "norm_label": "_usage_unit_label()" }, { @@ -13806,7 +13806,7 @@ "source_file": "crud/material_usage.py", "source_location": "L78", "id": "crud_material_usage_stock_in_date_for_row", - "community": 5, + "community": 4, "norm_label": "_stock_in_date_for_row()" }, { @@ -13815,7 +13815,7 @@ "source_file": "crud/material_usage.py", "source_location": "L84", "id": "crud_material_usage_unit_price_for_row", - "community": 5, + "community": 4, "norm_label": "_unit_price_for_row()" }, { @@ -13824,7 +13824,7 @@ "source_file": "crud/material_usage.py", "source_location": "L92", "id": "crud_material_usage_amount_for_row", - "community": 5, + "community": 4, "norm_label": "_amount_for_row()" }, { @@ -13833,7 +13833,7 @@ "source_file": "crud/material_usage.py", "source_location": "L108", "id": "crud_material_usage_row_to_dict", - "community": 5, + "community": 4, "norm_label": "_row_to_dict()" }, { @@ -13842,7 +13842,7 @@ "source_file": "crud/material_usage.py", "source_location": "L160", "id": "crud_material_usage_batch_map", - "community": 5, + "community": 4, "norm_label": "_batch_map()" }, { @@ -13851,7 +13851,7 @@ "source_file": "crud/material_usage.py", "source_location": "L172", "id": "crud_material_usage_list_usages_query", - "community": 5, + "community": 4, "norm_label": "_list_usages_query()" }, { @@ -13860,7 +13860,7 @@ "source_file": "crud/material_usage.py", "source_location": "L226", "id": "crud_material_usage_paginate_usages", - "community": 5, + "community": 4, "norm_label": "_paginate_usages()" }, { @@ -13869,7 +13869,7 @@ "source_file": "crud/material_usage.py", "source_location": "L257", "id": "crud_material_usage_list_usages", - "community": 5, + "community": 4, "norm_label": "list_usages()" }, { @@ -13878,7 +13878,7 @@ "source_file": "crud/material_usage.py", "source_location": "L285", "id": "crud_material_usage_fmt_date_val", - "community": 5, + "community": 4, "norm_label": "_fmt_date_val()" }, { @@ -13887,7 +13887,7 @@ "source_file": "crud/material_usage.py", "source_location": "L293", "id": "crud_material_usage_list_stock_check_requisitions", - "community": 5, + "community": 4, "norm_label": "list_stock_check_requisitions()" }, { @@ -13896,7 +13896,7 @@ "source_file": "crud/material_usage.py", "source_location": "L382", "id": "crud_material_usage_mark_requisition_fully_used", - "community": 5, + "community": 4, "norm_label": "mark_requisition_fully_used()" }, { @@ -13905,7 +13905,7 @@ "source_file": "crud/material_usage.py", "source_location": "L302", "id": "crud_material_usage_rationale_302", - "community": 5, + "community": 4, "norm_label": "\u76d8\u70b9\u767b\u8bb0\u5f39\u7a97:\u5f85\u5904\u7406\u9886\u7528\u8bb0\u5f55(\u672a\u6807\u8bb0\u5df2\u4f7f\u7528\u5b8c)\u3002" }, { @@ -13914,7 +13914,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L1", "id": "crud_production_material_usage_py", - "community": 5, + "community": 4, "norm_label": "production_material_usage.py" }, { @@ -13923,7 +13923,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L19", "id": "crud_production_material_usage_parse_receiver_purpose_from_remark", - "community": 5, + "community": 4, "norm_label": "_parse_receiver_purpose_from_remark()" }, { @@ -13932,7 +13932,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L31", "id": "crud_production_material_usage_resolve_receiver_purpose", - "community": 5, + "community": 4, "norm_label": "_resolve_receiver_purpose()" }, { @@ -13941,7 +13941,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L41", "id": "crud_production_material_usage_display_remark", - "community": 5, + "community": 4, "norm_label": "_display_remark()" }, { @@ -13950,7 +13950,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L57", "id": "crud_production_material_usage_user_nick_name_map", - "community": 5, + "community": 4, "norm_label": "_user_nick_name_map()" }, { @@ -13959,7 +13959,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L65", "id": "crud_production_material_usage_receiver_display_map", - "community": 5, + "community": 4, "norm_label": "_receiver_display_map()" }, { @@ -13968,7 +13968,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L77", "id": "crud_production_material_usage_usage_unit_label", - "community": 5, + "community": 4, "norm_label": "_usage_unit_label()" }, { @@ -13977,7 +13977,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L86", "id": "crud_production_material_usage_stock_in_date_for_row", - "community": 5, + "community": 4, "norm_label": "_stock_in_date_for_row()" }, { @@ -13986,7 +13986,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L92", "id": "crud_production_material_usage_unit_price_for_row", - "community": 5, + "community": 4, "norm_label": "_unit_price_for_row()" }, { @@ -13995,7 +13995,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L100", "id": "crud_production_material_usage_amount_for_row", - "community": 5, + "community": 4, "norm_label": "_amount_for_row()" }, { @@ -14004,7 +14004,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L116", "id": "crud_production_material_usage_row_to_dict", - "community": 5, + "community": 4, "norm_label": "_row_to_dict()" }, { @@ -14013,7 +14013,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L182", "id": "crud_production_material_usage_batch_map", - "community": 5, + "community": 4, "norm_label": "_batch_map()" }, { @@ -14022,7 +14022,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L194", "id": "crud_production_material_usage_mine_usage_filter", - "community": 5, + "community": 4, "norm_label": "_mine_usage_filter()" }, { @@ -14031,7 +14031,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L219", "id": "crud_production_material_usage_list_usages_query", - "community": 5, + "community": 4, "norm_label": "_list_usages_query()" }, { @@ -14040,7 +14040,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L290", "id": "crud_production_material_usage_paginate_usages", - "community": 5, + "community": 4, "norm_label": "_paginate_usages()" }, { @@ -14049,7 +14049,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L321", "id": "crud_production_material_usage_list_usages", - "community": 5, + "community": 4, "norm_label": "list_usages()" }, { @@ -14058,7 +14058,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L351", "id": "crud_production_material_usage_list_my_usages", - "community": 5, + "community": 4, "norm_label": "list_my_usages()" }, { @@ -14067,7 +14067,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L384", "id": "crud_production_material_usage_list_usages_by_step", - "community": 5, + "community": 4, "norm_label": "list_usages_by_step()" }, { @@ -14076,7 +14076,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L441", "id": "crud_production_material_usage_list_linked_step_usages", - "community": 5, + "community": 4, "norm_label": "list_linked_step_usages()" }, { @@ -14085,7 +14085,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L518", "id": "crud_production_material_usage_revert_step_material_usages", - "community": 5, + "community": 4, "norm_label": "revert_step_material_usages()" }, { @@ -14094,7 +14094,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L586", "id": "crud_production_material_usage_list_requisition_options", - "community": 5, + "community": 4, "norm_label": "list_requisition_options()" }, { @@ -14103,7 +14103,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L664", "id": "crud_production_material_usage_record_step_usage_from_requisition", - "community": 5, + "community": 4, "norm_label": "_record_step_usage_from_requisition()" }, { @@ -14112,7 +14112,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L762", "id": "crud_production_material_usage_deduct_step_usage_legacy_batch", - "community": 5, + "community": 0, "norm_label": "_deduct_step_usage_legacy_batch()" }, { @@ -14121,7 +14121,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L867", "id": "crud_production_material_usage_register_step_usage_from_requisition", - "community": 8, + "community": 0, "norm_label": "register_step_usage_from_requisition()" }, { @@ -14130,7 +14130,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L924", "id": "crud_production_material_usage_list_available_requisitions_for_prep", - "community": 5, + "community": 4, "norm_label": "list_available_requisitions_for_prep()" }, { @@ -14139,7 +14139,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L1020", "id": "crud_production_material_usage_step_consumed_qty_map", - "community": 5, + "community": 4, "norm_label": "_step_consumed_qty_map()" }, { @@ -14148,7 +14148,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L1047", "id": "crud_production_material_usage_fmt_date_val", - "community": 5, + "community": 4, "norm_label": "_fmt_date_val()" }, { @@ -14157,7 +14157,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L1055", "id": "crud_production_material_usage_list_stock_check_requisitions", - "community": 5, + "community": 4, "norm_label": "list_stock_check_requisitions()" }, { @@ -14166,7 +14166,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L1147", "id": "crud_production_material_usage_mark_requisition_fully_used", - "community": 5, + "community": 4, "norm_label": "mark_requisition_fully_used()" }, { @@ -14175,7 +14175,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L1190", "id": "crud_production_material_usage_prep_consumption_to_dict", - "community": 5, + "community": 4, "norm_label": "_prep_consumption_to_dict()" }, { @@ -14184,7 +14184,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L1222", "id": "crud_production_material_usage_list_prep_consumptions", - "community": 5, + "community": 4, "norm_label": "list_prep_consumptions()" }, { @@ -14193,7 +14193,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L1299", "id": "crud_production_material_usage_list_my_prep_consumptions", - "community": 5, + "community": 4, "norm_label": "list_my_prep_consumptions()" }, { @@ -14202,7 +14202,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L20", "id": "crud_production_material_usage_rationale_20", - "community": 5, + "community": 4, "norm_label": "\u517c\u5bb9\u65e7\u6570\u636e:\u9886\u7528\u4eba/\u7528\u9014\u66fe\u62fc\u63a5\u5728 remark \u4e2d\u3002" }, { @@ -14211,7 +14211,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L42", "id": "crud_production_material_usage_rationale_42", - "community": 5, + "community": 4, "norm_label": "\u624b\u52a8\u51fa\u5e93\u65f6\u5907\u6ce8\u4ec5\u5c55\u793a\u7528\u6237\u586b\u5199\u5185\u5bb9,\u4e0d\u542b\u9886\u7528\u4eba/\u7528\u9014\u62fc\u63a5\u6bb5\u3002" }, { @@ -14220,7 +14220,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L195", "id": "crud_production_material_usage_rationale_195", - "community": 5, + "community": 4, "norm_label": "\u5f53\u524d\u767b\u5f55\u4eba\u7684\u9886\u7528\u8bb0\u5f55:\u624b\u52a8\u51fa\u5e93(\u9886\u7528\u4eba)\u6216\u4efb\u52a1\u4f7f\u7528(\u586b\u62a5\u4eba)\u3002" }, { @@ -14229,7 +14229,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L367", "id": "crud_production_material_usage_rationale_367", - "community": 5, + "community": 4, "norm_label": "\u5f53\u524d\u767b\u5f55\u4eba\u7684\u7269\u6599\u9886\u7528\u8bb0\u5f55(\u624b\u52a8\u51fa\u5e93 + \u4efb\u52a1\u4f7f\u7528)\u3002" }, { @@ -14238,7 +14238,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L391", "id": "crud_production_material_usage_rationale_391", - "community": 5, + "community": 4, "norm_label": "\u67e5\u8be2\u751f\u4ea7\u6b65\u9aa4\u5173\u8054\u7684\u7269\u6599\u4f7f\u7528\u8bb0\u5f55(step_save)\u3002" }, { @@ -14247,7 +14247,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L448", "id": "crud_production_material_usage_rationale_448", - "community": 5, + "community": 4, "norm_label": "\u67e5\u8be2\u9886\u7528\u8bb0\u5f55\u5173\u8054\u7684\u6d88\u8017\u660e\u7ec6(parent_usage_id \u2192 step_save / prep_consume)\u3002" }, { @@ -14256,7 +14256,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L524", "id": "crud_production_material_usage_rationale_524", - "community": 5, + "community": 4, "norm_label": "\u64a4\u9500\u6b65\u9aa4\u6b64\u524d step_save \u6263\u51cf,\u4fbf\u4e8e\u91cd\u65b0\u586b\u62a5\u7269\u6599\u4f7f\u7528\u3002" }, { @@ -14265,7 +14265,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L595", "id": "crud_production_material_usage_rationale_595", - "community": 5, + "community": 4, "norm_label": "\u9886\u7528\u8bb0\u5f55\u9009\u9879(manual_out),\u4f9b\u751f\u4ea7\u6b65\u9aa4\u5173\u8054\u7269\u6599\u4f7f\u7528\u3002" }, { @@ -14274,7 +14274,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L773", "id": "crud_production_material_usage_rationale_773", - "community": 5, + "community": 3, "norm_label": "\u65e7\u7248:\u6309\u5165\u5e93\u6279\u6b21\u6263\u51cf\u5e93\u5b58(\u517c\u5bb9\u5386\u53f2\u6570\u636e)\u3002" }, { @@ -14283,7 +14283,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L878", "id": "crud_production_material_usage_rationale_878", - "community": 8, + "community": 3, "norm_label": "\u767b\u8bb0\u6b65\u9aa4\u7269\u6599\u4f7f\u7528;\u5173\u8054\u9886\u7528\u8bb0\u5f55\u65f6\u4e0d\u6263\u51cf\u5e93\u5b58\u3002\u8c03\u7528\u65b9\u63a7\u5236\u4e8b\u52a1,\u672c\u51fd\u6570\u4e0d commit\u3002" }, { @@ -14292,7 +14292,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L934", "id": "crud_production_material_usage_rationale_934", - "community": 5, + "community": 4, "norm_label": "\u914d\u5236\u5b50\u7269\u6599\u6765\u6e90:\u5168\u90e8\u672a\u6807\u8bb0\u5df2\u7528\u5b8c\u7684\u9886\u7528\u8bb0\u5f55\u3002" }, { @@ -14301,7 +14301,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L1064", "id": "crud_production_material_usage_rationale_1064", - "community": 5, + "community": 4, "norm_label": "\u76d8\u70b9\u767b\u8bb0\u5f39\u7a97:\u5f85\u5904\u7406\u9886\u7528\u8bb0\u5f55(\u672a\u6807\u8bb0\u5df2\u4f7f\u7528\u5b8c)\u3002" }, { @@ -14310,7 +14310,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L1233", "id": "crud_production_material_usage_rationale_1233", - "community": 5, + "community": 4, "norm_label": "\u67e5\u8be2\u914d\u5236\u6d88\u8017\u660e\u7ec6(sub_consume)\u3002" }, { @@ -14319,7 +14319,7 @@ "source_file": "crud/production_material_usage.py", "source_location": "L1312", "id": "crud_production_material_usage_rationale_1312", - "community": 5, + "community": 4, "norm_label": "\u5f53\u524d\u767b\u5f55\u4eba\u9886\u7528\u6279\u6b21\u7684\u914d\u5236\u6d88\u8017\u660e\u7ec6(\u6309\u9886\u7528\u4eba,\u975e\u914d\u5236\u64cd\u4f5c\u4eba)\u3002" }, { @@ -14328,7 +14328,7 @@ "source_file": "crud/sop_document.py", "source_location": "L1", "id": "crud_sop_document_py", - "community": 12, + "community": 1, "norm_label": "sop_document.py" }, { @@ -14337,7 +14337,7 @@ "source_file": "crud/sop_document.py", "source_location": "L16", "id": "crud_sop_document_row_to_dict", - "community": 12, + "community": 1, "norm_label": "_row_to_dict()" }, { @@ -14346,7 +14346,7 @@ "source_file": "crud/sop_document.py", "source_location": "L37", "id": "crud_sop_document_list_sop_documents", - "community": 12, + "community": 1, "norm_label": "list_sop_documents()" }, { @@ -14355,7 +14355,7 @@ "source_file": "crud/sop_document.py", "source_location": "L77", "id": "crud_sop_document_get_sop_document", - "community": 12, + "community": 1, "norm_label": "get_sop_document()" }, { @@ -14364,7 +14364,7 @@ "source_file": "crud/sop_document.py", "source_location": "L85", "id": "crud_sop_document_sop_code_exists", - "community": 12, + "community": 1, "norm_label": "sop_code_exists()" }, { @@ -14373,7 +14373,7 @@ "source_file": "crud/sop_document.py", "source_location": "L94", "id": "crud_sop_document_create_sop_document", - "community": 12, + "community": 1, "norm_label": "create_sop_document()" }, { @@ -14382,7 +14382,7 @@ "source_file": "crud/sop_document.py", "source_location": "L133", "id": "crud_sop_document_update_sop_document", - "community": 12, + "community": 1, "norm_label": "update_sop_document()" }, { @@ -14391,7 +14391,7 @@ "source_file": "crud/sop_document.py", "source_location": "L173", "id": "crud_sop_document_soft_delete_sop_document", - "community": 12, + "community": 1, "norm_label": "soft_delete_sop_document()" }, { @@ -14400,7 +14400,7 @@ "source_file": "crud/sop_document.py", "source_location": "L183", "id": "crud_sop_document_total_pages", - "community": 12, + "community": 1, "norm_label": "total_pages()" }, { @@ -14409,7 +14409,7 @@ "source_file": "crud/sop_document.py", "source_location": "L1", "id": "crud_sop_document_rationale_1", - "community": 12, + "community": 1, "norm_label": "sop\u6587\u6863 crud(biz_sop_document)" }, { @@ -14418,7 +14418,7 @@ "source_file": "crud/production_task.py", "source_location": "L1", "id": "crud_production_task_py", - "community": 8, + "community": 10, "norm_label": "production_task.py" }, { @@ -14427,7 +14427,7 @@ "source_file": "crud/production_task.py", "source_location": "L53", "id": "crud_production_task_require_requisition_for_catalog_material", - "community": 8, + "community": 0, "norm_label": "_require_requisition_for_catalog_material()" }, { @@ -14436,7 +14436,7 @@ "source_file": "crud/production_task.py", "source_location": "L105", "id": "crud_production_task_production_conclusion_label", - "community": 8, + "community": 10, "norm_label": "_production_conclusion_label()" }, { @@ -14445,7 +14445,7 @@ "source_file": "crud/production_task.py", "source_location": "L112", "id": "crud_production_task_fmt_dt", - "community": 8, + "community": 10, "norm_label": "_fmt_dt()" }, { @@ -14454,7 +14454,7 @@ "source_file": "crud/production_task.py", "source_location": "L116", "id": "crud_production_task_normalize_date_bound", - "community": 8, + "community": 10, "norm_label": "_normalize_date_bound()" }, { @@ -14463,7 +14463,7 @@ "source_file": "crud/production_task.py", "source_location": "L123", "id": "crud_production_task_enrich_outbound_task_items", - "community": 8, + "community": 10, "norm_label": "_enrich_outbound_task_items()" }, { @@ -14472,7 +14472,7 @@ "source_file": "crud/production_task.py", "source_location": "L257", "id": "crud_production_task_generate_task_no", - "community": 8, + "community": 10, "norm_label": "_generate_task_no()" }, { @@ -14481,7 +14481,7 @@ "source_file": "crud/production_task.py", "source_location": "L271", "id": "crud_production_task_task_to_dict", - "community": 8, + "community": 10, "norm_label": "_task_to_dict()" }, { @@ -14490,7 +14490,7 @@ "source_file": "crud/production_task.py", "source_location": "L300", "id": "crud_production_task_step_to_dict", - "community": 8, + "community": 10, "norm_label": "_step_to_dict()" }, { @@ -14499,7 +14499,7 @@ "source_file": "crud/production_task.py", "source_location": "L325", "id": "crud_production_task_step_reagent_to_dict", - "community": 8, + "community": 10, "norm_label": "_step_reagent_to_dict()" }, { @@ -14508,7 +14508,7 @@ "source_file": "crud/production_task.py", "source_location": "L342", "id": "crud_production_task_step_configured_reagent_to_dict", - "community": 8, + "community": 10, "norm_label": "_step_configured_reagent_to_dict()" }, { @@ -14517,7 +14517,7 @@ "source_file": "crud/production_task.py", "source_location": "L358", "id": "crud_production_task_step_consumable_to_dict", - "community": 8, + "community": 10, "norm_label": "_step_consumable_to_dict()" }, { @@ -14526,7 +14526,7 @@ "source_file": "crud/production_task.py", "source_location": "L375", "id": "crud_production_task_step_output_to_dict", - "community": 8, + "community": 10, "norm_label": "_step_output_to_dict()" }, { @@ -14535,7 +14535,7 @@ "source_file": "crud/production_task.py", "source_location": "L387", "id": "crud_production_task_step_data_collection_to_dict", - "community": 8, + "community": 10, "norm_label": "_step_data_collection_to_dict()" }, { @@ -14544,7 +14544,7 @@ "source_file": "crud/production_task.py", "source_location": "L399", "id": "crud_production_task_task_input_to_dict", - "community": 8, + "community": 10, "norm_label": "_task_input_to_dict()" }, { @@ -14553,7 +14553,7 @@ "source_file": "crud/production_task.py", "source_location": "L421", "id": "crud_production_task_task_output_to_dict", - "community": 8, + "community": 10, "norm_label": "_task_output_to_dict()" }, { @@ -14562,7 +14562,7 @@ "source_file": "crud/production_task.py", "source_location": "L446", "id": "crud_production_task_soft_delete_sub", - "community": 8, + "community": 0, "norm_label": "_soft_delete_sub()" }, { @@ -14571,7 +14571,7 @@ "source_file": "crud/production_task.py", "source_location": "L459", "id": "crud_production_task_resolve_sub_table_order_num", - "community": 8, + "community": 10, "norm_label": "_resolve_sub_table_order_num()" }, { @@ -14580,7 +14580,7 @@ "source_file": "crud/production_task.py", "source_location": "L468", "id": "crud_production_task_empty_step_sub_tables", - "community": 8, + "community": 10, "norm_label": "_empty_step_sub_tables()" }, { @@ -14589,7 +14589,7 @@ "source_file": "crud/production_task.py", "source_location": "L478", "id": "crud_production_task_batch_load_step_sub_tables", - "community": 8, + "community": 10, "norm_label": "_batch_load_step_sub_tables()" }, { @@ -14598,7 +14598,7 @@ "source_file": "crud/production_task.py", "source_location": "L578", "id": "crud_production_task_step_sub_tables_to_dict", - "community": 8, + "community": 10, "norm_label": "_step_sub_tables_to_dict()" }, { @@ -14607,7 +14607,7 @@ "source_file": "crud/production_task.py", "source_location": "L583", "id": "crud_production_task_clone_step_reagents", - "community": 8, + "community": 10, "norm_label": "_clone_step_reagents()" }, { @@ -14616,7 +14616,7 @@ "source_file": "crud/production_task.py", "source_location": "L606", "id": "crud_production_task_clone_step_consumables", - "community": 8, + "community": 10, "norm_label": "_clone_step_consumables()" }, { @@ -14625,7 +14625,7 @@ "source_file": "crud/production_task.py", "source_location": "L629", "id": "crud_production_task_clone_step_outputs", - "community": 8, + "community": 10, "norm_label": "_clone_step_outputs()" }, { @@ -14634,7 +14634,7 @@ "source_file": "crud/production_task.py", "source_location": "L651", "id": "crud_production_task_clone_step_data_collections", - "community": 8, + "community": 10, "norm_label": "_clone_step_data_collections()" }, { @@ -14643,7 +14643,7 @@ "source_file": "crud/production_task.py", "source_location": "L672", "id": "crud_production_task_clone_route_to_task", - "community": 8, + "community": 10, "norm_label": "_clone_route_to_task()" }, { @@ -14652,7 +14652,7 @@ "source_file": "crud/production_task.py", "source_location": "L705", "id": "crud_production_task_validate_assignee_user_id", - "community": 8, + "community": 10, "norm_label": "_validate_assignee_user_id()" }, { @@ -14670,7 +14670,7 @@ "source_file": "crud/production_task.py", "source_location": "L740", "id": "crud_production_task_enrich_handover_times", - "community": 8, + "community": 10, "norm_label": "_enrich_handover_times()" }, { @@ -14679,7 +14679,7 @@ "source_file": "crud/production_task.py", "source_location": "L769", "id": "crud_production_task_get_production_task_row", - "community": 8, + "community": 10, "norm_label": "get_production_task_row()" }, { @@ -14688,7 +14688,7 @@ "source_file": "crud/production_task.py", "source_location": "L783", "id": "crud_production_task_assert_task_assignee", - "community": 8, + "community": 10, "norm_label": "assert_task_assignee()" }, { @@ -14697,7 +14697,7 @@ "source_file": "crud/production_task.py", "source_location": "L790", "id": "crud_production_task_assert_task_step_assignee_or_legacy", - "community": 8, + "community": 10, "norm_label": "assert_task_step_assignee_or_legacy()" }, { @@ -14706,7 +14706,7 @@ "source_file": "crud/production_task.py", "source_location": "L805", "id": "crud_production_task_assert_step_assignee_for_write", - "community": 8, + "community": 10, "norm_label": "assert_step_assignee_for_write()" }, { @@ -14715,7 +14715,7 @@ "source_file": "crud/production_task.py", "source_location": "L836", "id": "crud_production_task_record_task_handover", - "community": 8, + "community": 10, "norm_label": "_record_task_handover()" }, { @@ -14724,7 +14724,7 @@ "source_file": "crud/production_task.py", "source_location": "L868", "id": "crud_production_task_forward_production_task", - "community": 8, + "community": 10, "norm_label": "forward_production_task()" }, { @@ -14733,7 +14733,7 @@ "source_file": "crud/production_task.py", "source_location": "L911", "id": "crud_production_task_reassign_production_task", - "community": 8, + "community": 10, "norm_label": "reassign_production_task()" }, { @@ -14742,7 +14742,7 @@ "source_file": "crud/production_task.py", "source_location": "L956", "id": "crud_production_task_create_production_task", - "community": 8, + "community": 10, "norm_label": "create_production_task()" }, { @@ -14751,7 +14751,7 @@ "source_file": "crud/production_task.py", "source_location": "L1050", "id": "crud_production_task_dispatch_task_steps", - "community": 0, + "community": 10, "norm_label": "dispatch_task_steps()" }, { @@ -14760,7 +14760,7 @@ "source_file": "crud/production_task.py", "source_location": "L1114", "id": "crud_production_task_enrich_tasks_with_step_summaries", - "community": 0, + "community": 10, "norm_label": "_enrich_tasks_with_step_summaries()" }, { @@ -14769,7 +14769,7 @@ "source_file": "crud/production_task.py", "source_location": "L1152", "id": "crud_production_task_list_production_tasks", - "community": 7, + "community": 10, "norm_label": "list_production_tasks()" }, { @@ -14778,7 +14778,7 @@ "source_file": "crud/production_task.py", "source_location": "L1568", "id": "crud_production_task_list_mine_production_tasks", - "community": 8, + "community": 10, "norm_label": "list_mine_production_tasks()" }, { @@ -14787,7 +14787,7 @@ "source_file": "crud/production_task.py", "source_location": "L1632", "id": "crud_production_task_get_production_task_detail", - "community": 8, + "community": 10, "norm_label": "get_production_task_detail()" }, { @@ -14823,7 +14823,7 @@ "source_file": "crud/production_task.py", "source_location": "L1928", "id": "crud_production_task_consume_task_input_cell_products", - "community": 8, + "community": 10, "norm_label": "_consume_task_input_cell_products()" }, { @@ -14832,7 +14832,7 @@ "source_file": "crud/production_task.py", "source_location": "L1975", "id": "crud_production_task_update_task_status", - "community": 8, + "community": 10, "norm_label": "update_task_status()" }, { @@ -14841,7 +14841,7 @@ "source_file": "crud/production_task.py", "source_location": "L2035", "id": "crud_production_task_add_task_step", - "community": 8, + "community": 10, "norm_label": "add_task_step()" }, { @@ -14859,7 +14859,7 @@ "source_file": "crud/production_task.py", "source_location": "L2235", "id": "crud_production_task_delete_task_step", - "community": 8, + "community": 0, "norm_label": "delete_task_step()" }, { @@ -14868,7 +14868,7 @@ "source_file": "crud/production_task.py", "source_location": "L2258", "id": "crud_production_task_replace_step_reagents", - "community": 8, + "community": 0, "norm_label": "replace_step_reagents()" }, { @@ -14877,7 +14877,7 @@ "source_file": "crud/production_task.py", "source_location": "L2328", "id": "crud_production_task_replace_step_consumables", - "community": 8, + "community": 0, "norm_label": "replace_step_consumables()" }, { @@ -14886,7 +14886,7 @@ "source_file": "crud/production_task.py", "source_location": "L2398", "id": "crud_production_task_replace_step_configured_reagents", - "community": 8, + "community": 0, "norm_label": "replace_step_configured_reagents()" }, { @@ -14895,7 +14895,7 @@ "source_file": "crud/production_task.py", "source_location": "L2466", "id": "crud_production_task_replace_step_outputs", - "community": 8, + "community": 0, "norm_label": "replace_step_outputs()" }, { @@ -14904,7 +14904,7 @@ "source_file": "crud/production_task.py", "source_location": "L2485", "id": "crud_production_task_replace_step_data_collections", - "community": 8, + "community": 0, "norm_label": "replace_step_data_collections()" }, { @@ -14922,7 +14922,7 @@ "source_file": "crud/production_task.py", "source_location": "L2578", "id": "crud_production_task_set_task_inputs", - "community": 8, + "community": 0, "norm_label": "set_task_inputs()" }, { @@ -14931,7 +14931,7 @@ "source_file": "crud/production_task.py", "source_location": "L2635", "id": "crud_production_task_parse_optional_date", - "community": 8, + "community": 10, "norm_label": "_parse_optional_date()" }, { @@ -14940,7 +14940,7 @@ "source_file": "crud/production_task.py", "source_location": "L2644", "id": "crud_production_task_create_occupancy_for_product", - "community": 8, + "community": 10, "norm_label": "_create_occupancy_for_product()" }, { @@ -14949,7 +14949,7 @@ "source_file": "crud/production_task.py", "source_location": "L2666", "id": "crud_production_task_output_item_has_spec", - "community": 8, + "community": 10, "norm_label": "_output_item_has_spec()" }, { @@ -14958,7 +14958,7 @@ "source_file": "crud/production_task.py", "source_location": "L2670", "id": "crud_production_task_output_item_spec_text", - "community": 8, + "community": 10, "norm_label": "_output_item_spec_text()" }, { @@ -14967,7 +14967,7 @@ "source_file": "crud/production_task.py", "source_location": "L2686", "id": "crud_production_task_update_product_from_output", - "community": 8, + "community": 10, "norm_label": "_update_product_from_output()" }, { @@ -14976,7 +14976,7 @@ "source_file": "crud/production_task.py", "source_location": "L2746", "id": "crud_production_task_set_task_outputs", - "community": 8, + "community": 10, "norm_label": "set_task_outputs()" }, { @@ -14985,7 +14985,7 @@ "source_file": "crud/production_task.py", "source_location": "L2881", "id": "crud_production_task_reorder_task_steps", - "community": 8, + "community": 10, "norm_label": "reorder_task_steps()" }, { @@ -14994,7 +14994,7 @@ "source_file": "crud/production_task.py", "source_location": "L2895", "id": "crud_production_task_copy_task_step", - "community": 1, + "community": 10, "norm_label": "copy_task_step()" }, { @@ -15003,7 +15003,7 @@ "source_file": "crud/production_task.py", "source_location": "L3021", "id": "crud_production_task_delete_production_task", - "community": 8, + "community": 10, "norm_label": "delete_production_task()" }, { @@ -15012,7 +15012,7 @@ "source_file": "crud/production_task.py", "source_location": "L3070", "id": "crud_production_task_total_pages", - "community": 8, + "community": 10, "norm_label": "total_pages()" }, { @@ -15021,7 +15021,7 @@ "source_file": "crud/production_task.py", "source_location": "L3085", "id": "crud_production_task_empty_production_tab_step_counts", - "community": 8, + "community": 10, "norm_label": "_empty_production_tab_step_counts()" }, { @@ -15030,7 +15030,7 @@ "source_file": "crud/production_task.py", "source_location": "L3092", "id": "crud_production_task_resolve_production_tab_key", - "community": 8, + "community": 10, "norm_label": "_resolve_production_tab_key()" }, { @@ -15039,7 +15039,7 @@ "source_file": "crud/production_task.py", "source_location": "L3111", "id": "crud_production_task_aggregate_production_tab_step_field", - "community": 8, + "community": 10, "norm_label": "_aggregate_production_tab_step_field()" }, { @@ -15048,7 +15048,7 @@ "source_file": "crud/production_task.py", "source_location": "L3123", "id": "crud_production_task_base_active_step_count_query", - "community": 8, + "community": 4, "norm_label": "_base_active_step_count_query()" }, { @@ -15057,7 +15057,7 @@ "source_file": "crud/production_task.py", "source_location": "L3196", "id": "crud_production_task_count_step_tab_badges_by_tab", - "community": 8, + "community": 10, "norm_label": "count_step_tab_badges_by_tab()" }, { @@ -15066,7 +15066,7 @@ "source_file": "crud/production_task.py", "source_location": "L3243", "id": "crud_production_task_count_production_work_order_tab_step_badges", - "community": 8, + "community": 10, "norm_label": "count_production_work_order_tab_step_badges()" }, { @@ -15075,7 +15075,7 @@ "source_file": "crud/production_task.py", "source_location": "L3249", "id": "crud_production_task_count_mine_production_work_order_tab_step_badges", - "community": 8, + "community": 10, "norm_label": "count_mine_production_work_order_tab_step_badges()" }, { @@ -15246,7 +15246,7 @@ "source_file": "crud/inbound_sample_special.py", "source_location": "L1", "id": "crud_inbound_sample_special_rationale_1", - "community": 4, + "community": 9, "norm_label": "\u5165\u5e93\u6837\u672c(\u91c7\u96c6\u534f\u8bae / \u79d1\u7814\u6350\u8d60)\u00b7 \u7279\u6b8a\u6807\u8bb0\u7ef4\u62a4\u3002" }, { @@ -15354,7 +15354,7 @@ "source_file": "crud/sample_production_reception.py", "source_location": "L1", "id": "crud_sample_production_reception_py", - "community": 12, + "community": 5, "norm_label": "sample_production_reception.py" }, { @@ -15363,7 +15363,7 @@ "source_file": "crud/sample_production_reception.py", "source_location": "L62", "id": "crud_sample_production_reception_fmt_dt", - "community": 12, + "community": 5, "norm_label": "_fmt_dt()" }, { @@ -15372,7 +15372,7 @@ "source_file": "crud/sample_production_reception.py", "source_location": "L66", "id": "crud_sample_production_reception_dec", - "community": 12, + "community": 5, "norm_label": "_dec()" }, { @@ -15381,7 +15381,7 @@ "source_file": "crud/sample_production_reception.py", "source_location": "L72", "id": "crud_sample_production_reception_int_val", - "community": 12, + "community": 5, "norm_label": "_int_val()" }, { @@ -15390,7 +15390,7 @@ "source_file": "crud/sample_production_reception.py", "source_location": "L78", "id": "crud_sample_production_reception_resolve_field_profile", - "community": 12, + "community": 5, "norm_label": "resolve_field_profile()" }, { @@ -15399,7 +15399,7 @@ "source_file": "crud/sample_production_reception.py", "source_location": "L84", "id": "crud_sample_production_reception_row_to_dict", - "community": 12, + "community": 5, "norm_label": "_row_to_dict()" }, { @@ -15408,7 +15408,7 @@ "source_file": "crud/sample_production_reception.py", "source_location": "L114", "id": "crud_sample_production_reception_validate_handler_user_id", - "community": 12, + "community": 5, "norm_label": "_validate_handler_user_id()" }, { @@ -15417,7 +15417,7 @@ "source_file": "crud/sample_production_reception.py", "source_location": "L126", "id": "crud_sample_production_reception_get_qc_reception", - "community": 12, + "community": 5, "norm_label": "_get_qc_reception()" }, { @@ -15426,7 +15426,7 @@ "source_file": "crud/sample_production_reception.py", "source_location": "L145", "id": "crud_sample_production_reception_validate_payload", - "community": 12, + "community": 5, "norm_label": "_validate_payload()" }, { @@ -15435,7 +15435,7 @@ "source_file": "crud/sample_production_reception.py", "source_location": "L164", "id": "crud_sample_production_reception_apply_payload_to_row", - "community": 12, + "community": 5, "norm_label": "_apply_payload_to_row()" }, { @@ -15444,7 +15444,7 @@ "source_file": "crud/sample_production_reception.py", "source_location": "L220", "id": "crud_sample_production_reception_get_by_reception_id", - "community": 12, + "community": 5, "norm_label": "get_by_reception_id()" }, { @@ -15453,7 +15453,7 @@ "source_file": "crud/sample_production_reception.py", "source_location": "L235", "id": "crud_sample_production_reception_get_map_by_reception_ids", - "community": 12, + "community": 5, "norm_label": "get_map_by_reception_ids()" }, { @@ -15462,7 +15462,7 @@ "source_file": "crud/sample_production_reception.py", "source_location": "L252", "id": "crud_sample_production_reception_get_by_id", - "community": 12, + "community": 5, "norm_label": "get_by_id()" }, { @@ -15471,7 +15471,7 @@ "source_file": "crud/sample_production_reception.py", "source_location": "L265", "id": "crud_sample_production_reception_create_production_reception", - "community": 12, + "community": 5, "norm_label": "create_production_reception()" }, { @@ -15480,7 +15480,7 @@ "source_file": "crud/sample_production_reception.py", "source_location": "L322", "id": "crud_sample_production_reception_update_production_reception", - "community": 12, + "community": 5, "norm_label": "update_production_reception()" }, { @@ -15642,7 +15642,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L69", "id": "crud_collection_protocol_get_protocol_nos_used_in_protocols", - "community": 1, + "community": 8, "norm_label": "get_protocol_nos_used_in_protocols()" }, { @@ -15651,7 +15651,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L103", "id": "crud_collection_protocol_get_sample_codes_used_in_protocol_samples", - "community": 4, + "community": 0, "norm_label": "get_sample_codes_used_in_protocol_samples()" }, { @@ -15660,7 +15660,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L137", "id": "crud_collection_protocol_validate_sample_codes_not_used", - "community": 4, + "community": 0, "norm_label": "validate_sample_codes_not_used()" }, { @@ -15741,7 +15741,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L239", "id": "crud_collection_protocol_attachments_to_urls", - "community": 4, + "community": 0, "norm_label": "attachments_to_urls()" }, { @@ -15759,7 +15759,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L267", "id": "crud_collection_protocol_format_attachment_file_size", - "community": 12, + "community": 5, "norm_label": "_format_attachment_file_size()" }, { @@ -15777,7 +15777,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L299", "id": "crud_collection_protocol_urls_to_attachment_list", - "community": 12, + "community": 5, "norm_label": "urls_to_attachment_list()" }, { @@ -16029,7 +16029,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L1349", "id": "crud_collection_protocol_list_audits", - "community": 5, + "community": 4, "norm_label": "list_audits()" }, { @@ -16038,7 +16038,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L1416", "id": "crud_collection_protocol_create_audit", - "community": 4, + "community": 1, "norm_label": "create_audit()" }, { @@ -16155,7 +16155,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L1879", "id": "crud_collection_protocol_parse_transfer_time_value", - "community": 4, + "community": 0, "norm_label": "_parse_transfer_time_value()" }, { @@ -16164,7 +16164,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L1889", "id": "crud_collection_protocol_apply_payment_detail_draft_fields", - "community": 4, + "community": 0, "norm_label": "_apply_payment_detail_draft_fields()" }, { @@ -16182,7 +16182,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L1931", "id": "crud_collection_protocol_update_payment_detail_draft", - "community": 4, + "community": 0, "norm_label": "update_payment_detail_draft()" }, { @@ -16218,7 +16218,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L2000", "id": "crud_collection_protocol_apply_submit_refund_finance", - "community": 0, + "community": 4, "norm_label": "_apply_submit_refund_finance()" }, { @@ -16227,7 +16227,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L2020", "id": "crud_collection_protocol_submit_refund_finance", - "community": 0, + "community": 4, "norm_label": "submit_refund_finance()" }, { @@ -16236,7 +16236,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L2044", "id": "crud_collection_protocol_batch_submit_refund_finance", - "community": 0, + "community": 4, "norm_label": "batch_submit_refund_finance()" }, { @@ -16281,7 +16281,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L2252", "id": "crud_collection_protocol_create_collection_protocol", - "community": 4, + "community": 9, "norm_label": "create_collection_protocol()" }, { @@ -16353,7 +16353,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L2586", "id": "crud_collection_protocol_migrate_sample_child_refs_on_replace", - "community": 4, + "community": 0, "norm_label": "_migrate_sample_child_refs_on_replace()" }, { @@ -16362,7 +16362,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L2621", "id": "crud_collection_protocol_save_samples", - "community": 4, + "community": 0, "norm_label": "save_samples()" }, { @@ -16389,7 +16389,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L2745", "id": "crud_collection_protocol_save_sample_transports", - "community": 4, + "community": 0, "norm_label": "save_sample_transports()" }, { @@ -16560,7 +16560,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L3385", "id": "crud_collection_protocol_upsert_fullmoon_todo", - "community": 4, + "community": 0, "norm_label": "upsert_fullmoon_todo()" }, { @@ -16632,7 +16632,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L3680", "id": "crud_collection_protocol_create_invoice_request", - "community": 1, + "community": 4, "norm_label": "create_invoice_request()" }, { @@ -16641,7 +16641,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L3782", "id": "crud_collection_protocol_invoice_request_list_query", - "community": 5, + "community": 4, "norm_label": "_invoice_request_list_query()" }, { @@ -16650,7 +16650,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L3811", "id": "crud_collection_protocol_list_protocol_invoice_requests", - "community": 5, + "community": 4, "norm_label": "list_protocol_invoice_requests()" }, { @@ -16659,7 +16659,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L3849", "id": "crud_collection_protocol_count_pending_protocol_invoice_requests", - "community": 5, + "community": 4, "norm_label": "count_pending_protocol_invoice_requests()" }, { @@ -16677,7 +16677,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L1", "id": "crud_collection_protocol_rationale_1", - "community": 3, + "community": 9, "norm_label": "\u91c7\u96c6\u534f\u8bae\u5355 / \u5ba1\u6838 / \u7f34\u8d39\u660e\u7ec6 crud(\u7ec6\u80de\u5b58\u50a8 2.2.6~2.2.10)" }, { @@ -16686,7 +16686,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L75", "id": "crud_collection_protocol_rationale_75", - "community": 3, + "community": 9, "norm_label": "\u8fd4\u56de\u5df2\u5728\u91c7\u96c6\u534f\u8bae\u5355\u6216\u79d1\u7814\u6350\u8d60\u5355\u4e2d\u5360\u7528\u7684\u534f\u8bae\u7f16\u53f7\u96c6\u5408(\u540c\u79df\u6237\u3001\u672a\u5220\u9664)\u3002" }, { @@ -16695,7 +16695,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L109", "id": "crud_collection_protocol_rationale_109", - "community": 3, + "community": 9, "norm_label": "\u8fd4\u56de\u5df2\u5728\u91c7\u96c6\u534f\u8bae\u5355\u6216\u79d1\u7814\u6350\u8d60\u5355\u6837\u672c\u8868\u4e2d\u5360\u7528\u7684\u6837\u672c\u7f16\u7801\u96c6\u5408(\u540c\u79df\u6237\u3001\u672a\u5220\u9664)\u3002" }, { @@ -16704,7 +16704,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L145", "id": "crud_collection_protocol_rationale_145", - "community": 3, + "community": 9, "norm_label": "\u521b\u5efa/\u66f4\u65b0\u6837\u672c\u884c\u524d\u6821\u9a8c:\u6837\u672c\u7f16\u7801\u4e0d\u5f97\u5df2\u88ab\u4efb\u4e00\u4e1a\u52a1\u5355\u5360\u7528(\u8f6c\u79fb\u914d\u5bf9\u5355\u8c41\u514d)\u3002" }, { @@ -16713,7 +16713,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L199", "id": "crud_collection_protocol_rationale_199", - "community": 3, + "community": 9, "norm_label": "\u5c06 yyyymmdd / yyyy-mm-dd \u7b49\u683c\u5f0f\u89c4\u8303\u4e3a 8 \u4f4d\u65e5\u671f\u5b57\u7b26\u4e32\u3002" }, { @@ -16722,7 +16722,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L218", "id": "crud_collection_protocol_rationale_218", - "community": 3, + "community": 9, "norm_label": "\u5c06\u524d\u7aef camelcase \u5b57\u6bb5\u540d\u8f6c\u4e3a\u6570\u636e\u5e93 snake_case\u3002" }, { @@ -16731,7 +16731,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L229", "id": "crud_collection_protocol_rationale_229", - "community": 3, + "community": 9, "norm_label": "\u4ece\u4fdd\u5b58\u8f7d\u8377\u4e2d\u53d6\u51fa\u9644\u4ef6\u5b57\u6bb5(\u652f\u6301 snake/camel\u3001url \u4e32\u6216\u9644\u4ef6\u5bf9\u8c61\u5217\u8868)\u3002" }, { @@ -16740,7 +16740,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L240", "id": "crud_collection_protocol_rationale_240", - "community": 3, + "community": 9, "norm_label": "\u9644\u4ef6\u5217\u8868\u6216\u5b57\u7b26\u4e32 \u2192 \u9017\u53f7\u5206\u9694 url(minio)\u3002" }, { @@ -16749,7 +16749,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L304", "id": "crud_collection_protocol_rationale_304", - "community": 3, + "community": 9, "norm_label": "\u9017\u53f7\u5206\u9694 url \u2192 \u524d\u7aef\u9644\u4ef6\u5361\u7247\u7ed3\u6784;\u6709 db \u65f6\u4ece biz_attachment \u53d6\u539f\u59cb\u6587\u4ef6\u540d\u3002" }, { @@ -16758,7 +16758,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L589", "id": "crud_collection_protocol_rationale_589", - "community": 3, + "community": 9, "norm_label": "\u6c47\u603b\u534f\u8bae\u5355\u4e0b\u5404\u6837\u672c\u91c7\u96c6\u60c5\u51b5,\u5982\u300c1\u4e2a\u5df2\u91c7\u96c6,1\u4e2a\u672a\u91c7\u96c6\u300d\u3002" }, { @@ -16767,7 +16767,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L636", "id": "crud_collection_protocol_rationale_636", - "community": 3, + "community": 9, "norm_label": "\u4ece\u5165\u5e93\u653e\u884c\u5ba1\u6838\u8bb0\u5f55\u8865\u5168\u5165\u5e93\u65e5\u671f(\u5386\u53f2\u6570\u636e\u53ef\u80fd\u672a\u5199\u5165\u6837\u672c storage_in_date)\u3002" }, { @@ -16776,7 +16776,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L1514", "id": "crud_collection_protocol_rationale_1514", - "community": 3, + "community": 9, "norm_label": "\u7f34\u8d39\u660e\u7ec6\u884c \u2192 \u524d\u7aef\u5b57\u5178(\u542b\u534f\u8bae\u3001\u5ba2\u6237\u3001\u8f6c\u8d26\u9644\u4ef6)\u3002" }, { @@ -16785,7 +16785,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L2188", "id": "crud_collection_protocol_rationale_2188", - "community": 3, + "community": 9, "norm_label": "overdue | warn | upcoming \u2014 due \u4e3a yyyymmdd" }, { @@ -16794,7 +16794,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L2594", "id": "crud_collection_protocol_rationale_2594", - "community": 3, + "community": 9, "norm_label": "\u534f\u8bae\u6837\u672c\u884c\u91cd\u5efa\u540e,\u5c06\u63a5\u6536/\u8d28\u68c0\u5de5\u5355\u7684 protocol_sample_id \u8fc1\u79fb\u5230\u65b0\u6837\u672c id\u3002" }, { @@ -16803,7 +16803,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L3033", "id": "crud_collection_protocol_rationale_3033", - "community": 3, + "community": 9, "norm_label": "normalize one payment detail row for equality compare." }, { @@ -16812,7 +16812,7 @@ "source_file": "crud/collection_protocol.py", "source_location": "L3330", "id": "crud_collection_protocol_rationale_3330", - "community": 3, + "community": 9, "norm_label": "\u534f\u8bae\u8be6\u60c5 bundle \u7528:\u6ee1\u6708\u5f85\u529e\u5b57\u6bb5 + \u7531\u5206\u5a29\u65e5\u63a8\u7b97\u7684\u6ee1\u6708\u65e5\u671f\u3002" }, { @@ -17109,7 +17109,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L1", "id": "crud_qc_material_usage_py", - "community": 5, + "community": 4, "norm_label": "qc_material_usage.py" }, { @@ -17118,7 +17118,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L18", "id": "crud_qc_material_usage_parse_receiver_purpose_from_remark", - "community": 5, + "community": 4, "norm_label": "_parse_receiver_purpose_from_remark()" }, { @@ -17127,7 +17127,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L30", "id": "crud_qc_material_usage_resolve_receiver_purpose", - "community": 5, + "community": 4, "norm_label": "_resolve_receiver_purpose()" }, { @@ -17136,7 +17136,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L40", "id": "crud_qc_material_usage_display_remark", - "community": 5, + "community": 4, "norm_label": "_display_remark()" }, { @@ -17145,7 +17145,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L56", "id": "crud_qc_material_usage_user_nick_name_map", - "community": 5, + "community": 4, "norm_label": "_user_nick_name_map()" }, { @@ -17154,7 +17154,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L64", "id": "crud_qc_material_usage_receiver_display_map", - "community": 5, + "community": 4, "norm_label": "_receiver_display_map()" }, { @@ -17163,7 +17163,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L76", "id": "crud_qc_material_usage_usage_unit_label", - "community": 5, + "community": 4, "norm_label": "_usage_unit_label()" }, { @@ -17172,7 +17172,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L85", "id": "crud_qc_material_usage_stock_in_date_for_row", - "community": 5, + "community": 4, "norm_label": "_stock_in_date_for_row()" }, { @@ -17181,7 +17181,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L91", "id": "crud_qc_material_usage_unit_price_for_row", - "community": 5, + "community": 4, "norm_label": "_unit_price_for_row()" }, { @@ -17190,7 +17190,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L99", "id": "crud_qc_material_usage_amount_for_row", - "community": 5, + "community": 4, "norm_label": "_amount_for_row()" }, { @@ -17199,7 +17199,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L115", "id": "crud_qc_material_usage_row_to_dict", - "community": 5, + "community": 4, "norm_label": "_row_to_dict()" }, { @@ -17208,7 +17208,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L176", "id": "crud_qc_material_usage_linked_qc_task_no_map", - "community": 5, + "community": 4, "norm_label": "_linked_qc_task_no_map()" }, { @@ -17217,7 +17217,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L209", "id": "crud_qc_material_usage_batch_map", - "community": 5, + "community": 4, "norm_label": "_batch_map()" }, { @@ -17226,7 +17226,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L221", "id": "crud_qc_material_usage_mine_usage_filter", - "community": 5, + "community": 4, "norm_label": "_mine_usage_filter()" }, { @@ -17235,7 +17235,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L246", "id": "crud_qc_material_usage_list_usages_query", - "community": 5, + "community": 4, "norm_label": "_list_usages_query()" }, { @@ -17244,7 +17244,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L320", "id": "crud_qc_material_usage_paginate_usages", - "community": 5, + "community": 4, "norm_label": "_paginate_usages()" }, { @@ -17253,7 +17253,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L365", "id": "crud_qc_material_usage_list_usages", - "community": 5, + "community": 4, "norm_label": "list_usages()" }, { @@ -17262,7 +17262,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L393", "id": "crud_qc_material_usage_list_my_usages", - "community": 5, + "community": 4, "norm_label": "list_my_usages()" }, { @@ -17271,7 +17271,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L424", "id": "crud_qc_material_usage_list_usages_by_task", - "community": 5, + "community": 4, "norm_label": "list_usages_by_task()" }, { @@ -17280,7 +17280,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L481", "id": "crud_qc_material_usage_list_linked_task_usages", - "community": 5, + "community": 4, "norm_label": "list_linked_task_usages()" }, { @@ -17289,7 +17289,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L531", "id": "crud_qc_material_usage_revert_task_material_usages", - "community": 5, + "community": 4, "norm_label": "revert_task_material_usages()" }, { @@ -17298,7 +17298,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L599", "id": "crud_qc_material_usage_list_requisition_options", - "community": 5, + "community": 4, "norm_label": "list_requisition_options()" }, { @@ -17307,7 +17307,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L673", "id": "crud_qc_material_usage_record_task_usage_from_requisition", - "community": 5, + "community": 4, "norm_label": "_record_task_usage_from_requisition()" }, { @@ -17316,7 +17316,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L765", "id": "crud_qc_material_usage_deduct_task_usage_legacy_batch", - "community": 5, + "community": 4, "norm_label": "_deduct_task_usage_legacy_batch()" }, { @@ -17325,7 +17325,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L865", "id": "crud_qc_material_usage_deduct_for_task", - "community": 5, + "community": 4, "norm_label": "deduct_for_task()" }, { @@ -17334,7 +17334,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L916", "id": "crud_qc_material_usage_task_consumed_qty_map", - "community": 5, + "community": 4, "norm_label": "_task_consumed_qty_map()" }, { @@ -17343,7 +17343,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L942", "id": "crud_qc_material_usage_fmt_date_val", - "community": 5, + "community": 4, "norm_label": "_fmt_date_val()" }, { @@ -17352,7 +17352,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L950", "id": "crud_qc_material_usage_list_stock_check_requisitions", - "community": 5, + "community": 4, "norm_label": "list_stock_check_requisitions()" }, { @@ -17370,7 +17370,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L19", "id": "crud_qc_material_usage_rationale_19", - "community": 5, + "community": 3, "norm_label": "\u517c\u5bb9\u65e7\u6570\u636e:\u9886\u7528\u4eba/\u7528\u9014\u66fe\u62fc\u63a5\u5728 remark \u4e2d\u3002" }, { @@ -17379,7 +17379,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L41", "id": "crud_qc_material_usage_rationale_41", - "community": 5, + "community": 3, "norm_label": "\u624b\u52a8\u51fa\u5e93\u65f6\u5907\u6ce8\u4ec5\u5c55\u793a\u7528\u6237\u586b\u5199\u5185\u5bb9,\u4e0d\u542b\u9886\u7528\u4eba/\u7528\u9014\u62fc\u63a5\u6bb5\u3002" }, { @@ -17388,7 +17388,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L181", "id": "crud_qc_material_usage_rationale_181", - "community": 5, + "community": 3, "norm_label": "\u9886\u7528\u8bb0\u5f55(manual_out)\u5173\u8054\u7684\u8d28\u68c0\u4efb\u52a1\u53f7,\u805a\u5408\u4e3a parent_usage_id \u2192 \u4efb\u52a1\u53f7\u5217\u8868\u3002" }, { @@ -17397,7 +17397,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L222", "id": "crud_qc_material_usage_rationale_222", - "community": 5, + "community": 3, "norm_label": "\u5f53\u524d\u767b\u5f55\u4eba\u7684\u9886\u7528\u8bb0\u5f55:\u624b\u52a8\u51fa\u5e93(\u9886\u7528\u4eba)\u6216\u4efb\u52a1\u4f7f\u7528(\u586b\u62a5\u4eba)\u3002" }, { @@ -17406,7 +17406,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L408", "id": "crud_qc_material_usage_rationale_408", - "community": 5, + "community": 3, "norm_label": "\u5f53\u524d\u767b\u5f55\u4eba\u7684\u7269\u6599\u9886\u7528\u8bb0\u5f55(\u624b\u52a8\u51fa\u5e93 + \u4efb\u52a1\u4f7f\u7528)\u3002" }, { @@ -17415,7 +17415,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L431", "id": "crud_qc_material_usage_rationale_431", - "community": 5, + "community": 3, "norm_label": "\u67e5\u8be2\u8d28\u68c0\u4efb\u52a1\u5173\u8054\u7684\u7269\u6599\u4f7f\u7528\u8bb0\u5f55(task_complete)\u3002" }, { @@ -17424,7 +17424,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L488", "id": "crud_qc_material_usage_rationale_488", - "community": 5, + "community": 3, "norm_label": "\u67e5\u8be2\u9886\u7528\u8bb0\u5f55\u5173\u8054\u7684\u8d28\u68c0\u4efb\u52a1\u7269\u6599\u6d88\u8017(parent_usage_id \u2192 task_complete)\u3002" }, { @@ -17433,7 +17433,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L537", "id": "crud_qc_material_usage_rationale_537", - "community": 5, + "community": 3, "norm_label": "\u64a4\u9500\u4efb\u52a1\u6b64\u524d task_complete \u6263\u51cf,\u4fbf\u4e8e\u91cd\u65b0\u586b\u62a5\u7269\u6599\u4f7f\u7528\u3002" }, { @@ -17442,7 +17442,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L607", "id": "crud_qc_material_usage_rationale_607", - "community": 5, + "community": 3, "norm_label": "\u9886\u7528\u8bb0\u5f55\u9009\u9879(manual_out),\u4f9b\u8d28\u68c0\u4efb\u52a1\u5173\u8054\u7269\u6599\u4f7f\u7528\u3002" }, { @@ -17451,7 +17451,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L774", "id": "crud_qc_material_usage_rationale_774", - "community": 5, + "community": 3, "norm_label": "\u65e7\u7248:\u6309\u5165\u5e93\u6279\u6b21\u6263\u51cf\u5e93\u5b58(\u517c\u5bb9\u5386\u53f2\u6570\u636e)\u3002" }, { @@ -17460,7 +17460,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L874", "id": "crud_qc_material_usage_rationale_874", - "community": 5, + "community": 3, "norm_label": "\u767b\u8bb0\u4efb\u52a1\u7269\u6599\u4f7f\u7528;\u5173\u8054\u9886\u7528\u8bb0\u5f55\u65f6\u4e0d\u6263\u51cf\u5e93\u5b58\u3002\u8c03\u7528\u65b9\u63a7\u5236\u4e8b\u52a1,\u672c\u51fd\u6570\u4e0d commit\u3002" }, { @@ -17469,7 +17469,7 @@ "source_file": "crud/qc_material_usage.py", "source_location": "L959", "id": "crud_qc_material_usage_rationale_959", - "community": 5, + "community": 3, "norm_label": "\u76d8\u70b9\u767b\u8bb0\u5f39\u7a97:\u5f85\u5904\u7406\u9886\u7528\u8bb0\u5f55(\u672a\u6807\u8bb0\u5df2\u4f7f\u7528\u5b8c)\u3002" }, { @@ -17478,7 +17478,7 @@ "source_file": "crud/biz_no_generator.py", "source_location": "L1", "id": "crud_biz_no_generator_py", - "community": 4, + "community": 9, "norm_label": "biz_no_generator.py" }, { @@ -17487,7 +17487,7 @@ "source_file": "crud/biz_no_generator.py", "source_location": "L19", "id": "crud_biz_no_generator_prefix_for", - "community": 4, + "community": 9, "norm_label": "_prefix_for()" }, { @@ -17496,7 +17496,7 @@ "source_file": "crud/biz_no_generator.py", "source_location": "L23", "id": "crud_biz_no_generator_format_biz_no", - "community": 4, + "community": 9, "norm_label": "_format_biz_no()" }, { @@ -17505,7 +17505,7 @@ "source_file": "crud/biz_no_generator.py", "source_location": "L27", "id": "crud_biz_no_generator_allocate_next_biz_no", - "community": 4, + "community": 9, "norm_label": "allocate_next_biz_no()" }, { @@ -17514,7 +17514,7 @@ "source_file": "crud/biz_no_generator.py", "source_location": "L1", "id": "crud_biz_no_generator_rationale_1", - "community": 4, + "community": 9, "norm_label": "\u4e1a\u52a1\u534f\u8bae\u53f7\u81ea\u52a8\u751f\u6210:xbcc / jzcc + yyyymmdd + 6 \u4f4d\u5e8f\u53f7" }, { @@ -17523,7 +17523,7 @@ "source_file": "crud/biz_no_generator.py", "source_location": "L35", "id": "crud_biz_no_generator_rationale_35", - "community": 4, + "community": 9, "norm_label": "\u539f\u5b50\u5206\u914d\u4e0b\u4e00\u4e2a\u4e1a\u52a1\u534f\u8bae\u53f7\u3002 \u987b\u5728 create \u4e8b\u52a1\u5185\u8c03\u7528;\u4f7f\u7528 mysql last_insert_id \u4fdd\u8bc1\u5e76\u53d1\u5b89\u5168\u3002" }, { @@ -17613,7 +17613,7 @@ "source_file": "crud/pilot_infusion_confirm.py", "source_location": "L113", "id": "crud_pilot_infusion_confirm_rationale_113", - "community": 1, + "community": 3, "norm_label": "\u6309\u8f93\u6ce8\u8ba1\u5212 id \u83b7\u53d6\u5e94\u7528\u786e\u8ba4(\u542b\u786e\u8ba4\u4eba\u59d3\u540d\u5feb\u7167)\u3002" }, { @@ -17622,7 +17622,7 @@ "source_file": "crud/reagent_stock_log.py", "source_location": "L1", "id": "crud_reagent_stock_log_py", - "community": 5, + "community": 19, "norm_label": "reagent_stock_log.py" }, { @@ -17631,7 +17631,7 @@ "source_file": "crud/reagent_stock_log.py", "source_location": "L16", "id": "crud_reagent_stock_log_user_nick_name_map", - "community": 5, + "community": 19, "norm_label": "_user_nick_name_map()" }, { @@ -17640,7 +17640,7 @@ "source_file": "crud/reagent_stock_log.py", "source_location": "L24", "id": "crud_reagent_stock_log_parse_receiver_purpose_from_remark", - "community": 5, + "community": 19, "norm_label": "_parse_receiver_purpose_from_remark()" }, { @@ -17649,7 +17649,7 @@ "source_file": "crud/reagent_stock_log.py", "source_location": "L35", "id": "crud_reagent_stock_log_resolve_receiver_purpose", - "community": 5, + "community": 19, "norm_label": "_resolve_receiver_purpose()" }, { @@ -17658,7 +17658,7 @@ "source_file": "crud/reagent_stock_log.py", "source_location": "L45", "id": "crud_reagent_stock_log_display_remark", - "community": 5, + "community": 19, "norm_label": "_display_remark()" }, { @@ -17667,7 +17667,7 @@ "source_file": "crud/reagent_stock_log.py", "source_location": "L60", "id": "crud_reagent_stock_log_row_to_dict", - "community": 5, + "community": 19, "norm_label": "_row_to_dict()" }, { @@ -17676,7 +17676,7 @@ "source_file": "crud/reagent_stock_log.py", "source_location": "L90", "id": "crud_reagent_stock_log_list_stock_logs", - "community": 5, + "community": 19, "norm_label": "list_stock_logs()" }, { @@ -17685,7 +17685,7 @@ "source_file": "crud/reagent_stock_log.py", "source_location": "L158", "id": "crud_reagent_stock_log_revert_step_stock_changes", - "community": 5, + "community": 19, "norm_label": "revert_step_stock_changes()" }, { @@ -17694,7 +17694,7 @@ "source_file": "crud/reagent_stock_log.py", "source_location": "L205", "id": "crud_reagent_stock_log_deduct_for_step", - "community": 5, + "community": 19, "norm_label": "deduct_for_step()" }, { @@ -17703,7 +17703,7 @@ "source_file": "crud/reagent_stock_log.py", "source_location": "L1", "id": "crud_reagent_stock_log_rationale_1", - "community": 5, + "community": 19, "norm_label": "\u8bd5\u5242\u53d8\u52a8\u8bb0\u5f55 crud(biz_reagent_stock_log)" }, { @@ -17712,7 +17712,7 @@ "source_file": "crud/reagent_stock_log.py", "source_location": "L164", "id": "crud_reagent_stock_log_rationale_164", - "community": 5, + "community": 19, "norm_label": "\u64a4\u9500\u6b65\u9aa4\u6b64\u524d step_save \u6263\u51cf,\u4fbf\u4e8e\u91cd\u65b0\u586b\u62a5\u3002" }, { @@ -17721,7 +17721,7 @@ "source_file": "crud/reagent_stock_log.py", "source_location": "L216", "id": "crud_reagent_stock_log_rationale_216", - "community": 5, + "community": 19, "norm_label": "\u6263\u51cf\u8bd5\u5242\u5e93\u5b58\u5e76\u751f\u6210\u53d8\u52a8\u8bb0\u5f55\u3002\u8c03\u7528\u65b9\u63a7\u5236\u4e8b\u52a1,\u672c\u51fd\u6570\u4e0d commit\u3002" }, { @@ -17892,7 +17892,7 @@ "source_file": "crud/pilot_infusion_schedule_mgmt.py", "source_location": "L1089", "id": "crud_pilot_infusion_schedule_mgmt_update_infusion_schedule_mgmt", - "community": 0, + "community": 8, "norm_label": "update_infusion_schedule_mgmt()" }, { @@ -18000,7 +18000,7 @@ "source_file": "crud/clean_room.py", "source_location": "L187", "id": "crud_clean_room_access_log_to_dict", - "community": 0, + "community": 1, "norm_label": "_access_log_to_dict()" }, { @@ -18126,7 +18126,7 @@ "source_file": "crud/clean_room.py", "source_location": "L1", "id": "crud_clean_room_rationale_1", - "community": 10, + "community": 11, "norm_label": "\u6d01\u51c0\u5ba4\u53ca\u8fdb\u51fa\u8bb0\u5f55\u3001\u7d2b\u5916\u7ebf\u6d88\u6bd2\u8bb0\u5f55 crud(biz_clean_room + biz_clean_room_access_log + biz_clean_roo" }, { @@ -18135,7 +18135,7 @@ "source_file": "crud/__init__.py", "source_location": "L1", "id": "crud_init_py", - "community": 46, + "community": 43, "norm_label": "__init__.py" }, { @@ -18369,7 +18369,7 @@ "source_file": "crud/storage_entry_sms_notification.py", "source_location": "L1", "id": "crud_storage_entry_sms_notification_py", - "community": 12, + "community": 5, "norm_label": "storage_entry_sms_notification.py" }, { @@ -18378,7 +18378,7 @@ "source_file": "crud/storage_entry_sms_notification.py", "source_location": "L25", "id": "crud_storage_entry_sms_notification_unicode_ci", - "community": 12, + "community": 5, "norm_label": "_unicode_ci()" }, { @@ -18387,7 +18387,7 @@ "source_file": "crud/storage_entry_sms_notification.py", "source_location": "L29", "id": "crud_storage_entry_sms_notification_total_pages", - "community": 12, + "community": 5, "norm_label": "total_pages()" }, { @@ -18396,7 +18396,7 @@ "source_file": "crud/storage_entry_sms_notification.py", "source_location": "L35", "id": "crud_storage_entry_sms_notification_fmt_dt", - "community": 12, + "community": 5, "norm_label": "_fmt_dt()" }, { @@ -18405,7 +18405,7 @@ "source_file": "crud/storage_entry_sms_notification.py", "source_location": "L39", "id": "crud_storage_entry_sms_notification_normalize_date_bound", - "community": 12, + "community": 5, "norm_label": "_normalize_date_bound()" }, { @@ -18414,7 +18414,7 @@ "source_file": "crud/storage_entry_sms_notification.py", "source_location": "L46", "id": "crud_storage_entry_sms_notification_storage_status_label", - "community": 12, + "community": 5, "norm_label": "_storage_status_label()" }, { @@ -18423,7 +18423,7 @@ "source_file": "crud/storage_entry_sms_notification.py", "source_location": "L56", "id": "crud_storage_entry_sms_notification_row_to_dict", - "community": 12, + "community": 5, "norm_label": "_row_to_dict()" }, { @@ -18432,7 +18432,7 @@ "source_file": "crud/storage_entry_sms_notification.py", "source_location": "L93", "id": "crud_storage_entry_sms_notification_base_query", - "community": 12, + "community": 5, "norm_label": "_base_query()" }, { @@ -18441,7 +18441,7 @@ "source_file": "crud/storage_entry_sms_notification.py", "source_location": "L141", "id": "crud_storage_entry_sms_notification_ensure_notification", - "community": 12, + "community": 5, "norm_label": "_ensure_notification()" }, { @@ -18450,7 +18450,7 @@ "source_file": "crud/storage_entry_sms_notification.py", "source_location": "L177", "id": "crud_storage_entry_sms_notification_resolve_notification", - "community": 12, + "community": 5, "norm_label": "resolve_notification()" }, { @@ -18459,7 +18459,7 @@ "source_file": "crud/storage_entry_sms_notification.py", "source_location": "L215", "id": "crud_storage_entry_sms_notification_fetch_sample_type_name", - "community": 12, + "community": 5, "norm_label": "_fetch_sample_type_name()" }, { @@ -18468,7 +18468,7 @@ "source_file": "crud/storage_entry_sms_notification.py", "source_location": "L229", "id": "crud_storage_entry_sms_notification_list_notifications", - "community": 12, + "community": 5, "norm_label": "list_notifications()" }, { @@ -18477,7 +18477,7 @@ "source_file": "crud/storage_entry_sms_notification.py", "source_location": "L383", "id": "crud_storage_entry_sms_notification_toggle_notification_status", - "community": 12, + "community": 5, "norm_label": "toggle_notification_status()" }, { @@ -18486,7 +18486,7 @@ "source_file": "crud/storage_entry_sms_notification.py", "source_location": "L419", "id": "crud_storage_entry_sms_notification_generate_sms_content", - "community": 12, + "community": 5, "norm_label": "generate_sms_content()" }, { @@ -18495,7 +18495,7 @@ "source_file": "crud/storage_entry_sms_notification.py", "source_location": "L185", "id": "crud_storage_entry_sms_notification_rationale_185", - "community": 3, + "community": 9, "norm_label": "find notification by id; fallback to storage_review_id and ensure row exists." }, { @@ -18594,7 +18594,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L1", "id": "crud_pilot_application_py", - "community": 13, + "community": 8, "norm_label": "pilot_application.py" }, { @@ -18603,7 +18603,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L34", "id": "crud_pilot_application_normalize_yyyymmdd", - "community": 13, + "community": 8, "norm_label": "_normalize_yyyymmdd()" }, { @@ -18612,7 +18612,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L41", "id": "crud_pilot_application_format_yyyy_mm_dd", - "community": 13, + "community": 8, "norm_label": "_format_yyyy_mm_dd()" }, { @@ -18621,7 +18621,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L48", "id": "crud_pilot_application_parse_infusion_datetime", - "community": 13, + "community": 8, "norm_label": "_parse_infusion_datetime()" }, { @@ -18630,7 +18630,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L68", "id": "crud_pilot_application_release_application_no_for_soft_delete", - "community": 13, + "community": 8, "norm_label": "_release_application_no_for_soft_delete()" }, { @@ -18639,7 +18639,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L76", "id": "crud_pilot_application_generate_application_no", - "community": 13, + "community": 8, "norm_label": "_generate_application_no()" }, { @@ -18648,7 +18648,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L103", "id": "crud_pilot_application_resolve_application_attachment_payload", - "community": 13, + "community": 8, "norm_label": "_resolve_application_attachment_payload()" }, { @@ -18657,7 +18657,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L116", "id": "crud_pilot_application_row_to_dict_application", - "community": 13, + "community": 8, "norm_label": "_row_to_dict_application()" }, { @@ -18666,7 +18666,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L196", "id": "crud_pilot_application_row_to_dict_patient", - "community": 13, + "community": 8, "norm_label": "_row_to_dict_patient()" }, { @@ -18675,7 +18675,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L219", "id": "crud_pilot_application_row_to_dict_infusion_plan", - "community": 13, + "community": 8, "norm_label": "_row_to_dict_infusion_plan()" }, { @@ -18684,7 +18684,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L266", "id": "crud_pilot_application_row_to_dict_schedule_product", - "community": 13, + "community": 8, "norm_label": "_row_to_dict_schedule_product()" }, { @@ -18693,7 +18693,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L283", "id": "crud_pilot_application_row_to_dict_infusion_schedule", - "community": 13, + "community": 8, "norm_label": "_row_to_dict_infusion_schedule()" }, { @@ -18702,7 +18702,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L315", "id": "crud_pilot_application_list_applications", - "community": 13, + "community": 8, "norm_label": "list_applications()" }, { @@ -18711,7 +18711,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L387", "id": "crud_pilot_application_get_application", - "community": 13, + "community": 8, "norm_label": "get_application()" }, { @@ -18720,7 +18720,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L429", "id": "crud_pilot_application_create_application", - "community": 13, + "community": 8, "norm_label": "create_application()" }, { @@ -18729,7 +18729,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L545", "id": "crud_pilot_application_update_application", - "community": 13, + "community": 8, "norm_label": "update_application()" }, { @@ -18738,7 +18738,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L584", "id": "crud_pilot_application_soft_delete_application", - "community": 13, + "community": 8, "norm_label": "soft_delete_application()" }, { @@ -18747,7 +18747,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L605", "id": "crud_pilot_application_start_application", - "community": 13, + "community": 8, "norm_label": "start_application()" }, { @@ -18756,7 +18756,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L628", "id": "crud_pilot_application_complete_application", - "community": 13, + "community": 8, "norm_label": "complete_application()" }, { @@ -18765,7 +18765,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L651", "id": "crud_pilot_application_void_application", - "community": 13, + "community": 8, "norm_label": "void_application()" }, { @@ -18774,7 +18774,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L679", "id": "crud_pilot_application_get_patient_by_application", - "community": 13, + "community": 8, "norm_label": "get_patient_by_application()" }, { @@ -18783,7 +18783,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L696", "id": "crud_pilot_application_save_patient", - "community": 13, + "community": 8, "norm_label": "save_patient()" }, { @@ -18792,7 +18792,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L823", "id": "crud_pilot_application_list_infusion_plans", - "community": 13, + "community": 8, "norm_label": "list_infusion_plans()" }, { @@ -18801,7 +18801,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L839", "id": "crud_pilot_application_create_infusion_plan", - "community": 13, + "community": 8, "norm_label": "create_infusion_plan()" }, { @@ -18810,7 +18810,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L882", "id": "crud_pilot_application_normalize_infusion_status_code", - "community": 13, + "community": 8, "norm_label": "_normalize_infusion_status_code()" }, { @@ -18819,7 +18819,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L889", "id": "crud_pilot_application_schedule_infusion_editable", - "community": 13, + "community": 8, "norm_label": "_schedule_infusion_editable()" }, { @@ -18828,7 +18828,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L893", "id": "crud_pilot_application_schedule_locked", - "community": 13, + "community": 8, "norm_label": "_schedule_locked()" }, { @@ -18837,7 +18837,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L897", "id": "crud_pilot_application_schedule_has_blocking_links", - "community": 13, + "community": 8, "norm_label": "_schedule_has_blocking_links()" }, { @@ -18846,7 +18846,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L923", "id": "crud_pilot_application_schedule_deletable", - "community": 13, + "community": 8, "norm_label": "_schedule_deletable()" }, { @@ -18855,7 +18855,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L951", "id": "crud_pilot_application_get_schedule_for_plan", - "community": 13, + "community": 8, "norm_label": "_get_schedule_for_plan()" }, { @@ -18864,7 +18864,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L972", "id": "crud_pilot_application_prepare_infusion_plan_payload", - "community": 13, + "community": 8, "norm_label": "_prepare_infusion_plan_payload()" }, { @@ -18873,7 +18873,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L997", "id": "crud_pilot_application_update_infusion_plan", - "community": 13, + "community": 8, "norm_label": "update_infusion_plan()" }, { @@ -18882,7 +18882,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L1038", "id": "crud_pilot_application_soft_delete_infusion_plan", - "community": 13, + "community": 8, "norm_label": "soft_delete_infusion_plan()" }, { @@ -18891,7 +18891,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L1083", "id": "crud_pilot_application_list_schedules_by_plan", - "community": 13, + "community": 8, "norm_label": "list_schedules_by_plan()" }, { @@ -18900,7 +18900,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L1120", "id": "crud_pilot_application_auto_generate_schedules", - "community": 13, + "community": 8, "norm_label": "auto_generate_schedules()" }, { @@ -18909,7 +18909,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L1200", "id": "crud_pilot_application_create_schedule_products", - "community": 13, + "community": 8, "norm_label": "_create_schedule_products()" }, { @@ -18918,7 +18918,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L1240", "id": "crud_pilot_application_create_schedule", - "community": 13, + "community": 8, "norm_label": "create_schedule()" }, { @@ -18927,7 +18927,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L1347", "id": "crud_pilot_application_update_schedule_editable", - "community": 13, + "community": 8, "norm_label": "_update_schedule_editable()" }, { @@ -18936,7 +18936,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L1373", "id": "crud_pilot_application_upsert_schedule_products", - "community": 13, + "community": 8, "norm_label": "_upsert_schedule_products()" }, { @@ -18945,7 +18945,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L1455", "id": "crud_pilot_application_update_schedule_order_only", - "community": 13, + "community": 8, "norm_label": "_update_schedule_order_only()" }, { @@ -18954,7 +18954,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L1467", "id": "crud_pilot_application_upsert_application_infusion", - "community": 13, + "community": 8, "norm_label": "upsert_application_infusion()" }, { @@ -18963,7 +18963,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L1570", "id": "crud_pilot_application_get_or_create_infusion_plan", - "community": 13, + "community": 8, "norm_label": "_get_or_create_infusion_plan()" }, { @@ -18972,7 +18972,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L1615", "id": "crud_pilot_application_create_basic_experiment_sale_schedules", - "community": 13, + "community": 8, "norm_label": "create_basic_experiment_sale_schedules()" }, { @@ -18981,7 +18981,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L1692", "id": "crud_pilot_application_save_application_infusion", - "community": 13, + "community": 8, "norm_label": "save_application_infusion()" }, { @@ -18990,7 +18990,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L1741", "id": "crud_pilot_application_update_schedule", - "community": 13, + "community": 8, "norm_label": "update_schedule()" }, { @@ -18999,7 +18999,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L1769", "id": "crud_pilot_application_soft_delete_schedule", - "community": 13, + "community": 8, "norm_label": "soft_delete_schedule()" }, { @@ -19008,7 +19008,7 @@ "source_file": "crud/pilot_application.py", "source_location": "L1834", "id": "crud_pilot_application_mark_schedule_complete", - "community": 13, + "community": 8, "norm_label": "mark_schedule_complete()" }, { @@ -19368,7 +19368,7 @@ "source_file": "crud/pre_transit_sample.py", "source_location": "L1", "id": "crud_pre_transit_sample_rationale_1", - "community": 3, + "community": 9, "norm_label": "\u9884\u4ea7\u53ca\u5728\u9014\u6837\u672c \u2014 \u8d28\u68c0\u770b\u677f(\u534f\u8bae\u5355\u7ef4\u5ea6\u5217\u8868)" }, { @@ -19503,7 +19503,7 @@ "source_file": "crud/role.py", "source_location": "L373", "id": "crud_role_update_role_menus", - "community": 11, + "community": 12, "norm_label": "update_role_menus()" }, { @@ -19845,7 +19845,7 @@ "source_file": "crud/material_stock_check.py", "source_location": "L118", "id": "crud_material_stock_check_get_check", - "community": 1, + "community": 0, "norm_label": "_get_check()" }, { @@ -19926,7 +19926,7 @@ "source_file": "crud/material_stock_check.py", "source_location": "L529", "id": "crud_material_stock_check_complete_check", - "community": 1, + "community": 0, "norm_label": "complete_check()" }, { @@ -19935,7 +19935,7 @@ "source_file": "crud/material_stock_check.py", "source_location": "L550", "id": "crud_material_stock_check_cancel_check", - "community": 1, + "community": 0, "norm_label": "cancel_check()" }, { @@ -19953,7 +19953,7 @@ "source_file": "crud/production_task_step_assignee.py", "source_location": "L1", "id": "crud_production_task_step_assignee_py", - "community": 8, + "community": 10, "norm_label": "production_task_step_assignee.py" }, { @@ -19962,7 +19962,7 @@ "source_file": "crud/production_task_step_assignee.py", "source_location": "L17", "id": "crud_production_task_step_assignee_active_users_in_tenant", - "community": 8, + "community": 10, "norm_label": "_active_users_in_tenant()" }, { @@ -19971,7 +19971,7 @@ "source_file": "crud/production_task_step_assignee.py", "source_location": "L36", "id": "crud_production_task_step_assignee_active_users_with_role_in_tenant", - "community": 8, + "community": 10, "norm_label": "_active_users_with_role_in_tenant()" }, { @@ -19980,7 +19980,7 @@ "source_file": "crud/production_task_step_assignee.py", "source_location": "L52", "id": "crud_production_task_step_assignee_validate_assignee_user_ids", - "community": 8, + "community": 10, "norm_label": "validate_assignee_user_ids()" }, { @@ -19989,7 +19989,7 @@ "source_file": "crud/production_task_step_assignee.py", "source_location": "L83", "id": "crud_production_task_step_assignee_sync_assignees_for_step", - "community": 8, + "community": 10, "norm_label": "sync_assignees_for_step()" }, { @@ -19998,7 +19998,7 @@ "source_file": "crud/production_task_step_assignee.py", "source_location": "L137", "id": "crud_production_task_step_assignee_enrich_step_assignees", - "community": 8, + "community": 10, "norm_label": "enrich_step_assignees()" }, { @@ -20007,7 +20007,7 @@ "source_file": "crud/production_task_step_assignee.py", "source_location": "L179", "id": "crud_production_task_step_assignee_enrich_step_completed_by_names", - "community": 8, + "community": 10, "norm_label": "enrich_step_completed_by_names()" }, { @@ -20016,7 +20016,7 @@ "source_file": "crud/production_task_step_assignee.py", "source_location": "L198", "id": "crud_production_task_step_assignee_user_is_step_assignee", - "community": 8, + "community": 10, "norm_label": "user_is_step_assignee()" }, { @@ -20025,7 +20025,7 @@ "source_file": "crud/production_task_step_assignee.py", "source_location": "L217", "id": "crud_production_task_step_assignee_user_is_any_step_assignee_of_task", - "community": 8, + "community": 10, "norm_label": "user_is_any_step_assignee_of_task()" }, { @@ -20034,7 +20034,7 @@ "source_file": "crud/production_task_step_assignee.py", "source_location": "L39", "id": "crud_production_task_step_assignee_rationale_39", - "community": 8, + "community": 10, "norm_label": "\u6821\u9a8c\u5019\u9009\u7528\u6237\u662f\u5426\u62e5\u6709\u6307\u5b9a\u89d2\u8272(\u76f4\u63a5\u7ed1\u5b9a \u222a \u804c\u4f4d\u7ee7\u627f)\u3002" }, { @@ -20043,7 +20043,7 @@ "source_file": "crud/production_task_step_assignee.py", "source_location": "L92", "id": "crud_production_task_step_assignee_rationale_92", - "community": 8, + "community": 10, "norm_label": "\u5168\u91cf\u66ff\u6362\u6b65\u9aa4\u8d1f\u8d23\u4eba(\u8f6f\u5220\u65e7\u8bb0\u5f55 + \u63d2\u5165\u65b0\u8bb0\u5f55)\u3002" }, { @@ -20052,7 +20052,7 @@ "source_file": "crud/production_task_step_assignee.py", "source_location": "L140", "id": "crud_production_task_step_assignee_rationale_140", - "community": 8, + "community": 10, "norm_label": "\u6279\u91cf\u586b\u5145 assigneeuserids / assigneenames / assignees\u3002" }, { @@ -20061,7 +20061,7 @@ "source_file": "crud/qc_sms_notification.py", "source_location": "L1", "id": "crud_qc_sms_notification_py", - "community": 5, + "community": 4, "norm_label": "qc_sms_notification.py" }, { @@ -20070,7 +20070,7 @@ "source_file": "crud/qc_sms_notification.py", "source_location": "L27", "id": "crud_qc_sms_notification_unicode_ci", - "community": 5, + "community": 4, "norm_label": "_unicode_ci()" }, { @@ -20079,7 +20079,7 @@ "source_file": "crud/qc_sms_notification.py", "source_location": "L31", "id": "crud_qc_sms_notification_eq_ci", - "community": 5, + "community": 4, "norm_label": "_eq_ci()" }, { @@ -20088,7 +20088,7 @@ "source_file": "crud/qc_sms_notification.py", "source_location": "L40", "id": "crud_qc_sms_notification_total_pages", - "community": 5, + "community": 4, "norm_label": "total_pages()" }, { @@ -20097,7 +20097,7 @@ "source_file": "crud/qc_sms_notification.py", "source_location": "L46", "id": "crud_qc_sms_notification_fmt_dt", - "community": 5, + "community": 4, "norm_label": "_fmt_dt()" }, { @@ -20106,7 +20106,7 @@ "source_file": "crud/qc_sms_notification.py", "source_location": "L50", "id": "crud_qc_sms_notification_normalize_date_bound", - "community": 5, + "community": 4, "norm_label": "_normalize_date_bound()" }, { @@ -20115,7 +20115,7 @@ "source_file": "crud/qc_sms_notification.py", "source_location": "L57", "id": "crud_qc_sms_notification_derive_qc_conclusion", - "community": 5, + "community": 4, "norm_label": "_derive_qc_conclusion()" }, { @@ -20124,7 +20124,7 @@ "source_file": "crud/qc_sms_notification.py", "source_location": "L67", "id": "crud_qc_sms_notification_qc_status_label", - "community": 5, + "community": 4, "norm_label": "_qc_status_label()" }, { @@ -20133,7 +20133,7 @@ "source_file": "crud/qc_sms_notification.py", "source_location": "L88", "id": "crud_qc_sms_notification_fetch_completed_tasks", - "community": 5, + "community": 4, "norm_label": "_fetch_completed_tasks()" }, { @@ -20142,7 +20142,7 @@ "source_file": "crud/qc_sms_notification.py", "source_location": "L103", "id": "crud_qc_sms_notification_qc_complete_time", - "community": 5, + "community": 4, "norm_label": "_qc_complete_time()" }, { @@ -20151,7 +20151,7 @@ "source_file": "crud/qc_sms_notification.py", "source_location": "L110", "id": "crud_qc_sms_notification_row_to_dict", - "community": 5, + "community": 4, "norm_label": "_row_to_dict()" }, { @@ -20160,7 +20160,7 @@ "source_file": "crud/qc_sms_notification.py", "source_location": "L154", "id": "crud_qc_sms_notification_base_query", - "community": 5, + "community": 4, "norm_label": "_base_query()" }, { @@ -20169,7 +20169,7 @@ "source_file": "crud/qc_sms_notification.py", "source_location": "L203", "id": "crud_qc_sms_notification_ensure_notification", - "community": 5, + "community": 4, "norm_label": "_ensure_notification()" }, { @@ -20178,7 +20178,7 @@ "source_file": "crud/qc_sms_notification.py", "source_location": "L246", "id": "crud_qc_sms_notification_resolve_notification", - "community": 5, + "community": 4, "norm_label": "resolve_notification()" }, { @@ -20187,7 +20187,7 @@ "source_file": "crud/qc_sms_notification.py", "source_location": "L315", "id": "crud_qc_sms_notification_task_stats_subquery", - "community": 5, + "community": 4, "norm_label": "_task_stats_subquery()" }, { @@ -20196,7 +20196,7 @@ "source_file": "crud/qc_sms_notification.py", "source_location": "L333", "id": "crud_qc_sms_notification_apply_qc_status_filter", - "community": 5, + "community": 4, "norm_label": "_apply_qc_status_filter()" }, { @@ -20205,7 +20205,7 @@ "source_file": "crud/qc_sms_notification.py", "source_location": "L359", "id": "crud_qc_sms_notification_list_notifications", - "community": 5, + "community": 4, "norm_label": "list_notifications()" }, { @@ -20214,7 +20214,7 @@ "source_file": "crud/qc_sms_notification.py", "source_location": "L503", "id": "crud_qc_sms_notification_toggle_notification_status", - "community": 5, + "community": 4, "norm_label": "toggle_notification_status()" }, { @@ -20223,7 +20223,7 @@ "source_file": "crud/qc_sms_notification.py", "source_location": "L541", "id": "crud_qc_sms_notification_generate_sms_content", - "community": 5, + "community": 4, "norm_label": "generate_sms_content()" }, { @@ -20232,7 +20232,7 @@ "source_file": "crud/qc_sms_notification.py", "source_location": "L32", "id": "crud_qc_sms_notification_rationale_32", - "community": 3, + "community": 9, "norm_label": "\u5217\u4e0e\u5217\u6bd4\u8f83\u65f6\u4e24\u4fa7 collate;\u4e0e\u5b57\u9762\u91cf\u6bd4\u8f83\u65f6\u4ec5\u5bf9\u5217\u4fa7 collate\u3002" }, { @@ -20331,7 +20331,7 @@ "source_file": "crud/qc_task_assignee.py", "source_location": "L1", "id": "crud_qc_task_assignee_py", - "community": 7, + "community": 5, "norm_label": "qc_task_assignee.py" }, { @@ -20340,7 +20340,7 @@ "source_file": "crud/qc_task_assignee.py", "source_location": "L14", "id": "crud_qc_task_assignee_active_users_in_tenant", - "community": 7, + "community": 5, "norm_label": "_active_users_in_tenant()" }, { @@ -20367,7 +20367,7 @@ "source_file": "crud/qc_task_assignee.py", "source_location": "L108", "id": "crud_qc_task_assignee_soft_delete_assignees_by_task_ids", - "community": 7, + "community": 5, "norm_label": "soft_delete_assignees_by_task_ids()" }, { @@ -20376,7 +20376,7 @@ "source_file": "crud/qc_task_assignee.py", "source_location": "L129", "id": "crud_qc_task_assignee_list_assignees_by_task_ids", - "community": 7, + "community": 5, "norm_label": "list_assignees_by_task_ids()" }, { @@ -20385,7 +20385,7 @@ "source_file": "crud/qc_task_assignee.py", "source_location": "L158", "id": "crud_qc_task_assignee_is_user_assignee", - "community": 7, + "community": 5, "norm_label": "is_user_assignee()" }, { @@ -20394,7 +20394,7 @@ "source_file": "crud/qc_task_assignee.py", "source_location": "L174", "id": "crud_qc_task_assignee_enrich_tasks_with_assignees", - "community": 7, + "community": 5, "norm_label": "enrich_tasks_with_assignees()" }, { @@ -20412,7 +20412,7 @@ "source_file": "crud/research_donation_sample_collection.py", "source_location": "L1", "id": "crud_research_donation_sample_collection_py", - "community": 5, + "community": 4, "norm_label": "research_donation_sample_collection.py" }, { @@ -20421,7 +20421,7 @@ "source_file": "crud/research_donation_sample_collection.py", "source_location": "L26", "id": "crud_research_donation_sample_collection_total_pages", - "community": 5, + "community": 4, "norm_label": "total_pages()" }, { @@ -20430,7 +20430,7 @@ "source_file": "crud/research_donation_sample_collection.py", "source_location": "L32", "id": "crud_research_donation_sample_collection_fmt_dt", - "community": 5, + "community": 4, "norm_label": "_fmt_dt()" }, { @@ -20439,7 +20439,7 @@ "source_file": "crud/research_donation_sample_collection.py", "source_location": "L36", "id": "crud_research_donation_sample_collection_sample_status_label", - "community": 5, + "community": 4, "norm_label": "_sample_status_label()" }, { @@ -20448,7 +20448,7 @@ "source_file": "crud/research_donation_sample_collection.py", "source_location": "L45", "id": "crud_research_donation_sample_collection_row_to_dict", - "community": 5, + "community": 4, "norm_label": "_row_to_dict()" }, { @@ -20457,7 +20457,7 @@ "source_file": "crud/research_donation_sample_collection.py", "source_location": "L84", "id": "crud_research_donation_sample_collection_base_query", - "community": 5, + "community": 4, "norm_label": "_base_query()" }, { @@ -20466,7 +20466,7 @@ "source_file": "crud/research_donation_sample_collection.py", "source_location": "L120", "id": "crud_research_donation_sample_collection_apply_sample_status_filter", - "community": 5, + "community": 4, "norm_label": "_apply_sample_status_filter()" }, { @@ -20475,7 +20475,7 @@ "source_file": "crud/research_donation_sample_collection.py", "source_location": "L134", "id": "crud_research_donation_sample_collection_list_donation_sample_collections", - "community": 5, + "community": 4, "norm_label": "list_donation_sample_collections()" }, { @@ -20484,7 +20484,7 @@ "source_file": "crud/research_donation_sample_collection.py", "source_location": "L1", "id": "crud_research_donation_sample_collection_rationale_1", - "community": 3, + "community": 9, "norm_label": "\u79d1\u7814\u6350\u8d60\u6837\u672c\u91c7\u96c6\u4fe1\u606f\u5217\u8868 crud(\u6837\u672c\u4fe1\u606f\u7ba1\u7406 \u00b7 \u6837\u672c\u91c7\u96c6\u4fe1\u606f)" }, { @@ -20493,7 +20493,7 @@ "source_file": "crud/qc_material_amount_auth.py", "source_location": "L1", "id": "crud_qc_material_amount_auth_py", - "community": 5, + "community": 2, "norm_label": "qc_material_amount_auth.py" }, { @@ -20502,7 +20502,7 @@ "source_file": "crud/qc_material_amount_auth.py", "source_location": "L20", "id": "crud_qc_material_amount_auth_get_amount_view_role", - "community": 5, + "community": 2, "norm_label": "get_amount_view_role()" }, { @@ -20511,7 +20511,7 @@ "source_file": "crud/qc_material_amount_auth.py", "source_location": "L45", "id": "crud_qc_material_amount_auth_get_auth_dept_id", - "community": 5, + "community": 2, "norm_label": "_get_auth_dept_id()" }, { @@ -20520,7 +20520,7 @@ "source_file": "crud/qc_material_amount_auth.py", "source_location": "L59", "id": "crud_qc_material_amount_auth_assert_user_in_auth_dept", - "community": 5, + "community": 2, "norm_label": "_assert_user_in_auth_dept()" }, { @@ -20529,7 +20529,7 @@ "source_file": "crud/qc_material_amount_auth.py", "source_location": "L71", "id": "crud_qc_material_amount_auth_user_has_role_binding", - "community": 5, + "community": 2, "norm_label": "_user_has_role_binding()" }, { @@ -20538,7 +20538,7 @@ "source_file": "crud/qc_material_amount_auth.py", "source_location": "L85", "id": "crud_qc_material_amount_auth_row_to_dict", - "community": 5, + "community": 2, "norm_label": "_row_to_dict()" }, { @@ -20547,7 +20547,7 @@ "source_file": "crud/qc_material_amount_auth.py", "source_location": "L98", "id": "crud_qc_material_amount_auth_list_authorized_users", - "community": 5, + "community": 2, "norm_label": "list_authorized_users()" }, { @@ -20556,7 +20556,7 @@ "source_file": "crud/qc_material_amount_auth.py", "source_location": "L152", "id": "crud_qc_material_amount_auth_grant_amount_view_role", - "community": 5, + "community": 2, "norm_label": "grant_amount_view_role()" }, { @@ -20565,7 +20565,7 @@ "source_file": "crud/qc_material_amount_auth.py", "source_location": "L200", "id": "crud_qc_material_amount_auth_revoke_amount_view_role", - "community": 5, + "community": 2, "norm_label": "revoke_amount_view_role()" }, { @@ -20601,7 +20601,7 @@ "source_file": "crud/oa_approval.py", "source_location": "L1", "id": "crud_oa_approval_py", - "community": 6, + "community": 7, "norm_label": "oa_approval.py" }, { @@ -20610,7 +20610,7 @@ "source_file": "crud/oa_approval.py", "source_location": "L25", "id": "crud_oa_approval_dumps", - "community": 6, + "community": 7, "norm_label": "_dumps()" }, { @@ -20619,7 +20619,7 @@ "source_file": "crud/oa_approval.py", "source_location": "L33", "id": "crud_oa_approval_loads", - "community": 6, + "community": 7, "norm_label": "_loads()" }, { @@ -20646,7 +20646,7 @@ "source_file": "crud/oa_approval.py", "source_location": "L70", "id": "crud_oa_approval_get_group", - "community": 6, + "community": 7, "norm_label": "get_group()" }, { @@ -20664,7 +20664,7 @@ "source_file": "crud/oa_approval.py", "source_location": "L110", "id": "crud_oa_approval_update_group", - "community": 6, + "community": 7, "norm_label": "update_group()" }, { @@ -20673,7 +20673,7 @@ "source_file": "crud/oa_approval.py", "source_location": "L140", "id": "crud_oa_approval_delete_group", - "community": 6, + "community": 7, "norm_label": "delete_group()" }, { @@ -20682,7 +20682,7 @@ "source_file": "crud/oa_approval.py", "source_location": "L163", "id": "crud_oa_approval_app_to_dict", - "community": 6, + "community": 7, "norm_label": "_app_to_dict()" }, { @@ -20691,7 +20691,7 @@ "source_file": "crud/oa_approval.py", "source_location": "L186", "id": "crud_oa_approval_get_app", - "community": 6, + "community": 7, "norm_label": "get_app()" }, { @@ -20700,7 +20700,7 @@ "source_file": "crud/oa_approval.py", "source_location": "L194", "id": "crud_oa_approval_list_apps", - "community": 6, + "community": 7, "norm_label": "list_apps()" }, { @@ -20709,7 +20709,7 @@ "source_file": "crud/oa_approval.py", "source_location": "L254", "id": "crud_oa_approval_create_version", - "community": 6, + "community": 7, "norm_label": "_create_version()" }, { @@ -20718,7 +20718,7 @@ "source_file": "crud/oa_approval.py", "source_location": "L291", "id": "crud_oa_approval_create_app", - "community": 6, + "community": 7, "norm_label": "create_app()" }, { @@ -20727,7 +20727,7 @@ "source_file": "crud/oa_approval.py", "source_location": "L355", "id": "crud_oa_approval_copied_app_name", - "community": 6, + "community": 7, "norm_label": "_copied_app_name()" }, { @@ -20736,7 +20736,7 @@ "source_file": "crud/oa_approval.py", "source_location": "L366", "id": "crud_oa_approval_copy_app", - "community": 6, + "community": 7, "norm_label": "copy_app()" }, { @@ -20745,7 +20745,7 @@ "source_file": "crud/oa_approval.py", "source_location": "L432", "id": "crud_oa_approval_update_app", - "community": 6, + "community": 7, "norm_label": "update_app()" }, { @@ -20754,7 +20754,7 @@ "source_file": "crud/oa_approval.py", "source_location": "L494", "id": "crud_oa_approval_delete_app", - "community": 6, + "community": 7, "norm_label": "delete_app()" }, { @@ -20763,7 +20763,7 @@ "source_file": "crud/oa_approval.py", "source_location": "L515", "id": "crud_oa_approval_find_draft", - "community": 6, + "community": 7, "norm_label": "_find_draft()" }, { @@ -20772,7 +20772,7 @@ "source_file": "crud/oa_approval.py", "source_location": "L529", "id": "crud_oa_approval_find_latest_published", - "community": 6, + "community": 7, "norm_label": "_find_latest_published()" }, { @@ -20781,7 +20781,7 @@ "source_file": "crud/oa_approval.py", "source_location": "L542", "id": "crud_oa_approval_version_draft_to_dict", - "community": 6, + "community": 7, "norm_label": "_version_draft_to_dict()" }, { @@ -20790,7 +20790,7 @@ "source_file": "crud/oa_approval.py", "source_location": "L575", "id": "crud_oa_approval_get_or_create_draft", - "community": 6, + "community": 7, "norm_label": "get_or_create_draft()" }, { @@ -20799,7 +20799,7 @@ "source_file": "crud/oa_approval.py", "source_location": "L622", "id": "crud_oa_approval_save_draft", - "community": 6, + "community": 7, "norm_label": "save_draft()" }, { @@ -20835,7 +20835,7 @@ "source_file": "crud/cell_product.py", "source_location": "L1", "id": "crud_cell_product_py", - "community": 14, + "community": 10, "norm_label": "cell_product.py" }, { @@ -20844,7 +20844,7 @@ "source_file": "crud/cell_product.py", "source_location": "L32", "id": "crud_cell_product_apply_cell_product_status_change", - "community": 14, + "community": 10, "norm_label": "_apply_cell_product_status_change()" }, { @@ -20853,7 +20853,7 @@ "source_file": "crud/cell_product.py", "source_location": "L87", "id": "crud_cell_product_row_to_dict", - "community": 14, + "community": 10, "norm_label": "_row_to_dict()" }, { @@ -20862,7 +20862,7 @@ "source_file": "crud/cell_product.py", "source_location": "L121", "id": "crud_cell_product_build_facility_path_label", - "community": 14, + "community": 10, "norm_label": "_build_facility_path_label()" }, { @@ -20871,7 +20871,7 @@ "source_file": "crud/cell_product.py", "source_location": "L136", "id": "crud_cell_product_enrich_product_dicts", - "community": 14, + "community": 10, "norm_label": "_enrich_product_dicts()" }, { @@ -20880,7 +20880,7 @@ "source_file": "crud/cell_product.py", "source_location": "L272", "id": "crud_cell_product_product_to_response", - "community": 14, + "community": 10, "norm_label": "product_to_response()" }, { @@ -20889,7 +20889,7 @@ "source_file": "crud/cell_product.py", "source_location": "L277", "id": "crud_cell_product_list_cell_products", - "community": 14, + "community": 10, "norm_label": "list_cell_products()" }, { @@ -20898,7 +20898,7 @@ "source_file": "crud/cell_product.py", "source_location": "L344", "id": "crud_cell_product_get_cell_product", - "community": 14, + "community": 10, "norm_label": "get_cell_product()" }, { @@ -20907,7 +20907,7 @@ "source_file": "crud/cell_product.py", "source_location": "L358", "id": "crud_cell_product_create_cell_product", - "community": 14, + "community": 10, "norm_label": "create_cell_product()" }, { @@ -20916,7 +20916,7 @@ "source_file": "crud/cell_product.py", "source_location": "L431", "id": "crud_cell_product_update_cell_product", - "community": 14, + "community": 10, "norm_label": "update_cell_product()" }, { @@ -20925,7 +20925,7 @@ "source_file": "crud/cell_product.py", "source_location": "L531", "id": "crud_cell_product_delete_cell_product", - "community": 14, + "community": 10, "norm_label": "delete_cell_product()" }, { @@ -20934,7 +20934,7 @@ "source_file": "crud/cell_product.py", "source_location": "L548", "id": "crud_cell_product_next_code_start_seq", - "community": 14, + "community": 10, "norm_label": "_next_code_start_seq()" }, { @@ -20943,7 +20943,7 @@ "source_file": "crud/cell_product.py", "source_location": "L569", "id": "crud_cell_product_get_next_code", - "community": 14, + "community": 10, "norm_label": "get_next_code()" }, { @@ -20952,7 +20952,7 @@ "source_file": "crud/cell_product.py", "source_location": "L580", "id": "crud_cell_product_normalize_passage_product_base", - "community": 14, + "community": 10, "norm_label": "normalize_passage_product_base()" }, { @@ -20961,7 +20961,7 @@ "source_file": "crud/cell_product.py", "source_location": "L591", "id": "crud_cell_product_get_max_passage_product_seq", - "community": 14, + "community": 10, "norm_label": "get_max_passage_product_seq()" }, { @@ -20970,7 +20970,7 @@ "source_file": "crud/cell_product.py", "source_location": "L625", "id": "crud_cell_product_get_max_passage_product_seq_map", - "community": 14, + "community": 10, "norm_label": "get_max_passage_product_seq_map()" }, { @@ -20979,7 +20979,7 @@ "source_file": "crud/cell_product.py", "source_location": "L643", "id": "crud_cell_product_get_max_product_suffix_seq", - "community": 14, + "community": 10, "norm_label": "get_max_product_suffix_seq()" }, { @@ -20988,7 +20988,7 @@ "source_file": "crud/cell_product.py", "source_location": "L675", "id": "crud_cell_product_product_code_exists", - "community": 14, + "community": 10, "norm_label": "product_code_exists()" }, { @@ -20997,7 +20997,7 @@ "source_file": "crud/cell_product.py", "source_location": "L694", "id": "crud_cell_product_normalize_product_code_base", - "community": 14, + "community": 10, "norm_label": "normalize_product_code_base()" }, { @@ -21006,7 +21006,7 @@ "source_file": "crud/cell_product.py", "source_location": "L705", "id": "crud_cell_product_build_split_product_codes", - "community": 14, + "community": 10, "norm_label": "build_split_product_codes()" }, { @@ -21015,7 +21015,7 @@ "source_file": "crud/cell_product.py", "source_location": "L712", "id": "crud_cell_product_reserve_next_codes", - "community": 14, + "community": 10, "norm_label": "reserve_next_codes()" }, { @@ -21024,7 +21024,7 @@ "source_file": "crud/cell_product.py", "source_location": "L722", "id": "crud_cell_product_validate_batch_items", - "community": 14, + "community": 10, "norm_label": "_validate_batch_items()" }, { @@ -21033,7 +21033,7 @@ "source_file": "crud/cell_product.py", "source_location": "L767", "id": "crud_cell_product_create_cell_products_by_quantity", - "community": 14, + "community": 10, "norm_label": "create_cell_products_by_quantity()" }, { @@ -21042,7 +21042,7 @@ "source_file": "crud/cell_product.py", "source_location": "L801", "id": "crud_cell_product_create_cell_products_batch", - "community": 14, + "community": 10, "norm_label": "create_cell_products_batch()" }, { @@ -21051,7 +21051,7 @@ "source_file": "crud/cell_product.py", "source_location": "L891", "id": "crud_cell_product_total_pages", - "community": 14, + "community": 10, "norm_label": "total_pages()" }, { @@ -21060,7 +21060,7 @@ "source_file": "crud/cell_product.py", "source_location": "L906", "id": "crud_cell_product_product_node", - "community": 14, + "community": 10, "norm_label": "_product_node()" }, { @@ -21069,7 +21069,7 @@ "source_file": "crud/cell_product.py", "source_location": "L918", "id": "crud_cell_product_nest_ancestor_parent", - "community": 14, + "community": 10, "norm_label": "_nest_ancestor_parent()" }, { @@ -21078,7 +21078,7 @@ "source_file": "crud/cell_product.py", "source_location": "L934", "id": "crud_cell_product_edge_meta", - "community": 14, + "community": 10, "norm_label": "_edge_meta()" }, { @@ -21087,7 +21087,7 @@ "source_file": "crud/cell_product.py", "source_location": "L958", "id": "crud_cell_product_sample_customer_dict", - "community": 14, + "community": 10, "norm_label": "_sample_customer_dict()" }, { @@ -21096,7 +21096,7 @@ "source_file": "crud/cell_product.py", "source_location": "L982", "id": "crud_cell_product_donation_sample_customer_dict", - "community": 14, + "community": 10, "norm_label": "_donation_sample_customer_dict()" }, { @@ -21105,7 +21105,7 @@ "source_file": "crud/cell_product.py", "source_location": "L1006", "id": "crud_cell_product_sample_type_name_from_id", - "community": 14, + "community": 10, "norm_label": "_sample_type_name_from_id()" }, { @@ -21114,7 +21114,7 @@ "source_file": "crud/cell_product.py", "source_location": "L1019", "id": "crud_cell_product_find_protocol_sample", - "community": 14, + "community": 10, "norm_label": "_find_protocol_sample()" }, { @@ -21123,7 +21123,7 @@ "source_file": "crud/cell_product.py", "source_location": "L1051", "id": "crud_cell_product_find_donation_sample", - "community": 14, + "community": 10, "norm_label": "_find_donation_sample()" }, { @@ -21132,7 +21132,7 @@ "source_file": "crud/cell_product.py", "source_location": "L1097", "id": "crud_cell_product_protocol_sample_chain_node", - "community": 14, + "community": 10, "norm_label": "_protocol_sample_chain_node()" }, { @@ -21141,7 +21141,7 @@ "source_file": "crud/cell_product.py", "source_location": "L1130", "id": "crud_cell_product_donation_sample_chain_node", - "community": 14, + "community": 10, "norm_label": "_donation_sample_chain_node()" }, { @@ -21150,7 +21150,7 @@ "source_file": "crud/cell_product.py", "source_location": "L1162", "id": "crud_cell_product_ancestor_sample_chain_link", - "community": 14, + "community": 10, "norm_label": "_ancestor_sample_chain_link()" }, { @@ -21159,7 +21159,7 @@ "source_file": "crud/cell_product.py", "source_location": "L1222", "id": "crud_cell_product_find_cell_product_by_input", - "community": 14, + "community": 10, "norm_label": "_find_cell_product_by_input()" }, { @@ -21168,7 +21168,7 @@ "source_file": "crud/cell_product.py", "source_location": "L1242", "id": "crud_cell_product_ancestor_link_from_cell_product_input", - "community": 14, + "community": 10, "norm_label": "_ancestor_link_from_cell_product_input()" }, { @@ -21177,7 +21177,7 @@ "source_file": "crud/cell_product.py", "source_location": "L1260", "id": "crud_cell_product_build_ancestor_chain", - "community": 14, + "community": 10, "norm_label": "_build_ancestor_chain()" }, { @@ -21186,7 +21186,7 @@ "source_file": "crud/cell_product.py", "source_location": "L1329", "id": "crud_cell_product_build_descendant_chain", - "community": 14, + "community": 10, "norm_label": "_build_descendant_chain()" }, { @@ -21195,7 +21195,7 @@ "source_file": "crud/cell_product.py", "source_location": "L1413", "id": "crud_cell_product_lineage_node_key", - "community": 14, + "community": 10, "norm_label": "_lineage_node_key()" }, { @@ -21204,7 +21204,7 @@ "source_file": "crud/cell_product.py", "source_location": "L1422", "id": "crud_cell_product_walk_ancestor_link", - "community": 14, + "community": 10, "norm_label": "_walk_ancestor_link()" }, { @@ -21213,7 +21213,7 @@ "source_file": "crud/cell_product.py", "source_location": "L1447", "id": "crud_cell_product_flatten_lineage_nodes", - "community": 14, + "community": 10, "norm_label": "_flatten_lineage_nodes()" }, { @@ -21222,7 +21222,7 @@ "source_file": "crud/cell_product.py", "source_location": "L1469", "id": "crud_cell_product_get_product_chain", - "community": 14, + "community": 10, "norm_label": "get_product_chain()" }, { @@ -21231,7 +21231,7 @@ "source_file": "crud/cell_product.py", "source_location": "L1483", "id": "crud_cell_product_wo_status_label", - "community": 14, + "community": 10, "norm_label": "_wo_status_label()" }, { @@ -21240,7 +21240,7 @@ "source_file": "crud/cell_product.py", "source_location": "L1489", "id": "crud_cell_product_slim_task_for_lineage", - "community": 14, + "community": 10, "norm_label": "_slim_task_for_lineage()" }, { @@ -21249,7 +21249,7 @@ "source_file": "crud/cell_product.py", "source_location": "L1517", "id": "crud_cell_product_load_lineage_qc_for_nodes", - "community": 14, + "community": 10, "norm_label": "_load_lineage_qc_for_nodes()" }, { @@ -21258,7 +21258,7 @@ "source_file": "crud/cell_product.py", "source_location": "L1671", "id": "crud_cell_product_get_product_lineage_qc", - "community": 14, + "community": 10, "norm_label": "get_product_lineage_qc()" }, { @@ -21267,7 +21267,7 @@ "source_file": "crud/cell_product.py", "source_location": "L1", "id": "crud_cell_product_rationale_1", - "community": 3, + "community": 9, "norm_label": "\u7ec6\u80de\u4ea7\u54c1 crud(biz_cell_product)" }, { @@ -21276,7 +21276,7 @@ "source_file": "crud/cell_product.py", "source_location": "L40", "id": "crud_cell_product_rationale_40", - "community": 3, + "community": 9, "norm_label": "\u7ba1\u7406\u7aef\u624b\u52a8\u6539\u72b6\u6001:\u5141\u8bb8\u5728\u5408\u6cd5\u679a\u4e3e\u95f4\u4efb\u610f\u53d8\u66f4,\u5e76\u540c\u6b65\u5e93\u4f4d\u5360\u7528\u3002" }, { @@ -21285,7 +21285,7 @@ "source_file": "crud/cell_product.py", "source_location": "L581", "id": "crud_cell_product_rationale_581", - "community": 3, + "community": 9, "norm_label": "\u53bb\u6389\u672b\u5c3e -p{n}-xx \u6216 -xx,\u5f97\u5230\u4ee3\u6b21\u4ea7\u54c1\u7f16\u7801\u7684\u57fa\u7840\u524d\u7f00\u3002" }, { @@ -21294,7 +21294,7 @@ "source_file": "crud/cell_product.py", "source_location": "L597", "id": "crud_cell_product_rationale_597", - "community": 3, + "community": 9, "norm_label": "\u67e5\u8be2 `{base_code}-{passage}-xx` \u5f62\u5f0f\u4ea7\u54c1\u7f16\u7801\u5728\u5e93\u4e2d\u7684\u6700\u5927\u4e24\u4f4d\u5e8f\u53f7(\u65e0\u5339\u914d\u5219 0)\u3002" }, { @@ -21303,7 +21303,7 @@ "source_file": "crud/cell_product.py", "source_location": "L631", "id": "crud_cell_product_rationale_631", - "community": 3, + "community": 9, "norm_label": "\u6279\u91cf\u67e5\u8be2\u5404\u4ee3\u6b21\u5728 `{base_code}-{passage}-xx` \u89c4\u5219\u4e0b\u7684\u6700\u5927\u5e8f\u53f7\u3002" }, { @@ -21312,7 +21312,7 @@ "source_file": "crud/cell_product.py", "source_location": "L648", "id": "crud_cell_product_rationale_648", - "community": 3, + "community": 9, "norm_label": "\u67e5\u8be2 `{base_code}-xx` \u5f62\u5f0f\u4ea7\u54c1\u7f16\u7801\u5728\u5e93\u4e2d\u7684\u6700\u5927\u4e24\u4f4d\u5e8f\u53f7(\u65e0\u5339\u914d\u5219 0)\u3002" }, { @@ -21321,7 +21321,7 @@ "source_file": "crud/cell_product.py", "source_location": "L695", "id": "crud_cell_product_rationale_695", - "community": 3, + "community": 9, "norm_label": "\u53bb\u6389\u672b\u5c3e -01/-02 \u7b49\u5e8f\u53f7,\u5f97\u5230\u591a\u4efd\u5165\u5e93\u65f6\u7684\u57fa\u7840\u7f16\u7801\u3002" }, { @@ -21330,7 +21330,7 @@ "source_file": "crud/cell_product.py", "source_location": "L706", "id": "crud_cell_product_rationale_706", - "community": 3, + "community": 9, "norm_label": "\u6309\u57fa\u7840\u7f16\u7801\u751f\u6210 \u57fa\u7840-01\u3001\u57fa\u7840-02 ..." }, { @@ -21339,7 +21339,7 @@ "source_file": "crud/cell_product.py", "source_location": "L776", "id": "crud_cell_product_rationale_776", - "community": 3, + "community": 9, "norm_label": "\u6309\u5165\u5e93\u4efd\u6570\u62c6\u5206:\u57fa\u7840\u7f16\u7801-01\u3001\u57fa\u7840\u7f16\u7801-02 ...(\u987b\u901a\u8fc7 items \u4e3a\u6bcf\u4efd\u6307\u5b9a\u72ec\u7acb\u50a8\u7269\u683c)" }, { @@ -21348,7 +21348,7 @@ "source_file": "crud/cell_product.py", "source_location": "L919", "id": "crud_cell_product_rationale_919", - "community": 3, + "community": 9, "norm_label": "\u591a\u8fdb\u4e00\u65f6 parent \u4e3a\u6570\u7ec4;\u5355\u94fe\u65f6\u4e3a\u5bf9\u8c61;\u65e0\u4e0a\u6e38\u4e3a null\u3002" }, { @@ -21357,7 +21357,7 @@ "source_file": "crud/cell_product.py", "source_location": "L1169", "id": "crud_cell_product_rationale_1169", - "community": 3, + "community": 9, "norm_label": "\u89e3\u6790\u4efb\u52a1\u6837\u672c\u6295\u5165\u7269,\u8fd4\u56de\u7956\u5148\u94fe\u5355\u6bb5(\u6837\u672c\u7ec8\u6b62\u8282\u70b9)\u3002" }, { @@ -21366,7 +21366,7 @@ "source_file": "crud/cell_product.py", "source_location": "L1448", "id": "crud_cell_product_rationale_1448", - "community": 3, + "community": 9, "norm_label": "\u5c06 get_product_chain \u7ed3\u679c\u5c55\u5e73\u4e3a\u4e0a\u6e38\u2192\u4e0b\u6e38\u8282\u70b9\u5217\u8868(\u542b current,\u4e0d\u542b descendants)\u3002" }, { @@ -21375,7 +21375,7 @@ "source_file": "crud/menu.py", "source_location": "L1", "id": "crud_menu_py", - "community": 1, + "community": 23, "norm_label": "menu.py" }, { @@ -21384,7 +21384,7 @@ "source_file": "crud/menu.py", "source_location": "L13", "id": "crud_menu_row_to_dict", - "community": 1, + "community": 23, "norm_label": "_row_to_dict()" }, { @@ -21393,7 +21393,7 @@ "source_file": "crud/menu.py", "source_location": "L33", "id": "crud_menu_build_tree", - "community": 0, + "community": 23, "norm_label": "_build_tree()" }, { @@ -21402,7 +21402,7 @@ "source_file": "crud/menu.py", "source_location": "L41", "id": "crud_menu_list_menus", - "community": 1, + "community": 23, "norm_label": "list_menus()" }, { @@ -21411,7 +21411,7 @@ "source_file": "crud/menu.py", "source_location": "L62", "id": "crud_menu_list_menus_tree", - "community": 0, + "community": 23, "norm_label": "list_menus_tree()" }, { @@ -21420,7 +21420,7 @@ "source_file": "crud/menu.py", "source_location": "L101", "id": "crud_menu_get_menu", - "community": 1, + "community": 23, "norm_label": "get_menu()" }, { @@ -21429,7 +21429,7 @@ "source_file": "crud/menu.py", "source_location": "L109", "id": "crud_menu_menu_name_exists", - "community": 1, + "community": 23, "norm_label": "menu_name_exists()" }, { @@ -21447,7 +21447,7 @@ "source_file": "crud/menu.py", "source_location": "L170", "id": "crud_menu_update_menu", - "community": 1, + "community": 23, "norm_label": "update_menu()" }, { @@ -21456,7 +21456,7 @@ "source_file": "crud/menu.py", "source_location": "L220", "id": "crud_menu_cascade_soft_delete", - "community": 1, + "community": 23, "norm_label": "_cascade_soft_delete()" }, { @@ -21465,7 +21465,7 @@ "source_file": "crud/menu.py", "source_location": "L233", "id": "crud_menu_soft_delete_menu", - "community": 1, + "community": 23, "norm_label": "soft_delete_menu()" }, { @@ -21483,7 +21483,7 @@ "source_file": "crud/collection_region.py", "source_location": "L15", "id": "crud_collection_region_region_to_dict", - "community": 5, + "community": 0, "norm_label": "_region_to_dict()" }, { @@ -21492,7 +21492,7 @@ "source_file": "crud/collection_region.py", "source_location": "L28", "id": "crud_collection_region_hospital_names_by_region_ids", - "community": 5, + "community": 0, "norm_label": "_hospital_names_by_region_ids()" }, { @@ -21510,7 +21510,7 @@ "source_file": "crud/collection_region.py", "source_location": "L62", "id": "crud_collection_region_list_collection_regions", - "community": 5, + "community": 0, "norm_label": "list_collection_regions()" }, { @@ -21618,7 +21618,7 @@ "source_file": "crud/collection_region.py", "source_location": "L29", "id": "crud_collection_region_rationale_29", - "community": 5, + "community": 9, "norm_label": "\u6279\u91cf\u67e5\u8be2\u5730\u533a\u4e0b\u5c5e\u533b\u9662\u540d\u79f0,\u6309 order_num\u3001create_time \u6392\u5e8f\u3002" }, { @@ -21627,7 +21627,7 @@ "source_file": "crud/collection_region.py", "source_location": "L234", "id": "crud_collection_region_rationale_234", - "community": 1, + "community": 9, "norm_label": "\u6309\u533b\u9662\u540d\u79f0\u6a21\u7cca\u68c0\u7d22,\u8fd4\u56de\u533b\u9662\u53ca\u6240\u5c5e\u91c7\u96c6\u5730\u533a\u4fe1\u606f\u3002" }, { @@ -21636,7 +21636,7 @@ "source_file": "crud/pilot_delivery.py", "source_location": "L1", "id": "crud_pilot_delivery_py", - "community": 1, + "community": 8, "norm_label": "pilot_delivery.py" }, { @@ -21645,7 +21645,7 @@ "source_file": "crud/pilot_delivery.py", "source_location": "L37", "id": "crud_pilot_delivery_generate_delivery_no", - "community": 1, + "community": 8, "norm_label": "_generate_delivery_no()" }, { @@ -21654,7 +21654,7 @@ "source_file": "crud/pilot_delivery.py", "source_location": "L59", "id": "crud_pilot_delivery_row_to_dict_delivery", - "community": 1, + "community": 8, "norm_label": "_row_to_dict_delivery()" }, { @@ -21663,7 +21663,7 @@ "source_file": "crud/pilot_delivery.py", "source_location": "L99", "id": "crud_pilot_delivery_row_to_dict_delivery_material", - "community": 1, + "community": 8, "norm_label": "_row_to_dict_delivery_material()" }, { @@ -21672,7 +21672,7 @@ "source_file": "crud/pilot_delivery.py", "source_location": "L130", "id": "crud_pilot_delivery_row_to_dict_delivery_method", - "community": 1, + "community": 8, "norm_label": "_row_to_dict_delivery_method()" }, { @@ -21690,7 +21690,7 @@ "source_file": "crud/pilot_delivery.py", "source_location": "L339", "id": "crud_pilot_delivery_get_delivery_by_schedule", - "community": 1, + "community": 8, "norm_label": "get_delivery_by_schedule()" }, { @@ -21699,7 +21699,7 @@ "source_file": "crud/pilot_delivery.py", "source_location": "L356", "id": "crud_pilot_delivery_list_deliveries_by_application", - "community": 1, + "community": 8, "norm_label": "list_deliveries_by_application()" }, { @@ -21708,7 +21708,7 @@ "source_file": "crud/pilot_delivery.py", "source_location": "L402", "id": "crud_pilot_delivery_create_delivery", - "community": 1, + "community": 8, "norm_label": "create_delivery()" }, { @@ -21717,7 +21717,7 @@ "source_file": "crud/pilot_delivery.py", "source_location": "L477", "id": "crud_pilot_delivery_soft_delete_delivery", - "community": 1, + "community": 8, "norm_label": "soft_delete_delivery()" }, { @@ -21726,7 +21726,7 @@ "source_file": "crud/pilot_delivery.py", "source_location": "L516", "id": "crud_pilot_delivery_list_delivery_materials", - "community": 1, + "community": 8, "norm_label": "list_delivery_materials()" }, { @@ -21735,7 +21735,7 @@ "source_file": "crud/pilot_delivery.py", "source_location": "L535", "id": "crud_pilot_delivery_save_delivery_materials", - "community": 1, + "community": 0, "norm_label": "save_delivery_materials()" }, { @@ -21744,7 +21744,7 @@ "source_file": "crud/pilot_delivery.py", "source_location": "L594", "id": "crud_pilot_delivery_delete_delivery_material", - "community": 1, + "community": 8, "norm_label": "delete_delivery_material()" }, { @@ -21753,7 +21753,7 @@ "source_file": "crud/pilot_delivery.py", "source_location": "L619", "id": "crud_pilot_delivery_get_delivery_method", - "community": 1, + "community": 8, "norm_label": "get_delivery_method()" }, { @@ -21762,7 +21762,7 @@ "source_file": "crud/pilot_delivery.py", "source_location": "L636", "id": "crud_pilot_delivery_save_delivery_method", - "community": 0, + "community": 8, "norm_label": "save_delivery_method()" }, { @@ -21987,7 +21987,7 @@ "source_file": "crud/api_request_log.py", "source_location": "L1", "id": "crud_api_request_log_py", - "community": 5, + "community": 4, "norm_label": "api_request_log.py" }, { @@ -21996,7 +21996,7 @@ "source_file": "crud/api_request_log.py", "source_location": "L12", "id": "crud_api_request_log_apirequestlogcrud", - "community": 5, + "community": 4, "norm_label": "apirequestlogcrud" }, { @@ -22005,7 +22005,7 @@ "source_file": "crud/api_request_log.py", "source_location": "L14", "id": "crud_api_request_log_get_multi_with_filters", - "community": 5, + "community": 4, "norm_label": "get_multi_with_filters()" }, { @@ -22014,7 +22014,7 @@ "source_file": "crud/api_request_log.py", "source_location": "L85", "id": "crud_api_request_log_get", - "community": 5, + "community": 4, "norm_label": "get()" }, { @@ -22023,7 +22023,7 @@ "source_file": "crud/api_request_log.py", "source_location": "L91", "id": "crud_api_request_log_delete", - "community": 5, + "community": 4, "norm_label": "delete()" }, { @@ -22032,7 +22032,7 @@ "source_file": "crud/dict_data.py", "source_location": "L1", "id": "crud_dict_data_py", - "community": 4, + "community": 1, "norm_label": "dict_data.py" }, { @@ -22041,7 +22041,7 @@ "source_file": "crud/dict_data.py", "source_location": "L15", "id": "crud_dict_data_row_to_dict", - "community": 4, + "community": 1, "norm_label": "_row_to_dict()" }, { @@ -22050,7 +22050,7 @@ "source_file": "crud/dict_data.py", "source_location": "L29", "id": "crud_dict_data_list_dict_data", - "community": 4, + "community": 1, "norm_label": "list_dict_data()" }, { @@ -22059,7 +22059,7 @@ "source_file": "crud/dict_data.py", "source_location": "L67", "id": "crud_dict_data_get_dict_data", - "community": 4, + "community": 1, "norm_label": "get_dict_data()" }, { @@ -22068,7 +22068,7 @@ "source_file": "crud/dict_data.py", "source_location": "L75", "id": "crud_dict_data_create_dict_data", - "community": 4, + "community": 1, "norm_label": "create_dict_data()" }, { @@ -22077,7 +22077,7 @@ "source_file": "crud/dict_data.py", "source_location": "L107", "id": "crud_dict_data_update_dict_data", - "community": 4, + "community": 1, "norm_label": "update_dict_data()" }, { @@ -22086,7 +22086,7 @@ "source_file": "crud/dict_data.py", "source_location": "L136", "id": "crud_dict_data_soft_delete_dict_data", - "community": 4, + "community": 1, "norm_label": "soft_delete_dict_data()" }, { @@ -22095,7 +22095,7 @@ "source_file": "crud/dict_data.py", "source_location": "L150", "id": "crud_dict_data_list_dict_data_options", - "community": 4, + "community": 1, "norm_label": "list_dict_data_options()" }, { @@ -22104,7 +22104,7 @@ "source_file": "crud/dict_data.py", "source_location": "L162", "id": "crud_dict_data_is_dict_value_valid", - "community": 4, + "community": 1, "norm_label": "is_dict_value_valid()" }, { @@ -22113,7 +22113,7 @@ "source_file": "crud/dict_data.py", "source_location": "L184", "id": "crud_dict_data_normalize_transfer_type", - "community": 4, + "community": 1, "norm_label": "normalize_transfer_type()" }, { @@ -22122,7 +22122,7 @@ "source_file": "crud/dict_data.py", "source_location": "L200", "id": "crud_dict_data_normalize_void_type", - "community": 4, + "community": 1, "norm_label": "normalize_void_type()" }, { @@ -22131,7 +22131,7 @@ "source_file": "crud/dict_data.py", "source_location": "L216", "id": "crud_dict_data_total_pages", - "community": 4, + "community": 1, "norm_label": "total_pages()" }, { @@ -22140,7 +22140,7 @@ "source_file": "crud/dict_data.py", "source_location": "L1", "id": "crud_dict_data_rationale_1", - "community": 4, + "community": 1, "norm_label": "\u5b57\u5178\u6570\u636e crud(sys_dict_data)" }, { @@ -22230,7 +22230,7 @@ "source_file": "crud/research_donation.py", "source_location": "L188", "id": "crud_research_donation_merge_comma_separated_urls", - "community": 4, + "community": 9, "norm_label": "_merge_comma_separated_urls()" }, { @@ -22266,7 +22266,7 @@ "source_file": "crud/research_donation.py", "source_location": "L258", "id": "crud_research_donation_donation_to_dict", - "community": 4, + "community": 0, "norm_label": "_donation_to_dict()" }, { @@ -22428,7 +22428,7 @@ "source_file": "crud/research_donation.py", "source_location": "L1300", "id": "crud_research_donation_change_status", - "community": 4, + "community": 0, "norm_label": "change_status()" }, { @@ -22437,7 +22437,7 @@ "source_file": "crud/research_donation.py", "source_location": "L1371", "id": "crud_research_donation_convert_from_storage", - "community": 1, + "community": 9, "norm_label": "convert_from_storage()" }, { @@ -22446,7 +22446,7 @@ "source_file": "crud/research_donation.py", "source_location": "L1623", "id": "crud_research_donation_convert_to_storage", - "community": 4, + "community": 9, "norm_label": "convert_to_storage()" }, { @@ -22545,7 +22545,7 @@ "source_file": "crud/research_donation.py", "source_location": "L1", "id": "crud_research_donation_rationale_1", - "community": 3, + "community": 9, "norm_label": "\u79d1\u7814\u6350\u8d60\u7ba1\u7406 crud(\u6350\u8d60\u5355 / \u5ba1\u6838 / \u72b6\u6001\u53d8\u66f4 / \u8f6c\u6362)" }, { @@ -22554,7 +22554,7 @@ "source_file": "crud/research_donation.py", "source_location": "L74", "id": "crud_research_donation_rationale_74", - "community": 3, + "community": 9, "norm_label": "\u89e3\u6790 kyjz+yyyymm+\u5e8f\u53f7 \u4e2d\u7684\u5e8f\u53f7;\u4e0d\u5339\u914d\u5219\u8fd4\u56de none\u3002" }, { @@ -22563,7 +22563,7 @@ "source_file": "crud/research_donation.py", "source_location": "L91", "id": "crud_research_donation_rationale_91", - "community": 3, + "community": 9, "norm_label": "\u751f\u6210\u6350\u8d60\u6837\u672c\u7f16\u7801:kyjz + yyyymm + 4 \u4f4d\u9012\u589e\u5e8f\u53f7(0001 \u8d77)\u3002" }, { @@ -22572,7 +22572,7 @@ "source_file": "crud/research_donation.py", "source_location": "L178", "id": "crud_research_donation_rationale_178", - "community": 3, + "community": 9, "norm_label": "\u5c06\u524d\u7aef camelcase \u5b57\u6bb5\u540d\u8f6c\u4e3a\u6570\u636e\u5e93 snake_case\u3002" }, { @@ -22581,7 +22581,7 @@ "source_file": "crud/research_donation.py", "source_location": "L189", "id": "crud_research_donation_rationale_189", - "community": 3, + "community": 9, "norm_label": "\u5408\u5e76\u9017\u53f7\u5206\u9694\u7684\u9644\u4ef6 url,\u53bb\u91cd\u5e76\u4fdd\u6301\u987a\u5e8f\u3002" }, { @@ -22590,7 +22590,7 @@ "source_file": "crud/research_donation.py", "source_location": "L205", "id": "crud_research_donation_rationale_205", - "community": 3, + "community": 9, "norm_label": "\u89e3\u6790\u4fdd\u5b58\u8f7d\u8377:\u9644\u4ef6\u5217\u8868 \u2192 url \u5b57\u6bb5;party/collection \u522b\u540d\u3002" }, { @@ -22599,7 +22599,7 @@ "source_file": "crud/research_donation.py", "source_location": "L913", "id": "crud_research_donation_rationale_913", - "community": 3, + "community": 9, "norm_label": "\u521b\u5efa\u79d1\u7814\u6350\u8d60\u5355(\u542b party / collection / samples + transports)\u3002" }, { @@ -22608,7 +22608,7 @@ "source_file": "crud/research_donation.py", "source_location": "L987", "id": "crud_research_donation_rationale_987", - "community": 3, + "community": 9, "norm_label": "\u66f4\u65b0\u79d1\u7814\u6350\u8d60\u5355:\u4e3b\u8868\u5b57\u6bb5 + \u5b50\u8d44\u6e90 upsert(\u8f6f\u5220\u65e7 + \u521b\u5efa\u65b0)\u3002" }, { @@ -22617,7 +22617,7 @@ "source_file": "crud/research_donation.py", "source_location": "L1237", "id": "crud_research_donation_rationale_1237", - "community": 3, + "community": 9, "norm_label": "\u63d0\u4ea4\u5ba1\u6838\u3002shtg \u2192 \u6350\u8d60\u72b6\u6001\u53d8\u4e3a sxz;shth \u2192 \u72b6\u6001\u4e0d\u53d8\u3002" }, { @@ -22626,7 +22626,7 @@ "source_file": "crud/research_donation.py", "source_location": "L1630", "id": "crud_research_donation_rationale_1630", - "community": 3, + "community": 9, "norm_label": "\u4ece\u79d1\u7814\u6350\u8d60\u5355\u8f6c\u6362\u521b\u5efa\u7ec6\u80de\u5b58\u50a8\u534f\u8bae\u5355,\u8fd4\u56de\u66f4\u65b0\u540e\u7684\u6350\u8d60\u5355\u3002" }, { @@ -22635,7 +22635,7 @@ "source_file": "crud/research_donation.py", "source_location": "L1978", "id": "crud_research_donation_rationale_1978", - "community": 3, + "community": 9, "norm_label": "\u6350\u8d60\u6837\u672c\u884c\u91cd\u5efa\u540e,\u5c06\u63a5\u6536/\u8d28\u68c0\u5de5\u5355\u7684\u6350\u8d60\u6837\u672c id \u8fc1\u79fb\u5230\u65b0\u6837\u672c id\u3002" }, { @@ -22644,7 +22644,7 @@ "source_file": "crud/ethnic.py", "source_location": "L1", "id": "crud_ethnic_py", - "community": 5, + "community": 4, "norm_label": "ethnic.py" }, { @@ -22653,7 +22653,7 @@ "source_file": "crud/ethnic.py", "source_location": "L9", "id": "crud_ethnic_row_to_dict", - "community": 5, + "community": 4, "norm_label": "_row_to_dict()" }, { @@ -22662,7 +22662,7 @@ "source_file": "crud/ethnic.py", "source_location": "L18", "id": "crud_ethnic_list_ethnics", - "community": 5, + "community": 4, "norm_label": "list_ethnics()" }, { @@ -22671,7 +22671,7 @@ "source_file": "crud/ethnic.py", "source_location": "L1", "id": "crud_ethnic_rationale_1", - "community": 5, + "community": 4, "norm_label": "\u6c11\u65cf\u7801\u8868 crud(\u5168\u5c40 sys_ethnic)" }, { @@ -22725,7 +22725,7 @@ "source_file": "crud/pilot_checkup.py", "source_location": "L1", "id": "crud_pilot_checkup_py", - "community": 13, + "community": 8, "norm_label": "pilot_checkup.py" }, { @@ -22734,7 +22734,7 @@ "source_file": "crud/pilot_checkup.py", "source_location": "L26", "id": "crud_pilot_checkup_parse_optional_datetime", - "community": 13, + "community": 8, "norm_label": "_parse_optional_datetime()" }, { @@ -22743,7 +22743,7 @@ "source_file": "crud/pilot_checkup.py", "source_location": "L50", "id": "crud_pilot_checkup_generate_checkup_no", - "community": 13, + "community": 8, "norm_label": "_generate_checkup_no()" }, { @@ -22752,7 +22752,7 @@ "source_file": "crud/pilot_checkup.py", "source_location": "L69", "id": "crud_pilot_checkup_row_to_dict_checkup", - "community": 13, + "community": 8, "norm_label": "_row_to_dict_checkup()" }, { @@ -22761,7 +22761,7 @@ "source_file": "crud/pilot_checkup.py", "source_location": "L179", "id": "crud_pilot_checkup_row_to_dict_reserve_item", - "community": 13, + "community": 8, "norm_label": "_row_to_dict_reserve_item()" }, { @@ -22770,7 +22770,7 @@ "source_file": "crud/pilot_checkup.py", "source_location": "L192", "id": "crud_pilot_checkup_row_to_dict_actual_item", - "community": 13, + "community": 8, "norm_label": "_row_to_dict_actual_item()" }, { @@ -22779,7 +22779,7 @@ "source_file": "crud/pilot_checkup.py", "source_location": "L210", "id": "crud_pilot_checkup_get_checkup_by_application", - "community": 0, + "community": 8, "norm_label": "get_checkup_by_application()" }, { @@ -22788,7 +22788,7 @@ "source_file": "crud/pilot_checkup.py", "source_location": "L227", "id": "crud_pilot_checkup_get_checkup_by_id", - "community": 13, + "community": 8, "norm_label": "get_checkup_by_id()" }, { @@ -22797,7 +22797,7 @@ "source_file": "crud/pilot_checkup.py", "source_location": "L244", "id": "crud_pilot_checkup_create_checkup", - "community": 13, + "community": 8, "norm_label": "create_checkup()" }, { @@ -22806,7 +22806,7 @@ "source_file": "crud/pilot_checkup.py", "source_location": "L283", "id": "crud_pilot_checkup_update_checkup", - "community": 13, + "community": 8, "norm_label": "update_checkup()" }, { @@ -22815,7 +22815,7 @@ "source_file": "crud/pilot_checkup.py", "source_location": "L321", "id": "crud_pilot_checkup_soft_delete_checkup", - "community": 1, + "community": 8, "norm_label": "soft_delete_checkup()" }, { @@ -22824,7 +22824,7 @@ "source_file": "crud/pilot_checkup.py", "source_location": "L355", "id": "crud_pilot_checkup_mark_checkup_checked", - "community": 13, + "community": 8, "norm_label": "mark_checkup_checked()" }, { @@ -22833,7 +22833,7 @@ "source_file": "crud/pilot_checkup.py", "source_location": "L382", "id": "crud_pilot_checkup_settle_checkup_fee", - "community": 13, + "community": 8, "norm_label": "settle_checkup_fee()" }, { @@ -22842,7 +22842,7 @@ "source_file": "crud/pilot_checkup.py", "source_location": "L413", "id": "crud_pilot_checkup_list_reserve_items", - "community": 13, + "community": 8, "norm_label": "list_reserve_items()" }, { @@ -22851,7 +22851,7 @@ "source_file": "crud/pilot_checkup.py", "source_location": "L432", "id": "crud_pilot_checkup_save_reserve_items", - "community": 13, + "community": 8, "norm_label": "save_reserve_items()" }, { @@ -22860,7 +22860,7 @@ "source_file": "crud/pilot_checkup.py", "source_location": "L473", "id": "crud_pilot_checkup_delete_reserve_item", - "community": 13, + "community": 8, "norm_label": "delete_reserve_item()" }, { @@ -22869,7 +22869,7 @@ "source_file": "crud/pilot_checkup.py", "source_location": "L496", "id": "crud_pilot_checkup_list_actual_items", - "community": 13, + "community": 8, "norm_label": "list_actual_items()" }, { @@ -22878,7 +22878,7 @@ "source_file": "crud/pilot_checkup.py", "source_location": "L515", "id": "crud_pilot_checkup_save_actual_items", - "community": 13, + "community": 8, "norm_label": "save_actual_items()" }, { @@ -22887,7 +22887,7 @@ "source_file": "crud/pilot_checkup.py", "source_location": "L556", "id": "crud_pilot_checkup_delete_actual_item", - "community": 13, + "community": 8, "norm_label": "delete_actual_item()" }, { @@ -22896,7 +22896,7 @@ "source_file": "crud/pilot_checkup.py", "source_location": "L579", "id": "crud_pilot_checkup_list_checkups_paginated", - "community": 13, + "community": 8, "norm_label": "list_checkups_paginated()" }, { @@ -22905,7 +22905,7 @@ "source_file": "crud/pilot_checkup.py", "source_location": "L706", "id": "crud_pilot_checkup_list_pending_patients", - "community": 13, + "community": 8, "norm_label": "list_pending_patients()" }, { @@ -22914,7 +22914,7 @@ "source_file": "crud/pilot_checkup.py", "source_location": "L795", "id": "crud_pilot_checkup_batch_create_checkups", - "community": 13, + "community": 8, "norm_label": "batch_create_checkups()" }, { @@ -22923,7 +22923,7 @@ "source_file": "crud/pilot_checkup.py", "source_location": "L876", "id": "crud_pilot_checkup_ensure_checkup_for_patient", - "community": 13, + "community": 8, "norm_label": "ensure_checkup_for_patient()" }, { @@ -22932,7 +22932,7 @@ "source_file": "crud/pilot_checkup.py", "source_location": "L922", "id": "crud_pilot_checkup_remove_checkup_for_patient", - "community": 13, + "community": 8, "norm_label": "remove_checkup_for_patient()" }, { @@ -22977,7 +22977,7 @@ "source_file": "crud/env_detect_item.py", "source_location": "L1", "id": "crud_env_detect_item_py", - "community": 26, + "community": 1, "norm_label": "env_detect_item.py" }, { @@ -22986,7 +22986,7 @@ "source_file": "crud/env_detect_item.py", "source_location": "L14", "id": "crud_env_detect_item_row_to_dict", - "community": 26, + "community": 1, "norm_label": "_row_to_dict()" }, { @@ -22995,7 +22995,7 @@ "source_file": "crud/env_detect_item.py", "source_location": "L28", "id": "crud_env_detect_item_item_code_exists", - "community": 26, + "community": 1, "norm_label": "item_code_exists()" }, { @@ -23004,7 +23004,7 @@ "source_file": "crud/env_detect_item.py", "source_location": "L46", "id": "crud_env_detect_item_order_query", - "community": 26, + "community": 1, "norm_label": "_order_query()" }, { @@ -23013,7 +23013,7 @@ "source_file": "crud/env_detect_item.py", "source_location": "L53", "id": "crud_env_detect_item_list_env_detect_items", - "community": 26, + "community": 1, "norm_label": "list_env_detect_items()" }, { @@ -23022,7 +23022,7 @@ "source_file": "crud/env_detect_item.py", "source_location": "L93", "id": "crud_env_detect_item_list_active_env_detect_items", - "community": 26, + "community": 1, "norm_label": "list_active_env_detect_items()" }, { @@ -23031,7 +23031,7 @@ "source_file": "crud/env_detect_item.py", "source_location": "L107", "id": "crud_env_detect_item_get_env_detect_item", - "community": 26, + "community": 1, "norm_label": "get_env_detect_item()" }, { @@ -23040,7 +23040,7 @@ "source_file": "crud/env_detect_item.py", "source_location": "L118", "id": "crud_env_detect_item_create_env_detect_item", - "community": 26, + "community": 1, "norm_label": "create_env_detect_item()" }, { @@ -23049,7 +23049,7 @@ "source_file": "crud/env_detect_item.py", "source_location": "L162", "id": "crud_env_detect_item_update_env_detect_item", - "community": 26, + "community": 1, "norm_label": "update_env_detect_item()" }, { @@ -23058,7 +23058,7 @@ "source_file": "crud/env_detect_item.py", "source_location": "L206", "id": "crud_env_detect_item_soft_delete_env_detect_item", - "community": 26, + "community": 1, "norm_label": "soft_delete_env_detect_item()" }, { @@ -23247,7 +23247,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L1", "id": "crud_qc_work_order_py", - "community": 7, + "community": 5, "norm_label": "qc_work_order.py" }, { @@ -23265,7 +23265,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L142", "id": "crud_qc_work_order_dec", - "community": 7, + "community": 5, "norm_label": "_dec()" }, { @@ -23274,7 +23274,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L148", "id": "crud_qc_work_order_fmt_dt", - "community": 7, + "community": 5, "norm_label": "_fmt_dt()" }, { @@ -23283,7 +23283,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L152", "id": "crud_qc_work_order_normalize_date_bound", - "community": 7, + "community": 5, "norm_label": "_normalize_date_bound()" }, { @@ -23292,7 +23292,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L159", "id": "crud_qc_work_order_reception_source_label", - "community": 7, + "community": 5, "norm_label": "_reception_source_label()" }, { @@ -23301,7 +23301,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L164", "id": "crud_qc_work_order_qc_biz_type_label", - "community": 7, + "community": 5, "norm_label": "_qc_biz_type_label()" }, { @@ -23310,7 +23310,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L169", "id": "crud_qc_work_order_work_order_qc_biz_type", - "community": 7, + "community": 5, "norm_label": "_work_order_qc_biz_type()" }, { @@ -23319,7 +23319,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L176", "id": "crud_qc_work_order_validate_cell_product_id", - "community": 7, + "community": 5, "norm_label": "_validate_cell_product_id()" }, { @@ -23328,7 +23328,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L188", "id": "crud_qc_work_order_enrich_work_order_cell_products", - "community": 7, + "community": 5, "norm_label": "_enrich_work_order_cell_products()" }, { @@ -23337,7 +23337,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L217", "id": "crud_qc_work_order_enrich_work_order_step_outputs", - "community": 7, + "community": 5, "norm_label": "_enrich_work_order_step_outputs()" }, { @@ -23346,7 +23346,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L256", "id": "crud_qc_work_order_enrich_work_order_qc_targets", - "community": 7, + "community": 5, "norm_label": "_enrich_work_order_qc_targets()" }, { @@ -23355,7 +23355,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L263", "id": "crud_qc_work_order_enrich_outbound_work_orders", - "community": 7, + "community": 5, "norm_label": "_enrich_outbound_work_orders()" }, { @@ -23364,7 +23364,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L384", "id": "crud_qc_work_order_outbound_qc_work_order_ids_by_keyword", - "community": 7, + "community": 5, "norm_label": "_outbound_qc_work_order_ids_by_keyword()" }, { @@ -23373,7 +23373,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L431", "id": "crud_qc_work_order_inbound_qc_work_order_ids_by_mother_name", - "community": 7, + "community": 5, "norm_label": "_inbound_qc_work_order_ids_by_mother_name()" }, { @@ -23382,7 +23382,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L497", "id": "crud_qc_work_order_accept_conclusion_label", - "community": 7, + "community": 5, "norm_label": "_accept_conclusion_label()" }, { @@ -23391,7 +23391,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L502", "id": "crud_qc_work_order_load_sample_type_name_map", - "community": 4, + "community": 5, "norm_label": "_load_sample_type_name_map()" }, { @@ -23400,7 +23400,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L514", "id": "crud_qc_work_order_effective_reception_source", - "community": 7, + "community": 5, "norm_label": "_effective_reception_source()" }, { @@ -23409,7 +23409,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L523", "id": "crud_qc_work_order_effective_donation_sample_id", - "community": 7, + "community": 5, "norm_label": "_effective_donation_sample_id()" }, { @@ -23418,7 +23418,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L532", "id": "crud_qc_work_order_effective_protocol_sample_id", - "community": 7, + "community": 5, "norm_label": "_effective_protocol_sample_id()" }, { @@ -23427,7 +23427,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L540", "id": "crud_qc_work_order_sample_type_name_for_item", - "community": 7, + "community": 5, "norm_label": "_sample_type_name_for_item()" }, { @@ -23436,7 +23436,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L558", "id": "crud_qc_work_order_sample_type_name_for_reception", - "community": 7, + "community": 5, "norm_label": "_sample_type_name_for_reception()" }, { @@ -23445,7 +23445,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L581", "id": "crud_qc_work_order_enrich_work_order_list_items", - "community": 7, + "community": 5, "norm_label": "_enrich_work_order_list_items()" }, { @@ -23454,7 +23454,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L828", "id": "crud_qc_work_order_protocol_group_key_for_item", - "community": 4, + "community": 5, "norm_label": "_protocol_group_key_for_item()" }, { @@ -23463,7 +23463,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L844", "id": "crud_qc_work_order_enrich_protocol_sibling_samples", - "community": 4, + "community": 5, "norm_label": "_enrich_protocol_sibling_samples()" }, { @@ -23472,7 +23472,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L979", "id": "crud_qc_work_order_enrich_production_work_order_refs", - "community": 7, + "community": 5, "norm_label": "_enrich_production_work_order_refs()" }, { @@ -23481,7 +23481,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L1004", "id": "crud_qc_work_order_gen_daily_no", - "community": 7, + "community": 5, "norm_label": "_gen_daily_no()" }, { @@ -23490,7 +23490,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L1018", "id": "crud_qc_work_order_user_nick_name_map", - "community": 7, + "community": 5, "norm_label": "_user_nick_name_map()" }, { @@ -23499,7 +23499,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L1026", "id": "crud_qc_work_order_wo_to_dict", - "community": 7, + "community": 5, "norm_label": "_wo_to_dict()" }, { @@ -23508,7 +23508,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L1100", "id": "crud_qc_work_order_create_work_order_from_reception", - "community": 7, + "community": 5, "norm_label": "create_work_order_from_reception()" }, { @@ -23517,7 +23517,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L1217", "id": "crud_qc_work_order_valid_qc_dispatch_output_type_ids", - "community": 7, + "community": 5, "norm_label": "_valid_qc_dispatch_output_type_ids()" }, { @@ -23526,7 +23526,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L1230", "id": "crud_qc_work_order_resolve_cell_product_id_by_barcode", - "community": 7, + "community": 5, "norm_label": "_resolve_cell_product_id_by_barcode()" }, { @@ -23535,7 +23535,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L1248", "id": "crud_qc_work_order_create_qc_work_order_from_production", - "community": 7, + "community": 5, "norm_label": "create_qc_work_order_from_production()" }, { @@ -23544,7 +23544,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L1405", "id": "crud_qc_work_order_list_step_output_dispatch_options_for_production_work_order", - "community": 7, + "community": 5, "norm_label": "list_step_output_dispatch_options_for_production_work_order()" }, { @@ -23553,7 +23553,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L1513", "id": "crud_qc_work_order_list_cell_product_options_for_production_work_order", - "community": 7, + "community": 5, "norm_label": "list_cell_product_options_for_production_work_order()" }, { @@ -23562,7 +23562,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L1527", "id": "crud_qc_work_order_protocol_sample_ids_for_sample_type", - "community": 7, + "community": 5, "norm_label": "_protocol_sample_ids_for_sample_type()" }, { @@ -23571,7 +23571,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L1563", "id": "crud_qc_work_order_list_work_orders", - "community": 7, + "community": 5, "norm_label": "list_work_orders()" }, { @@ -23580,7 +23580,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L1728", "id": "crud_qc_work_order_list_work_orders_by_sample", - "community": 7, + "community": 5, "norm_label": "list_work_orders_by_sample()" }, { @@ -23589,7 +23589,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L1766", "id": "crud_qc_work_order_build_work_order_list_summaries", - "community": 7, + "community": 5, "norm_label": "build_work_order_list_summaries()" }, { @@ -23598,7 +23598,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L1801", "id": "crud_qc_work_order_empty_qc_tab_counts", - "community": 7, + "community": 5, "norm_label": "_empty_qc_tab_counts()" }, { @@ -23607,7 +23607,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L1805", "id": "crud_qc_work_order_resolve_wo_tab_key", - "community": 7, + "community": 5, "norm_label": "_resolve_wo_tab_key()" }, { @@ -23616,7 +23616,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L1824", "id": "crud_qc_work_order_unfinished_work_order_filter", - "community": 7, + "community": 5, "norm_label": "_unfinished_work_order_filter()" }, { @@ -23625,7 +23625,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L1834", "id": "crud_qc_work_order_enrich_unfinished_badge_counts", - "community": 7, + "community": 5, "norm_label": "_enrich_unfinished_badge_counts()" }, { @@ -23634,7 +23634,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L1870", "id": "crud_qc_work_order_enrich_work_order_qc_conclusions", - "community": 7, + "community": 5, "norm_label": "_enrich_work_order_qc_conclusions()" }, { @@ -23643,7 +23643,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L1909", "id": "crud_qc_work_order_aggregate_qc_tab_counts", - "community": 7, + "community": 5, "norm_label": "_aggregate_qc_tab_counts()" }, { @@ -23652,7 +23652,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L1921", "id": "crud_qc_work_order_count_unfinished_work_orders_by_tab", - "community": 5, + "community": 4, "norm_label": "count_unfinished_work_orders_by_tab()" }, { @@ -23661,7 +23661,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L1954", "id": "crud_qc_work_order_count_mine_unfinished_work_orders_by_tab", - "community": 7, + "community": 5, "norm_label": "count_mine_unfinished_work_orders_by_tab()" }, { @@ -23670,7 +23670,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L2000", "id": "crud_qc_work_order_get_work_order", - "community": 7, + "community": 5, "norm_label": "get_work_order()" }, { @@ -23679,7 +23679,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L2009", "id": "crud_qc_work_order_lab_lines", - "community": 7, + "community": 5, "norm_label": "_lab_lines()" }, { @@ -23688,7 +23688,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L2030", "id": "crud_qc_work_order_third_lines", - "community": 7, + "community": 5, "norm_label": "_third_lines()" }, { @@ -23697,7 +23697,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L2054", "id": "crud_qc_work_order_qc_info_item", - "community": 7, + "community": 5, "norm_label": "_qc_info_item()" }, { @@ -23706,7 +23706,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L2078", "id": "crud_qc_work_order_get_qc_info_map_for_samples", - "community": 7, + "community": 5, "norm_label": "get_qc_info_map_for_samples()" }, { @@ -23715,7 +23715,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L2143", "id": "crud_qc_work_order_process_qc_info_items_from_wos", - "community": 7, + "community": 5, "norm_label": "_process_qc_info_items_from_wos()" }, { @@ -23724,7 +23724,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L2155", "id": "crud_qc_work_order_get_process_qc_info_map_for_samples", - "community": 7, + "community": 5, "norm_label": "get_process_qc_info_map_for_samples()" }, { @@ -23733,7 +23733,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L2222", "id": "crud_qc_work_order_list_process_qc_info_for_sample", - "community": 7, + "community": 5, "norm_label": "list_process_qc_info_for_sample()" }, { @@ -23742,7 +23742,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L2247", "id": "crud_qc_work_order_get_schedule_gate_qc_info", - "community": 7, + "community": 5, "norm_label": "get_schedule_gate_qc_info()" }, { @@ -23751,7 +23751,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L2274", "id": "crud_qc_work_order_list_process_qc_info_for_schedule", - "community": 7, + "community": 5, "norm_label": "list_process_qc_info_for_schedule()" }, { @@ -23760,7 +23760,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L2299", "id": "crud_qc_work_order_list_process_qc_info_for_production_work_order", - "community": 7, + "community": 5, "norm_label": "list_process_qc_info_for_production_work_order()" }, { @@ -23769,7 +23769,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L2323", "id": "crud_qc_work_order_gate_qc_info_for_inbound_production_work_order", - "community": 7, + "community": 5, "norm_label": "_gate_qc_info_for_inbound_production_work_order()" }, { @@ -23778,7 +23778,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L2363", "id": "crud_qc_work_order_get_production_work_order_qc_info", - "community": 7, + "community": 5, "norm_label": "get_production_work_order_qc_info()" }, { @@ -23787,7 +23787,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L2423", "id": "crud_qc_work_order_resolve_reception_id_for_work_order_detail", - "community": 7, + "community": 5, "norm_label": "_resolve_reception_id_for_work_order_detail()" }, { @@ -23796,7 +23796,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L2445", "id": "crud_qc_work_order_get_work_order_detail", - "community": 7, + "community": 5, "norm_label": "get_work_order_detail()" }, { @@ -23850,7 +23850,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L2871", "id": "crud_qc_work_order_configure_work_order", - "community": 7, + "community": 5, "norm_label": "configure_work_order()" }, { @@ -23859,7 +23859,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L2915", "id": "crud_qc_work_order_try_complete_work_order", - "community": 7, + "community": 5, "norm_label": "try_complete_work_order()" }, { @@ -23868,7 +23868,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L2951", "id": "crud_qc_work_order_try_reopen_work_order", - "community": 7, + "community": 5, "norm_label": "try_reopen_work_order()" }, { @@ -23877,7 +23877,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L2969", "id": "crud_qc_work_order_temp_lab_lines", - "community": 7, + "community": 5, "norm_label": "_temp_lab_lines()" }, { @@ -23886,7 +23886,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L2991", "id": "crud_qc_work_order_temp_third_lines", - "community": 7, + "community": 5, "norm_label": "_temp_third_lines()" }, { @@ -23895,7 +23895,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L3016", "id": "crud_qc_work_order_temp_tasks", - "community": 7, + "community": 5, "norm_label": "_temp_tasks()" }, { @@ -23904,7 +23904,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L3041", "id": "crud_qc_work_order_create_temp_qc_work_order", - "community": 7, + "community": 5, "norm_label": "create_temp_qc_work_order()" }, { @@ -23913,7 +23913,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L3082", "id": "crud_qc_work_order_update_qc_work_order", - "community": 7, + "community": 5, "norm_label": "update_qc_work_order()" }, { @@ -23922,7 +23922,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L3122", "id": "crud_qc_work_order_update_temp_qc_work_order", - "community": 7, + "community": 5, "norm_label": "update_temp_qc_work_order()" }, { @@ -23931,7 +23931,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L3146", "id": "crud_qc_work_order_list_temp_qc_work_orders", - "community": 7, + "community": 5, "norm_label": "list_temp_qc_work_orders()" }, { @@ -23940,7 +23940,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L3193", "id": "crud_qc_work_order_get_temp_qc_work_order", - "community": 7, + "community": 5, "norm_label": "get_temp_qc_work_order()" }, { @@ -23949,7 +23949,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L3206", "id": "crud_qc_work_order_get_temp_qc_work_order_detail", - "community": 7, + "community": 5, "norm_label": "get_temp_qc_work_order_detail()" }, { @@ -23958,7 +23958,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L3221", "id": "crud_qc_work_order_configure_temp_qc_work_order", - "community": 7, + "community": 1, "norm_label": "configure_temp_qc_work_order()" }, { @@ -23967,7 +23967,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L3260", "id": "crud_qc_work_order_try_complete_temp_qc_work_order", - "community": 7, + "community": 5, "norm_label": "try_complete_temp_qc_work_order()" }, { @@ -23976,7 +23976,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L3284", "id": "crud_qc_work_order_delete_temp_qc_work_order", - "community": 7, + "community": 5, "norm_label": "delete_temp_qc_work_order()" }, { @@ -23985,7 +23985,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L3356", "id": "crud_qc_work_order_build_outbound_pilot_context_by_schedule", - "community": 7, + "community": 5, "norm_label": "build_outbound_pilot_context_by_schedule()" }, { @@ -23994,7 +23994,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L3484", "id": "crud_qc_work_order_get_outbound_qc_detail", - "community": 7, + "community": 5, "norm_label": "get_outbound_qc_detail()" }, { @@ -24003,7 +24003,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L3519", "id": "crud_qc_work_order_create_qc_work_order_manual", - "community": 7, + "community": 5, "norm_label": "create_qc_work_order_manual()" }, { @@ -24012,7 +24012,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L3556", "id": "crud_qc_work_order_create_outbound_qc_work_order", - "community": 13, + "community": 8, "norm_label": "create_outbound_qc_work_order()" }, { @@ -24021,7 +24021,7 @@ "source_file": "crud/qc_work_order.py", "source_location": "L3616", "id": "crud_qc_work_order_delete_qc_work_order", - "community": 7, + "community": 5, "norm_label": "delete_qc_work_order()" }, { @@ -24354,7 +24354,7 @@ "source_file": "crud/outbound_handover_inventory.py", "source_location": "L1", "id": "crud_outbound_handover_inventory_py", - "community": 14, + "community": 10, "norm_label": "outbound_handover_inventory.py" }, { @@ -24363,7 +24363,7 @@ "source_file": "crud/outbound_handover_inventory.py", "source_location": "L26", "id": "crud_outbound_handover_inventory_handover_usage_remark", - "community": 14, + "community": 10, "norm_label": "_handover_usage_remark()" }, { @@ -24372,7 +24372,7 @@ "source_file": "crud/outbound_handover_inventory.py", "source_location": "L30", "id": "crud_outbound_handover_inventory_handover_usage_remark_prefix", - "community": 14, + "community": 10, "norm_label": "_handover_usage_remark_prefix()" }, { @@ -24381,7 +24381,7 @@ "source_file": "crud/outbound_handover_inventory.py", "source_location": "L34", "id": "crud_outbound_handover_inventory_remove_cell_occupancy_no_commit", - "community": 14, + "community": 10, "norm_label": "_remove_cell_occupancy_no_commit()" }, { @@ -24390,7 +24390,7 @@ "source_file": "crud/outbound_handover_inventory.py", "source_location": "L63", "id": "crud_outbound_handover_inventory_restore_cell_occupancy_no_commit", - "community": 14, + "community": 10, "norm_label": "_restore_cell_occupancy_no_commit()" }, { @@ -24399,7 +24399,7 @@ "source_file": "crud/outbound_handover_inventory.py", "source_location": "L140", "id": "crud_outbound_handover_inventory_get_cell_product_locked", - "community": 14, + "community": 10, "norm_label": "_get_cell_product_locked()" }, { @@ -24408,7 +24408,7 @@ "source_file": "crud/outbound_handover_inventory.py", "source_location": "L161", "id": "crud_outbound_handover_inventory_revert_legacy_qc_handover_usages", - "community": 14, + "community": 10, "norm_label": "_revert_legacy_qc_handover_usages()" }, { @@ -24417,7 +24417,7 @@ "source_file": "crud/outbound_handover_inventory.py", "source_location": "L206", "id": "crud_outbound_handover_inventory_revert_market_handover_usages", - "community": 14, + "community": 10, "norm_label": "_revert_market_handover_usages()" }, { @@ -24426,7 +24426,7 @@ "source_file": "crud/outbound_handover_inventory.py", "source_location": "L260", "id": "crud_outbound_handover_inventory_revert_handover_inventory", - "community": 14, + "community": 10, "norm_label": "revert_handover_inventory()" }, { @@ -24435,7 +24435,7 @@ "source_file": "crud/outbound_handover_inventory.py", "source_location": "L313", "id": "crud_outbound_handover_inventory_deduct_market_material_for_handover", - "community": 14, + "community": 10, "norm_label": "_deduct_market_material_for_handover()" }, { @@ -24444,7 +24444,7 @@ "source_file": "crud/outbound_handover_inventory.py", "source_location": "L423", "id": "crud_outbound_handover_inventory_apply_handover_inventory", - "community": 14, + "community": 10, "norm_label": "apply_handover_inventory()" }, { @@ -24534,7 +24534,7 @@ "source_file": "crud/env_detect_record.py", "source_location": "L15", "id": "crud_env_detect_record_split_csv", - "community": 1, + "community": 4, "norm_label": "_split_csv()" }, { @@ -24552,7 +24552,7 @@ "source_file": "crud/env_detect_record.py", "source_location": "L23", "id": "crud_env_detect_record_row_to_dict", - "community": 1, + "community": 4, "norm_label": "_row_to_dict()" }, { @@ -24597,7 +24597,7 @@ "source_file": "crud/env_detect_record.py", "source_location": "L124", "id": "crud_env_detect_record_list_env_detect_records", - "community": 1, + "community": 4, "norm_label": "list_env_detect_records()" }, { @@ -24804,7 +24804,7 @@ "source_file": "crud/process.py", "source_location": "L1", "id": "crud_process_py", - "community": 17, + "community": 15, "norm_label": "process.py" }, { @@ -24813,7 +24813,7 @@ "source_file": "crud/process.py", "source_location": "L24", "id": "crud_process_reagent_row_to_dict", - "community": 17, + "community": 15, "norm_label": "_reagent_row_to_dict()" }, { @@ -24822,7 +24822,7 @@ "source_file": "crud/process.py", "source_location": "L39", "id": "crud_process_consumable_row_to_dict", - "community": 17, + "community": 15, "norm_label": "_consumable_row_to_dict()" }, { @@ -24831,7 +24831,7 @@ "source_file": "crud/process.py", "source_location": "L53", "id": "crud_process_output_row_to_dict", - "community": 17, + "community": 15, "norm_label": "_output_row_to_dict()" }, { @@ -24840,7 +24840,7 @@ "source_file": "crud/process.py", "source_location": "L65", "id": "crud_process_data_collection_row_to_dict", - "community": 17, + "community": 15, "norm_label": "_data_collection_row_to_dict()" }, { @@ -24849,7 +24849,7 @@ "source_file": "crud/process.py", "source_location": "L76", "id": "crud_process_row_to_dict", - "community": 17, + "community": 15, "norm_label": "_row_to_dict()" }, { @@ -24858,7 +24858,7 @@ "source_file": "crud/process.py", "source_location": "L93", "id": "crud_process_list_processes", - "community": 17, + "community": 15, "norm_label": "list_processes()" }, { @@ -24867,7 +24867,7 @@ "source_file": "crud/process.py", "source_location": "L144", "id": "crud_process_list_all_processes", - "community": 17, + "community": 15, "norm_label": "list_all_processes()" }, { @@ -24876,7 +24876,7 @@ "source_file": "crud/process.py", "source_location": "L153", "id": "crud_process_get_process", - "community": 17, + "community": 15, "norm_label": "get_process()" }, { @@ -24885,7 +24885,7 @@ "source_file": "crud/process.py", "source_location": "L161", "id": "crud_process_get_process_detail", - "community": 17, + "community": 15, "norm_label": "get_process_detail()" }, { @@ -24894,7 +24894,7 @@ "source_file": "crud/process.py", "source_location": "L201", "id": "crud_process_process_code_exists", - "community": 17, + "community": 15, "norm_label": "process_code_exists()" }, { @@ -24903,7 +24903,7 @@ "source_file": "crud/process.py", "source_location": "L210", "id": "crud_process_create_sub_reagent", - "community": 17, + "community": 15, "norm_label": "_create_sub_reagent()" }, { @@ -24912,7 +24912,7 @@ "source_file": "crud/process.py", "source_location": "L233", "id": "crud_process_create_sub_consumable", - "community": 17, + "community": 15, "norm_label": "_create_sub_consumable()" }, { @@ -24921,7 +24921,7 @@ "source_file": "crud/process.py", "source_location": "L256", "id": "crud_process_create_sub_output", - "community": 17, + "community": 15, "norm_label": "_create_sub_output()" }, { @@ -24930,7 +24930,7 @@ "source_file": "crud/process.py", "source_location": "L276", "id": "crud_process_sub_item_with_order", - "community": 17, + "community": 15, "norm_label": "_sub_item_with_order()" }, { @@ -24939,7 +24939,7 @@ "source_file": "crud/process.py", "source_location": "L283", "id": "crud_process_create_sub_data_collection", - "community": 17, + "community": 15, "norm_label": "_create_sub_data_collection()" }, { @@ -24948,7 +24948,7 @@ "source_file": "crud/process.py", "source_location": "L302", "id": "crud_process_create_process", - "community": 17, + "community": 15, "norm_label": "create_process()" }, { @@ -24957,7 +24957,7 @@ "source_file": "crud/process.py", "source_location": "L368", "id": "crud_process_soft_delete_sub_records", - "community": 17, + "community": 15, "norm_label": "_soft_delete_sub_records()" }, { @@ -24966,7 +24966,7 @@ "source_file": "crud/process.py", "source_location": "L380", "id": "crud_process_update_process", - "community": 17, + "community": 15, "norm_label": "update_process()" }, { @@ -24975,7 +24975,7 @@ "source_file": "crud/process.py", "source_location": "L453", "id": "crud_process_soft_delete_process", - "community": 17, + "community": 15, "norm_label": "soft_delete_process()" }, { @@ -24984,7 +24984,7 @@ "source_file": "crud/process.py", "source_location": "L470", "id": "crud_process_total_pages", - "community": 17, + "community": 15, "norm_label": "total_pages()" }, { @@ -25101,7 +25101,7 @@ "source_file": "crud/pilot_service.py", "source_location": "L173", "id": "crud_pilot_service_row_to_dict_cell_product_spec", - "community": 0, + "community": 1, "norm_label": "_row_to_dict_cell_product_spec()" }, { @@ -25110,7 +25110,7 @@ "source_file": "crud/pilot_service.py", "source_location": "L186", "id": "crud_pilot_service_list_cell_product_specs", - "community": 5, + "community": 1, "norm_label": "list_cell_product_specs()" }, { @@ -25398,7 +25398,7 @@ "source_file": "crud/pilot_service.py", "source_location": "L916", "id": "crud_pilot_service_list_channel_invoices", - "community": 5, + "community": 4, "norm_label": "list_channel_invoices()" }, { @@ -25488,7 +25488,7 @@ "source_file": "crud/pilot_service.py", "source_location": "L1183", "id": "crud_pilot_service_list_channel_agreements", - "community": 5, + "community": 4, "norm_label": "list_channel_agreements()" }, { @@ -25614,7 +25614,7 @@ "source_file": "crud/pilot_service.py", "source_location": "L1595", "id": "crud_pilot_service_list_checkup_institutions", - "community": 5, + "community": 4, "norm_label": "list_checkup_institutions()" }, { @@ -25659,7 +25659,7 @@ "source_file": "crud/pilot_service.py", "source_location": "L1744", "id": "crud_pilot_service_row_to_dict_checkup_institution_invoice", - "community": 1, + "community": 0, "norm_label": "_row_to_dict_checkup_institution_invoice()" }, { @@ -25668,7 +25668,7 @@ "source_file": "crud/pilot_service.py", "source_location": "L1762", "id": "crud_pilot_service_list_checkup_institution_invoices", - "community": 1, + "community": 4, "norm_label": "list_checkup_institution_invoices()" }, { @@ -25704,7 +25704,7 @@ "source_file": "crud/pilot_service.py", "source_location": "L1883", "id": "crud_pilot_service_row_to_dict_checkup_institution_project", - "community": 1, + "community": 4, "norm_label": "_row_to_dict_checkup_institution_project()" }, { @@ -25713,7 +25713,7 @@ "source_file": "crud/pilot_service.py", "source_location": "L1898", "id": "crud_pilot_service_list_checkup_institution_projects", - "community": 1, + "community": 4, "norm_label": "list_checkup_institution_projects()" }, { @@ -26613,7 +26613,7 @@ "source_file": "crud/customer.py", "source_location": "L1", "id": "crud_customer_py", - "community": 4, + "community": 1, "norm_label": "customer.py" }, { @@ -26622,7 +26622,7 @@ "source_file": "crud/customer.py", "source_location": "L15", "id": "crud_customer_row_to_dict", - "community": 4, + "community": 1, "norm_label": "_row_to_dict()" }, { @@ -26631,7 +26631,7 @@ "source_file": "crud/customer.py", "source_location": "L32", "id": "crud_customer_id_card_taken", - "community": 4, + "community": 1, "norm_label": "id_card_taken()" }, { @@ -26640,7 +26640,7 @@ "source_file": "crud/customer.py", "source_location": "L44", "id": "crud_customer_normalize_date_bound", - "community": 4, + "community": 1, "norm_label": "_normalize_date_bound()" }, { @@ -26649,7 +26649,7 @@ "source_file": "crud/customer.py", "source_location": "L51", "id": "crud_customer_list_customers", - "community": 4, + "community": 1, "norm_label": "list_customers()" }, { @@ -26658,7 +26658,7 @@ "source_file": "crud/customer.py", "source_location": "L99", "id": "crud_customer_get_customer", - "community": 4, + "community": 1, "norm_label": "get_customer()" }, { @@ -26676,7 +26676,7 @@ "source_file": "crud/customer.py", "source_location": "L150", "id": "crud_customer_update_customer", - "community": 4, + "community": 1, "norm_label": "update_customer()" }, { @@ -26685,7 +26685,7 @@ "source_file": "crud/customer.py", "source_location": "L198", "id": "crud_customer_soft_delete_customer", - "community": 4, + "community": 1, "norm_label": "soft_delete_customer()" }, { @@ -26694,7 +26694,7 @@ "source_file": "crud/customer.py", "source_location": "L208", "id": "crud_customer_total_pages", - "community": 4, + "community": 1, "norm_label": "total_pages()" }, { @@ -26703,7 +26703,7 @@ "source_file": "crud/customer.py", "source_location": "L1", "id": "crud_customer_rationale_1", - "community": 4, + "community": 1, "norm_label": "\u5ba2\u6237 crud(biz_customer)" }, { @@ -26712,7 +26712,7 @@ "source_file": "crud/workflow.py", "source_location": "L1", "id": "crud_workflow_py", - "community": 5, + "community": 6, "norm_label": "workflow.py" }, { @@ -26721,7 +26721,7 @@ "source_file": "crud/workflow.py", "source_location": "L29", "id": "crud_workflow_row_to_dict", - "community": 5, + "community": 6, "norm_label": "_row_to_dict()" }, { @@ -26730,7 +26730,7 @@ "source_file": "crud/workflow.py", "source_location": "L43", "id": "crud_workflow_list_process_defs", - "community": 5, + "community": 6, "norm_label": "list_process_defs()" }, { @@ -26739,7 +26739,7 @@ "source_file": "crud/workflow.py", "source_location": "L99", "id": "crud_workflow_get_process_def", - "community": 5, + "community": 6, "norm_label": "get_process_def()" }, { @@ -26748,7 +26748,7 @@ "source_file": "crud/workflow.py", "source_location": "L107", "id": "crud_workflow_process_code_exists", - "community": 5, + "community": 6, "norm_label": "process_code_exists()" }, { @@ -26757,7 +26757,7 @@ "source_file": "crud/workflow.py", "source_location": "L118", "id": "crud_workflow_create_process_def", - "community": 1, + "community": 6, "norm_label": "create_process_def()" }, { @@ -26766,7 +26766,7 @@ "source_file": "crud/workflow.py", "source_location": "L155", "id": "crud_workflow_update_process_def", - "community": 5, + "community": 6, "norm_label": "update_process_def()" }, { @@ -26775,7 +26775,7 @@ "source_file": "crud/workflow.py", "source_location": "L194", "id": "crud_workflow_soft_delete_process_def", - "community": 5, + "community": 6, "norm_label": "soft_delete_process_def()" }, { @@ -26784,7 +26784,7 @@ "source_file": "crud/workflow.py", "source_location": "L209", "id": "crud_workflow_publish_version", - "community": 1, + "community": 6, "norm_label": "publish_version()" }, { @@ -26793,7 +26793,7 @@ "source_file": "crud/workflow.py", "source_location": "L301", "id": "crud_workflow_get_latest_version", - "community": 5, + "community": 6, "norm_label": "get_latest_version()" }, { @@ -26802,7 +26802,7 @@ "source_file": "crud/workflow.py", "source_location": "L315", "id": "crud_workflow_version_to_dict", - "community": 5, + "community": 6, "norm_label": "_version_to_dict()" }, { @@ -26811,7 +26811,7 @@ "source_file": "crud/workflow.py", "source_location": "L326", "id": "crud_workflow_list_versions", - "community": 5, + "community": 6, "norm_label": "list_versions()" }, { @@ -26820,7 +26820,7 @@ "source_file": "crud/workflow.py", "source_location": "L341", "id": "crud_workflow_get_nodes_by_version", - "community": 5, + "community": 6, "norm_label": "get_nodes_by_version()" }, { @@ -26829,7 +26829,7 @@ "source_file": "crud/workflow.py", "source_location": "L350", "id": "crud_workflow_get_transitions_by_version", - "community": 5, + "community": 6, "norm_label": "get_transitions_by_version()" }, { @@ -26838,7 +26838,7 @@ "source_file": "crud/workflow.py", "source_location": "L364", "id": "crud_workflow_create_instance", - "community": 5, + "community": 6, "norm_label": "create_instance()" }, { @@ -26847,7 +26847,7 @@ "source_file": "crud/workflow.py", "source_location": "L402", "id": "crud_workflow_get_instance", - "community": 5, + "community": 6, "norm_label": "get_instance()" }, { @@ -26856,7 +26856,7 @@ "source_file": "crud/workflow.py", "source_location": "L410", "id": "crud_workflow_update_instance_status", - "community": 5, + "community": 6, "norm_label": "update_instance_status()" }, { @@ -26865,7 +26865,7 @@ "source_file": "crud/workflow.py", "source_location": "L420", "id": "crud_workflow_list_my_instances", - "community": 5, + "community": 4, "norm_label": "list_my_instances()" }, { @@ -26883,7 +26883,7 @@ "source_file": "crud/workflow.py", "source_location": "L569", "id": "crud_workflow_create_task", - "community": 9, + "community": 6, "norm_label": "create_task()" }, { @@ -26892,7 +26892,7 @@ "source_file": "crud/workflow.py", "source_location": "L600", "id": "crud_workflow_get_task", - "community": 5, + "community": 6, "norm_label": "get_task()" }, { @@ -26901,7 +26901,7 @@ "source_file": "crud/workflow.py", "source_location": "L608", "id": "crud_workflow_get_pending_tasks_by_node", - "community": 5, + "community": 6, "norm_label": "get_pending_tasks_by_node()" }, { @@ -26910,7 +26910,7 @@ "source_file": "crud/workflow.py", "source_location": "L623", "id": "crud_workflow_task_row_to_dict", - "community": 5, + "community": 4, "norm_label": "_task_row_to_dict()" }, { @@ -26919,7 +26919,7 @@ "source_file": "crud/workflow.py", "source_location": "L650", "id": "crud_workflow_list_pending_tasks", - "community": 5, + "community": 4, "norm_label": "list_pending_tasks()" }, { @@ -26928,7 +26928,7 @@ "source_file": "crud/workflow.py", "source_location": "L713", "id": "crud_workflow_list_completed_tasks", - "community": 5, + "community": 4, "norm_label": "list_completed_tasks()" }, { @@ -26937,7 +26937,7 @@ "source_file": "crud/workflow.py", "source_location": "L776", "id": "crud_workflow_total_pages", - "community": 5, + "community": 6, "norm_label": "total_pages()" }, { @@ -26955,7 +26955,7 @@ "source_file": "crud/oa_receive_account.py", "source_location": "L1", "id": "crud_oa_receive_account_py", - "community": 24, + "community": 21, "norm_label": "oa_receive_account.py" }, { @@ -26964,7 +26964,7 @@ "source_file": "crud/oa_receive_account.py", "source_location": "L14", "id": "crud_oa_receive_account_row_to_dict", - "community": 24, + "community": 21, "norm_label": "row_to_dict()" }, { @@ -26973,7 +26973,7 @@ "source_file": "crud/oa_receive_account.py", "source_location": "L32", "id": "crud_oa_receive_account_filtered_query", - "community": 24, + "community": 21, "norm_label": "_filtered_query()" }, { @@ -26982,7 +26982,7 @@ "source_file": "crud/oa_receive_account.py", "source_location": "L58", "id": "crud_oa_receive_account_list_accounts", - "community": 24, + "community": 21, "norm_label": "list_accounts()" }, { @@ -26991,7 +26991,7 @@ "source_file": "crud/oa_receive_account.py", "source_location": "L80", "id": "crud_oa_receive_account_list_options", - "community": 24, + "community": 21, "norm_label": "list_options()" }, { @@ -27000,7 +27000,7 @@ "source_file": "crud/oa_receive_account.py", "source_location": "L90", "id": "crud_oa_receive_account_get_account", - "community": 24, + "community": 21, "norm_label": "get_account()" }, { @@ -27009,7 +27009,7 @@ "source_file": "crud/oa_receive_account.py", "source_location": "L103", "id": "crud_oa_receive_account_create_account", - "community": 24, + "community": 21, "norm_label": "create_account()" }, { @@ -27018,7 +27018,7 @@ "source_file": "crud/oa_receive_account.py", "source_location": "L137", "id": "crud_oa_receive_account_update_account", - "community": 24, + "community": 21, "norm_label": "update_account()" }, { @@ -27027,7 +27027,7 @@ "source_file": "crud/oa_receive_account.py", "source_location": "L174", "id": "crud_oa_receive_account_soft_delete_account", - "community": 24, + "community": 21, "norm_label": "soft_delete_account()" }, { @@ -27036,7 +27036,7 @@ "source_file": "crud/oa_receive_account.py", "source_location": "L196", "id": "crud_oa_receive_account_soft_delete_accounts", - "community": 24, + "community": 21, "norm_label": "soft_delete_accounts()" }, { @@ -27045,7 +27045,7 @@ "source_file": "crud/oa_receive_account.py", "source_location": "L1", "id": "crud_oa_receive_account_rationale_1", - "community": 24, + "community": 21, "norm_label": "oa \u6536\u6b3e\u8d26\u6237 crud(oa_receive_account)" }, { @@ -27180,7 +27180,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1", "id": "crud_sample_reception_py", - "community": 12, + "community": 5, "norm_label": "sample_reception.py" }, { @@ -27189,7 +27189,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L42", "id": "crud_sample_reception_donation_sample_id_col", - "community": 12, + "community": 5, "norm_label": "_donation_sample_id_col()" }, { @@ -27198,7 +27198,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L47", "id": "crud_sample_reception_fmt_dt", - "community": 12, + "community": 5, "norm_label": "_fmt_dt()" }, { @@ -27207,7 +27207,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L51", "id": "crud_sample_reception_normalize_date_bound", - "community": 12, + "community": 5, "norm_label": "_normalize_date_bound()" }, { @@ -27216,7 +27216,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L58", "id": "crud_sample_reception_dec", - "community": 12, + "community": 5, "norm_label": "_dec()" }, { @@ -27225,7 +27225,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L64", "id": "crud_sample_reception_reception_to_dict", - "community": 12, + "community": 5, "norm_label": "_reception_to_dict()" }, { @@ -27234,7 +27234,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L87", "id": "crud_sample_reception_sample_detail_rows_query", - "community": 12, + "community": 5, "norm_label": "_sample_detail_rows_query()" }, { @@ -27243,7 +27243,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L121", "id": "crud_sample_reception_donation_sample_detail_rows_query", - "community": 12, + "community": 5, "norm_label": "_donation_sample_detail_rows_query()" }, { @@ -27252,7 +27252,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L155", "id": "crud_sample_reception_donation_sample_pending_query", - "community": 12, + "community": 5, "norm_label": "_donation_sample_pending_query()" }, { @@ -27261,7 +27261,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L193", "id": "crud_sample_reception_donation_rows_to_sample_list_items", - "community": 12, + "community": 5, "norm_label": "_donation_rows_to_sample_list_items()" }, { @@ -27270,7 +27270,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L311", "id": "crud_sample_reception_sample_pending_query", - "community": 12, + "community": 5, "norm_label": "_sample_pending_query()" }, { @@ -27279,7 +27279,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L349", "id": "crud_sample_reception_rows_to_sample_list_items", - "community": 12, + "community": 5, "norm_label": "_rows_to_sample_list_items()" }, { @@ -27288,7 +27288,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L477", "id": "crud_sample_reception_list_pending_protocol_samples", - "community": 12, + "community": 5, "norm_label": "list_pending_protocol_samples()" }, { @@ -27297,7 +27297,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L550", "id": "crud_sample_reception_list_received_protocol_samples", - "community": 12, + "community": 5, "norm_label": "list_received_protocol_samples()" }, { @@ -27306,7 +27306,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L689", "id": "crud_sample_reception_finalize_reception_detail", - "community": 12, + "community": 5, "norm_label": "_finalize_reception_detail()" }, { @@ -27315,7 +27315,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L695", "id": "crud_sample_reception_get_reception_by_id", - "community": 12, + "community": 5, "norm_label": "get_reception_by_id()" }, { @@ -27333,7 +27333,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1013", "id": "crud_sample_reception_can_edit_sample_reception", - "community": 11, + "community": 12, "norm_label": "_can_edit_sample_reception()" }, { @@ -27351,7 +27351,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1137", "id": "crud_sample_reception_attach_production_reception", - "community": 12, + "community": 5, "norm_label": "_attach_production_reception()" }, { @@ -27360,7 +27360,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1155", "id": "crud_sample_reception_reception_detail_item", - "community": 12, + "community": 5, "norm_label": "_reception_detail_item()" }, { @@ -27369,7 +27369,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1172", "id": "crud_sample_reception_reception_detail_item_with_production", - "community": 12, + "community": 5, "norm_label": "_reception_detail_item_with_production()" }, { @@ -27378,7 +27378,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1184", "id": "crud_sample_reception_reception_sample_code", - "community": 12, + "community": 5, "norm_label": "_reception_sample_code()" }, { @@ -27387,7 +27387,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1199", "id": "crud_sample_reception_get_receptions_map_for_samples", - "community": 12, + "community": 5, "norm_label": "get_receptions_map_for_samples()" }, { @@ -27396,7 +27396,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1247", "id": "crud_sample_reception_get_receptions_map_for_donation_samples", - "community": 12, + "community": 5, "norm_label": "get_receptions_map_for_donation_samples()" }, { @@ -27414,7 +27414,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1345", "id": "crud_sample_reception_format_lab_storage_codes_csv", - "community": 12, + "community": 5, "norm_label": "format_lab_storage_codes_csv()" }, { @@ -27423,7 +27423,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1359", "id": "crud_sample_reception_lab_storage_keyword_like", - "community": 12, + "community": 5, "norm_label": "_lab_storage_keyword_like()" }, { @@ -27432,7 +27432,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1366", "id": "crud_sample_reception_sample_codes_matching_lab_storage_keyword", - "community": 12, + "community": 5, "norm_label": "sample_codes_matching_lab_storage_keyword()" }, { @@ -27441,7 +27441,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1391", "id": "crud_sample_reception_reception_ids_matching_lab_storage_keyword", - "community": 12, + "community": 5, "norm_label": "reception_ids_matching_lab_storage_keyword()" }, { @@ -27450,7 +27450,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1414", "id": "crud_sample_reception_protocol_ids_matching_lab_storage_keyword", - "community": 12, + "community": 5, "norm_label": "protocol_ids_matching_lab_storage_keyword()" }, { @@ -27459,7 +27459,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1438", "id": "crud_sample_reception_donation_ids_matching_lab_storage_keyword", - "community": 12, + "community": 5, "norm_label": "donation_ids_matching_lab_storage_keyword()" }, { @@ -27468,7 +27468,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1462", "id": "crud_sample_reception_get_reception_by_sample_code", - "community": 12, + "community": 5, "norm_label": "get_reception_by_sample_code()" }, { @@ -27477,7 +27477,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L43", "id": "crud_sample_reception_rationale_43", - "community": 3, + "community": 9, "norm_label": "\u6350\u8d60\u6837\u672c id \u4e0e biz_sample_reception.donation_sample_id \u6bd4\u8f83\u65f6\u7edf\u4e00\u6392\u5e8f\u89c4\u5219\u3002" }, { @@ -27486,7 +27486,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L88", "id": "crud_sample_reception_rationale_88", - "community": 3, + "community": 9, "norm_label": "\u534f\u8bae\u6837\u672c + \u534f\u8bae\u5355 + \u5ba2\u6237 + \u8fd0\u8f93(\u663e\u5f0f select_from \u907f\u514d\u591a\u8868 join \u6b67\u4e49)\u3002" }, { @@ -27495,7 +27495,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L122", "id": "crud_sample_reception_rationale_122", - "community": 3, + "community": 9, "norm_label": "\u6350\u8d60\u6837\u672c + \u6350\u8d60\u5355 + \u5f53\u4e8b\u4eba + \u8fd0\u8f93(\u56db\u8868 join)\u3002" }, { @@ -27504,7 +27504,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L156", "id": "crud_sample_reception_rationale_156", - "community": 3, + "community": 9, "norm_label": "\u5f85\u63a5\u6536:\u6350\u8d60\u6837\u672c\u4e14\u5c1a\u65e0\u6709\u6548\u63a5\u6536\u8bb0\u5f55(\u6309\u79df\u6237 + \u6837\u672c\u7f16\u7801\u5224\u5b9a,\u4e0e\u7ec6\u80de\u5b58\u50a8\u4e00\u81f4);\u6392\u9664\u5df2\u4f5c\u5e9f\u6350\u8d60\u5355\u3002" }, { @@ -27513,7 +27513,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L200", "id": "crud_sample_reception_rationale_200", - "community": 3, + "community": 9, "norm_label": "\u5c06\u6350\u8d60\u6837\u672c\u884c\u8f6c\u4e3a\u7edf\u4e00\u5217\u8868\u9879\u5b57\u5178(\u5b57\u6bb5\u540d\u4e0e\u7ec6\u80de\u5b58\u50a8\u4fdd\u6301\u4e00\u81f4)\u3002" }, { @@ -27522,7 +27522,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L312", "id": "crud_sample_reception_rationale_312", - "community": 3, + "community": 9, "norm_label": "\u5f85\u63a5\u6536:\u534f\u8bae\u6837\u672c\u4e14\u5c1a\u65e0\u6709\u6548\u63a5\u6536\u8bb0\u5f55(\u4ec5\u6309\u79df\u6237 + \u6837\u672c\u7f16\u7801\u5224\u5b9a);\u6392\u9664\u5df2\u4f5c\u5e9f\u91c7\u96c6\u534f\u8bae\u5355\u3002" }, { @@ -27531,7 +27531,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1018", "id": "crud_sample_reception_rationale_1018", - "community": 3, + "community": 9, "norm_label": "\u5df2\u63a5\u6536\u8bb0\u5f55:\u4ec5\u7ecf\u624b\u4eba\u6216\u300c\u8d28\u91cf\u4e3b\u7ba1\u300d\u89d2\u8272\u53ef\u7f16\u8f91\u3002" }, { @@ -27540,7 +27540,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1046", "id": "crud_sample_reception_rationale_1046", - "community": 3, + "community": 9, "norm_label": "\u66f4\u65b0\u5df2\u767b\u8bb0\u6837\u672c\u63a5\u6536\u4fe1\u606f(\u4e0d\u91cd\u590d\u521b\u5efa\u8d28\u68c0/\u751f\u4ea7\u5de5\u5355)\u3002" }, { @@ -27549,7 +27549,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1205", "id": "crud_sample_reception_rationale_1205", - "community": 3, + "community": 9, "norm_label": "\u6309\u79df\u6237 + \u6837\u672c\u7f16\u7801\u5173\u8054\u63a5\u6536\u8bb0\u5f55(key \u4e3a\u5f53\u524d\u534f\u8bae\u6837\u672c id),\u4f9b\u534f\u8bae\u5355\u67e5\u770b\u5f39\u7a97\u4f7f\u7528\u3002" }, { @@ -27558,7 +27558,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1252", "id": "crud_sample_reception_rationale_1252", - "community": 3, + "community": 9, "norm_label": "\u6309\u6350\u8d60\u6837\u672c id \u6279\u91cf\u67e5\u8be2\u63a5\u6536\u8bb0\u5f55,\u4f9b\u6350\u8d60\u534f\u8bae\u5355\u67e5\u770b\u5f39\u7a97\u4f7f\u7528\u3002" }, { @@ -27567,7 +27567,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1293", "id": "crud_sample_reception_rationale_1293", - "community": 3, + "community": 9, "norm_label": "\u6309\u6837\u672c\u7f16\u7801\u67e5\u8be2\u5df2\u63a5\u6536(js)\u8bb0\u5f55\u7684\u5b9e\u9a8c\u5ba4\u5165\u5e93\u7f16\u7801;\u540c\u7801\u591a\u6761\u65f6\u53d6\u6700\u65b0\u63a5\u6536\u65f6\u95f4\u3002" }, { @@ -27576,7 +27576,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1349", "id": "crud_sample_reception_rationale_1349", - "community": 3, + "community": 9, "norm_label": "\u4e0e samplecodes \u987a\u5e8f\u5bf9\u9f50,\u9017\u53f7\u62fc\u63a5\u5165\u5e93\u7f16\u7801(\u65e0\u5219\u7a7a\u4e32)\u3002" }, { @@ -27585,7 +27585,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1373", "id": "crud_sample_reception_rationale_1373", - "community": 3, + "community": 9, "norm_label": "\u5173\u952e\u8bcd\u6a21\u7cca\u5339\u914d\u5b9e\u9a8c\u5ba4\u5165\u5e93\u7f16\u7801,\u8fd4\u56de\u5173\u8054\u6837\u672c\u7f16\u7801\u5217\u8868\u3002" }, { @@ -27594,7 +27594,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1398", "id": "crud_sample_reception_rationale_1398", - "community": 3, + "community": 9, "norm_label": "\u5173\u952e\u8bcd\u6a21\u7cca\u5339\u914d\u5b9e\u9a8c\u5ba4\u5165\u5e93\u7f16\u7801,\u8fd4\u56de\u63a5\u6536\u8bb0\u5f55 id \u5217\u8868\u3002" }, { @@ -27603,7 +27603,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1419", "id": "crud_sample_reception_rationale_1419", - "community": 3, + "community": 9, "norm_label": "\u5165\u5e93\u7f16\u7801\u5173\u952e\u8bcd \u2192 \u542b\u5339\u914d\u6837\u672c\u7684\u91c7\u96c6\u534f\u8bae id\u3002" }, { @@ -27612,7 +27612,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1443", "id": "crud_sample_reception_rationale_1443", - "community": 3, + "community": 9, "norm_label": "\u5165\u5e93\u7f16\u7801\u5173\u952e\u8bcd \u2192 \u542b\u5339\u914d\u6837\u672c\u7684\u6350\u8d60\u534f\u8bae id\u3002" }, { @@ -27621,7 +27621,7 @@ "source_file": "crud/sample_reception.py", "source_location": "L1468", "id": "crud_sample_reception_rationale_1468", - "community": 3, + "community": 9, "norm_label": "\u6839\u636e\u6837\u672c\u7f16\u7801\u67e5\u8be2\u63a5\u6536\u8bb0\u5f55\u53ca\u6837\u672c\u4fe1\u606f\u3002 - \u6709\u8bb0\u5f55 \u2192 \u8fd4\u56de {receptionid, sampleinfo} - \u65e0\u8bb0\u5f55 \u2192 \u8fd4\u56de {rece" }, { @@ -27630,7 +27630,7 @@ "source_file": "crud/consumable_pack.py", "source_location": "L1", "id": "crud_consumable_pack_py", - "community": 5, + "community": 1, "norm_label": "consumable_pack.py" }, { @@ -27639,7 +27639,7 @@ "source_file": "crud/consumable_pack.py", "source_location": "L15", "id": "crud_consumable_pack_item_row_to_dict", - "community": 5, + "community": 1, "norm_label": "_item_row_to_dict()" }, { @@ -27648,7 +27648,7 @@ "source_file": "crud/consumable_pack.py", "source_location": "L28", "id": "crud_consumable_pack_row_to_dict", - "community": 5, + "community": 1, "norm_label": "_row_to_dict()" }, { @@ -27657,7 +27657,7 @@ "source_file": "crud/consumable_pack.py", "source_location": "L44", "id": "crud_consumable_pack_list_consumable_packs", - "community": 5, + "community": 1, "norm_label": "list_consumable_packs()" }, { @@ -27666,7 +27666,7 @@ "source_file": "crud/consumable_pack.py", "source_location": "L84", "id": "crud_consumable_pack_list_all_packs", - "community": 5, + "community": 1, "norm_label": "list_all_packs()" }, { @@ -27675,7 +27675,7 @@ "source_file": "crud/consumable_pack.py", "source_location": "L93", "id": "crud_consumable_pack_get_consumable_pack", - "community": 5, + "community": 1, "norm_label": "get_consumable_pack()" }, { @@ -27684,7 +27684,7 @@ "source_file": "crud/consumable_pack.py", "source_location": "L101", "id": "crud_consumable_pack_get_pack_detail", - "community": 5, + "community": 1, "norm_label": "get_pack_detail()" }, { @@ -27693,7 +27693,7 @@ "source_file": "crud/consumable_pack.py", "source_location": "L116", "id": "crud_consumable_pack_pack_code_exists", - "community": 5, + "community": 1, "norm_label": "pack_code_exists()" }, { @@ -27702,7 +27702,7 @@ "source_file": "crud/consumable_pack.py", "source_location": "L125", "id": "crud_consumable_pack_create_consumable_pack", - "community": 5, + "community": 1, "norm_label": "create_consumable_pack()" }, { @@ -27711,7 +27711,7 @@ "source_file": "crud/consumable_pack.py", "source_location": "L192", "id": "crud_consumable_pack_update_consumable_pack", - "community": 5, + "community": 1, "norm_label": "update_consumable_pack()" }, { @@ -27720,7 +27720,7 @@ "source_file": "crud/consumable_pack.py", "source_location": "L270", "id": "crud_consumable_pack_soft_delete_consumable_pack", - "community": 5, + "community": 1, "norm_label": "soft_delete_consumable_pack()" }, { @@ -27729,7 +27729,7 @@ "source_file": "crud/consumable_pack.py", "source_location": "L292", "id": "crud_consumable_pack_total_pages", - "community": 5, + "community": 1, "norm_label": "total_pages()" }, { @@ -27738,7 +27738,7 @@ "source_file": "crud/consumable_pack.py", "source_location": "L1", "id": "crud_consumable_pack_rationale_1", - "community": 5, + "community": 1, "norm_label": "\u8017\u6750\u5305 crud(biz_consumable_pack + biz_consumable_pack_item)" }, { @@ -27918,7 +27918,7 @@ "source_file": "crud/qc_inspection_batch.py", "source_location": "L660", "id": "crud_qc_inspection_batch_list_inspection_batches", - "community": 7, + "community": 5, "norm_label": "list_inspection_batches()" }, { @@ -27945,7 +27945,7 @@ "source_file": "crud/qc_inspection_batch.py", "source_location": "L901", "id": "crud_qc_inspection_batch_normalize_legacy_configure_to_batches", - "community": 7, + "community": 1, "norm_label": "normalize_legacy_configure_to_batches()" }, { @@ -28206,7 +28206,7 @@ "source_file": "crud/production_material_prep.py", "source_location": "L1286", "id": "crud_production_material_prep_list_available_material_batches", - "community": 1, + "community": 4, "norm_label": "list_available_material_batches()" }, { @@ -28242,7 +28242,7 @@ "source_file": "crud/production_material_prep.py", "source_location": "L1296", "id": "crud_production_material_prep_rationale_1296", - "community": 1, + "community": 4, "norm_label": "\u67e5\u8be2\u53ef\u7528\u4e8e\u914d\u5236\u7684\u9886\u7528\u8bb0\u5f55(\u6709\u5269\u4f59\u3001\u672a\u6807\u8bb0\u5df2\u7528\u5b8c)\u3002" }, { @@ -28332,7 +28332,7 @@ "source_file": "crud/qc_material.py", "source_location": "L137", "id": "crud_qc_material_get_material", - "community": 0, + "community": 1, "norm_label": "get_material()" }, { @@ -28359,7 +28359,7 @@ "source_file": "crud/qc_material.py", "source_location": "L248", "id": "crud_qc_material_soft_delete_material", - "community": 0, + "community": 1, "norm_label": "soft_delete_material()" }, { @@ -28602,7 +28602,7 @@ "source_file": "crud/collection_protocol_no.py", "source_location": "L34", "id": "crud_collection_protocol_no_rationale_34", - "community": 2, + "community": 9, "norm_label": "\u5217\u8868/\u8be6\u60c5:issuedusername \u4e3a\u7a7a\u4f46 issueduserid \u6709\u503c\u65f6\u8865\u5168\u5c55\u793a\u540d(\u539f\u5730\u4fee\u6539)\u3002" }, { @@ -28728,7 +28728,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L1", "id": "crud_storage_facility_py", - "community": 10, + "community": 11, "norm_label": "storage_facility.py" }, { @@ -28737,7 +28737,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L32", "id": "crud_storage_facility_row_to_dict", - "community": 10, + "community": 11, "norm_label": "_row_to_dict()" }, { @@ -28746,7 +28746,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L48", "id": "crud_storage_facility_list_all_facilities", - "community": 10, + "community": 11, "norm_label": "list_all_facilities()" }, { @@ -28755,7 +28755,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L71", "id": "crud_storage_facility_get_facility", - "community": 10, + "community": 11, "norm_label": "get_facility()" }, { @@ -28764,7 +28764,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L80", "id": "crud_storage_facility_get_children", - "community": 10, + "community": 11, "norm_label": "get_children()" }, { @@ -28773,7 +28773,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L96", "id": "crud_storage_facility_collect_descendant_ids", - "community": 10, + "community": 11, "norm_label": "collect_descendant_ids()" }, { @@ -28782,7 +28782,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L109", "id": "crud_storage_facility_create_facility", - "community": 10, + "community": 11, "norm_label": "create_facility()" }, { @@ -28791,7 +28791,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L153", "id": "crud_storage_facility_format_seq", - "community": 10, + "community": 11, "norm_label": "_format_seq()" }, { @@ -28800,7 +28800,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L161", "id": "crud_storage_facility_batch_create_facilities", - "community": 10, + "community": 11, "norm_label": "batch_create_facilities()" }, { @@ -28809,7 +28809,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L250", "id": "crud_storage_facility_update_facility", - "community": 10, + "community": 11, "norm_label": "update_facility()" }, { @@ -28818,7 +28818,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L308", "id": "crud_storage_facility_soft_delete_facility", - "community": 10, + "community": 11, "norm_label": "soft_delete_facility()" }, { @@ -28827,7 +28827,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L334", "id": "crud_storage_facility_slot_to_dict", - "community": 10, + "community": 11, "norm_label": "_slot_to_dict()" }, { @@ -28836,7 +28836,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L357", "id": "crud_storage_facility_aggregate_slot_stats_by_facility", - "community": 10, + "community": 11, "norm_label": "aggregate_slot_stats_by_facility()" }, { @@ -28845,7 +28845,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L385", "id": "crud_storage_facility_list_slots", - "community": 10, + "community": 11, "norm_label": "list_slots()" }, { @@ -28854,7 +28854,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L409", "id": "crud_storage_facility_is_slot_available_row", - "community": 10, + "community": 11, "norm_label": "_is_slot_available_row()" }, { @@ -28863,7 +28863,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L415", "id": "crud_storage_facility_slot_select_display_name", - "community": 10, + "community": 11, "norm_label": "_slot_select_display_name()" }, { @@ -28872,7 +28872,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L421", "id": "crud_storage_facility_slot_available_filter", - "community": 10, + "community": 11, "norm_label": "_slot_available_filter()" }, { @@ -28881,7 +28881,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L430", "id": "crud_storage_facility_facility_node_ids_matching_keyword", - "community": 10, + "community": 11, "norm_label": "_facility_node_ids_matching_keyword()" }, { @@ -28890,7 +28890,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L451", "id": "crud_storage_facility_slot_matches_select_keyword", - "community": 10, + "community": 11, "norm_label": "_slot_matches_select_keyword()" }, { @@ -28899,7 +28899,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L473", "id": "crud_storage_facility_leaf_node_ids_for_path_prefix", - "community": 10, + "community": 11, "norm_label": "_leaf_node_ids_for_path_prefix()" }, { @@ -28908,7 +28908,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L496", "id": "crud_storage_facility_build_node_path_cache", - "community": 10, + "community": 11, "norm_label": "_build_node_path_cache()" }, { @@ -28917,7 +28917,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L505", "id": "crud_storage_facility_exact_node_ids_for_path", - "community": 10, + "community": 11, "norm_label": "_exact_node_ids_for_path()" }, { @@ -28926,7 +28926,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L519", "id": "crud_storage_facility_collect_slot_host_node_ids", - "community": 10, + "community": 11, "norm_label": "_collect_slot_host_node_ids()" }, { @@ -28935,7 +28935,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L559", "id": "crud_storage_facility_resolve_path_keyword", - "community": 10, + "community": 11, "norm_label": "_resolve_path_keyword()" }, { @@ -28944,7 +28944,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L597", "id": "crud_storage_facility_build_slot_keyword_sql_filters", - "community": 10, + "community": 11, "norm_label": "_build_slot_keyword_sql_filters()" }, { @@ -28953,7 +28953,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L644", "id": "crud_storage_facility_apply_slot_select_base_filters", - "community": 10, + "community": 11, "norm_label": "_apply_slot_select_base_filters()" }, { @@ -28962,7 +28962,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L667", "id": "crud_storage_facility_search_slot_select_matched_ids", - "community": 10, + "community": 11, "norm_label": "_search_slot_select_matched_ids()" }, { @@ -28971,7 +28971,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L744", "id": "crud_storage_facility_apply_slot_select_query_filters", - "community": 10, + "community": 11, "norm_label": "_apply_slot_select_query_filters()" }, { @@ -28980,7 +28980,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L774", "id": "crud_storage_facility_list_slot_select_options", - "community": 10, + "community": 11, "norm_label": "list_slot_select_options()" }, { @@ -28989,7 +28989,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L856", "id": "crud_storage_facility_get_slot", - "community": 10, + "community": 11, "norm_label": "get_slot()" }, { @@ -28998,7 +28998,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L865", "id": "crud_storage_facility_slot_to_dict_for_row", - "community": 10, + "community": 11, "norm_label": "_slot_to_dict_for_row()" }, { @@ -29016,7 +29016,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L916", "id": "crud_storage_facility_insert_slot_at_row_end", - "community": 10, + "community": 11, "norm_label": "insert_slot_at_row_end()" }, { @@ -29025,7 +29025,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L968", "id": "crud_storage_facility_update_slot", - "community": 10, + "community": 11, "norm_label": "update_slot()" }, { @@ -29034,7 +29034,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L1004", "id": "crud_storage_facility_soft_delete_slot", - "community": 10, + "community": 11, "norm_label": "soft_delete_slot()" }, { @@ -29043,7 +29043,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L1015", "id": "crud_storage_facility_clear_slots_by_facility_node", - "community": 1, + "community": 11, "norm_label": "clear_slots_by_facility_node()" }, { @@ -29052,7 +29052,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L1052", "id": "crud_storage_facility_resolve_slot_layout_position", - "community": 10, + "community": 11, "norm_label": "_resolve_slot_layout_position()" }, { @@ -29061,7 +29061,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L1063", "id": "crud_storage_facility_ensure_slot_layout_order", - "community": 10, + "community": 11, "norm_label": "_ensure_slot_layout_order()" }, { @@ -29070,7 +29070,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L1080", "id": "crud_storage_facility_list_facility_slots", - "community": 10, + "community": 11, "norm_label": "_list_facility_slots()" }, { @@ -29079,7 +29079,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L1100", "id": "crud_storage_facility_batch_create_slots", - "community": 10, + "community": 11, "norm_label": "batch_create_slots()" }, { @@ -29088,7 +29088,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L1153", "id": "crud_storage_facility_insert_row_and_shift_slots", - "community": 10, + "community": 11, "norm_label": "insert_row_and_shift_slots()" }, { @@ -29097,7 +29097,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L1", "id": "crud_storage_facility_rationale_1", - "community": 10, + "community": 11, "norm_label": "\u5b58\u50a8\u8bbe\u65bd(\u6811\u7ed3\u6784)+ \u5c0f\u683c crud(biz_storage_facility / biz_storage_facility_slot)" }, { @@ -29106,7 +29106,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L54", "id": "crud_storage_facility_rationale_54", - "community": 10, + "community": 11, "norm_label": "return flat list of all non-deleted facility nodes (no pagination, no tree build" }, { @@ -29115,7 +29115,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L81", "id": "crud_storage_facility_rationale_81", - "community": 10, + "community": 11, "norm_label": "direct children of a node." }, { @@ -29124,7 +29124,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L97", "id": "crud_storage_facility_rationale_97", - "community": 10, + "community": 11, "norm_label": "iteratively collect all descendant node ids (stack-based, no recursion)." }, { @@ -29133,7 +29133,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L178", "id": "crud_storage_facility_rationale_178", - "community": 10, + "community": 11, "norm_label": "\u6309\u300c\u524d\u7f00 + \u5e8f\u53f7 + \u540e\u7f00\u300d\u6279\u91cf\u521b\u5efa\u540c\u7ea7\u5b50\u8282\u70b9\u3002" }, { @@ -29142,7 +29142,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L309", "id": "crud_storage_facility_rationale_309", - "community": 10, + "community": 11, "norm_label": "cascade soft-delete: node + all descendants + their slots." }, { @@ -29151,7 +29151,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L358", "id": "crud_storage_facility_rationale_358", - "community": 10, + "community": 11, "norm_label": "\u6309\u8bbe\u65bd\u53f6\u5b50\u8282\u70b9\u805a\u5408\u683c\u5b50\u603b\u6570\u4e0e\u5360\u7528\u6570(\u5355\u6b21 group by,\u4f9b\u6811\u8282\u70b9\u5fbd\u7ae0\u5c55\u793a)\u3002" }, { @@ -29160,7 +29160,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L422", "id": "crud_storage_facility_rationale_422", - "community": 10, + "community": 11, "norm_label": "\u7a7a\u683c\u5b50:\u72b6\u6001\u4e3a\u300c\u7a7a\u300d\u6216 occupied_count \u4e3a 0 / null\u3002" }, { @@ -29169,7 +29169,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L457", "id": "crud_storage_facility_rationale_457", - "community": 10, + "community": 11, "norm_label": "\u4e0b\u62c9\u5173\u952e\u8bcd:\u5b8c\u6574 fullslotcode \u5b50\u4e32 + \u5907\u6ce8 + \u8bbe\u65bd\u8282\u70b9\u540d/\u7f16\u53f7\u3002" }, { @@ -29178,7 +29178,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L477", "id": "crud_storage_facility_rationale_477", - "community": 10, + "community": 11, "norm_label": "\u6309\u8bbe\u65bd node_code \u8def\u5f84\u524d\u7f00/\u5b50\u4e32\u5339\u914d\u53f6\u5b50\u8282\u70b9(\u50a8\u7269\u683c\u6302\u5728\u8282\u70b9\u4e0a)\u3002" }, { @@ -29187,7 +29187,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L524", "id": "crud_storage_facility_rationale_524", - "community": 10, + "community": 11, "norm_label": "\u50a8\u7269\u683c\u53ea\u6302\u5728\u53f6\u5b50\u8282\u70b9;\u8def\u5f84\u547d\u4e2d\u975e\u53f6\u5b50(\u5982 1-1 \u67b6\u5b50)\u65f6\u5c55\u5f00\u5176\u4e0b\u5168\u90e8\u53f6\u5b50\u5c42\u3002" }, { @@ -29196,7 +29196,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L563", "id": "crud_storage_facility_rationale_563", - "community": 10, + "community": 11, "norm_label": "\u89e3\u6790\u8def\u5f84\u578b\u50a8\u7269\u683c\u7f16\u53f7\u5173\u952e\u8bcd\u3002 - '1-1-2-' -> ('1-1-2', none) \u6574\u76d2 - '1-1-2-1' -> ('1-1-2'," }, { @@ -29205,7 +29205,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L604", "id": "crud_storage_facility_rationale_604", - "community": 10, + "community": 11, "norm_label": "sql \u9884\u7b5b:slot_code / remark / \u8bbe\u65bd\u8282\u70b9 + \u8def\u5f84\u578b\u5173\u952e\u8bcd\u5206\u6bb5,\u7f29\u5c0f python \u6821\u9a8c\u8303\u56f4\u3002" }, { @@ -29214,7 +29214,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L675", "id": "crud_storage_facility_rationale_675", - "community": 10, + "community": 11, "norm_label": "\u5173\u952e\u8bcd\u5339\u914d\u50a8\u7269\u683c id(\u9650\u91cf\u626b\u63cf,\u8def\u5f84\u578b\u7f16\u7801\u4f18\u5148\u7cbe\u786e\u5339\u914d)\u3002" }, { @@ -29223,7 +29223,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L753", "id": "crud_storage_facility_rationale_753", - "community": 10, + "community": 11, "norm_label": "\u517c\u5bb9\u65e7\u8c03\u7528:\u65e0\u5173\u952e\u8bcd\u65f6\u7b49\u540c base;\u6709\u5173\u952e\u8bcd\u65f6\u8fd4\u56de id \u8fc7\u6ee4\u540e\u7684 query\u3002" }, { @@ -29232,7 +29232,7 @@ "source_file": "crud/storage_facility.py", "source_location": "L785", "id": "crud_storage_facility_rationale_785", - "community": 10, + "community": 11, "norm_label": "\u50a8\u7269\u683c\u4e0b\u62c9\u8fdc\u7a0b\u9009\u9879:\u9ed8\u8ba4 20 \u6761;\u5173\u952e\u8bcd\u68c0\u7d22\u9650\u91cf\u626b\u63cf + \u8def\u5f84\u5feb\u8def\u5f84\u3002" }, { @@ -29241,7 +29241,7 @@ "source_file": "crud/oa_instance_draft.py", "source_location": "L1", "id": "crud_oa_instance_draft_py", - "community": 6, + "community": 7, "norm_label": "oa_instance_draft.py" }, { @@ -29250,7 +29250,7 @@ "source_file": "crud/oa_instance_draft.py", "source_location": "L16", "id": "crud_oa_instance_draft_loads", - "community": 6, + "community": 7, "norm_label": "_loads()" }, { @@ -29259,7 +29259,7 @@ "source_file": "crud/oa_instance_draft.py", "source_location": "L27", "id": "crud_oa_instance_draft_dumps", - "community": 6, + "community": 7, "norm_label": "_dumps()" }, { @@ -29268,7 +29268,7 @@ "source_file": "crud/oa_instance_draft.py", "source_location": "L33", "id": "crud_oa_instance_draft_row_to_dict", - "community": 6, + "community": 7, "norm_label": "row_to_dict()" }, { @@ -29277,7 +29277,7 @@ "source_file": "crud/oa_instance_draft.py", "source_location": "L63", "id": "crud_oa_instance_draft_draftaccesserror", - "community": 6, + "community": 7, "norm_label": "draftaccesserror" }, { @@ -29295,7 +29295,7 @@ "source_file": "crud/oa_instance_draft.py", "source_location": "L67", "id": "crud_oa_instance_draft_get_owned_draft", - "community": 6, + "community": 7, "norm_label": "get_owned_draft()" }, { @@ -29304,70 +29304,79 @@ "source_file": "crud/oa_instance_draft.py", "source_location": "L89", "id": "crud_oa_instance_draft_enrich", - "community": 6, + "community": 7, "norm_label": "_enrich()" }, + { + "label": "count_drafts()", + "file_type": "code", + "source_file": "crud/oa_instance_draft.py", + "source_location": "L121", + "id": "crud_oa_instance_draft_count_drafts", + "community": 7, + "norm_label": "count_drafts()" + }, { "label": "list_drafts()", "file_type": "code", "source_file": "crud/oa_instance_draft.py", - "source_location": "L121", + "source_location": "L133", "id": "crud_oa_instance_draft_list_drafts", - "community": 6, + "community": 7, "norm_label": "list_drafts()" }, { "label": "get_draft_detail()", "file_type": "code", "source_file": "crud/oa_instance_draft.py", - "source_location": "L190", + "source_location": "L202", "id": "crud_oa_instance_draft_get_draft_detail", - "community": 6, + "community": 7, "norm_label": "get_draft_detail()" }, { "label": "create_draft()", "file_type": "code", "source_file": "crud/oa_instance_draft.py", - "source_location": "L201", + "source_location": "L213", "id": "crud_oa_instance_draft_create_draft", - "community": 6, + "community": 7, "norm_label": "create_draft()" }, { "label": "update_draft()", "file_type": "code", "source_file": "crud/oa_instance_draft.py", - "source_location": "L243", + "source_location": "L255", "id": "crud_oa_instance_draft_update_draft", - "community": 6, + "community": 7, "norm_label": "update_draft()" }, { "label": "soft_delete_draft()", "file_type": "code", "source_file": "crud/oa_instance_draft.py", - "source_location": "L273", + "source_location": "L285", "id": "crud_oa_instance_draft_soft_delete_draft", - "community": 6, + "community": 7, "norm_label": "soft_delete_draft()" }, { "label": "batch_soft_delete_drafts()", "file_type": "code", "source_file": "crud/oa_instance_draft.py", - "source_location": "L287", + "source_location": "L299", "id": "crud_oa_instance_draft_batch_soft_delete_drafts", - "community": 6, + "community": 7, "norm_label": "batch_soft_delete_drafts()" }, { "label": "submit_draft()", "file_type": "code", "source_file": "crud/oa_instance_draft.py", - "source_location": "L318", + "source_location": "L330", "id": "crud_oa_instance_draft_submit_draft", - "community": 6, + "community": 7, "norm_label": "submit_draft()" }, { @@ -29383,8 +29392,8 @@ "label": "\u63d0\u4ea4\u8349\u7a3f\uff1a\u8d70 start_instance\uff0c\u6210\u529f\u540e\u8f6f\u5220\u8349\u7a3f\u3002", "file_type": "rationale", "source_file": "crud/oa_instance_draft.py", - "source_location": "L329", - "id": "crud_oa_instance_draft_rationale_329", + "source_location": "L341", + "id": "crud_oa_instance_draft_rationale_341", "community": 3, "norm_label": "\u63d0\u4ea4\u8349\u7a3f:\u8d70 start_instance,\u6210\u529f\u540e\u8f6f\u5220\u8349\u7a3f\u3002" }, @@ -29610,7 +29619,7 @@ "source_file": "crud/pilot_outbound_status_sync.py", "source_location": "L1", "id": "crud_pilot_outbound_status_sync_py", - "community": 13, + "community": 8, "norm_label": "pilot_outbound_status_sync.py" }, { @@ -29619,7 +29628,7 @@ "source_file": "crud/pilot_outbound_status_sync.py", "source_location": "L19", "id": "crud_pilot_outbound_status_sync_is_pilot_outbound_production", - "community": 13, + "community": 8, "norm_label": "_is_pilot_outbound_production()" }, { @@ -29628,7 +29637,7 @@ "source_file": "crud/pilot_outbound_status_sync.py", "source_location": "L27", "id": "crud_pilot_outbound_status_sync_is_pilot_outbound_qc", - "community": 13, + "community": 8, "norm_label": "_is_pilot_outbound_qc()" }, { @@ -29637,7 +29646,7 @@ "source_file": "crud/pilot_outbound_status_sync.py", "source_location": "L35", "id": "crud_pilot_outbound_status_sync_get_schedule", - "community": 13, + "community": 8, "norm_label": "_get_schedule()" }, { @@ -29646,7 +29655,7 @@ "source_file": "crud/pilot_outbound_status_sync.py", "source_location": "L51", "id": "crud_pilot_outbound_status_sync_touch", - "community": 13, + "community": 8, "norm_label": "_touch()" }, { @@ -29655,7 +29664,7 @@ "source_file": "crud/pilot_outbound_status_sync.py", "source_location": "L58", "id": "crud_pilot_outbound_status_sync_sync_schedule_from_production_work_order", - "community": 13, + "community": 8, "norm_label": "sync_schedule_from_production_work_order()" }, { @@ -29664,7 +29673,7 @@ "source_file": "crud/pilot_outbound_status_sync.py", "source_location": "L90", "id": "crud_pilot_outbound_status_sync_sync_schedule_from_qc_work_order", - "community": 13, + "community": 8, "norm_label": "sync_schedule_from_qc_work_order()" }, { @@ -29673,7 +29682,7 @@ "source_file": "crud/pilot_outbound_status_sync.py", "source_location": "L125", "id": "crud_pilot_outbound_status_sync_sync_production_work_order_from_schedule", - "community": 13, + "community": 8, "norm_label": "sync_production_work_order_from_schedule()" }, { @@ -29682,7 +29691,7 @@ "source_file": "crud/pilot_outbound_status_sync.py", "source_location": "L168", "id": "crud_pilot_outbound_status_sync_sync_qc_work_order_from_schedule", - "community": 13, + "community": 8, "norm_label": "sync_qc_work_order_from_schedule()" }, { @@ -29691,7 +29700,7 @@ "source_file": "crud/pilot_outbound_status_sync.py", "source_location": "L212", "id": "crud_pilot_outbound_status_sync_sync_pilot_outbound_from_schedule", - "community": 13, + "community": 8, "norm_label": "sync_pilot_outbound_from_schedule()" }, { @@ -29700,7 +29709,7 @@ "source_file": "crud/pilot_outbound_status_sync.py", "source_location": "L1", "id": "crud_pilot_outbound_status_sync_rationale_1", - "community": 3, + "community": 8, "norm_label": "\u4e2d\u8bd5\u670d\u52a1\u51fa\u5e93\u751f\u4ea7/\u8d28\u68c0\u5de5\u5355\u4e0e\u8f93\u6ce8\u8ba1\u5212\u751f\u4ea7\u72b6\u6001\u3001\u8d28\u68c0\u72b6\u6001\u53cc\u5411\u8054\u52a8\u3002" }, { @@ -29709,7 +29718,7 @@ "source_file": "crud/pilot_outbound_status_sync.py", "source_location": "L64", "id": "crud_pilot_outbound_status_sync_rationale_64", - "community": 3, + "community": 8, "norm_label": "\u51fa\u5e93\u751f\u4ea7\u5de5\u5355\u72b6\u6001 \u2192 \u8f93\u6ce8\u8ba1\u5212 schedule_status\u3002" }, { @@ -29718,7 +29727,7 @@ "source_file": "crud/pilot_outbound_status_sync.py", "source_location": "L96", "id": "crud_pilot_outbound_status_sync_rationale_96", - "community": 3, + "community": 8, "norm_label": "\u51fa\u5e93\u8d28\u68c0\u5de5\u5355\u72b6\u6001 \u2192 \u8f93\u6ce8\u8ba1\u5212 qc_status(\u4ec5\u8ba1\u5212\u81ea\u52a8\u8d28\u68c0\u53c2\u4e0e\u8054\u52a8)\u3002" }, { @@ -29727,7 +29736,7 @@ "source_file": "crud/pilot_outbound_status_sync.py", "source_location": "L131", "id": "crud_pilot_outbound_status_sync_rationale_131", - "community": 3, + "community": 8, "norm_label": "\u8f93\u6ce8\u8ba1\u5212 schedule_status \u2192 \u51fa\u5e93\u751f\u4ea7\u5de5\u5355\u72b6\u6001\u3002" }, { @@ -29736,7 +29745,7 @@ "source_file": "crud/pilot_outbound_status_sync.py", "source_location": "L174", "id": "crud_pilot_outbound_status_sync_rationale_174", - "community": 3, + "community": 8, "norm_label": "\u8f93\u6ce8\u8ba1\u5212 qc_status \u2192 \u51fa\u5e93\u8d28\u68c0\u5de5\u5355\u72b6\u6001\u3002" }, { @@ -29745,7 +29754,7 @@ "source_file": "crud/consumable_stock_log.py", "source_location": "L1", "id": "crud_consumable_stock_log_py", - "community": 23, + "community": 20, "norm_label": "consumable_stock_log.py" }, { @@ -29754,7 +29763,7 @@ "source_file": "crud/consumable_stock_log.py", "source_location": "L16", "id": "crud_consumable_stock_log_user_nick_name_map", - "community": 23, + "community": 20, "norm_label": "_user_nick_name_map()" }, { @@ -29763,7 +29772,7 @@ "source_file": "crud/consumable_stock_log.py", "source_location": "L24", "id": "crud_consumable_stock_log_parse_receiver_purpose_from_remark", - "community": 23, + "community": 20, "norm_label": "_parse_receiver_purpose_from_remark()" }, { @@ -29772,7 +29781,7 @@ "source_file": "crud/consumable_stock_log.py", "source_location": "L35", "id": "crud_consumable_stock_log_resolve_receiver_purpose", - "community": 23, + "community": 20, "norm_label": "_resolve_receiver_purpose()" }, { @@ -29781,7 +29790,7 @@ "source_file": "crud/consumable_stock_log.py", "source_location": "L45", "id": "crud_consumable_stock_log_display_remark", - "community": 23, + "community": 20, "norm_label": "_display_remark()" }, { @@ -29790,7 +29799,7 @@ "source_file": "crud/consumable_stock_log.py", "source_location": "L60", "id": "crud_consumable_stock_log_row_to_dict", - "community": 23, + "community": 20, "norm_label": "_row_to_dict()" }, { @@ -29799,7 +29808,7 @@ "source_file": "crud/consumable_stock_log.py", "source_location": "L90", "id": "crud_consumable_stock_log_list_stock_logs", - "community": 23, + "community": 20, "norm_label": "list_stock_logs()" }, { @@ -29808,7 +29817,7 @@ "source_file": "crud/consumable_stock_log.py", "source_location": "L158", "id": "crud_consumable_stock_log_revert_step_stock_changes", - "community": 23, + "community": 20, "norm_label": "revert_step_stock_changes()" }, { @@ -29817,7 +29826,7 @@ "source_file": "crud/consumable_stock_log.py", "source_location": "L205", "id": "crud_consumable_stock_log_deduct_for_step", - "community": 23, + "community": 20, "norm_label": "deduct_for_step()" }, { @@ -29826,7 +29835,7 @@ "source_file": "crud/consumable_stock_log.py", "source_location": "L1", "id": "crud_consumable_stock_log_rationale_1", - "community": 23, + "community": 20, "norm_label": "\u8017\u6750\u53d8\u52a8\u8bb0\u5f55 crud(biz_consumable_stock_log)" }, { @@ -29835,7 +29844,7 @@ "source_file": "crud/consumable_stock_log.py", "source_location": "L164", "id": "crud_consumable_stock_log_rationale_164", - "community": 23, + "community": 20, "norm_label": "\u64a4\u9500\u6b65\u9aa4\u6b64\u524d step_save \u6263\u51cf,\u4fbf\u4e8e\u91cd\u65b0\u586b\u62a5\u3002" }, { @@ -29844,7 +29853,7 @@ "source_file": "crud/consumable_stock_log.py", "source_location": "L216", "id": "crud_consumable_stock_log_rationale_216", - "community": 23, + "community": 20, "norm_label": "\u6263\u51cf\u8017\u6750\u5e93\u5b58\u5e76\u751f\u6210\u53d8\u52a8\u8bb0\u5f55\u3002\u8c03\u7528\u65b9\u63a7\u5236\u4e8b\u52a1,\u672c\u51fd\u6570\u4e0d commit\u3002" }, { @@ -29853,7 +29862,7 @@ "source_file": "crud/dept.py", "source_location": "L1", "id": "crud_dept_py", - "community": 25, + "community": 22, "norm_label": "dept.py" }, { @@ -29862,7 +29871,7 @@ "source_file": "crud/dept.py", "source_location": "L13", "id": "crud_dept_row_to_dict", - "community": 25, + "community": 22, "norm_label": "_row_to_dict()" }, { @@ -29871,7 +29880,7 @@ "source_file": "crud/dept.py", "source_location": "L31", "id": "crud_dept_build_tree", - "community": 25, + "community": 22, "norm_label": "_build_tree()" }, { @@ -29880,7 +29889,7 @@ "source_file": "crud/dept.py", "source_location": "L39", "id": "crud_dept_collect_with_ancestors", - "community": 25, + "community": 22, "norm_label": "_collect_with_ancestors()" }, { @@ -29889,7 +29898,7 @@ "source_file": "crud/dept.py", "source_location": "L55", "id": "crud_dept_list_depts", - "community": 25, + "community": 22, "norm_label": "list_depts()" }, { @@ -29898,7 +29907,7 @@ "source_file": "crud/dept.py", "source_location": "L76", "id": "crud_dept_list_depts_tree", - "community": 25, + "community": 22, "norm_label": "list_depts_tree()" }, { @@ -29907,7 +29916,7 @@ "source_file": "crud/dept.py", "source_location": "L98", "id": "crud_dept_get_dept", - "community": 25, + "community": 22, "norm_label": "get_dept()" }, { @@ -29925,7 +29934,7 @@ "source_file": "crud/dept.py", "source_location": "L149", "id": "crud_dept_update_dept", - "community": 25, + "community": 22, "norm_label": "update_dept()" }, { @@ -29934,7 +29943,7 @@ "source_file": "crud/dept.py", "source_location": "L190", "id": "crud_dept_cascade_soft_delete", - "community": 25, + "community": 22, "norm_label": "_cascade_soft_delete()" }, { @@ -29943,7 +29952,7 @@ "source_file": "crud/dept.py", "source_location": "L203", "id": "crud_dept_soft_delete_dept", - "community": 25, + "community": 22, "norm_label": "soft_delete_dept()" }, { @@ -29952,7 +29961,7 @@ "source_file": "crud/dept.py", "source_location": "L42", "id": "crud_dept_rationale_42", - "community": 25, + "community": 22, "norm_label": "\u4fdd\u7559\u5339\u914d\u8282\u70b9\u53ca\u5176\u5168\u90e8\u4e0a\u7ea7,\u4f9b\u5173\u952e\u8bcd\u68c0\u7d22\u540e\u4ecd\u80fd\u6b63\u786e\u7ec4\u6811\u3002" }, { @@ -29961,7 +29970,7 @@ "source_file": "crud/base.py", "source_location": "L1", "id": "crud_base_py", - "community": 11, + "community": 4, "norm_label": "base.py" }, { @@ -29970,7 +29979,7 @@ "source_file": "crud/base.py", "source_location": "L14", "id": "crud_base_camel_to_snake", - "community": 11, + "community": 4, "norm_label": "camel_to_snake()" }, { @@ -29979,7 +29988,7 @@ "source_file": "crud/base.py", "source_location": "L20", "id": "crud_base_get_model_attr", - "community": 11, + "community": 4, "norm_label": "get_model_attr()" }, { @@ -29988,7 +29997,7 @@ "source_file": "crud/base.py", "source_location": "L33", "id": "crud_base_crudbase", - "community": 11, + "community": 12, "norm_label": "crudbase" }, { @@ -29997,7 +30006,7 @@ "source_file": "crud/base.py", "source_location": "L36", "id": "crud_base_crudbase_init", - "community": 11, + "community": 12, "norm_label": ".__init__()" }, { @@ -30015,7 +30024,7 @@ "source_file": "crud/base.py", "source_location": "L43", "id": "crud_base_crudbase_get_multi", - "community": 11, + "community": 12, "norm_label": ".get_multi()" }, { @@ -30024,7 +30033,7 @@ "source_file": "crud/base.py", "source_location": "L67", "id": "crud_base_crudbase_get_all", - "community": 11, + "community": 12, "norm_label": ".get_all()" }, { @@ -30033,7 +30042,7 @@ "source_file": "crud/base.py", "source_location": "L74", "id": "crud_base_crudbase_create", - "community": 11, + "community": 6, "norm_label": ".create()" }, { @@ -30042,7 +30051,7 @@ "source_file": "crud/base.py", "source_location": "L95", "id": "crud_base_crudbase_update", - "community": 1, + "community": 8, "norm_label": ".update()" }, { @@ -30051,7 +30060,7 @@ "source_file": "crud/base.py", "source_location": "L114", "id": "crud_base_crudbase_delete", - "community": 11, + "community": 12, "norm_label": ".delete()" }, { @@ -30060,7 +30069,7 @@ "source_file": "crud/base.py", "source_location": "L126", "id": "crud_base_crudbase_hard_delete", - "community": 11, + "community": 12, "norm_label": ".hard_delete()" }, { @@ -30069,7 +30078,7 @@ "source_file": "crud/base.py", "source_location": "L135", "id": "crud_base_crudbase_count", - "community": 5, + "community": 4, "norm_label": ".count()" }, { @@ -30078,7 +30087,7 @@ "source_file": "crud/base.py", "source_location": "L142", "id": "crud_base_crudbase_exists", - "community": 7, + "community": 5, "norm_label": ".exists()" }, { @@ -30087,7 +30096,7 @@ "source_file": "crud/base.py", "source_location": "L150", "id": "crud_base_historycrud", - "community": 11, + "community": 4, "norm_label": "historycrud" }, { @@ -30096,7 +30105,7 @@ "source_file": "crud/base.py", "source_location": "L153", "id": "crud_base_historycrud_create_history", - "community": 11, + "community": 4, "norm_label": ".create_history()" }, { @@ -30105,7 +30114,7 @@ "source_file": "crud/protocol_donation_convert.py", "source_location": "L1", "id": "crud_protocol_donation_convert_py", - "community": 4, + "community": 9, "norm_label": "protocol_donation_convert.py" }, { @@ -30114,7 +30123,7 @@ "source_file": "crud/protocol_donation_convert.py", "source_location": "L19", "id": "crud_protocol_donation_convert_active_link_query", - "community": 4, + "community": 9, "norm_label": "_active_link_query()" }, { @@ -30123,7 +30132,7 @@ "source_file": "crud/protocol_donation_convert.py", "source_location": "L28", "id": "crud_protocol_donation_convert_get_convert_partner", - "community": 4, + "community": 9, "norm_label": "get_convert_partner()" }, { @@ -30132,7 +30141,7 @@ "source_file": "crud/protocol_donation_convert.py", "source_location": "L61", "id": "crud_protocol_donation_convert_has_active_convert_link", - "community": 4, + "community": 9, "norm_label": "has_active_convert_link()" }, { @@ -30141,7 +30150,7 @@ "source_file": "crud/protocol_donation_convert.py", "source_location": "L73", "id": "crud_protocol_donation_convert_create_convert_link", - "community": 4, + "community": 9, "norm_label": "create_convert_link()" }, { @@ -30150,7 +30159,7 @@ "source_file": "crud/protocol_donation_convert.py", "source_location": "L125", "id": "crud_protocol_donation_convert_get_partner_sample_codes", - "community": 4, + "community": 9, "norm_label": "get_partner_sample_codes()" }, { @@ -30159,7 +30168,7 @@ "source_file": "crud/protocol_donation_convert.py", "source_location": "L189", "id": "crud_protocol_donation_convert_assert_biz_no_available", - "community": 4, + "community": 9, "norm_label": "assert_biz_no_available()" }, { @@ -30168,7 +30177,7 @@ "source_file": "crud/protocol_donation_convert.py", "source_location": "L263", "id": "crud_protocol_donation_convert_upsert_convert_link_for_to_storage", - "community": 4, + "community": 9, "norm_label": "upsert_convert_link_for_to_storage()" }, { @@ -30177,7 +30186,7 @@ "source_file": "crud/protocol_donation_convert.py", "source_location": "L1", "id": "crud_protocol_donation_convert_rationale_1", - "community": 3, + "community": 9, "norm_label": "\u7ec6\u80de\u5b58\u50a8\u534f\u8bae \u21c4 \u79d1\u7814\u6350\u8d60 \u8f6c\u79fb\u5173\u8054\u4e0e\u7f16\u53f7/\u6837\u672c\u7f16\u7801\u8c41\u514d\u6821\u9a8c" }, { @@ -30186,7 +30195,7 @@ "source_file": "crud/protocol_donation_convert.py", "source_location": "L35", "id": "crud_protocol_donation_convert_rationale_35", - "community": 3, + "community": 9, "norm_label": "\u6309\u91c7\u96c6\u534f\u8bae\u6216\u79d1\u7814\u6350\u8d60 id \u67e5\u8be2\u8f6c\u79fb\u914d\u5bf9\u4fe1\u606f\u3002" }, { @@ -30195,7 +30204,7 @@ "source_file": "crud/protocol_donation_convert.py", "source_location": "L84", "id": "crud_protocol_donation_convert_rationale_84", - "community": 4, + "community": 9, "norm_label": "\u8f6c\u79fb\u4e8b\u52a1\u5185\u5199\u5165\u5173\u8054;\u540c\u4e00\u534f\u8bae\u6216\u6350\u8d60\u4e0d\u5f97\u91cd\u590d\u5efa\u7acb\u6709\u6548\u5173\u8054\u3002" }, { @@ -30204,7 +30213,7 @@ "source_file": "crud/protocol_donation_convert.py", "source_location": "L132", "id": "crud_protocol_donation_convert_rationale_132", - "community": 3, + "community": 9, "norm_label": "\u8fd4\u56de\u914d\u5bf9\u5355\u636e\u4e0a\u672a\u5220\u9664\u6837\u672c\u7684\u7f16\u7801\u96c6\u5408(\u7528\u4e8e\u6837\u672c\u552f\u4e00\u6027\u8c41\u514d)\u3002" }, { @@ -30213,7 +30222,7 @@ "source_file": "crud/protocol_donation_convert.py", "source_location": "L198", "id": "crud_protocol_donation_convert_rationale_198", - "community": 3, + "community": 9, "norm_label": "\u6821\u9a8c\u4e1a\u52a1\u7f16\u53f7\u5728\u91c7\u96c6\u534f\u8bae\u4e0e\u79d1\u7814\u6350\u8d60\u95f4\u53ef\u7528\u3002 \u82e5\u5f53\u524d\u5355\u5b58\u5728\u8f6c\u79fb\u914d\u5bf9,\u5219\u8c41\u514d\u914d\u5bf9\u5355\u636e\u4e0a\u7684\u7f16\u53f7\u5360\u7528\u3002" }, { @@ -30222,7 +30231,7 @@ "source_file": "crud/protocol_donation_convert.py", "source_location": "L273", "id": "crud_protocol_donation_convert_rationale_273", - "community": 4, + "community": 9, "norm_label": "\u8f6c\u7ec6\u80de\u5b58\u50a8\u65f6\u5199\u5165/\u66f4\u65b0\u5173\u8054\u3002 \u82e5\u6350\u8d60\u5355\u5df2\u6709\u5173\u8054(\u5982\u5148\u8f6c\u79d1\u7814),\u5219\u66f4\u65b0 protocol_id \u6307\u5411\u65b0\u534f\u8bae\u5355\u3002" }, { @@ -30231,7 +30240,7 @@ "source_file": "crud/protocol_sample_collection.py", "source_location": "L1", "id": "crud_protocol_sample_collection_py", - "community": 5, + "community": 4, "norm_label": "protocol_sample_collection.py" }, { @@ -30240,7 +30249,7 @@ "source_file": "crud/protocol_sample_collection.py", "source_location": "L24", "id": "crud_protocol_sample_collection_total_pages", - "community": 5, + "community": 4, "norm_label": "total_pages()" }, { @@ -30249,7 +30258,7 @@ "source_file": "crud/protocol_sample_collection.py", "source_location": "L30", "id": "crud_protocol_sample_collection_fmt_dt", - "community": 5, + "community": 4, "norm_label": "_fmt_dt()" }, { @@ -30258,7 +30267,7 @@ "source_file": "crud/protocol_sample_collection.py", "source_location": "L34", "id": "crud_protocol_sample_collection_sample_status_label", - "community": 5, + "community": 4, "norm_label": "_sample_status_label()" }, { @@ -30267,7 +30276,7 @@ "source_file": "crud/protocol_sample_collection.py", "source_location": "L43", "id": "crud_protocol_sample_collection_row_to_dict", - "community": 5, + "community": 4, "norm_label": "_row_to_dict()" }, { @@ -30276,7 +30285,7 @@ "source_file": "crud/protocol_sample_collection.py", "source_location": "L82", "id": "crud_protocol_sample_collection_base_query", - "community": 5, + "community": 4, "norm_label": "_base_query()" }, { @@ -30285,7 +30294,7 @@ "source_file": "crud/protocol_sample_collection.py", "source_location": "L118", "id": "crud_protocol_sample_collection_apply_sample_status_filter", - "community": 5, + "community": 4, "norm_label": "_apply_sample_status_filter()" }, { @@ -30294,7 +30303,7 @@ "source_file": "crud/protocol_sample_collection.py", "source_location": "L132", "id": "crud_protocol_sample_collection_list_protocol_sample_collections", - "community": 5, + "community": 4, "norm_label": "list_protocol_sample_collections()" }, { @@ -30303,7 +30312,7 @@ "source_file": "crud/protocol_sample_collection.py", "source_location": "L1", "id": "crud_protocol_sample_collection_rationale_1", - "community": 3, + "community": 9, "norm_label": "\u91c7\u96c6\u534f\u8bae\u6837\u672c\u91c7\u96c6\u4fe1\u606f\u5217\u8868 crud(\u6837\u672c\u4fe1\u606f\u7ba1\u7406 \u00b7 \u6837\u672c\u91c7\u96c6\u4fe1\u606f tab)" }, { @@ -30312,7 +30321,7 @@ "source_file": "crud/qc_item_param.py", "source_location": "L1", "id": "crud_qc_item_param_py", - "community": 1, + "community": 6, "norm_label": "qc_item_param.py" }, { @@ -30321,7 +30330,7 @@ "source_file": "crud/qc_item_param.py", "source_location": "L13", "id": "crud_qc_item_param_row_to_dict", - "community": 1, + "community": 6, "norm_label": "_row_to_dict()" }, { @@ -30330,7 +30339,7 @@ "source_file": "crud/qc_item_param.py", "source_location": "L27", "id": "crud_qc_item_param_parse_options_list", - "community": 1, + "community": 6, "norm_label": "_parse_options_list()" }, { @@ -30339,7 +30348,7 @@ "source_file": "crud/qc_item_param.py", "source_location": "L43", "id": "crud_qc_item_param_validate_param", - "community": 1, + "community": 6, "norm_label": "_validate_param()" }, { @@ -30348,7 +30357,7 @@ "source_file": "crud/qc_item_param.py", "source_location": "L55", "id": "crud_qc_item_param_list_params_by_item", - "community": 1, + "community": 6, "norm_label": "list_params_by_item()" }, { @@ -30357,7 +30366,7 @@ "source_file": "crud/qc_item_param.py", "source_location": "L71", "id": "crud_qc_item_param_save_params_for_item", - "community": 1, + "community": 6, "norm_label": "save_params_for_item()" }, { @@ -30366,7 +30375,7 @@ "source_file": "crud/leave.py", "source_location": "L1", "id": "crud_leave_py", - "community": 5, + "community": 4, "norm_label": "leave.py" }, { @@ -30375,7 +30384,7 @@ "source_file": "crud/leave.py", "source_location": "L14", "id": "crud_leave_total_pages", - "community": 5, + "community": 4, "norm_label": "total_pages()" }, { @@ -30384,7 +30393,7 @@ "source_file": "crud/leave.py", "source_location": "L18", "id": "crud_leave_row_to_dict", - "community": 5, + "community": 4, "norm_label": "_row_to_dict()" }, { @@ -30393,7 +30402,7 @@ "source_file": "crud/leave.py", "source_location": "L38", "id": "crud_leave_list_leaves", - "community": 5, + "community": 4, "norm_label": "list_leaves()" }, { @@ -30402,7 +30411,7 @@ "source_file": "crud/leave.py", "source_location": "L73", "id": "crud_leave_get_leave", - "community": 5, + "community": 4, "norm_label": "get_leave()" }, { @@ -30411,7 +30420,7 @@ "source_file": "crud/leave.py", "source_location": "L78", "id": "crud_leave_create_leave", - "community": 5, + "community": 4, "norm_label": "create_leave()" }, { @@ -30420,7 +30429,7 @@ "source_file": "crud/leave.py", "source_location": "L109", "id": "crud_leave_update_leave", - "community": 5, + "community": 4, "norm_label": "update_leave()" }, { @@ -30438,7 +30447,7 @@ "source_file": "crud/leave.py", "source_location": "L141", "id": "crud_leave_soft_delete_leave", - "community": 5, + "community": 4, "norm_label": "soft_delete_leave()" }, { @@ -30537,7 +30546,7 @@ "source_file": "crud/exhibition_appointment.py", "source_location": "L1", "id": "crud_exhibition_appointment_py", - "community": 10, + "community": 11, "norm_label": "exhibition_appointment.py" }, { @@ -30546,7 +30555,7 @@ "source_file": "crud/exhibition_appointment.py", "source_location": "L15", "id": "crud_exhibition_appointment_format_visit_date", - "community": 10, + "community": 11, "norm_label": "_format_visit_date()" }, { @@ -30555,7 +30564,7 @@ "source_file": "crud/exhibition_appointment.py", "source_location": "L24", "id": "crud_exhibition_appointment_row_to_dict", - "community": 10, + "community": 11, "norm_label": "_row_to_dict()" }, { @@ -30564,7 +30573,7 @@ "source_file": "crud/exhibition_appointment.py", "source_location": "L41", "id": "crud_exhibition_appointment_list_exhibition_appointments", - "community": 10, + "community": 11, "norm_label": "list_exhibition_appointments()" }, { @@ -30573,7 +30582,7 @@ "source_file": "crud/exhibition_appointment.py", "source_location": "L78", "id": "crud_exhibition_appointment_get_exhibition_appointment", - "community": 10, + "community": 11, "norm_label": "get_exhibition_appointment()" }, { @@ -30582,7 +30591,7 @@ "source_file": "crud/exhibition_appointment.py", "source_location": "L86", "id": "crud_exhibition_appointment_appointment_no_exists", - "community": 10, + "community": 11, "norm_label": "appointment_no_exists()" }, { @@ -30591,7 +30600,7 @@ "source_file": "crud/exhibition_appointment.py", "source_location": "L99", "id": "crud_exhibition_appointment_generate_appointment_no", - "community": 10, + "community": 11, "norm_label": "_generate_appointment_no()" }, { @@ -30600,7 +30609,7 @@ "source_file": "crud/exhibition_appointment.py", "source_location": "L123", "id": "crud_exhibition_appointment_create_exhibition_appointment", - "community": 10, + "community": 1, "norm_label": "create_exhibition_appointment()" }, { @@ -30609,7 +30618,7 @@ "source_file": "crud/exhibition_appointment.py", "source_location": "L173", "id": "crud_exhibition_appointment_update_exhibition_appointment", - "community": 10, + "community": 11, "norm_label": "update_exhibition_appointment()" }, { @@ -30618,7 +30627,7 @@ "source_file": "crud/exhibition_appointment.py", "source_location": "L225", "id": "crud_exhibition_appointment_soft_delete_exhibition_appointment", - "community": 10, + "community": 11, "norm_label": "soft_delete_exhibition_appointment()" }, { @@ -30636,7 +30645,7 @@ "source_file": "crud/exhibition_appointment.py", "source_location": "L1", "id": "crud_exhibition_appointment_rationale_1", - "community": 10, + "community": 11, "norm_label": "\u5c55\u89c8\u9884\u7ea6 crud(biz_exhibition_appointment)" }, { @@ -30645,7 +30654,7 @@ "source_file": "crud/exhibition_appointment.py", "source_location": "L16", "id": "crud_exhibition_appointment_rationale_16", - "community": 10, + "community": 11, "norm_label": "\u683c\u5f0f\u5316 visit_date \u4e3a yyyy-mm-dd hh:mm:ss \u5b57\u7b26\u4e32" }, { @@ -30654,7 +30663,7 @@ "source_file": "crud/exhibition_appointment.py", "source_location": "L100", "id": "crud_exhibition_appointment_rationale_100", - "community": 10, + "community": 11, "norm_label": "\u751f\u6210\u9884\u7ea6\u7f16\u53f7:yyyymmdd + 6\u4f4d\u5e8f\u53f7(\u5982 20260515000001)" }, { @@ -30708,7 +30717,7 @@ "source_file": "crud/clinical_payment.py", "source_location": "L137", "id": "crud_clinical_payment_map_payments_by_schedule_ids", - "community": 8, + "community": 0, "norm_label": "map_payments_by_schedule_ids()" }, { @@ -31068,7 +31077,7 @@ "source_file": "api/public.py", "source_location": "L108", "id": "api_public_jwt_user_payload", - "community": 11, + "community": 12, "norm_label": "_jwt_user_payload()" }, { @@ -31077,7 +31086,7 @@ "source_file": "api/public.py", "source_location": "L119", "id": "api_public_web_login_rsa_public_key", - "community": 11, + "community": 12, "norm_label": "web_login_rsa_public_key()" }, { @@ -31086,7 +31095,7 @@ "source_file": "api/public.py", "source_location": "L126", "id": "api_public_web_login", - "community": 11, + "community": 12, "norm_label": "web_login()" }, { @@ -31095,7 +31104,7 @@ "source_file": "api/public.py", "source_location": "L188", "id": "api_public_refresh_token", - "community": 11, + "community": 12, "norm_label": "refresh_token()" }, { @@ -31194,7 +31203,7 @@ "source_file": "api/public.py", "source_location": "L120", "id": "api_public_rationale_120", - "community": 11, + "community": 12, "norm_label": "web \u7aef\u767b\u5f55\u7528 rsa \u516c\u94a5(pkcs#1 v1.5,\u4e0e jsencrypt \u4e00\u81f4)" }, { @@ -31203,7 +31212,7 @@ "source_file": "api/public.py", "source_location": "L131", "id": "api_public_rationale_131", - "community": 11, + "community": 12, "norm_label": "web \u7aef\u767b\u5f55:\u8d26\u53f7\u4e3a sys_user.user_no,\u5bc6\u7801\u4e3a sys_user.password(bcrypt)\u3002" }, { @@ -33390,7 +33399,7 @@ "source_file": "api/sample_production_reception.py", "source_location": "L1", "id": "api_sample_production_reception_py", - "community": 12, + "community": 5, "norm_label": "sample_production_reception.py" }, { @@ -33399,7 +33408,7 @@ "source_file": "api/sample_production_reception.py", "source_location": "L31", "id": "api_sample_production_reception_get_tenant_no", - "community": 12, + "community": 5, "norm_label": "_get_tenant_no()" }, { @@ -33408,7 +33417,7 @@ "source_file": "api/sample_production_reception.py", "source_location": "L41", "id": "api_sample_production_reception_get_current_user_id", - "community": 12, + "community": 5, "norm_label": "_get_current_user_id()" }, { @@ -33426,7 +33435,7 @@ "source_file": "api/sample_production_reception.py", "source_location": "L73", "id": "api_sample_production_reception_body_to_payload", - "community": 12, + "community": 5, "norm_label": "_body_to_payload()" }, { @@ -33435,7 +33444,7 @@ "source_file": "api/sample_production_reception.py", "source_location": "L99", "id": "api_sample_production_reception_resolve_reception_id", - "community": 12, + "community": 5, "norm_label": "_resolve_reception_id()" }, { @@ -33444,7 +33453,7 @@ "source_file": "api/sample_production_reception.py", "source_location": "L123", "id": "api_sample_production_reception_get_production_reception_by_sample_code", - "community": 12, + "community": 5, "norm_label": "get_production_reception_by_sample_code()" }, { @@ -33453,7 +33462,7 @@ "source_file": "api/sample_production_reception.py", "source_location": "L155", "id": "api_sample_production_reception_get_production_reception_detail", - "community": 12, + "community": 5, "norm_label": "get_production_reception_detail()" }, { @@ -33462,7 +33471,7 @@ "source_file": "api/sample_production_reception.py", "source_location": "L173", "id": "api_sample_production_reception_post_production_reception", - "community": 12, + "community": 5, "norm_label": "post_production_reception()" }, { @@ -33471,7 +33480,7 @@ "source_file": "api/sample_production_reception.py", "source_location": "L220", "id": "api_sample_production_reception_put_production_reception", - "community": 12, + "community": 5, "norm_label": "put_production_reception()" }, { @@ -33480,7 +33489,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L1", "id": "api_collection_protocol_py", - "community": 4, + "community": 0, "norm_label": "collection_protocol.py" }, { @@ -33489,7 +33498,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L29", "id": "api_collection_protocol_get_tenant_no", - "community": 4, + "community": 0, "norm_label": "_get_tenant_no()" }, { @@ -33498,7 +33507,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L39", "id": "api_collection_protocol_get_current_user_id", - "community": 4, + "community": 0, "norm_label": "_get_current_user_id()" }, { @@ -33507,7 +33516,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L46", "id": "api_collection_protocol_protocol_accessible", - "community": 4, + "community": 0, "norm_label": "_protocol_accessible()" }, { @@ -33525,7 +33534,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L82", "id": "api_collection_protocol_ensure_customer_for_mother", - "community": 4, + "community": 0, "norm_label": "_ensure_customer_for_mother()" }, { @@ -33534,7 +33543,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L131", "id": "api_collection_protocol_list_collection_protocols", - "community": 4, + "community": 0, "norm_label": "list_collection_protocols()" }, { @@ -33543,7 +33552,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L162", "id": "api_collection_protocol_get_collection_protocol_detail", - "community": 4, + "community": 0, "norm_label": "get_collection_protocol_detail()" }, { @@ -33552,7 +33561,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L176", "id": "api_collection_protocol_protocolcreatebody", - "community": 2, + "community": 9, "norm_label": "protocolcreatebody" }, { @@ -33561,7 +33570,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L199", "id": "api_collection_protocol_protocolupdatebody", - "community": 2, + "community": 9, "norm_label": "protocolupdatebody" }, { @@ -33570,7 +33579,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L230", "id": "api_collection_protocol_resolve_protocol_attachments", - "community": 4, + "community": 0, "norm_label": "_resolve_protocol_attachments()" }, { @@ -33579,7 +33588,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L240", "id": "api_collection_protocol_resolve_consent_form_urls", - "community": 4, + "community": 0, "norm_label": "_resolve_consent_form_urls()" }, { @@ -33588,7 +33597,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L250", "id": "api_collection_protocol_resolve_health_survey_form_urls", - "community": 4, + "community": 0, "norm_label": "_resolve_health_survey_form_urls()" }, { @@ -33597,7 +33606,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L260", "id": "api_collection_protocol_persist_protocol_sub_resources", - "community": 4, + "community": 0, "norm_label": "_persist_protocol_sub_resources()" }, { @@ -33606,7 +33615,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L304", "id": "api_collection_protocol_create_collection_protocol", - "community": 4, + "community": 0, "norm_label": "create_collection_protocol()" }, { @@ -33615,7 +33624,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L372", "id": "api_collection_protocol_update_collection_protocol", - "community": 4, + "community": 0, "norm_label": "update_collection_protocol()" }, { @@ -33624,7 +33633,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L436", "id": "api_collection_protocol_delete_collection_protocol", - "community": 4, + "community": 0, "norm_label": "delete_collection_protocol()" }, { @@ -33633,7 +33642,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L463", "id": "api_collection_protocol_list_collection_protocol_audits", - "community": 4, + "community": 0, "norm_label": "list_collection_protocol_audits()" }, { @@ -33642,7 +33651,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L487", "id": "api_collection_protocol_auditcreatebody", - "community": 2, + "community": 9, "norm_label": "auditcreatebody" }, { @@ -33660,7 +33669,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L524", "id": "api_collection_protocol_list_payment_details", - "community": 4, + "community": 0, "norm_label": "list_payment_details()" }, { @@ -33669,7 +33678,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L552", "id": "api_collection_protocol_batchdetailidsbody", - "community": 2, + "community": 9, "norm_label": "batchdetailidsbody" }, { @@ -33678,7 +33687,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L558", "id": "api_collection_protocol_paymentdetaildraftbody", - "community": 2, + "community": 9, "norm_label": "paymentdetaildraftbody" }, { @@ -33687,7 +33696,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L568", "id": "api_collection_protocol_draft_fields_from_body", - "community": 4, + "community": 0, "norm_label": "_draft_fields_from_body()" }, { @@ -33696,7 +33705,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L573", "id": "api_collection_protocol_put_payment_detail_draft", - "community": 4, + "community": 0, "norm_label": "put_payment_detail_draft()" }, { @@ -33705,7 +33714,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L596", "id": "api_collection_protocol_refundfinancesubmitbody", - "community": 2, + "community": 9, "norm_label": "refundfinancesubmitbody" }, { @@ -33714,7 +33723,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L604", "id": "api_collection_protocol_batchrefundfinancesubmitbody", - "community": 2, + "community": 9, "norm_label": "batchrefundfinancesubmitbody" }, { @@ -33723,7 +33732,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L611", "id": "api_collection_protocol_post_submit_receipt_finance", - "community": 4, + "community": 0, "norm_label": "post_submit_receipt_finance()" }, { @@ -33759,7 +33768,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L697", "id": "api_collection_protocol_list_receipt_confirm", - "community": 4, + "community": 0, "norm_label": "list_receipt_confirm()" }, { @@ -33768,7 +33777,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L722", "id": "api_collection_protocol_list_receipt_confirmed", - "community": 4, + "community": 0, "norm_label": "list_receipt_confirmed()" }, { @@ -33777,7 +33786,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L746", "id": "api_collection_protocol_financeconfirmbody", - "community": 2, + "community": 9, "norm_label": "financeconfirmbody" }, { @@ -33786,7 +33795,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L753", "id": "api_collection_protocol_refundfinanceconfirmbody", - "community": 2, + "community": 9, "norm_label": "refundfinanceconfirmbody" }, { @@ -33813,7 +33822,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L809", "id": "api_collection_protocol_list_refund_confirm", - "community": 4, + "community": 0, "norm_label": "list_refund_confirm()" }, { @@ -33822,7 +33831,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L834", "id": "api_collection_protocol_list_refund_confirmed", - "community": 4, + "community": 0, "norm_label": "list_refund_confirmed()" }, { @@ -33849,7 +33858,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L905", "id": "api_collection_protocol_list_storage_certs", - "community": 4, + "community": 0, "norm_label": "list_storage_certs()" }, { @@ -33858,7 +33867,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L936", "id": "api_collection_protocol_list_fullmoon_todos", - "community": 4, + "community": 0, "norm_label": "list_fullmoon_todos()" }, { @@ -33867,7 +33876,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L1052", "id": "api_collection_protocol_fullmoontodoinsurancebody", - "community": 2, + "community": 9, "norm_label": "fullmoontodoinsurancebody" }, { @@ -33876,7 +33885,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L1070", "id": "api_collection_protocol_update_fullmoon_todo_insurance", - "community": 4, + "community": 0, "norm_label": "update_fullmoon_todo_insurance()" }, { @@ -33885,7 +33894,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L1092", "id": "api_collection_protocol_invoicerequestcreatebody", - "community": 2, + "community": 9, "norm_label": "invoicerequestcreatebody" }, { @@ -33894,7 +33903,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L1105", "id": "api_collection_protocol_invoicerequestcompletebody", - "community": 2, + "community": 9, "norm_label": "invoicerequestcompletebody" }, { @@ -33903,7 +33912,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L1113", "id": "api_collection_protocol_get_invoice_eligible_payments", - "community": 4, + "community": 0, "norm_label": "get_invoice_eligible_payments()" }, { @@ -33912,7 +33921,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L1126", "id": "api_collection_protocol_get_protocol_invoice_requests", - "community": 4, + "community": 0, "norm_label": "get_protocol_invoice_requests()" }, { @@ -33921,7 +33930,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L1139", "id": "api_collection_protocol_post_protocol_invoice_request", - "community": 4, + "community": 0, "norm_label": "post_protocol_invoice_request()" }, { @@ -33930,7 +33939,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L1167", "id": "api_collection_protocol_list_protocol_invoice_requests_api", - "community": 4, + "community": 0, "norm_label": "list_protocol_invoice_requests_api()" }, { @@ -33939,7 +33948,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L1189", "id": "api_collection_protocol_protocol_invoice_pending_count", - "community": 4, + "community": 0, "norm_label": "protocol_invoice_pending_count()" }, { @@ -33948,7 +33957,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L1201", "id": "api_collection_protocol_complete_protocol_invoice_request", - "community": 4, + "community": 0, "norm_label": "complete_protocol_invoice_request()" }, { @@ -33957,7 +33966,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L1", "id": "api_collection_protocol_rationale_1", - "community": 3, + "community": 9, "norm_label": "\u7ec6\u80de\u5b58\u50a8 \u2014 \u91c7\u96c6\u534f\u8bae\u5355 / \u5ba1\u6838 / \u8d22\u52a1\u786e\u8ba4 / \u5206\u671f\u9884\u8b66 api" }, { @@ -33966,7 +33975,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L49", "id": "api_collection_protocol_rationale_49", - "community": 3, + "community": 9, "norm_label": "\u4e0e\u5217\u8868\u63a5\u53e3\u4e00\u81f4:\u6309\u79df\u6237 + \u89d2\u8272\u6570\u636e\u6743\u9650\u5224\u65ad\u662f\u5426\u53ef\u8bbf\u95ee\u8be5\u534f\u8bae\u5355\u3002" }, { @@ -33975,7 +33984,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L83", "id": "api_collection_protocol_rationale_83", - "community": 3, + "community": 9, "norm_label": "if mother info exists but no customerid, create a customer record and link it." }, { @@ -33984,7 +33993,7 @@ "source_file": "api/collection_protocol.py", "source_location": "L273", "id": "api_collection_protocol_rationale_273", - "community": 3, + "community": 9, "norm_label": "\u6301\u4e45\u5316\u534f\u8bae\u5b50\u8d44\u6e90\u3002 \u7f34\u8d39(\u542b\u660e\u7ec6\u6821\u9a8c)\u987b\u5728\u6837\u672c\u4e4b\u524d:\u660e\u7ec6\u6821\u9a8c\u5931\u8d25\u65f6\u4e0d\u5f97\u5df2\u5360\u7528\u6837\u672c\u7f16\u7801\u3002 \u5404\u5b50\u8868 crud \u5185\u90e8\u4ecd\u53ef\u80fd\u5206\u6bb5 commit,\u521b\u5efa\u63a5" }, { @@ -34290,7 +34299,7 @@ "source_file": "api/basic_info.py", "source_location": "L46", "id": "api_basic_info_customercreatebody", - "community": 2, + "community": 9, "norm_label": "customercreatebody" }, { @@ -34299,7 +34308,7 @@ "source_file": "api/basic_info.py", "source_location": "L59", "id": "api_basic_info_customerupdatebody", - "community": 2, + "community": 9, "norm_label": "customerupdatebody" }, { @@ -34353,7 +34362,7 @@ "source_file": "api/basic_info.py", "source_location": "L196", "id": "api_basic_info_cellsampletypecreatebody", - "community": 2, + "community": 9, "norm_label": "cellsampletypecreatebody" }, { @@ -34362,7 +34371,7 @@ "source_file": "api/basic_info.py", "source_location": "L209", "id": "api_basic_info_cellsampletypeupdatebody", - "community": 2, + "community": 9, "norm_label": "cellsampletypeupdatebody" }, { @@ -34407,7 +34416,7 @@ "source_file": "api/basic_info.py", "source_location": "L327", "id": "api_basic_info_collectionregioncreatebody", - "community": 2, + "community": 9, "norm_label": "collectionregioncreatebody" }, { @@ -34416,7 +34425,7 @@ "source_file": "api/basic_info.py", "source_location": "L335", "id": "api_basic_info_collectionregionupdatebody", - "community": 2, + "community": 9, "norm_label": "collectionregionupdatebody" }, { @@ -34425,7 +34434,7 @@ "source_file": "api/basic_info.py", "source_location": "L344", "id": "api_basic_info_list_collection_regions", - "community": 5, + "community": 0, "norm_label": "list_collection_regions()" }, { @@ -34461,7 +34470,7 @@ "source_file": "api/basic_info.py", "source_location": "L434", "id": "api_basic_info_hospitalcreatebody", - "community": 2, + "community": 9, "norm_label": "hospitalcreatebody" }, { @@ -34470,7 +34479,7 @@ "source_file": "api/basic_info.py", "source_location": "L442", "id": "api_basic_info_hospitalupdatebody", - "community": 2, + "community": 9, "norm_label": "hospitalupdatebody" }, { @@ -34524,7 +34533,7 @@ "source_file": "api/basic_info.py", "source_location": "L556", "id": "api_basic_info_protocolnocreatebody", - "community": 2, + "community": 9, "norm_label": "protocolnocreatebody" }, { @@ -34533,7 +34542,7 @@ "source_file": "api/basic_info.py", "source_location": "L568", "id": "api_basic_info_protocolnoupdatebody", - "community": 2, + "community": 9, "norm_label": "protocolnoupdatebody" }, { @@ -34551,7 +34560,7 @@ "source_file": "api/basic_info.py", "source_location": "L622", "id": "api_basic_info_protocolnobatchgeneratebody", - "community": 2, + "community": 9, "norm_label": "protocolnobatchgeneratebody" }, { @@ -34560,7 +34569,7 @@ "source_file": "api/basic_info.py", "source_location": "L632", "id": "api_basic_info_protocolnobatchissuebody", - "community": 2, + "community": 9, "norm_label": "protocolnobatchissuebody" }, { @@ -34587,7 +34596,7 @@ "source_file": "api/basic_info.py", "source_location": "L690", "id": "api_basic_info_protocolnobatchrevokebody", - "community": 2, + "community": 9, "norm_label": "protocolnobatchrevokebody" }, { @@ -34632,7 +34641,7 @@ "source_file": "api/basic_info.py", "source_location": "L792", "id": "api_basic_info_samplecodecreatebody", - "community": 2, + "community": 9, "norm_label": "samplecodecreatebody" }, { @@ -34641,7 +34650,7 @@ "source_file": "api/basic_info.py", "source_location": "L805", "id": "api_basic_info_samplecodeupdatebody", - "community": 2, + "community": 9, "norm_label": "samplecodeupdatebody" }, { @@ -34650,7 +34659,7 @@ "source_file": "api/basic_info.py", "source_location": "L817", "id": "api_basic_info_samplecodebatchgeneratebody", - "community": 2, + "community": 9, "norm_label": "samplecodebatchgeneratebody" }, { @@ -34659,7 +34668,7 @@ "source_file": "api/basic_info.py", "source_location": "L827", "id": "api_basic_info_samplecodebatchissuebody", - "community": 2, + "community": 9, "norm_label": "samplecodebatchissuebody" }, { @@ -34686,7 +34695,7 @@ "source_file": "api/basic_info.py", "source_location": "L885", "id": "api_basic_info_samplecodebatchrevokebody", - "community": 2, + "community": 9, "norm_label": "samplecodebatchrevokebody" }, { @@ -34740,7 +34749,7 @@ "source_file": "api/basic_info.py", "source_location": "L1", "id": "api_basic_info_rationale_1", - "community": 2, + "community": 9, "norm_label": "\u57fa\u7840\u4fe1\u606f\u7ba1\u7406 api(\u5ba2\u6237\u3001\u6837\u672c\u7c7b\u578b\u3001\u91c7\u96c6\u5730\u533a/\u533b\u9662\u3001\u534f\u8bae\u53f7\u6c60\u3001\u6837\u672c\u7f16\u7801\u6c60)" }, { @@ -34965,7 +34974,7 @@ "source_file": "api/__init__.py", "source_location": "L1", "id": "api_init_py", - "community": 35, + "community": 32, "norm_label": "__init__.py" }, { @@ -34974,7 +34983,7 @@ "source_file": "api/__init__.py", "source_location": "L1", "id": "api_init_rationale_1", - "community": 35, + "community": 32, "norm_label": "api \u8def\u7531\u5305(\u9aa8\u67b6:\u516c\u5171\u9274\u6743 + \u9759\u6001\u83dc\u5355 + \u8fd0\u8425\u7aef\u5360\u4f4d)" }, { @@ -35235,7 +35244,7 @@ "source_file": "api/pilot_application.py", "source_location": "L315", "id": "api_pilot_application_api_save_application", - "community": 13, + "community": 8, "norm_label": "api_save_application()" }, { @@ -35770,10 +35779,19 @@ "norm_label": "_parse_draft_range_start()" }, { - "label": "list_oa_instance_drafts()", + "label": "oa_instance_draft_count()", "file_type": "code", "source_file": "api/oa_approval.py", "source_location": "L243", + "id": "api_oa_approval_oa_instance_draft_count", + "community": 0, + "norm_label": "oa_instance_draft_count()" + }, + { + "label": "list_oa_instance_drafts()", + "file_type": "code", + "source_file": "api/oa_approval.py", + "source_location": "L257", "id": "api_oa_approval_list_oa_instance_drafts", "community": 0, "norm_label": "list_oa_instance_drafts()" @@ -35782,7 +35800,7 @@ "label": "create_oa_instance_draft()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L269", + "source_location": "L283", "id": "api_oa_approval_create_oa_instance_draft", "community": 0, "norm_label": "create_oa_instance_draft()" @@ -35791,7 +35809,7 @@ "label": "batch_delete_oa_instance_drafts()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L293", + "source_location": "L307", "id": "api_oa_approval_batch_delete_oa_instance_drafts", "community": 0, "norm_label": "batch_delete_oa_instance_drafts()" @@ -35800,7 +35818,7 @@ "label": "get_oa_instance_draft()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L314", + "source_location": "L328", "id": "api_oa_approval_get_oa_instance_draft", "community": 0, "norm_label": "get_oa_instance_draft()" @@ -35809,7 +35827,7 @@ "label": "update_oa_instance_draft()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L333", + "source_location": "L347", "id": "api_oa_approval_update_oa_instance_draft", "community": 0, "norm_label": "update_oa_instance_draft()" @@ -35818,7 +35836,7 @@ "label": "delete_oa_instance_draft()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L359", + "source_location": "L373", "id": "api_oa_approval_delete_oa_instance_draft", "community": 0, "norm_label": "delete_oa_instance_draft()" @@ -35827,7 +35845,7 @@ "label": "submit_oa_instance_draft()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L378", + "source_location": "L392", "id": "api_oa_approval_submit_oa_instance_draft", "community": 0, "norm_label": "submit_oa_instance_draft()" @@ -35836,7 +35854,7 @@ "label": "OaGroupCreateBody", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L413", + "source_location": "L427", "id": "api_oa_approval_oagroupcreatebody", "community": 2, "norm_label": "oagroupcreatebody" @@ -35845,7 +35863,7 @@ "label": "OaGroupUpdateBody", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L420", + "source_location": "L434", "id": "api_oa_approval_oagroupupdatebody", "community": 2, "norm_label": "oagroupupdatebody" @@ -35854,7 +35872,7 @@ "label": "list_oa_groups()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L428", + "source_location": "L442", "id": "api_oa_approval_list_oa_groups", "community": 0, "norm_label": "list_oa_groups()" @@ -35863,7 +35881,7 @@ "label": "create_oa_group()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L437", + "source_location": "L451", "id": "api_oa_approval_create_oa_group", "community": 0, "norm_label": "create_oa_group()" @@ -35872,7 +35890,7 @@ "label": "update_oa_group()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L458", + "source_location": "L472", "id": "api_oa_approval_update_oa_group", "community": 0, "norm_label": "update_oa_group()" @@ -35881,7 +35899,7 @@ "label": "delete_oa_group()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L482", + "source_location": "L496", "id": "api_oa_approval_delete_oa_group", "community": 0, "norm_label": "delete_oa_group()" @@ -35890,7 +35908,7 @@ "label": "OaAppCreateBody", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L500", + "source_location": "L514", "id": "api_oa_approval_oaappcreatebody", "community": 2, "norm_label": "oaappcreatebody" @@ -35899,7 +35917,7 @@ "label": "OaAppUpdateBody", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L515", + "source_location": "L529", "id": "api_oa_approval_oaappupdatebody", "community": 2, "norm_label": "oaappupdatebody" @@ -35908,7 +35926,7 @@ "label": "OaDraftSaveBody", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L530", + "source_location": "L544", "id": "api_oa_approval_oadraftsavebody", "community": 2, "norm_label": "oadraftsavebody" @@ -35917,7 +35935,7 @@ "label": "list_oa_apps()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L539", + "source_location": "L553", "id": "api_oa_approval_list_oa_apps", "community": 0, "norm_label": "list_oa_apps()" @@ -35926,7 +35944,7 @@ "label": "create_oa_app()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L554", + "source_location": "L568", "id": "api_oa_approval_create_oa_app", "community": 0, "norm_label": "create_oa_app()" @@ -35935,7 +35953,7 @@ "label": "copy_oa_app()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L590", + "source_location": "L604", "id": "api_oa_approval_copy_oa_app", "community": 0, "norm_label": "copy_oa_app()" @@ -35944,7 +35962,7 @@ "label": "update_oa_app()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L613", + "source_location": "L627", "id": "api_oa_approval_update_oa_app", "community": 0, "norm_label": "update_oa_app()" @@ -35953,7 +35971,7 @@ "label": "delete_oa_app()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L633", + "source_location": "L647", "id": "api_oa_approval_delete_oa_app", "community": 0, "norm_label": "delete_oa_app()" @@ -35962,7 +35980,7 @@ "label": "get_oa_app_draft()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L647", + "source_location": "L661", "id": "api_oa_approval_get_oa_app_draft", "community": 0, "norm_label": "get_oa_app_draft()" @@ -35971,7 +35989,7 @@ "label": "save_oa_app_draft()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L663", + "source_location": "L677", "id": "api_oa_approval_save_oa_app_draft", "community": 0, "norm_label": "save_oa_app_draft()" @@ -35980,7 +35998,7 @@ "label": "publish_oa_app()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L687", + "source_location": "L701", "id": "api_oa_approval_publish_oa_app", "community": 0, "norm_label": "publish_oa_app()" @@ -35989,7 +36007,7 @@ "label": "OaStartInstanceBody", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L708", + "source_location": "L722", "id": "api_oa_approval_oastartinstancebody", "community": 2, "norm_label": "oastartinstancebody" @@ -35998,7 +36016,7 @@ "label": "OaFlowPreviewBody", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L721", + "source_location": "L735", "id": "api_oa_approval_oaflowpreviewbody", "community": 2, "norm_label": "oaflowpreviewbody" @@ -36007,7 +36025,7 @@ "label": "OaTaskActionBody", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L729", + "source_location": "L743", "id": "api_oa_approval_oataskactionbody", "community": 2, "norm_label": "oataskactionbody" @@ -36016,7 +36034,7 @@ "label": "OaCcReadBatchBody", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L734", + "source_location": "L748", "id": "api_oa_approval_oaccreadbatchbody", "community": 2, "norm_label": "oaccreadbatchbody" @@ -36025,7 +36043,7 @@ "label": "OaAddSignBody", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L739", + "source_location": "L753", "id": "api_oa_approval_oaaddsignbody", "community": 2, "norm_label": "oaaddsignbody" @@ -36034,7 +36052,7 @@ "label": "OaTransferBody", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L745", + "source_location": "L759", "id": "api_oa_approval_oatransferbody", "community": 2, "norm_label": "oatransferbody" @@ -36043,7 +36061,7 @@ "label": "OaResubmitBody", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L751", + "source_location": "L765", "id": "api_oa_approval_oaresubmitbody", "community": 2, "norm_label": "oaresubmitbody" @@ -36052,7 +36070,7 @@ "label": "list_oa_templates()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L760", + "source_location": "L774", "id": "api_oa_approval_list_oa_templates", "community": 0, "norm_label": "list_oa_templates()" @@ -36061,7 +36079,7 @@ "label": "get_oa_template()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L772", + "source_location": "L786", "id": "api_oa_approval_get_oa_template", "community": 0, "norm_label": "get_oa_template()" @@ -36070,7 +36088,7 @@ "label": "preview_oa_template_flow()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L793", + "source_location": "L807", "id": "api_oa_approval_preview_oa_template_flow", "community": 0, "norm_label": "preview_oa_template_flow()" @@ -36079,7 +36097,7 @@ "label": "preview_oa_template_flow_get()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L825", + "source_location": "L839", "id": "api_oa_approval_preview_oa_template_flow_get", "community": 0, "norm_label": "preview_oa_template_flow_get()" @@ -36088,7 +36106,7 @@ "label": "start_oa_instance()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L856", + "source_location": "L870", "id": "api_oa_approval_start_oa_instance", "community": 0, "norm_label": "start_oa_instance()" @@ -36097,7 +36115,7 @@ "label": "get_oa_instance()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L883", + "source_location": "L897", "id": "api_oa_approval_get_oa_instance", "community": 0, "norm_label": "get_oa_instance()" @@ -36106,7 +36124,7 @@ "label": "list_related_candidates()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L898", + "source_location": "L912", "id": "api_oa_approval_list_related_candidates", "community": 0, "norm_label": "list_related_candidates()" @@ -36115,16 +36133,25 @@ "label": "get_related_summaries()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L920", + "source_location": "L934", "id": "api_oa_approval_get_related_summaries", "community": 0, "norm_label": "get_related_summaries()" }, + { + "label": "oa_pending_task_count()", + "file_type": "code", + "source_file": "api/oa_approval.py", + "source_location": "L959", + "id": "api_oa_approval_oa_pending_task_count", + "community": 0, + "norm_label": "oa_pending_task_count()" + }, { "label": "oa_cc_unread_count()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L945", + "source_location": "L976", "id": "api_oa_approval_oa_cc_unread_count", "community": 0, "norm_label": "oa_cc_unread_count()" @@ -36133,7 +36160,7 @@ "label": "oa_cc_read_batch()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L962", + "source_location": "L993", "id": "api_oa_approval_oa_cc_read_batch", "community": 0, "norm_label": "oa_cc_read_batch()" @@ -36142,7 +36169,7 @@ "label": "oa_task_mark_read()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L983", + "source_location": "L1014", "id": "api_oa_approval_oa_task_mark_read", "community": 0, "norm_label": "oa_task_mark_read()" @@ -36151,7 +36178,7 @@ "label": "list_oa_tasks()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L1004", + "source_location": "L1035", "id": "api_oa_approval_list_oa_tasks", "community": 0, "norm_label": "list_oa_tasks()" @@ -36160,7 +36187,7 @@ "label": "approve_oa_task()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L1027", + "source_location": "L1058", "id": "api_oa_approval_approve_oa_task", "community": 0, "norm_label": "approve_oa_task()" @@ -36169,7 +36196,7 @@ "label": "reject_oa_task()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L1051", + "source_location": "L1082", "id": "api_oa_approval_reject_oa_task", "community": 0, "norm_label": "reject_oa_task()" @@ -36178,7 +36205,7 @@ "label": "return_oa_task()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L1075", + "source_location": "L1106", "id": "api_oa_approval_return_oa_task", "community": 0, "norm_label": "return_oa_task()" @@ -36187,7 +36214,7 @@ "label": "resubmit_oa_instance()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L1098", + "source_location": "L1129", "id": "api_oa_approval_resubmit_oa_instance", "community": 0, "norm_label": "resubmit_oa_instance()" @@ -36196,7 +36223,7 @@ "label": "add_sign_oa_task()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L1122", + "source_location": "L1153", "id": "api_oa_approval_add_sign_oa_task", "community": 0, "norm_label": "add_sign_oa_task()" @@ -36205,7 +36232,7 @@ "label": "transfer_oa_task()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L1146", + "source_location": "L1177", "id": "api_oa_approval_transfer_oa_task", "community": 0, "norm_label": "transfer_oa_task()" @@ -36214,7 +36241,7 @@ "label": "withdraw_oa_instance()", "file_type": "code", "source_file": "api/oa_approval.py", - "source_location": "L1170", + "source_location": "L1201", "id": "api_oa_approval_withdraw_oa_instance", "community": 0, "norm_label": "withdraw_oa_instance()" @@ -36225,25 +36252,25 @@ "source_file": "api/oa_approval.py", "source_location": "L212", "id": "api_oa_approval_rationale_212", - "community": 6, + "community": 7, "norm_label": "\u622a\u6b62\u65e5\u671f:\u4ec5\u65e5\u671f\u65f6\u6269\u5230\u5f53\u5929 23:59:59\u3002" }, { "label": "\u53d1\u8d77\u524d\u9884\u89c8\u5ba1\u6279\u94fe\uff08\u6761\u4ef6\u9f50\u540e\u89e3\u6790\u6700\u7ec8\u8def\u5f84\u4e0e\u5ba1\u6279\u4eba\uff09\u3002", "file_type": "rationale", "source_file": "api/oa_approval.py", - "source_location": "L799", - "id": "api_oa_approval_rationale_799", - "community": 6, + "source_location": "L813", + "id": "api_oa_approval_rationale_813", + "community": 7, "norm_label": "\u53d1\u8d77\u524d\u9884\u89c8\u5ba1\u6279\u94fe(\u6761\u4ef6\u9f50\u540e\u89e3\u6790\u6700\u7ec8\u8def\u5f84\u4e0e\u5ba1\u6279\u4eba)\u3002" }, { "label": "\u517c\u5bb9\u65e7 GET\uff1a\u65e0 formData\uff0c\u542b\u6761\u4ef6\u5206\u652f\u65f6\u591a\u4e3a\u5f85\u786e\u5b9a\u5360\u4f4d\u3002", "file_type": "rationale", "source_file": "api/oa_approval.py", - "source_location": "L830", - "id": "api_oa_approval_rationale_830", - "community": 6, + "source_location": "L844", + "id": "api_oa_approval_rationale_844", + "community": 7, "norm_label": "\u517c\u5bb9\u65e7 get:\u65e0 formdata,\u542b\u6761\u4ef6\u5206\u652f\u65f6\u591a\u4e3a\u5f85\u786e\u5b9a\u5360\u4f4d\u3002" }, { @@ -36270,7 +36297,7 @@ "source_file": "api/operations.py", "source_location": "L39", "id": "api_operations_cleanroomcreatebody", - "community": 10, + "community": 11, "norm_label": "cleanroomcreatebody" }, { @@ -36279,7 +36306,7 @@ "source_file": "api/operations.py", "source_location": "L52", "id": "api_operations_cleanroomupdatebody", - "community": 10, + "community": 11, "norm_label": "cleanroomupdatebody" }, { @@ -36324,7 +36351,7 @@ "source_file": "api/operations.py", "source_location": "L164", "id": "api_operations_accesslogcreatebody", - "community": 10, + "community": 11, "norm_label": "accesslogcreatebody" }, { @@ -36333,7 +36360,7 @@ "source_file": "api/operations.py", "source_location": "L178", "id": "api_operations_accesslogupdatebody", - "community": 10, + "community": 11, "norm_label": "accesslogupdatebody" }, { @@ -36387,7 +36414,7 @@ "source_file": "api/operations.py", "source_location": "L301", "id": "api_operations_uvdisinfectlogcreatebody", - "community": 10, + "community": 11, "norm_label": "uvdisinfectlogcreatebody" }, { @@ -36396,7 +36423,7 @@ "source_file": "api/operations.py", "source_location": "L313", "id": "api_operations_uvdisinfectlogupdatebody", - "community": 10, + "community": 11, "norm_label": "uvdisinfectlogupdatebody" }, { @@ -36441,7 +36468,7 @@ "source_file": "api/operations.py", "source_location": "L427", "id": "api_operations_storagefacilitycreatebody", - "community": 10, + "community": 11, "norm_label": "storagefacilitycreatebody" }, { @@ -36450,7 +36477,7 @@ "source_file": "api/operations.py", "source_location": "L439", "id": "api_operations_storagefacilityupdatebody", - "community": 10, + "community": 11, "norm_label": "storagefacilityupdatebody" }, { @@ -36459,7 +36486,7 @@ "source_file": "api/operations.py", "source_location": "L450", "id": "api_operations_storagefacilitybatchcreatebody", - "community": 10, + "community": 11, "norm_label": "storagefacilitybatchcreatebody" }, { @@ -36513,7 +36540,7 @@ "source_file": "api/operations.py", "source_location": "L594", "id": "api_operations_storageslotcreatebody", - "community": 10, + "community": 11, "norm_label": "storageslotcreatebody" }, { @@ -36522,7 +36549,7 @@ "source_file": "api/operations.py", "source_location": "L605", "id": "api_operations_storageslotbatchcreatebody", - "community": 10, + "community": 11, "norm_label": "storageslotbatchcreatebody" }, { @@ -36531,7 +36558,7 @@ "source_file": "api/operations.py", "source_location": "L612", "id": "api_operations_storageslotupdatebody", - "community": 10, + "community": 11, "norm_label": "storageslotupdatebody" }, { @@ -36540,7 +36567,7 @@ "source_file": "api/operations.py", "source_location": "L621", "id": "api_operations_storageslotclearbody", - "community": 10, + "community": 11, "norm_label": "storageslotclearbody" }, { @@ -36549,7 +36576,7 @@ "source_file": "api/operations.py", "source_location": "L626", "id": "api_operations_storageslotinsertrowbody", - "community": 10, + "community": 11, "norm_label": "storageslotinsertrowbody" }, { @@ -36639,7 +36666,7 @@ "source_file": "api/operations.py", "source_location": "L861", "id": "api_operations_occupancycreatebody", - "community": 10, + "community": 11, "norm_label": "occupancycreatebody" }, { @@ -36684,7 +36711,7 @@ "source_file": "api/operations.py", "source_location": "L970", "id": "api_operations_exhibitionappointmentcreatebody", - "community": 10, + "community": 11, "norm_label": "exhibitionappointmentcreatebody" }, { @@ -36693,7 +36720,7 @@ "source_file": "api/operations.py", "source_location": "L983", "id": "api_operations_exhibitionappointmentupdatebody", - "community": 10, + "community": 11, "norm_label": "exhibitionappointmentupdatebody" }, { @@ -36747,7 +36774,7 @@ "source_file": "api/operations.py", "source_location": "L1", "id": "api_operations_rationale_1", - "community": 10, + "community": 11, "norm_label": "\u8fd0\u8425\u652f\u6491 api(\u6d01\u51c0\u5ba4\u3001\u8fdb\u51fa\u8bb0\u5f55\u3001\u4ed3\u50a8\u8bbe\u65bd\u3001\u50a8\u4f4d\u3001\u5c55\u5385\u9884\u7ea6)" }, { @@ -36756,7 +36783,7 @@ "source_file": "api/operations.py", "source_location": "L674", "id": "api_operations_rationale_674", - "community": 10, + "community": 11, "norm_label": "\u5404\u53f6\u5b50\u8282\u70b9\u683c\u5b50\u5360\u7528/\u603b\u6570\u7edf\u8ba1(\u5355\u6b21\u805a\u5408,\u66ff\u4ee3\u9010\u8282\u70b9\u62c9\u5168\u91cf\u683c\u5b50\u5217\u8868)\u3002" }, { @@ -36765,7 +36792,7 @@ "source_file": "api/menu.py", "source_location": "L1", "id": "api_menu_py", - "community": 31, + "community": 28, "norm_label": "menu.py" }, { @@ -36774,7 +36801,7 @@ "source_file": "api/menu.py", "source_location": "L1016", "id": "api_menu_get_menu_list", - "community": 31, + "community": 28, "norm_label": "get_menu_list()" }, { @@ -36783,7 +36810,7 @@ "source_file": "api/menu.py", "source_location": "L1", "id": "api_menu_rationale_1", - "community": 31, + "community": 28, "norm_label": "\u8fd0\u8425\u7aef\u83dc\u5355\u63a5\u53e3(\u4e0e web-admin \u524d\u7aef\u9759\u6001\u8def\u7531 sqxp.ts \u5bf9\u9f50,5 \u4e2a\u4e00\u7ea7\u83dc\u5355\u5206\u7ec4)" }, { @@ -36945,7 +36972,7 @@ "source_file": "api/admin.py", "source_location": "L1", "id": "api_admin_py", - "community": 0, + "community": 2, "norm_label": "admin.py" }, { @@ -36954,7 +36981,7 @@ "source_file": "api/admin.py", "source_location": "L44", "id": "api_admin_list_roles_for_select", - "community": 0, + "community": 2, "norm_label": "list_roles_for_select()" }, { @@ -36963,7 +36990,7 @@ "source_file": "api/admin.py", "source_location": "L76", "id": "api_admin_list_users_for_select", - "community": 0, + "community": 2, "norm_label": "list_users_for_select()" }, { @@ -36972,7 +36999,7 @@ "source_file": "api/admin.py", "source_location": "L103", "id": "api_admin_list_roles_for_designer", - "community": 0, + "community": 2, "norm_label": "list_roles_for_designer()" }, { @@ -37035,7 +37062,7 @@ "source_file": "api/admin.py", "source_location": "L231", "id": "api_admin_get_tenant_no", - "community": 0, + "community": 2, "norm_label": "_get_tenant_no()" }, { @@ -37062,7 +37089,7 @@ "source_file": "api/admin.py", "source_location": "L285", "id": "api_admin_list_users", - "community": 0, + "community": 2, "norm_label": "list_users()" }, { @@ -37071,7 +37098,7 @@ "source_file": "api/admin.py", "source_location": "L347", "id": "api_admin_get_user_by_id", - "community": 0, + "community": 12, "norm_label": "get_user_by_id()" }, { @@ -37134,7 +37161,7 @@ "source_file": "api/admin.py", "source_location": "L485", "id": "api_admin_list_dict_types", - "community": 0, + "community": 2, "norm_label": "list_dict_types()" }, { @@ -37188,7 +37215,7 @@ "source_file": "api/admin.py", "source_location": "L585", "id": "api_admin_list_dict_data", - "community": 0, + "community": 2, "norm_label": "list_dict_data()" }, { @@ -37224,7 +37251,7 @@ "source_file": "api/admin.py", "source_location": "L661", "id": "api_admin_dict_data_options", - "community": 0, + "community": 2, "norm_label": "dict_data_options()" }, { @@ -37251,7 +37278,7 @@ "source_file": "api/admin.py", "source_location": "L704", "id": "api_admin_list_depts", - "community": 0, + "community": 2, "norm_label": "list_depts()" }, { @@ -37305,7 +37332,7 @@ "source_file": "api/admin.py", "source_location": "L819", "id": "api_admin_list_sites", - "community": 0, + "community": 2, "norm_label": "list_sites()" }, { @@ -37359,7 +37386,7 @@ "source_file": "api/admin.py", "source_location": "L930", "id": "api_admin_list_posts", - "community": 0, + "community": 2, "norm_label": "list_posts()" }, { @@ -37404,7 +37431,7 @@ "source_file": "api/admin.py", "source_location": "L1010", "id": "api_admin_list_post_bound_users", - "community": 0, + "community": 2, "norm_label": "list_post_bound_users()" }, { @@ -37413,7 +37440,7 @@ "source_file": "api/admin.py", "source_location": "L1024", "id": "api_admin_update_post_bound_users", - "community": 0, + "community": 2, "norm_label": "update_post_bound_users()" }, { @@ -37431,7 +37458,7 @@ "source_file": "api/admin.py", "source_location": "L1050", "id": "api_admin_list_post_bound_roles", - "community": 0, + "community": 2, "norm_label": "list_post_bound_roles()" }, { @@ -37440,7 +37467,7 @@ "source_file": "api/admin.py", "source_location": "L1064", "id": "api_admin_update_post_bound_roles", - "community": 0, + "community": 2, "norm_label": "update_post_bound_roles()" }, { @@ -37521,7 +37548,7 @@ "source_file": "api/admin.py", "source_location": "L1204", "id": "api_admin_list_express_companies", - "community": 0, + "community": 2, "norm_label": "list_express_companies()" }, { @@ -37575,7 +37602,7 @@ "source_file": "api/admin.py", "source_location": "L1315", "id": "api_admin_list_menus", - "community": 0, + "community": 2, "norm_label": "list_menus()" }, { @@ -37647,7 +37674,7 @@ "source_file": "api/admin.py", "source_location": "L1434", "id": "api_admin_list_role_management", - "community": 0, + "community": 2, "norm_label": "list_role_management()" }, { @@ -37683,7 +37710,7 @@ "source_file": "api/admin.py", "source_location": "L1508", "id": "api_admin_get_role_menus", - "community": 0, + "community": 1, "norm_label": "get_role_menus()" }, { @@ -37719,7 +37746,7 @@ "source_file": "api/admin.py", "source_location": "L1572", "id": "api_admin_format_file_size", - "community": 0, + "community": 2, "norm_label": "_format_file_size()" }, { @@ -37728,7 +37755,7 @@ "source_file": "api/admin.py", "source_location": "L1582", "id": "api_admin_upload_attachment", - "community": 0, + "community": 2, "norm_label": "upload_attachment()" }, { @@ -37746,7 +37773,7 @@ "source_file": "api/admin.py", "source_location": "L1635", "id": "api_admin_attachment_download_url", - "community": 0, + "community": 2, "norm_label": "attachment_download_url()" }, { @@ -37989,7 +38016,7 @@ "source_file": "api/research_donation.py", "source_location": "L1", "id": "api_research_donation_py", - "community": 4, + "community": 0, "norm_label": "research_donation.py" }, { @@ -37998,7 +38025,7 @@ "source_file": "api/research_donation.py", "source_location": "L18", "id": "api_research_donation_get_tenant_no", - "community": 4, + "community": 0, "norm_label": "_get_tenant_no()" }, { @@ -38007,7 +38034,7 @@ "source_file": "api/research_donation.py", "source_location": "L28", "id": "api_research_donation_get_current_user_id", - "community": 4, + "community": 0, "norm_label": "_get_current_user_id()" }, { @@ -38070,7 +38097,7 @@ "source_file": "api/research_donation.py", "source_location": "L128", "id": "api_research_donation_list_research_donations", - "community": 4, + "community": 0, "norm_label": "list_research_donations()" }, { @@ -38079,7 +38106,7 @@ "source_file": "api/research_donation.py", "source_location": "L163", "id": "api_research_donation_list_research_donation_audits", - "community": 4, + "community": 0, "norm_label": "list_research_donation_audits()" }, { @@ -38088,7 +38115,7 @@ "source_file": "api/research_donation.py", "source_location": "L192", "id": "api_research_donation_next_research_donation_sample_code", - "community": 4, + "community": 0, "norm_label": "next_research_donation_sample_code()" }, { @@ -38097,7 +38124,7 @@ "source_file": "api/research_donation.py", "source_location": "L209", "id": "api_research_donation_get_research_donation_detail", - "community": 4, + "community": 0, "norm_label": "get_research_donation_detail()" }, { @@ -38106,7 +38133,7 @@ "source_file": "api/research_donation.py", "source_location": "L227", "id": "api_research_donation_create_research_donation", - "community": 4, + "community": 0, "norm_label": "create_research_donation()" }, { @@ -38115,7 +38142,7 @@ "source_file": "api/research_donation.py", "source_location": "L259", "id": "api_research_donation_update_research_donation", - "community": 4, + "community": 0, "norm_label": "update_research_donation()" }, { @@ -38124,7 +38151,7 @@ "source_file": "api/research_donation.py", "source_location": "L290", "id": "api_research_donation_delete_research_donation", - "community": 4, + "community": 0, "norm_label": "delete_research_donation()" }, { @@ -38133,7 +38160,7 @@ "source_file": "api/research_donation.py", "source_location": "L315", "id": "api_research_donation_batch_delete_research_donations", - "community": 4, + "community": 0, "norm_label": "batch_delete_research_donations()" }, { @@ -38151,7 +38178,7 @@ "source_file": "api/research_donation.py", "source_location": "L373", "id": "api_research_donation_change_donation_status", - "community": 4, + "community": 0, "norm_label": "change_donation_status()" }, { @@ -38160,7 +38187,7 @@ "source_file": "api/research_donation.py", "source_location": "L406", "id": "api_research_donation_convert_from_storage", - "community": 4, + "community": 0, "norm_label": "convert_from_storage()" }, { @@ -38169,7 +38196,7 @@ "source_file": "api/research_donation.py", "source_location": "L434", "id": "api_research_donation_convert_to_storage", - "community": 4, + "community": 0, "norm_label": "convert_to_storage()" }, { @@ -38178,7 +38205,7 @@ "source_file": "api/research_donation.py", "source_location": "L1", "id": "api_research_donation_rationale_1", - "community": 4, + "community": 2, "norm_label": "\u79d1\u7814\u6350\u8d60\u7ba1\u7406 \u2014 \u6350\u8d60\u5355 crud / \u5ba1\u6838 / \u72b6\u6001\u53d8\u66f4 / \u8f6c\u6362 api" }, { @@ -38187,7 +38214,7 @@ "source_file": "api/ethnic.py", "source_location": "L1", "id": "api_ethnic_py", - "community": 5, + "community": 4, "norm_label": "ethnic.py" }, { @@ -38196,7 +38223,7 @@ "source_file": "api/ethnic.py", "source_location": "L16", "id": "api_ethnic_list_ethnics_for_select", - "community": 5, + "community": 4, "norm_label": "list_ethnics_for_select()" }, { @@ -39708,7 +39735,7 @@ "source_file": "api/workflow.py", "source_location": "L269", "id": "api_workflow_get_designer_data", - "community": 5, + "community": 6, "norm_label": "get_designer_data()" }, { @@ -40068,7 +40095,7 @@ "source_file": "api/sample_reception.py", "source_location": "L272", "id": "api_sample_reception_rationale_272", - "community": 2, + "community": 0, "norm_label": "\u6839\u636e\u6837\u672c\u7f16\u7801\u67e5\u8be2\u6837\u672c\u63a5\u6536\u8bb0\u5f55:\u6709\u5219\u8fd4\u56de receptionid + sampleinfo;\u65e0\u5219\u4ec5\u8fd4\u56de sampleinfo(\u7528\u4e8e\u65b0\u5efa)\u3002" }, { @@ -40338,7 +40365,7 @@ "source_file": "api/insurance_company.py", "source_location": "L1", "id": "api_insurance_company_rationale_1", - "community": 0, + "community": 3, "norm_label": "\u4fdd\u9669\u516c\u53f8\u53ca\u9669\u79cd\u4ef7\u683c\u7ba1\u7406 api(\u4fdd\u9669\u516c\u53f8 + \u5f00\u7968\u4fe1\u606f + \u9669\u79cd\u4ef7\u683c)" }, { @@ -40383,7 +40410,7 @@ "source_file": "api/production.py", "source_location": "L98", "id": "api_production_consumablecreatebody", - "community": 2, + "community": 13, "norm_label": "consumablecreatebody" }, { @@ -40392,7 +40419,7 @@ "source_file": "api/production.py", "source_location": "L112", "id": "api_production_consumableupdatebody", - "community": 2, + "community": 13, "norm_label": "consumableupdatebody" }, { @@ -40446,7 +40473,7 @@ "source_file": "api/production.py", "source_location": "L178", "id": "api_production_stockinbody", - "community": 2, + "community": 13, "norm_label": "stockinbody" }, { @@ -40455,7 +40482,7 @@ "source_file": "api/production.py", "source_location": "L184", "id": "api_production_stockoutbody", - "community": 2, + "community": 13, "norm_label": "stockoutbody" }, { @@ -40464,7 +40491,7 @@ "source_file": "api/production.py", "source_location": "L192", "id": "api_production_batchstockinitem", - "community": 2, + "community": 13, "norm_label": "batchstockinitem" }, { @@ -40473,7 +40500,7 @@ "source_file": "api/production.py", "source_location": "L199", "id": "api_production_batchstockinbody", - "community": 2, + "community": 13, "norm_label": "batchstockinbody" }, { @@ -40482,7 +40509,7 @@ "source_file": "api/production.py", "source_location": "L205", "id": "api_production_batchstockoutitem", - "community": 2, + "community": 13, "norm_label": "batchstockoutitem" }, { @@ -40491,7 +40518,7 @@ "source_file": "api/production.py", "source_location": "L211", "id": "api_production_batchstockoutbody", - "community": 2, + "community": 13, "norm_label": "batchstockoutbody" }, { @@ -40554,7 +40581,7 @@ "source_file": "api/production.py", "source_location": "L348", "id": "api_production_reagentcreatebody", - "community": 2, + "community": 13, "norm_label": "reagentcreatebody" }, { @@ -40563,7 +40590,7 @@ "source_file": "api/production.py", "source_location": "L362", "id": "api_production_reagentupdatebody", - "community": 2, + "community": 13, "norm_label": "reagentupdatebody" }, { @@ -40671,7 +40698,7 @@ "source_file": "api/production.py", "source_location": "L557", "id": "api_production_sopdocumentcreatebody", - "community": 2, + "community": 13, "norm_label": "sopdocumentcreatebody" }, { @@ -40680,7 +40707,7 @@ "source_file": "api/production.py", "source_location": "L567", "id": "api_production_sopdocumentupdatebody", - "community": 2, + "community": 13, "norm_label": "sopdocumentupdatebody" }, { @@ -40734,7 +40761,7 @@ "source_file": "api/production.py", "source_location": "L675", "id": "api_production_processcategorycreatebody", - "community": 2, + "community": 13, "norm_label": "processcategorycreatebody" }, { @@ -40743,7 +40770,7 @@ "source_file": "api/production.py", "source_location": "L683", "id": "api_production_processcategoryupdatebody", - "community": 2, + "community": 13, "norm_label": "processcategoryupdatebody" }, { @@ -40797,7 +40824,7 @@ "source_file": "api/production.py", "source_location": "L778", "id": "api_production_equipmentcreatebody", - "community": 2, + "community": 13, "norm_label": "equipmentcreatebody" }, { @@ -40806,7 +40833,7 @@ "source_file": "api/production.py", "source_location": "L793", "id": "api_production_equipmentupdatebody", - "community": 2, + "community": 13, "norm_label": "equipmentupdatebody" }, { @@ -40860,7 +40887,7 @@ "source_file": "api/production.py", "source_location": "L920", "id": "api_production_outputtypecreatebody", - "community": 2, + "community": 13, "norm_label": "outputtypecreatebody" }, { @@ -40869,7 +40896,7 @@ "source_file": "api/production.py", "source_location": "L928", "id": "api_production_outputtypeupdatebody", - "community": 2, + "community": 13, "norm_label": "outputtypeupdatebody" }, { @@ -40923,7 +40950,7 @@ "source_file": "api/production.py", "source_location": "L1023", "id": "api_production_productionproducttypecreatebody", - "community": 2, + "community": 13, "norm_label": "productionproducttypecreatebody" }, { @@ -40932,7 +40959,7 @@ "source_file": "api/production.py", "source_location": "L1032", "id": "api_production_productionproducttypeupdatebody", - "community": 2, + "community": 13, "norm_label": "productionproducttypeupdatebody" }, { @@ -40977,7 +41004,7 @@ "source_file": "api/production.py", "source_location": "L1127", "id": "api_production_packiteminput", - "community": 2, + "community": 13, "norm_label": "packiteminput" }, { @@ -40986,7 +41013,7 @@ "source_file": "api/production.py", "source_location": "L1137", "id": "api_production_consumablepackcreatebody", - "community": 2, + "community": 13, "norm_label": "consumablepackcreatebody" }, { @@ -40995,7 +41022,7 @@ "source_file": "api/production.py", "source_location": "L1149", "id": "api_production_consumablepackupdatebody", - "community": 2, + "community": 13, "norm_label": "consumablepackupdatebody" }, { @@ -41058,7 +41085,7 @@ "source_file": "api/production.py", "source_location": "L1270", "id": "api_production_processreagentinput", - "community": 2, + "community": 13, "norm_label": "processreagentinput" }, { @@ -41067,7 +41094,7 @@ "source_file": "api/production.py", "source_location": "L1281", "id": "api_production_processconsumableinput", - "community": 2, + "community": 13, "norm_label": "processconsumableinput" }, { @@ -41076,7 +41103,7 @@ "source_file": "api/production.py", "source_location": "L1292", "id": "api_production_processoutputinput", - "community": 2, + "community": 13, "norm_label": "processoutputinput" }, { @@ -41085,7 +41112,7 @@ "source_file": "api/production.py", "source_location": "L1300", "id": "api_production_processdatacollectioninput", - "community": 2, + "community": 13, "norm_label": "processdatacollectioninput" }, { @@ -41094,7 +41121,7 @@ "source_file": "api/production.py", "source_location": "L1308", "id": "api_production_processcreatebody", - "community": 2, + "community": 13, "norm_label": "processcreatebody" }, { @@ -41103,7 +41130,7 @@ "source_file": "api/production.py", "source_location": "L1325", "id": "api_production_processupdatebody", - "community": 2, + "community": 13, "norm_label": "processupdatebody" }, { @@ -41634,7 +41661,7 @@ "source_file": "api/production.py", "source_location": "L2660", "id": "api_production_get_next_cell_product_code", - "community": 0, + "community": 10, "norm_label": "get_next_cell_product_code()" }, { @@ -41733,7 +41760,7 @@ "source_file": "api/production.py", "source_location": "L1", "id": "api_production_rationale_1", - "community": 2, + "community": 13, "norm_label": "\u751f\u4ea7\u7ba1\u7406 api \u8def\u7531(7 \u4e2a\u5b50\u6a21\u5757:\u8017\u6750\u3001\u8bd5\u5242\u3001sop\u6587\u6863\u3001\u5de5\u827a\u5de5\u5e8f\u5206\u7c7b\u3001\u4ea7\u51fa\u7269\u7c7b\u578b\u3001\u8017\u6750\u5305\u3001\u5de5\u827a\u5e93)" }, { @@ -41742,7 +41769,7 @@ "source_file": "api/production.py", "source_location": "L2284", "id": "api_production_rationale_2284", - "community": 2, + "community": 13, "norm_label": "\u7f16\u8f91\u751f\u4ea7\u4efb\u52a1\u5f39\u7a97\u521d\u59cb\u5316:\u4efb\u52a1\u8be6\u60c5 + \u5de5\u827a\u5e93 + \u6b65\u9aa4\u914d\u7f6e\u53c2\u8003\u6570\u636e(\u805a\u5408\u63a5\u53e3)\u3002" }, { @@ -41751,7 +41778,7 @@ "source_file": "api/production.py", "source_location": "L2681", "id": "api_production_rationale_2681", - "community": 2, + "community": 13, "norm_label": "\u67e5\u8be2 `{productcode}-{\u4ee3\u6b21}-xx` \u5728\u7ec6\u80de\u4ea7\u54c1\u5e93\u4e2d\u7684\u6700\u5927\u4e24\u4f4d\u5e8f\u53f7\u3002" }, { @@ -41760,7 +41787,7 @@ "source_file": "api/production.py", "source_location": "L2721", "id": "api_production_rationale_2721", - "community": 2, + "community": 13, "norm_label": "\u67e5\u8be2 `{productcode}-xx` \u5728\u7ec6\u80de\u4ea7\u54c1\u5e93\u4e2d\u7684\u6700\u5927\u4e24\u4f4d\u5e8f\u53f7\u3002" }, { @@ -41769,7 +41796,7 @@ "source_file": "api/production.py", "source_location": "L2737", "id": "api_production_rationale_2737", - "community": 2, + "community": 13, "norm_label": "\u68c0\u67e5\u4ea7\u54c1\u7f16\u7801\u662f\u5426\u5df2\u88ab\u5360\u7528(\u7f16\u8f91\u65f6\u53ef\u6392\u9664\u5f53\u524d\u8bb0\u5f55)\u3002" }, { @@ -42111,7 +42138,7 @@ "source_file": "services/oa_engine.py", "source_location": "L1", "id": "services_oa_engine_py", - "community": 6, + "community": 7, "norm_label": "oa_engine.py" }, { @@ -42120,7 +42147,7 @@ "source_file": "services/oa_engine.py", "source_location": "L40", "id": "services_oa_engine_oaengineerror", - "community": 6, + "community": 7, "norm_label": "oaengineerror" }, { @@ -42129,7 +42156,7 @@ "source_file": "services/oa_engine.py", "source_location": "L49", "id": "services_oa_engine_loads", - "community": 6, + "community": 7, "norm_label": "_loads()" }, { @@ -42138,7 +42165,7 @@ "source_file": "services/oa_engine.py", "source_location": "L60", "id": "services_oa_engine_dumps", - "community": 6, + "community": 7, "norm_label": "_dumps()" }, { @@ -42147,7 +42174,7 @@ "source_file": "services/oa_engine.py", "source_location": "L64", "id": "services_oa_engine_normalize_initiator_select_by_node", - "community": 6, + "community": 7, "norm_label": "_normalize_initiator_select_by_node()" }, { @@ -42156,7 +42183,7 @@ "source_file": "services/oa_engine.py", "source_location": "L83", "id": "services_oa_engine_ids_for_initiator_select_node", - "community": 6, + "community": 7, "norm_label": "_ids_for_initiator_select_node()" }, { @@ -42165,7 +42192,7 @@ "source_file": "services/oa_engine.py", "source_location": "L93", "id": "services_oa_engine_load_initiator_select_by_node", - "community": 6, + "community": 7, "norm_label": "_load_initiator_select_by_node()" }, { @@ -42174,7 +42201,7 @@ "source_file": "services/oa_engine.py", "source_location": "L99", "id": "services_oa_engine_node_type", - "community": 6, + "community": 7, "norm_label": "_node_type()" }, { @@ -42183,7 +42210,7 @@ "source_file": "services/oa_engine.py", "source_location": "L103", "id": "services_oa_engine_subtree_contains", - "community": 6, + "community": 7, "norm_label": "_subtree_contains()" }, { @@ -42192,7 +42219,7 @@ "source_file": "services/oa_engine.py", "source_location": "L118", "id": "services_oa_engine_merge_after_branch_end", - "community": 6, + "community": 7, "norm_label": "_merge_after_branch_end()" }, { @@ -42201,7 +42228,7 @@ "source_file": "services/oa_engine.py", "source_location": "L145", "id": "services_oa_engine_flow_root", - "community": 6, + "community": 7, "norm_label": "_flow_root()" }, { @@ -42210,7 +42237,7 @@ "source_file": "services/oa_engine.py", "source_location": "L153", "id": "services_oa_engine_find_node", - "community": 6, + "community": 7, "norm_label": "_find_node()" }, { @@ -42219,7 +42246,7 @@ "source_file": "services/oa_engine.py", "source_location": "L171", "id": "services_oa_engine_flow_node_key_order", - "community": 6, + "community": 7, "norm_label": "_flow_node_key_order()" }, { @@ -42228,7 +42255,7 @@ "source_file": "services/oa_engine.py", "source_location": "L196", "id": "services_oa_engine_next_task_order_num", - "community": 6, + "community": 7, "norm_label": "_next_task_order_num()" }, { @@ -42237,7 +42264,7 @@ "source_file": "services/oa_engine.py", "source_location": "L207", "id": "services_oa_engine_sort_tasks_for_detail", - "community": 6, + "community": 7, "norm_label": "_sort_tasks_for_detail()" }, { @@ -42246,7 +42273,7 @@ "source_file": "services/oa_engine.py", "source_location": "L227", "id": "services_oa_engine_fmt_dt", - "community": 6, + "community": 7, "norm_label": "_fmt_dt()" }, { @@ -42255,7 +42282,7 @@ "source_file": "services/oa_engine.py", "source_location": "L235", "id": "services_oa_engine_terminal_item", - "community": 6, + "community": 7, "norm_label": "_terminal_item()" }, { @@ -42264,7 +42291,7 @@ "source_file": "services/oa_engine.py", "source_location": "L250", "id": "services_oa_engine_task_round", - "community": 6, + "community": 7, "norm_label": "_task_round()" }, { @@ -42273,7 +42300,7 @@ "source_file": "services/oa_engine.py", "source_location": "L260", "id": "services_oa_engine_append_pending_nodes", - "community": 6, + "community": 7, "norm_label": "_append_pending_nodes()" }, { @@ -42282,7 +42309,7 @@ "source_file": "services/oa_engine.py", "source_location": "L300", "id": "services_oa_engine_pending_people_for_node", - "community": 6, + "community": 7, "norm_label": "_pending_people_for_node()" }, { @@ -42291,7 +42318,7 @@ "source_file": "services/oa_engine.py", "source_location": "L392", "id": "services_oa_engine_iter_resolved_path_nodes", - "community": 6, + "community": 7, "norm_label": "_iter_resolved_path_nodes()" }, { @@ -42300,7 +42327,7 @@ "source_file": "services/oa_engine.py", "source_location": "L430", "id": "services_oa_engine_append_pending_nodes_on_path", - "community": 6, + "community": 7, "norm_label": "_append_pending_nodes_on_path()" }, { @@ -42309,7 +42336,7 @@ "source_file": "services/oa_engine.py", "source_location": "L514", "id": "services_oa_engine_progress_person", - "community": 6, + "community": 7, "norm_label": "_progress_person()" }, { @@ -42318,7 +42345,7 @@ "source_file": "services/oa_engine.py", "source_location": "L528", "id": "services_oa_engine_enrich_transfer_targets", - "community": 6, + "community": 7, "norm_label": "_enrich_transfer_targets()" }, { @@ -42327,7 +42354,7 @@ "source_file": "services/oa_engine.py", "source_location": "L570", "id": "services_oa_engine_dt_sort_key", - "community": 6, + "community": 7, "norm_label": "_dt_sort_key()" }, { @@ -42336,7 +42363,7 @@ "source_file": "services/oa_engine.py", "source_location": "L579", "id": "services_oa_engine_aggregate_node_status", - "community": 6, + "community": 7, "norm_label": "_aggregate_node_status()" }, { @@ -42345,7 +42372,7 @@ "source_file": "services/oa_engine.py", "source_location": "L597", "id": "services_oa_engine_group_tasks_by_node", - "community": 6, + "community": 7, "norm_label": "_group_tasks_by_node()" }, { @@ -42354,7 +42381,7 @@ "source_file": "services/oa_engine.py", "source_location": "L607", "id": "services_oa_engine_build_progress_items", - "community": 6, + "community": 7, "norm_label": "build_progress_items()" }, { @@ -42363,7 +42390,7 @@ "source_file": "services/oa_engine.py", "source_location": "L748", "id": "services_oa_engine_add_instance_event", - "community": 6, + "community": 7, "norm_label": "_add_instance_event()" }, { @@ -42372,7 +42399,7 @@ "source_file": "services/oa_engine.py", "source_location": "L783", "id": "services_oa_engine_advanced", - "community": 6, + "community": 7, "norm_label": "_advanced()" }, { @@ -42381,7 +42408,7 @@ "source_file": "services/oa_engine.py", "source_location": "L792", "id": "services_oa_engine_check_initiator_scope", - "community": 6, + "community": 7, "norm_label": "_check_initiator_scope()" }, { @@ -42390,7 +42417,7 @@ "source_file": "services/oa_engine.py", "source_location": "L801", "id": "services_oa_engine_instance_to_dict", - "community": 6, + "community": 7, "norm_label": "_instance_to_dict()" }, { @@ -42408,7 +42435,7 @@ "source_file": "services/oa_engine.py", "source_location": "L851", "id": "services_oa_engine_instance_progress_summary", - "community": 6, + "community": 7, "norm_label": "_instance_progress_summary()" }, { @@ -42417,7 +42444,7 @@ "source_file": "services/oa_engine.py", "source_location": "L892", "id": "services_oa_engine_enrich_list_rows", - "community": 6, + "community": 7, "norm_label": "_enrich_list_rows()" }, { @@ -42426,7 +42453,7 @@ "source_file": "services/oa_engine.py", "source_location": "L964", "id": "services_oa_engine_user_name_map", - "community": 6, + "community": 7, "norm_label": "_user_name_map()" }, { @@ -42435,7 +42462,7 @@ "source_file": "services/oa_engine.py", "source_location": "L972", "id": "services_oa_engine_dept_name", - "community": 6, + "community": 7, "norm_label": "_dept_name()" }, { @@ -42444,7 +42471,7 @@ "source_file": "services/oa_engine.py", "source_location": "L986", "id": "services_oa_engine_list_templates", - "community": 6, + "community": 7, "norm_label": "list_templates()" }, { @@ -42453,7 +42480,7 @@ "source_file": "services/oa_engine.py", "source_location": "L1016", "id": "services_oa_engine_get_template_detail", - "community": 6, + "community": 7, "norm_label": "get_template_detail()" }, { @@ -42462,7 +42489,7 @@ "source_file": "services/oa_engine.py", "source_location": "L1049", "id": "services_oa_engine_post_name_map", - "community": 6, + "community": 7, "norm_label": "_post_name_map()" }, { @@ -42471,7 +42498,7 @@ "source_file": "services/oa_engine.py", "source_location": "L1067", "id": "services_oa_engine_assignee_meta", - "community": 6, + "community": 7, "norm_label": "_assignee_meta()" }, { @@ -42480,7 +42507,7 @@ "source_file": "services/oa_engine.py", "source_location": "L1081", "id": "services_oa_engine_assignee_meta_for_cc", - "community": 6, + "community": 7, "norm_label": "_assignee_meta_for_cc()" }, { @@ -42489,7 +42516,7 @@ "source_file": "services/oa_engine.py", "source_location": "L1092", "id": "services_oa_engine_preview_people", - "community": 6, + "community": 7, "norm_label": "_preview_people()" }, { @@ -42498,7 +42525,7 @@ "source_file": "services/oa_engine.py", "source_location": "L1105", "id": "services_oa_engine_form_value_present", - "community": 6, + "community": 7, "norm_label": "_form_value_present()" }, { @@ -42507,7 +42534,7 @@ "source_file": "services/oa_engine.py", "source_location": "L1122", "id": "services_oa_engine_collect_condition_fields", - "community": 6, + "community": 7, "norm_label": "_collect_condition_fields()" }, { @@ -42516,7 +42543,7 @@ "source_file": "services/oa_engine.py", "source_location": "L1176", "id": "services_oa_engine_condition_fields_ready", - "community": 6, + "community": 7, "norm_label": "_condition_fields_ready()" }, { @@ -42525,7 +42552,7 @@ "source_file": "services/oa_engine.py", "source_location": "L1186", "id": "services_oa_engine_walk_preview_nodes", - "community": 6, + "community": 7, "norm_label": "_walk_preview_nodes()" }, { @@ -42534,7 +42561,7 @@ "source_file": "services/oa_engine.py", "source_location": "L1349", "id": "services_oa_engine_preview_start_flow", - "community": 6, + "community": 7, "norm_label": "preview_start_flow()" }, { @@ -42543,7 +42570,7 @@ "source_file": "services/oa_engine.py", "source_location": "L1416", "id": "services_oa_engine_create_tasks_for_node", - "community": 6, + "community": 7, "norm_label": "_create_tasks_for_node()" }, { @@ -42552,7 +42579,7 @@ "source_file": "services/oa_engine.py", "source_location": "L1507", "id": "services_oa_engine_eval_condition_rules", - "community": 0, + "community": 7, "norm_label": "_eval_condition_rules()" }, { @@ -42561,7 +42588,7 @@ "source_file": "services/oa_engine.py", "source_location": "L1553", "id": "services_oa_engine_match_condition_group", - "community": 6, + "community": 7, "norm_label": "_match_condition_group()" }, { @@ -42570,7 +42597,7 @@ "source_file": "services/oa_engine.py", "source_location": "L1596", "id": "services_oa_engine_advance_from", - "community": 6, + "community": 7, "norm_label": "advance_from()" }, { @@ -42579,7 +42606,7 @@ "source_file": "services/oa_engine.py", "source_location": "L1691", "id": "services_oa_engine_start_instance", - "community": 6, + "community": 7, "norm_label": "start_instance()" }, { @@ -42588,7 +42615,7 @@ "source_file": "services/oa_engine.py", "source_location": "L1859", "id": "services_oa_engine_get_instance", - "community": 6, + "community": 7, "norm_label": "_get_instance()" }, { @@ -42597,7 +42624,7 @@ "source_file": "services/oa_engine.py", "source_location": "L1870", "id": "services_oa_engine_get_instance_detail", - "community": 6, + "community": 7, "norm_label": "get_instance_detail()" }, { @@ -42606,7 +42633,7 @@ "source_file": "services/oa_engine.py", "source_location": "L1939", "id": "services_oa_engine_normalize_cc_read_status", - "community": 6, + "community": 7, "norm_label": "_normalize_cc_read_status()" }, { @@ -42615,7 +42642,7 @@ "source_file": "services/oa_engine.py", "source_location": "L1946", "id": "services_oa_engine_apply_cc_task_read", - "community": 6, + "community": 7, "norm_label": "_apply_cc_task_read()" }, { @@ -42624,106 +42651,115 @@ "source_file": "services/oa_engine.py", "source_location": "L1964", "id": "services_oa_engine_count_cc_unread", - "community": 5, + "community": 4, "norm_label": "count_cc_unread()" }, + { + "label": "count_pending_tasks()", + "file_type": "code", + "source_file": "services/oa_engine.py", + "source_location": "L1978", + "id": "services_oa_engine_count_pending_tasks", + "community": 7, + "norm_label": "count_pending_tasks()" + }, { "label": "mark_cc_task_read()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L1978", + "source_location": "L1992", "id": "services_oa_engine_mark_cc_task_read", - "community": 6, + "community": 7, "norm_label": "mark_cc_task_read()" }, { "label": "mark_cc_tasks_read_batch()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L1999", + "source_location": "L2013", "id": "services_oa_engine_mark_cc_tasks_read_batch", - "community": 6, + "community": 7, "norm_label": "mark_cc_tasks_read_batch()" }, { "label": "list_tasks()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L2025", + "source_location": "L2039", "id": "services_oa_engine_list_tasks", - "community": 6, + "community": 7, "norm_label": "list_tasks()" }, { "label": "_approve_task_core()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L2096", + "source_location": "L2110", "id": "services_oa_engine_approve_task_core", - "community": 6, + "community": 7, "norm_label": "_approve_task_core()" }, { "label": "_maybe_auto_pass_initiator()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L2168", + "source_location": "L2182", "id": "services_oa_engine_maybe_auto_pass_initiator", - "community": 6, + "community": 7, "norm_label": "_maybe_auto_pass_initiator()" }, { "label": "complete_task()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L2206", + "source_location": "L2220", "id": "services_oa_engine_complete_task", - "community": 6, + "community": 7, "norm_label": "complete_task()" }, { "label": "add_sign()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L2290", + "source_location": "L2304", "id": "services_oa_engine_add_sign", - "community": 6, + "community": 7, "norm_label": "add_sign()" }, { "label": "transfer_task()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L2406", + "source_location": "L2420", "id": "services_oa_engine_transfer_task", - "community": 6, + "community": 7, "norm_label": "transfer_task()" }, { "label": "return_task()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L2517", + "source_location": "L2531", "id": "services_oa_engine_return_task", - "community": 6, + "community": 7, "norm_label": "return_task()" }, { "label": "resubmit_instance()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L2598", + "source_location": "L2612", "id": "services_oa_engine_resubmit_instance", - "community": 6, + "community": 7, "norm_label": "resubmit_instance()" }, { "label": "withdraw_instance()", "file_type": "code", "source_file": "services/oa_engine.py", - "source_location": "L2612", + "source_location": "L2626", "id": "services_oa_engine_withdraw_instance", - "community": 6, + "community": 7, "norm_label": "withdraw_instance()" }, { @@ -42919,8 +42955,8 @@ "label": "\u5c06 pending \u5ba1\u6279\u4efb\u52a1\u7f6e\u4e3a approved \u5e76\u6309\u6216\u7b7e/\u4f1a\u7b7e\u51b3\u5b9a\u662f\u5426\u63a8\u8fdb\u3002 \u8fd4\u56de True \u8868\u793a\u5df2\u8c03\u7528 advance_from \u63a8\u8fdb\uff1bFals", "file_type": "rationale", "source_file": "services/oa_engine.py", - "source_location": "L2105", - "id": "services_oa_engine_rationale_2105", + "source_location": "L2119", + "id": "services_oa_engine_rationale_2119", "community": 3, "norm_label": "\u5c06 pending \u5ba1\u6279\u4efb\u52a1\u7f6e\u4e3a approved \u5e76\u6309\u6216\u7b7e/\u4f1a\u7b7e\u51b3\u5b9a\u662f\u5426\u63a8\u8fdb\u3002 \u8fd4\u56de true \u8868\u793a\u5df2\u8c03\u7528 advance_from \u63a8\u8fdb;fals" }, @@ -42928,8 +42964,8 @@ "label": "\u5f53\u524d\u5f85\u529e\u5904\u7406\u4eba\u52a0\u7b7e\uff1a\u4e3a\u540c\u8282\u70b9\u65b0\u589e\u5f85\u529e\u5ba1\u6279\u4eba\u3002", "file_type": "rationale", "source_file": "services/oa_engine.py", - "source_location": "L2299", - "id": "services_oa_engine_rationale_2299", + "source_location": "L2313", + "id": "services_oa_engine_rationale_2313", "community": 3, "norm_label": "\u5f53\u524d\u5f85\u529e\u5904\u7406\u4eba\u52a0\u7b7e:\u4e3a\u540c\u8282\u70b9\u65b0\u589e\u5f85\u529e\u5ba1\u6279\u4eba\u3002" }, @@ -42937,8 +42973,8 @@ "label": "\u5f53\u524d\u5f85\u529e\u5904\u7406\u4eba\u8f6c\u4ea4\uff1a\u7ed3\u675f\u672c\u4eba\u5f85\u529e\u5e76\u4e3a\u540c\u8282\u70b9\u76ee\u6807\u7528\u6237\u65b0\u5efa pending \u4efb\u52a1\u3002", "file_type": "rationale", "source_file": "services/oa_engine.py", - "source_location": "L2415", - "id": "services_oa_engine_rationale_2415", + "source_location": "L2429", + "id": "services_oa_engine_rationale_2429", "community": 3, "norm_label": "\u5f53\u524d\u5f85\u529e\u5904\u7406\u4eba\u8f6c\u4ea4:\u7ed3\u675f\u672c\u4eba\u5f85\u529e\u5e76\u4e3a\u540c\u8282\u70b9\u76ee\u6807\u7528\u6237\u65b0\u5efa pending \u4efb\u52a1\u3002" }, @@ -42946,8 +42982,8 @@ "label": "\u5ba1\u6279\u4eba\u6253\u56de\uff1a\u672c\u5355\u7ec8\u6001 returned\uff1b\u518d\u529e\u987b\u590d\u5236\u8868\u5355\u5f00\u65b0\u5b9e\u4f8b\u3002", "file_type": "rationale", "source_file": "services/oa_engine.py", - "source_location": "L2525", - "id": "services_oa_engine_rationale_2525", + "source_location": "L2539", + "id": "services_oa_engine_rationale_2539", "community": 3, "norm_label": "\u5ba1\u6279\u4eba\u6253\u56de:\u672c\u5355\u7ec8\u6001 returned;\u518d\u529e\u987b\u590d\u5236\u8868\u5355\u5f00\u65b0\u5b9e\u4f8b\u3002" }, @@ -42955,8 +42991,8 @@ "label": "\u5df2\u5e9f\u5f03\uff1a\u540c\u5b9e\u4f8b\u518d\u6b21\u63d0\u4ea4\u3002\u8bf7\u590d\u5236\u8868\u5355\u91cd\u65b0\u53d1\u8d77\u65b0\u5b9e\u4f8b\u3002", "file_type": "rationale", "source_file": "services/oa_engine.py", - "source_location": "L2607", - "id": "services_oa_engine_rationale_2607", + "source_location": "L2621", + "id": "services_oa_engine_rationale_2621", "community": 3, "norm_label": "\u5df2\u5e9f\u5f03:\u540c\u5b9e\u4f8b\u518d\u6b21\u63d0\u4ea4\u3002\u8bf7\u590d\u5236\u8868\u5355\u91cd\u65b0\u53d1\u8d77\u65b0\u5b9e\u4f8b\u3002" }, @@ -42966,7 +43002,7 @@ "source_file": "services/workflow_callback.py", "source_location": "L1", "id": "services_workflow_callback_py", - "community": 5, + "community": 6, "norm_label": "workflow_callback.py" }, { @@ -42975,7 +43011,7 @@ "source_file": "services/workflow_callback.py", "source_location": "L23", "id": "services_workflow_callback_register_local_callback", - "community": 5, + "community": 6, "norm_label": "register_local_callback()" }, { @@ -42984,7 +43020,7 @@ "source_file": "services/workflow_callback.py", "source_location": "L28", "id": "services_workflow_callback_dispatch_local", - "community": 5, + "community": 6, "norm_label": "_dispatch_local()" }, { @@ -42993,7 +43029,7 @@ "source_file": "services/workflow_callback.py", "source_location": "L60", "id": "services_workflow_callback_trigger_callback", - "community": 5, + "community": 6, "norm_label": "trigger_callback()" }, { @@ -43002,7 +43038,7 @@ "source_file": "services/workflow_callback.py", "source_location": "L1", "id": "services_workflow_callback_rationale_1", - "community": 5, + "community": 6, "norm_label": "\u5de5\u4f5c\u6d41\u56de\u8c03\u670d\u52a1 \u2014\u2014 \u6d41\u7a0b\u72b6\u6001\u53d8\u66f4\u65f6\u901a\u77e5\u4e1a\u52a1\u7cfb\u7edf" }, { @@ -43011,7 +43047,7 @@ "source_file": "services/workflow_callback.py", "source_location": "L24", "id": "services_workflow_callback_rationale_24", - "community": 5, + "community": 6, "norm_label": "\u6ce8\u518c\u672c\u5730\u56de\u8c03\u51fd\u6570\u3002\u5f53 callback_url \u4ee5 path \u5f00\u5934\u65f6\u76f4\u63a5\u8c03\u7528 fn\u3002" }, { @@ -43020,7 +43056,7 @@ "source_file": "services/workflow_callback.py", "source_location": "L29", "id": "services_workflow_callback_rationale_29", - "community": 5, + "community": 6, "norm_label": "\u5c1d\u8bd5\u672c\u5730\u76f4\u8c03\u3002\u8fd4\u56de true \u8868\u793a\u5df2\u5904\u7406,false \u8868\u793a\u65e0\u5339\u914d\u7684\u672c\u5730\u56de\u8c03\u3002" }, { @@ -43029,7 +43065,7 @@ "source_file": "services/workflow_callback.py", "source_location": "L61", "id": "services_workflow_callback_rationale_61", - "community": 5, + "community": 6, "norm_label": "\u6d41\u7a0b\u5b9e\u4f8b\u72b6\u6001\u53d8\u66f4\u540e,\u5411\u4e1a\u52a1\u7cfb\u7edf\u53d1\u9001\u56de\u8c03\u901a\u77e5\u3002 \u4f18\u5148\u7ea7: 1. \u5982\u679c callback_url \u662f\u5185\u90e8\u8def\u5f84(\u4ee5 / \u5f00\u5934),\u4f18\u5148\u5c1d\u8bd5\u672c\u5730\u76f4\u8c03" }, { @@ -43038,7 +43074,7 @@ "source_file": "services/qc_work_order_fee_summary.py", "source_location": "L1", "id": "services_qc_work_order_fee_summary_py", - "community": 7, + "community": 5, "norm_label": "qc_work_order_fee_summary.py" }, { @@ -43047,7 +43083,7 @@ "source_file": "services/qc_work_order_fee_summary.py", "source_location": "L30", "id": "services_qc_work_order_fee_summary_is_outbound_fee_biz_type", - "community": 7, + "community": 5, "norm_label": "_is_outbound_fee_biz_type()" }, { @@ -43056,7 +43092,7 @@ "source_file": "services/qc_work_order_fee_summary.py", "source_location": "L34", "id": "services_qc_work_order_fee_summary_dec", - "community": 7, + "community": 5, "norm_label": "_dec()" }, { @@ -43065,7 +43101,7 @@ "source_file": "services/qc_work_order_fee_summary.py", "source_location": "L43", "id": "services_qc_work_order_fee_summary_received_amount_from_details", - "community": 7, + "community": 5, "norm_label": "_received_amount_from_details()" }, { @@ -43074,7 +43110,7 @@ "source_file": "services/qc_work_order_fee_summary.py", "source_location": "L52", "id": "services_qc_work_order_fee_summary_protocol_status_hint", - "community": 7, + "community": 5, "norm_label": "_protocol_status_hint()" }, { @@ -43083,7 +43119,7 @@ "source_file": "services/qc_work_order_fee_summary.py", "source_location": "L76", "id": "services_qc_work_order_fee_summary_protocol_overall_status", - "community": 7, + "community": 5, "norm_label": "_protocol_overall_status()" }, { @@ -43092,7 +43128,7 @@ "source_file": "services/qc_work_order_fee_summary.py", "source_location": "L98", "id": "services_qc_work_order_fee_summary_fmt_ymd", - "community": 7, + "community": 5, "norm_label": "_fmt_ymd()" }, { @@ -43101,7 +43137,7 @@ "source_file": "services/qc_work_order_fee_summary.py", "source_location": "L105", "id": "services_qc_work_order_fee_summary_payment_detail_row", - "community": 7, + "community": 5, "norm_label": "_payment_detail_row()" }, { @@ -43110,7 +43146,7 @@ "source_file": "services/qc_work_order_fee_summary.py", "source_location": "L123", "id": "services_qc_work_order_fee_summary_sort_payment_details", - "community": 7, + "community": 5, "norm_label": "_sort_payment_details()" }, { @@ -43119,7 +43155,7 @@ "source_file": "services/qc_work_order_fee_summary.py", "source_location": "L134", "id": "services_qc_work_order_fee_summary_build_protocol_payment_summary", - "community": 7, + "community": 5, "norm_label": "build_protocol_payment_summary()" }, { @@ -43128,7 +43164,7 @@ "source_file": "services/qc_work_order_fee_summary.py", "source_location": "L162", "id": "services_qc_work_order_fee_summary_build_protocol_payment_summaries", - "community": 7, + "community": 5, "norm_label": "build_protocol_payment_summaries()" }, { @@ -43137,7 +43173,7 @@ "source_file": "services/qc_work_order_fee_summary.py", "source_location": "L204", "id": "services_qc_work_order_fee_summary_build_basic_experiment_fee_summary", - "community": 7, + "community": 5, "norm_label": "build_basic_experiment_fee_summary()" }, { @@ -43146,7 +43182,7 @@ "source_file": "services/qc_work_order_fee_summary.py", "source_location": "L224", "id": "services_qc_work_order_fee_summary_build_basic_experiment_fee_summaries", - "community": 7, + "community": 5, "norm_label": "build_basic_experiment_fee_summaries()" }, { @@ -43155,7 +43191,7 @@ "source_file": "services/qc_work_order_fee_summary.py", "source_location": "L260", "id": "services_qc_work_order_fee_summary_is_inbound_cell_storage_item", - "community": 7, + "community": 5, "norm_label": "_is_inbound_cell_storage_item()" }, { @@ -43164,7 +43200,7 @@ "source_file": "services/qc_work_order_fee_summary.py", "source_location": "L267", "id": "services_qc_work_order_fee_summary_load_reception_map", - "community": 7, + "community": 5, "norm_label": "_load_reception_map()" }, { @@ -43173,7 +43209,7 @@ "source_file": "services/qc_work_order_fee_summary.py", "source_location": "L281", "id": "services_qc_work_order_fee_summary_load_protocol_id_by_no", - "community": 7, + "community": 5, "norm_label": "_load_protocol_id_by_no()" }, { @@ -43182,7 +43218,7 @@ "source_file": "services/qc_work_order_fee_summary.py", "source_location": "L299", "id": "services_qc_work_order_fee_summary_effective_collection_protocol_id", - "community": 7, + "community": 5, "norm_label": "_effective_collection_protocol_id()" }, { @@ -43191,7 +43227,7 @@ "source_file": "services/qc_work_order_fee_summary.py", "source_location": "L315", "id": "services_qc_work_order_fee_summary_enrich_work_order_fee_summaries", - "community": 7, + "community": 5, "norm_label": "enrich_work_order_fee_summaries()" }, { @@ -43200,7 +43236,7 @@ "source_file": "services/qc_work_order_fee_summary.py", "source_location": "L1", "id": "services_qc_work_order_fee_summary_rationale_1", - "community": 3, + "community": 9, "norm_label": "\u8d28\u68c0\u5de5\u5355 \u00b7 \u7528\u6237\u8d39\u7528\u6458\u8981(\u91c7\u96c6\u534f\u8bae / \u57fa\u7840\u5b9e\u9a8c)" }, { @@ -43209,7 +43245,7 @@ "source_file": "services/storage_facility_code.py", "source_location": "L1", "id": "services_storage_facility_code_py", - "community": 10, + "community": 11, "norm_label": "storage_facility_code.py" }, { @@ -43218,7 +43254,7 @@ "source_file": "services/storage_facility_code.py", "source_location": "L19", "id": "services_storage_facility_code_encode_slot_layout_order", - "community": 10, + "community": 11, "norm_label": "encode_slot_layout_order()" }, { @@ -43227,7 +43263,7 @@ "source_file": "services/storage_facility_code.py", "source_location": "L30", "id": "services_storage_facility_code_decode_slot_layout_order", - "community": 10, + "community": 11, "norm_label": "decode_slot_layout_order()" }, { @@ -43236,7 +43272,7 @@ "source_file": "services/storage_facility_code.py", "source_location": "L38", "id": "services_storage_facility_code_validate_node_code", - "community": 10, + "community": 11, "norm_label": "validate_node_code()" }, { @@ -43245,7 +43281,7 @@ "source_file": "services/storage_facility_code.py", "source_location": "L47", "id": "services_storage_facility_code_assert_sibling_node_code_unique", - "community": 10, + "community": 11, "norm_label": "assert_sibling_node_code_unique()" }, { @@ -43254,7 +43290,7 @@ "source_file": "services/storage_facility_code.py", "source_location": "L71", "id": "services_storage_facility_code_build_node_code_path", - "community": 10, + "community": 11, "norm_label": "build_node_code_path()" }, { @@ -43263,7 +43299,7 @@ "source_file": "services/storage_facility_code.py", "source_location": "L96", "id": "services_storage_facility_code_build_full_slot_code", - "community": 10, + "community": 11, "norm_label": "build_full_slot_code()" }, { @@ -43272,7 +43308,7 @@ "source_file": "services/storage_facility_code.py", "source_location": "L108", "id": "services_storage_facility_code_load_facility_map", - "community": 10, + "community": 11, "norm_label": "load_facility_map()" }, { @@ -43281,7 +43317,7 @@ "source_file": "services/storage_facility_code.py", "source_location": "L120", "id": "services_storage_facility_code_load_facility_ancestor_map", - "community": 10, + "community": 11, "norm_label": "load_facility_ancestor_map()" }, { @@ -43290,7 +43326,7 @@ "source_file": "services/storage_facility_code.py", "source_location": "L145", "id": "services_storage_facility_code_collect_slot_ids_under_nodes", - "community": 10, + "community": 11, "norm_label": "collect_slot_ids_under_nodes()" }, { @@ -43299,7 +43335,7 @@ "source_file": "services/storage_facility_code.py", "source_location": "L188", "id": "services_storage_facility_code_refresh_outbound_release_cell_slot_names", - "community": 10, + "community": 11, "norm_label": "refresh_outbound_release_cell_slot_names()" }, { @@ -43308,7 +43344,7 @@ "source_file": "services/storage_facility_code.py", "source_location": "L233", "id": "services_storage_facility_code_cascade_refresh_slot_name_snapshots_for_slots", - "community": 10, + "community": 11, "norm_label": "cascade_refresh_slot_name_snapshots_for_slots()" }, { @@ -43317,7 +43353,7 @@ "source_file": "services/storage_facility_code.py", "source_location": "L262", "id": "services_storage_facility_code_cascade_refresh_slot_name_snapshots_for_nodes", - "community": 10, + "community": 11, "norm_label": "cascade_refresh_slot_name_snapshots_for_nodes()" }, { @@ -43326,7 +43362,7 @@ "source_file": "services/storage_facility_code.py", "source_location": "L1", "id": "services_storage_facility_code_rationale_1", - "community": 10, + "community": 11, "norm_label": "\u5e93\u4f4d\u8282\u70b9\u7f16\u53f7\u8def\u5f84\u4e0e\u50a8\u7269\u683c\u5b8c\u6574\u7f16\u53f7\u8ba1\u7b97\u3001\u5feb\u7167\u7ea7\u8054\u5237\u65b0\u3002" }, { @@ -43335,7 +43371,7 @@ "source_file": "services/storage_facility_code.py", "source_location": "L20", "id": "services_storage_facility_code_rationale_20", - "community": 10, + "community": 11, "norm_label": "\u5c06\u8d27\u67b6\u884c\u5217\u4f4d\u7f6e\u7f16\u7801\u4e3a order_num(row*1000+col)\u3002" }, { @@ -43344,7 +43380,7 @@ "source_file": "services/storage_facility_code.py", "source_location": "L31", "id": "services_storage_facility_code_rationale_31", - "community": 10, + "community": 11, "norm_label": "\u89e3\u6790 order_num \u4e2d\u7684\u884c\u5217\u4f4d\u7f6e;\u975e\u5e03\u5c40\u7f16\u7801\u65f6\u8fd4\u56de (0, order)\u3002" }, { @@ -43353,7 +43389,7 @@ "source_file": "services/storage_facility_code.py", "source_location": "L125", "id": "services_storage_facility_code_rationale_125", - "community": 10, + "community": 11, "norm_label": "\u4ec5\u52a0\u8f7d\u67d0\u8282\u70b9\u5230\u6839\u7684\u7956\u5148\u94fe(\u542b\u81ea\u8eab),\u4f9b\u5355\u8282\u70b9\u683c\u5b50\u5217\u8868\u62fc fullslotcode\u3002" }, { @@ -43497,7 +43533,7 @@ "source_file": "services/qc_work_order_conclusion.py", "source_location": "L1", "id": "services_qc_work_order_conclusion_py", - "community": 4, + "community": 5, "norm_label": "qc_work_order_conclusion.py" }, { @@ -43506,7 +43542,7 @@ "source_file": "services/qc_work_order_conclusion.py", "source_location": "L13", "id": "services_qc_work_order_conclusion_derive_work_order_qc_conclusion", - "community": 4, + "community": 5, "norm_label": "derive_work_order_qc_conclusion()" }, { @@ -43515,7 +43551,7 @@ "source_file": "services/qc_work_order_conclusion.py", "source_location": "L25", "id": "services_qc_work_order_conclusion_work_order_qc_conclusion_label", - "community": 4, + "community": 5, "norm_label": "work_order_qc_conclusion_label()" }, { @@ -43524,7 +43560,7 @@ "source_file": "services/qc_work_order_conclusion.py", "source_location": "L29", "id": "services_qc_work_order_conclusion_build_qc_conclusion_fields", - "community": 4, + "community": 5, "norm_label": "build_qc_conclusion_fields()" }, { @@ -43533,7 +43569,7 @@ "source_file": "services/qc_work_order_conclusion.py", "source_location": "L1", "id": "services_qc_work_order_conclusion_rationale_1", - "community": 4, + "community": 5, "norm_label": "\u8d28\u68c0\u5de5\u5355\u7ea7\u7ed3\u8bba:\u7531\u4e0b\u5c5e\u4efb\u52a1 conclusion \u6d3e\u751f(\u5408\u683c/\u4e0d\u5408\u683c)\u3002" }, { @@ -43542,7 +43578,7 @@ "source_file": "services/qc_work_order_conclusion.py", "source_location": "L14", "id": "services_qc_work_order_conclusion_rationale_14", - "community": 4, + "community": 5, "norm_label": "\u4e0e\u77ed\u4fe1\u6a21\u5757\u89c4\u5219\u4e00\u81f4:\u4efb\u4e00 btg \u2192 btg;\u5168\u90e8 tg \u2192 tg;\u5426\u5219\u7a7a\u3002" }, { @@ -43551,7 +43587,7 @@ "source_file": "services/oa_dept_select.py", "source_location": "L1", "id": "services_oa_dept_select_py", - "community": 0, + "community": 7, "norm_label": "oa_dept_select.py" }, { @@ -43560,7 +43596,7 @@ "source_file": "services/oa_dept_select.py", "source_location": "L7", "id": "services_oa_dept_select_walk_rules", - "community": 0, + "community": 7, "norm_label": "_walk_rules()" }, { @@ -43569,7 +43605,7 @@ "source_file": "services/oa_dept_select.py", "source_location": "L19", "id": "services_oa_dept_select_schema_rules", - "community": 0, + "community": 7, "norm_label": "_schema_rules()" }, { @@ -43578,7 +43614,7 @@ "source_file": "services/oa_dept_select.py", "source_location": "L31", "id": "services_oa_dept_select_rule_props", - "community": 0, + "community": 7, "norm_label": "_rule_props()" }, { @@ -43587,7 +43623,7 @@ "source_file": "services/oa_dept_select.py", "source_location": "L36", "id": "services_oa_dept_select_field_label", - "community": 0, + "community": 7, "norm_label": "_field_label()" }, { @@ -43596,7 +43632,7 @@ "source_file": "services/oa_dept_select.py", "source_location": "L40", "id": "services_oa_dept_select_is_required", - "community": 0, + "community": 7, "norm_label": "_is_required()" }, { @@ -43605,7 +43641,7 @@ "source_file": "services/oa_dept_select.py", "source_location": "L51", "id": "services_oa_dept_select_is_multiple", - "community": 0, + "community": 7, "norm_label": "_is_multiple()" }, { @@ -43614,7 +43650,7 @@ "source_file": "services/oa_dept_select.py", "source_location": "L59", "id": "services_oa_dept_select_max_count", - "community": 0, + "community": 7, "norm_label": "_max_count()" }, { @@ -43623,7 +43659,7 @@ "source_file": "services/oa_dept_select.py", "source_location": "L72", "id": "services_oa_dept_select_is_valid_dept_item", - "community": 0, + "community": 7, "norm_label": "_is_valid_dept_item()" }, { @@ -43632,7 +43668,7 @@ "source_file": "services/oa_dept_select.py", "source_location": "L84", "id": "services_oa_dept_select_validate_dept_rule", - "community": 0, + "community": 7, "norm_label": "_validate_dept_rule()" }, { @@ -43641,7 +43677,7 @@ "source_file": "services/oa_dept_select.py", "source_location": "L127", "id": "services_oa_dept_select_validate_dept_form_values", - "community": 0, + "community": 7, "norm_label": "validate_dept_form_values()" }, { @@ -43650,7 +43686,7 @@ "source_file": "services/oa_dept_select.py", "source_location": "L1", "id": "services_oa_dept_select_rationale_1", - "community": 0, + "community": 7, "norm_label": "oa \u8868\u5355\u8bbe\u8ba1\u5668:\u90e8\u95e8\u9009\u62e9\u63a7\u4ef6 form_data \u6821\u9a8c" }, { @@ -43659,7 +43695,7 @@ "source_file": "services/oa_dept_select.py", "source_location": "L128", "id": "services_oa_dept_select_rationale_128", - "community": 0, + "community": 7, "norm_label": "\u6821\u9a8c form_data \u4e2d\u90e8\u95e8 / \u5f52\u5c5e\u90e8\u95e8\u63a7\u4ef6\u7684\u503c\u683c\u5f0f,\u8fd4\u56de\u4e2d\u6587\u9519\u8bef\u5217\u8868(\u7a7a\u8868\u793a\u901a\u8fc7)\u3002" }, { @@ -43668,7 +43704,7 @@ "source_file": "services/oa_publish.py", "source_location": "L1", "id": "services_oa_publish_py", - "community": 6, + "community": 7, "norm_label": "oa_publish.py" }, { @@ -43677,7 +43713,7 @@ "source_file": "services/oa_publish.py", "source_location": "L95", "id": "services_oa_publish_extract_rules", - "community": 6, + "community": 7, "norm_label": "_extract_rules()" }, { @@ -43686,7 +43722,7 @@ "source_file": "services/oa_publish.py", "source_location": "L110", "id": "services_oa_publish_walk_form_rules", - "community": 6, + "community": 7, "norm_label": "_walk_form_rules()" }, { @@ -43695,7 +43731,7 @@ "source_file": "services/oa_publish.py", "source_location": "L118", "id": "services_oa_publish_count_fillable_fields", - "community": 6, + "community": 7, "norm_label": "count_fillable_fields()" }, { @@ -43704,7 +43740,7 @@ "source_file": "services/oa_publish.py", "source_location": "L132", "id": "services_oa_publish_rule_use_in_condition", - "community": 6, + "community": 7, "norm_label": "_rule_use_in_condition()" }, { @@ -43713,7 +43749,7 @@ "source_file": "services/oa_publish.py", "source_location": "L139", "id": "services_oa_publish_index_condition_fields", - "community": 6, + "community": 7, "norm_label": "index_condition_fields()" }, { @@ -43722,7 +43758,7 @@ "source_file": "services/oa_publish.py", "source_location": "L154", "id": "services_oa_publish_normalize_use_in_condition_required", - "community": 6, + "community": 7, "norm_label": "normalize_use_in_condition_required()" }, { @@ -43731,7 +43767,7 @@ "source_file": "services/oa_publish.py", "source_location": "L182", "id": "services_oa_publish_node_type", - "community": 6, + "community": 7, "norm_label": "_node_type()" }, { @@ -43740,7 +43776,7 @@ "source_file": "services/oa_publish.py", "source_location": "L186", "id": "services_oa_publish_validate_flow_tree", - "community": 6, + "community": 7, "norm_label": "validate_flow_tree()" }, { @@ -43749,7 +43785,7 @@ "source_file": "services/oa_publish.py", "source_location": "L319", "id": "services_oa_publish_validate_condition_rules_against_form", - "community": 6, + "community": 7, "norm_label": "validate_condition_rules_against_form()" }, { @@ -43758,7 +43794,7 @@ "source_file": "services/oa_publish.py", "source_location": "L366", "id": "services_oa_publish_validate_posts_referenced", - "community": 6, + "community": 7, "norm_label": "validate_posts_referenced()" }, { @@ -43767,7 +43803,7 @@ "source_file": "services/oa_publish.py", "source_location": "L421", "id": "services_oa_publish_validate_control_types", - "community": 6, + "community": 7, "norm_label": "validate_control_types()" }, { @@ -43776,7 +43812,7 @@ "source_file": "services/oa_publish.py", "source_location": "L437", "id": "services_oa_publish_validate_draft_for_publish", - "community": 6, + "community": 7, "norm_label": "validate_draft_for_publish()" }, { @@ -43785,7 +43821,7 @@ "source_file": "services/oa_publish.py", "source_location": "L462", "id": "services_oa_publish_publish_app", - "community": 6, + "community": 7, "norm_label": "publish_app()" }, { @@ -43794,7 +43830,7 @@ "source_file": "services/oa_publish.py", "source_location": "L140", "id": "services_oa_publish_rationale_140", - "community": 6, + "community": 7, "norm_label": "field -> rule(\u4ec5 useincondition \u4e14 type \u5408\u683c)" }, { @@ -43803,7 +43839,7 @@ "source_file": "services/oa_publish.py", "source_location": "L155", "id": "services_oa_publish_rationale_155", - "community": 6, + "community": 7, "norm_label": "\u5c31\u5730/\u6df1\u62f7\u8d1d\u7686\u53ef:\u6253\u6807\u5b57\u6bb5\u5f3a\u5236 required/$required\u3002\u53d1\u5e03\u524d\u8c03\u7528\u3002" }, { @@ -43812,7 +43848,7 @@ "source_file": "services/oa_publish.py", "source_location": "L469", "id": "services_oa_publish_rationale_469", - "community": 6, + "community": 7, "norm_label": "\u6821\u9a8c\u5e76\u53d1\u5e03\u5f53\u524d\u8349\u7a3f\u3002 \u6210\u529f\u8fd4\u56de (draft_dict_like_published_info, []); \u5931\u8d25\u8fd4\u56de ({}, errors)\u3002" }, { @@ -43821,7 +43857,7 @@ "source_file": "services/workflow_engine.py", "source_location": "L1", "id": "services_workflow_engine_py", - "community": 5, + "community": 6, "norm_label": "workflow_engine.py" }, { @@ -43830,7 +43866,7 @@ "source_file": "services/workflow_engine.py", "source_location": "L31", "id": "services_workflow_engine_workflowengine", - "community": 2, + "community": 6, "norm_label": "workflowengine" }, { @@ -43839,7 +43875,7 @@ "source_file": "services/workflow_engine.py", "source_location": "L32", "id": "services_workflow_engine_workflowengine_init", - "community": 2, + "community": 6, "norm_label": ".__init__()" }, { @@ -43848,7 +43884,7 @@ "source_file": "services/workflow_engine.py", "source_location": "L39", "id": "services_workflow_engine_workflowengine_start_process", - "community": 5, + "community": 6, "norm_label": ".start_process()" }, { @@ -43857,7 +43893,7 @@ "source_file": "services/workflow_engine.py", "source_location": "L77", "id": "services_workflow_engine_workflowengine_approve_task", - "community": 5, + "community": 6, "norm_label": ".approve_task()" }, { @@ -43866,7 +43902,7 @@ "source_file": "services/workflow_engine.py", "source_location": "L126", "id": "services_workflow_engine_workflowengine_reject_task", - "community": 5, + "community": 6, "norm_label": ".reject_task()" }, { @@ -43875,7 +43911,7 @@ "source_file": "services/workflow_engine.py", "source_location": "L160", "id": "services_workflow_engine_workflowengine_advance", - "community": 5, + "community": 6, "norm_label": "._advance()" }, { @@ -43884,7 +43920,7 @@ "source_file": "services/workflow_engine.py", "source_location": "L201", "id": "services_workflow_engine_workflowengine_execute_node", - "community": 5, + "community": 6, "norm_label": "._execute_node()" }, { @@ -43893,7 +43929,7 @@ "source_file": "services/workflow_engine.py", "source_location": "L238", "id": "services_workflow_engine_workflowengine_resolve_approvers", - "community": 0, + "community": 6, "norm_label": "._resolve_approvers()" }, { @@ -43902,7 +43938,7 @@ "source_file": "services/workflow_engine.py", "source_location": "L289", "id": "services_workflow_engine_workflowengine_evaluate_condition", - "community": 5, + "community": 6, "norm_label": "._evaluate_condition()" }, { @@ -43911,7 +43947,7 @@ "source_file": "services/workflow_engine.py", "source_location": "L311", "id": "services_workflow_engine_workflowengine_check_rules", - "community": 5, + "community": 6, "norm_label": "._check_rules()" }, { @@ -43920,7 +43956,7 @@ "source_file": "services/workflow_engine.py", "source_location": "L335", "id": "services_workflow_engine_compare", - "community": 5, + "community": 6, "norm_label": "_compare()" }, { @@ -43929,7 +43965,7 @@ "source_file": "services/workflow_engine.py", "source_location": "L364", "id": "services_workflow_engine_get_variable", - "community": 5, + "community": 6, "norm_label": "_get_variable()" }, { @@ -43938,7 +43974,7 @@ "source_file": "services/workflow_engine.py", "source_location": "L379", "id": "services_workflow_engine_parse_node_config", - "community": 5, + "community": 6, "norm_label": "_parse_node_config()" }, { @@ -43947,7 +43983,7 @@ "source_file": "services/workflow_engine.py", "source_location": "L388", "id": "services_workflow_engine_parse_variables", - "community": 5, + "community": 6, "norm_label": "_parse_variables()" }, { @@ -43965,7 +44001,7 @@ "source_file": "services/oa_confirmation_date.py", "source_location": "L1", "id": "services_oa_confirmation_date_py", - "community": 32, + "community": 29, "norm_label": "oa_confirmation_date.py" }, { @@ -43974,7 +44010,7 @@ "source_file": "services/oa_confirmation_date.py", "source_location": "L12", "id": "services_oa_confirmation_date_add_months_ymd", - "community": 32, + "community": 29, "norm_label": "add_months_ymd()" }, { @@ -43983,7 +44019,7 @@ "source_file": "services/oa_confirmation_date.py", "source_location": "L1", "id": "services_oa_confirmation_date_rationale_1", - "community": 32, + "community": 29, "norm_label": "\u8f6c\u6b63\u5957\u4ef6:\u5165\u804c\u65e5 + \u8bd5\u7528\u671f\u6708\u6570 \u2192 \u5efa\u8bae\u8f6c\u6b63\u65e5(yyyy-mm-dd)\u3002" }, { @@ -43992,7 +44028,7 @@ "source_file": "services/web_auth_roles.py", "source_location": "L1", "id": "services_web_auth_roles_py", - "community": 11, + "community": 12, "norm_label": "web_auth_roles.py" }, { @@ -44001,7 +44037,7 @@ "source_file": "services/web_auth_roles.py", "source_location": "L30", "id": "services_web_auth_roles_map_role_name_to_web", - "community": 11, + "community": 12, "norm_label": "_map_role_name_to_web()" }, { @@ -44010,7 +44046,7 @@ "source_file": "services/web_auth_roles.py", "source_location": "L42", "id": "services_web_auth_roles_dedupe_role_id_rows", - "community": 11, + "community": 12, "norm_label": "_dedupe_role_id_rows()" }, { @@ -44019,7 +44055,7 @@ "source_file": "services/web_auth_roles.py", "source_location": "L53", "id": "services_web_auth_roles_get_direct_enabled_role_ids", - "community": 11, + "community": 12, "norm_label": "get_direct_enabled_role_ids()" }, { @@ -44028,7 +44064,7 @@ "source_file": "services/web_auth_roles.py", "source_location": "L75", "id": "services_web_auth_roles_get_post_inherited_role_ids", - "community": 11, + "community": 12, "norm_label": "get_post_inherited_role_ids()" }, { @@ -44037,7 +44073,7 @@ "source_file": "services/web_auth_roles.py", "source_location": "L114", "id": "services_web_auth_roles_get_effective_role_ids", - "community": 11, + "community": 12, "norm_label": "get_effective_role_ids()" }, { @@ -44046,7 +44082,7 @@ "source_file": "services/web_auth_roles.py", "source_location": "L129", "id": "services_web_auth_roles_normalize_candidate_user_ids", - "community": 0, + "community": 12, "norm_label": "_normalize_candidate_user_ids()" }, { @@ -44055,7 +44091,7 @@ "source_file": "services/web_auth_roles.py", "source_location": "L137", "id": "services_web_auth_roles_list_user_ids_with_effective_role_name", - "community": 0, + "community": 12, "norm_label": "list_user_ids_with_effective_role_name()" }, { @@ -44064,7 +44100,7 @@ "source_file": "services/web_auth_roles.py", "source_location": "L212", "id": "services_web_auth_roles_list_user_ids_with_any_effective_role_ids", - "community": 0, + "community": 12, "norm_label": "list_user_ids_with_any_effective_role_ids()" }, { @@ -44073,7 +44109,7 @@ "source_file": "services/web_auth_roles.py", "source_location": "L285", "id": "services_web_auth_roles_get_role_names_by_ids", - "community": 11, + "community": 12, "norm_label": "get_role_names_by_ids()" }, { @@ -44082,7 +44118,7 @@ "source_file": "services/web_auth_roles.py", "source_location": "L316", "id": "services_web_auth_roles_active_role_name_rows", - "community": 11, + "community": 12, "norm_label": "_active_role_name_rows()" }, { @@ -44091,7 +44127,7 @@ "source_file": "services/web_auth_roles.py", "source_location": "L321", "id": "services_web_auth_roles_user_has_active_roles", - "community": 11, + "community": 12, "norm_label": "user_has_active_roles()" }, { @@ -44100,7 +44136,7 @@ "source_file": "services/web_auth_roles.py", "source_location": "L326", "id": "services_web_auth_roles_get_user_role_names", - "community": 11, + "community": 12, "norm_label": "get_user_role_names()" }, { @@ -44109,7 +44145,7 @@ "source_file": "services/web_auth_roles.py", "source_location": "L332", "id": "services_web_auth_roles_resolve_web_role_for_user", - "community": 11, + "community": 12, "norm_label": "resolve_web_role_for_user()" }, { @@ -44118,7 +44154,7 @@ "source_file": "services/web_auth_roles.py", "source_location": "L343", "id": "services_web_auth_roles_iter_user_menu_perm_codes", - "community": 11, + "community": 12, "norm_label": "iter_user_menu_perm_codes()" }, { @@ -44244,7 +44280,7 @@ "source_file": "services/oa_trip_days.py", "source_location": "L1", "id": "services_oa_trip_days_py", - "community": 6, + "community": 7, "norm_label": "oa_trip_days.py" }, { @@ -44253,7 +44289,7 @@ "source_file": "services/oa_trip_days.py", "source_location": "L24", "id": "services_oa_trip_days_day_index", - "community": 6, + "community": 7, "norm_label": "_day_index()" }, { @@ -44262,7 +44298,7 @@ "source_file": "services/oa_trip_days.py", "source_location": "L36", "id": "services_oa_trip_days_start_offset", - "community": 6, + "community": 7, "norm_label": "_start_offset()" }, { @@ -44271,7 +44307,7 @@ "source_file": "services/oa_trip_days.py", "source_location": "L45", "id": "services_oa_trip_days_end_offset", - "community": 6, + "community": 7, "norm_label": "_end_offset()" }, { @@ -44280,7 +44316,7 @@ "source_file": "services/oa_trip_days.py", "source_location": "L54", "id": "services_oa_trip_days_calc_trip_leg_days", - "community": 6, + "community": 7, "norm_label": "calc_trip_leg_days()" }, { @@ -44289,7 +44325,7 @@ "source_file": "services/oa_trip_days.py", "source_location": "L73", "id": "services_oa_trip_days_sum_trip_leg_days", - "community": 6, + "community": 7, "norm_label": "sum_trip_leg_days()" }, { @@ -44298,7 +44334,7 @@ "source_file": "services/oa_trip_days.py", "source_location": "L87", "id": "services_oa_trip_days_is_half_day_multiple", - "community": 6, + "community": 7, "norm_label": "is_half_day_multiple()" }, { @@ -44307,7 +44343,7 @@ "source_file": "services/oa_trip_days.py", "source_location": "L97", "id": "services_oa_trip_days_extract_rules", - "community": 6, + "community": 7, "norm_label": "_extract_rules()" }, { @@ -44316,7 +44352,7 @@ "source_file": "services/oa_trip_days.py", "source_location": "L109", "id": "services_oa_trip_days_walk", - "community": 6, + "community": 7, "norm_label": "_walk()" }, { @@ -44334,7 +44370,7 @@ "source_file": "services/oa_trip_days.py", "source_location": "L156", "id": "services_oa_trip_days_walk_trip_kits", - "community": 6, + "community": 7, "norm_label": "_walk_trip_kits()" }, { @@ -44343,7 +44379,7 @@ "source_file": "services/oa_trip_days.py", "source_location": "L167", "id": "services_oa_trip_days_apply_trip_kit_days", - "community": 6, + "community": 7, "norm_label": "apply_trip_kit_days()" }, { @@ -44352,7 +44388,7 @@ "source_file": "services/oa_trip_days.py", "source_location": "L200", "id": "services_oa_trip_days_validate_trip_kit_form_values", - "community": 6, + "community": 7, "norm_label": "validate_trip_kit_form_values()" }, { @@ -44361,7 +44397,7 @@ "source_file": "services/oa_trip_days.py", "source_location": "L1", "id": "services_oa_trip_days_rationale_1", - "community": 6, + "community": 7, "norm_label": "\u51fa\u5dee\u5957\u4ef6:\u534a\u65e5\u5236\u884c\u7a0b\u65f6\u957f(\u4e0e\u524d\u7aef oa-trip-days.ts \u5bf9\u9f50)" }, { @@ -44370,7 +44406,7 @@ "source_file": "services/oa_trip_days.py", "source_location": "L60", "id": "services_oa_trip_days_rationale_60", - "community": 6, + "community": 7, "norm_label": "\u8fd4\u56de 0.5 \u6b65\u8fdb\u5929\u6570;\u975e\u6cd5\u6216 end<=start \u8fd4\u56de none\u3002" }, { @@ -44388,7 +44424,7 @@ "source_file": "services/oa_trip_days.py", "source_location": "L168", "id": "services_oa_trip_days_rationale_168", - "community": 6, + "community": 7, "norm_label": "\u904d\u5386 tripkit:\u884c\u7a0b\u672a\u624b\u6539\u5219\u8986\u76d6 duration;\u51fa\u5dee\u5929\u6570\u672a\u624b\u6539\u5219\u8986\u76d6\u4e3a\u5404\u884c\u7a0b\u65f6\u957f\u4e4b\u548c\u3002" }, { @@ -44397,7 +44433,7 @@ "source_file": "services/oa_trip_days.py", "source_location": "L201", "id": "services_oa_trip_days_rationale_201", - "community": 6, + "community": 7, "norm_label": "\u63d0\u4ea4\u6821\u9a8c:\u884c\u7a0b\u5fc5\u586b\u3001\u7ed3\u675f\u665a\u4e8e\u5f00\u59cb;\u65f6\u957f/\u5929\u6570\u5408\u6cd5\u3002" }, { @@ -44595,7 +44631,7 @@ "source_file": "services/protocol_sample_list_summary.py", "source_location": "L1", "id": "services_protocol_sample_list_summary_rationale_1", - "community": 3, + "community": 9, "norm_label": "\u534f\u8bae/\u6350\u8d60\u5217\u8868\u5361\u7247:\u6309\u6837\u672c\u7f16\u7801\u6279\u91cf\u53d6\u63a5\u6536\u7ed3\u8bba\u4e0e\u95e8\u7981\u8d28\u68c0\u7ed3\u8bba(\u8f7b\u91cf\u5b57\u6bb5)\u3002" }, { @@ -44604,7 +44640,7 @@ "source_file": "services/protocol_sample_list_summary.py", "source_location": "L24", "id": "services_protocol_sample_list_summary_rationale_24", - "community": 3, + "community": 9, "norm_label": "\u5408\u5e76\u63a5\u6536/\u8d28\u68c0\u7ed3\u8bba\u6458\u8981\u4e3a\u5217\u8868 sampleitems \u5b57\u6bb5\u3002" }, { @@ -44613,7 +44649,7 @@ "source_file": "services/protocol_sample_list_summary.py", "source_location": "L53", "id": "services_protocol_sample_list_summary_rationale_53", - "community": 3, + "community": 9, "norm_label": "\u6309\u79df\u6237 + \u6837\u672c\u7f16\u7801 + \u6765\u6e90\u8fd4\u56de\u63a5\u6536\u6458\u8981(acceptconclusion / remark),\u540c\u7801\u53d6\u9996\u6761\u3002" }, { @@ -44622,7 +44658,7 @@ "source_file": "services/protocol_sample_list_summary.py", "source_location": "L86", "id": "services_protocol_sample_list_summary_rationale_86", - "community": 3, + "community": 9, "norm_label": "\u6309\u79df\u6237 + \u6837\u672c\u7f16\u7801 + \u6765\u6e90\u8fd4\u56de\u95e8\u7981\u8d28\u68c0\u7ed3\u8bba(\u4f18\u5148\u5de5\u5355\u843d\u5e93,\u5426\u5219\u7531\u4efb\u52a1\u6d3e\u751f)\u3002" }, { @@ -44631,7 +44667,7 @@ "source_file": "services/oa_related_approval.py", "source_location": "L1", "id": "services_oa_related_approval_py", - "community": 6, + "community": 7, "norm_label": "oa_related_approval.py" }, { @@ -44640,7 +44676,7 @@ "source_file": "services/oa_related_approval.py", "source_location": "L16", "id": "services_oa_related_approval_walk_rules", - "community": 6, + "community": 7, "norm_label": "_walk_rules()" }, { @@ -44649,7 +44685,7 @@ "source_file": "services/oa_related_approval.py", "source_location": "L28", "id": "services_oa_related_approval_schema_rules", - "community": 6, + "community": 7, "norm_label": "_schema_rules()" }, { @@ -44658,7 +44694,7 @@ "source_file": "services/oa_related_approval.py", "source_location": "L40", "id": "services_oa_related_approval_extract_upload_urls", - "community": 6, + "community": 7, "norm_label": "_extract_upload_urls()" }, { @@ -44667,7 +44703,7 @@ "source_file": "services/oa_related_approval.py", "source_location": "L72", "id": "services_oa_related_approval_normalize_related_ids", - "community": 6, + "community": 7, "norm_label": "_normalize_related_ids()" }, { @@ -44676,7 +44712,7 @@ "source_file": "services/oa_related_approval.py", "source_location": "L91", "id": "services_oa_related_approval_format_value", - "community": 6, + "community": 7, "norm_label": "_format_value()" }, { @@ -44685,7 +44721,7 @@ "source_file": "services/oa_related_approval.py", "source_location": "L140", "id": "services_oa_related_approval_flatten_form_fields_for_summary", - "community": 6, + "community": 7, "norm_label": "flatten_form_fields_for_summary()" }, { @@ -44694,7 +44730,7 @@ "source_file": "services/oa_related_approval.py", "source_location": "L169", "id": "services_oa_related_approval_extract_related_approval_links", - "community": 6, + "community": 7, "norm_label": "extract_related_approval_links()" }, { @@ -44703,7 +44739,7 @@ "source_file": "services/oa_related_approval.py", "source_location": "L202", "id": "services_oa_related_approval_merge_relation_targets", - "community": 6, + "community": 7, "norm_label": "merge_relation_targets()" }, { @@ -44712,7 +44748,7 @@ "source_file": "services/oa_related_approval.py", "source_location": "L220", "id": "services_oa_related_approval_assert_linkable_instance", - "community": 6, + "community": 7, "norm_label": "assert_linkable_instance()" }, { @@ -44721,7 +44757,7 @@ "source_file": "services/oa_related_approval.py", "source_location": "L229", "id": "services_oa_related_approval_list_related_candidates", - "community": 6, + "community": 7, "norm_label": "list_related_candidates()" }, { @@ -44730,7 +44766,7 @@ "source_file": "services/oa_related_approval.py", "source_location": "L290", "id": "services_oa_related_approval_build_related_summaries", - "community": 6, + "community": 7, "norm_label": "build_related_summaries()" }, { @@ -44739,7 +44775,7 @@ "source_file": "services/oa_related_approval.py", "source_location": "L1", "id": "services_oa_related_approval_rationale_1", - "community": 6, + "community": 3, "norm_label": "\u5173\u8054\u5ba1\u6279\u5355:\u5b57\u6bb5\u6241\u5e73\u5316\u4e0e form_data \u62bd\u94fe" }, { @@ -44748,7 +44784,7 @@ "source_file": "services/oa_related_approval.py", "source_location": "L41", "id": "services_oa_related_approval_rationale_41", - "community": 6, + "community": 3, "norm_label": "normalize formcreate upload / \u4e1a\u52a1\u9644\u4ef6\u503c\u4e3a url \u5217\u8868\u3002" }, { @@ -44757,7 +44793,7 @@ "source_file": "services/oa_related_approval.py", "source_location": "L73", "id": "services_oa_related_approval_rationale_73", - "community": 6, + "community": 3, "norm_label": "order-preserving dedupe of related approval instance ids." }, { @@ -44766,7 +44802,7 @@ "source_file": "services/oa_related_approval.py", "source_location": "L92", "id": "services_oa_related_approval_rationale_92", - "community": 6, + "community": 7, "norm_label": "returns (text, fullwidth)" }, { @@ -44775,7 +44811,7 @@ "source_file": "services/oa_related_approval.py", "source_location": "L172", "id": "services_oa_related_approval_rationale_172", - "community": 6, + "community": 3, "norm_label": "ordered unique (field_key, to_instance_id)." }, { @@ -44784,7 +44820,7 @@ "source_file": "services/oa_related_approval.py", "source_location": "L207", "id": "services_oa_related_approval_rationale_207", - "community": 6, + "community": 3, "norm_label": "returns (field_key|none, to_id) \u2014 form fields first, then legacy without key." }, { @@ -44793,7 +44829,7 @@ "source_file": "services/oa_leave_hours.py", "source_location": "L1", "id": "services_oa_leave_hours_py", - "community": 6, + "community": 8, "norm_label": "oa_leave_hours.py" }, { @@ -44802,7 +44838,7 @@ "source_file": "services/oa_leave_hours.py", "source_location": "L21", "id": "services_oa_leave_hours_parse_hm", - "community": 6, + "community": 8, "norm_label": "_parse_hm()" }, { @@ -44811,7 +44847,7 @@ "source_file": "services/oa_leave_hours.py", "source_location": "L31", "id": "services_oa_leave_hours_parse_dt", - "community": 6, + "community": 8, "norm_label": "_parse_dt()" }, { @@ -44820,7 +44856,7 @@ "source_file": "services/oa_leave_hours.py", "source_location": "L47", "id": "services_oa_leave_hours_overlap_minutes_on_day", - "community": 6, + "community": 8, "norm_label": "_overlap_minutes_on_day()" }, { @@ -44829,7 +44865,7 @@ "source_file": "services/oa_leave_hours.py", "source_location": "L75", "id": "services_oa_leave_hours_calc_leave_hours", - "community": 6, + "community": 8, "norm_label": "calc_leave_hours()" }, { @@ -44838,7 +44874,7 @@ "source_file": "services/oa_leave_hours.py", "source_location": "L97", "id": "services_oa_leave_hours_extract_rules", - "community": 6, + "community": 8, "norm_label": "_extract_rules()" }, { @@ -44847,7 +44883,7 @@ "source_file": "services/oa_leave_hours.py", "source_location": "L109", "id": "services_oa_leave_hours_walk", - "community": 6, + "community": 8, "norm_label": "_walk()" }, { @@ -44856,7 +44892,7 @@ "source_file": "services/oa_leave_hours.py", "source_location": "L123", "id": "services_oa_leave_hours_kit_child_fields", - "community": 6, + "community": 8, "norm_label": "_kit_child_fields()" }, { @@ -44865,7 +44901,7 @@ "source_file": "services/oa_leave_hours.py", "source_location": "L160", "id": "services_oa_leave_hours_round1", - "community": 6, + "community": 8, "norm_label": "_round1()" }, { @@ -44874,7 +44910,7 @@ "source_file": "services/oa_leave_hours.py", "source_location": "L170", "id": "services_oa_leave_hours_apply_leave_kit_hours", - "community": 6, + "community": 8, "norm_label": "apply_leave_kit_hours()" }, { @@ -44883,7 +44919,7 @@ "source_file": "services/oa_leave_hours.py", "source_location": "L205", "id": "services_oa_leave_hours_validate_leave_kit_form_values", - "community": 6, + "community": 8, "norm_label": "validate_leave_kit_form_values()" }, { @@ -44892,7 +44928,7 @@ "source_file": "services/oa_leave_hours.py", "source_location": "L1", "id": "services_oa_leave_hours_rationale_1", - "community": 6, + "community": 8, "norm_label": "\u8bf7\u5047\u5957\u4ef6:\u53cc\u6bb5\u5de5\u65f6\u91cd\u53e0\u5c0f\u65f6(\u4e0e\u524d\u7aef oa-leave-hours.ts \u5bf9\u9f50)" }, { @@ -44901,7 +44937,7 @@ "source_file": "services/oa_leave_hours.py", "source_location": "L80", "id": "services_oa_leave_hours_rationale_80", - "community": 6, + "community": 8, "norm_label": "\u8fd4\u56de 1 \u4f4d\u5c0f\u6570\u5c0f\u65f6;\u975e\u6cd5\u6216 end<=start \u8fd4\u56de none\u3002" }, { @@ -44910,7 +44946,7 @@ "source_file": "services/oa_leave_hours.py", "source_location": "L124", "id": "services_oa_leave_hours_rationale_124", - "community": 6, + "community": 8, "norm_label": "\u8fd4\u56de (start_field, end_field, duration_field)\u3002" }, { @@ -44919,7 +44955,7 @@ "source_file": "services/oa_leave_hours.py", "source_location": "L171", "id": "services_oa_leave_hours_rationale_171", - "community": 6, + "community": 8, "norm_label": "\u904d\u5386 leavekit:\u672a\u624b\u6539\u5219\u8986\u76d6\u65f6\u957f;\u5df2\u624b\u6539(form_data[__manual_])\u5219\u4ec5\u89c4\u8303\u5316\u4e00\u4f4d\u5c0f\u6570\u3002" }, { @@ -44928,7 +44964,7 @@ "source_file": "services/oa_resignation_kit_sync.py", "source_location": "L1", "id": "services_oa_resignation_kit_sync_py", - "community": 9, + "community": 6, "norm_label": "oa_resignation_kit_sync.py" }, { @@ -44937,7 +44973,7 @@ "source_file": "services/oa_resignation_kit_sync.py", "source_location": "L19", "id": "services_oa_resignation_kit_sync_loads", - "community": 9, + "community": 6, "norm_label": "_loads()" }, { @@ -44946,7 +44982,7 @@ "source_file": "services/oa_resignation_kit_sync.py", "source_location": "L30", "id": "services_oa_resignation_kit_sync_extract_rules", - "community": 9, + "community": 6, "norm_label": "_extract_rules()" }, { @@ -44955,7 +44991,7 @@ "source_file": "services/oa_resignation_kit_sync.py", "source_location": "L44", "id": "services_oa_resignation_kit_sync_walk", - "community": 9, + "community": 6, "norm_label": "_walk()" }, { @@ -44964,7 +45000,7 @@ "source_file": "services/oa_resignation_kit_sync.py", "source_location": "L52", "id": "services_oa_resignation_kit_sync_last_work_day_field", - "community": 9, + "community": 6, "norm_label": "_last_work_day_field()" }, { @@ -44973,7 +45009,7 @@ "source_file": "services/oa_resignation_kit_sync.py", "source_location": "L67", "id": "services_oa_resignation_kit_sync_parse_ymd", - "community": 9, + "community": 6, "norm_label": "_parse_ymd()" }, { @@ -44982,7 +45018,7 @@ "source_file": "services/oa_resignation_kit_sync.py", "source_location": "L83", "id": "services_oa_resignation_kit_sync_extract_last_work_day", - "community": 9, + "community": 6, "norm_label": "extract_last_work_day()" }, { @@ -44991,7 +45027,7 @@ "source_file": "services/oa_resignation_kit_sync.py", "source_location": "L98", "id": "services_oa_resignation_kit_sync_apply_resignation_kit_user_sync", - "community": 9, + "community": 6, "norm_label": "apply_resignation_kit_user_sync()" }, { @@ -45000,7 +45036,7 @@ "source_file": "services/oa_resignation_kit_sync.py", "source_location": "L1", "id": "services_oa_resignation_kit_sync_rationale_1", - "community": 9, + "community": 6, "norm_label": "\u79bb\u804c\u5957\u4ef6:\u5ba1\u6279\u901a\u8fc7\u540e\u56de\u5199\u53d1\u8d77\u4eba last_work_day\u3002" }, { @@ -45009,7 +45045,7 @@ "source_file": "services/oa_assignee.py", "source_location": "L1", "id": "services_oa_assignee_py", - "community": 6, + "community": 7, "norm_label": "oa_assignee.py" }, { @@ -45027,7 +45063,7 @@ "source_file": "services/oa_assignee.py", "source_location": "L27", "id": "services_oa_assignee_normalize_cc_assignee_types", - "community": 6, + "community": 7, "norm_label": "normalize_cc_assignee_types()" }, { @@ -45036,7 +45072,7 @@ "source_file": "services/oa_assignee.py", "source_location": "L45", "id": "services_oa_assignee_resolve_cc_assignees", - "community": 6, + "community": 7, "norm_label": "resolve_cc_assignees()" }, { @@ -45045,7 +45081,7 @@ "source_file": "services/oa_assignee.py", "source_location": "L103", "id": "services_oa_assignee_active_user_id", - "community": 6, + "community": 7, "norm_label": "_active_user_id()" }, { @@ -45054,7 +45090,7 @@ "source_file": "services/oa_assignee.py", "source_location": "L120", "id": "services_oa_assignee_resolve_dept_leader", - "community": 6, + "community": 7, "norm_label": "resolve_dept_leader()" }, { @@ -45063,7 +45099,7 @@ "source_file": "services/oa_assignee.py", "source_location": "L139", "id": "services_oa_assignee_resolve_direct_supervisor", - "community": 6, + "community": 7, "norm_label": "resolve_direct_supervisor()" }, { @@ -45072,7 +45108,7 @@ "source_file": "services/oa_assignee.py", "source_location": "L174", "id": "services_oa_assignee_resolve_assignees", - "community": 6, + "community": 7, "norm_label": "resolve_assignees()" }, { @@ -45081,7 +45117,7 @@ "source_file": "services/oa_assignee.py", "source_location": "L1", "id": "services_oa_assignee_rationale_1", - "community": 6, + "community": 7, "norm_label": "oa \u5ba1\u6279\u4eba\u89e3\u6790(\u4e0d\u8bfb sys_role;\u804c\u4f4d\u6210\u5458\u8d70 sys_user_post)" }, { @@ -45090,7 +45126,7 @@ "source_file": "services/oa_assignee.py", "source_location": "L55", "id": "services_oa_assignee_rationale_55", - "community": 6, + "community": 7, "norm_label": "\u6284\u9001\u591a\u7b56\u7565\u8f6f\u5e76\u96c6:\u5355\u7b56\u7565\u5931\u8d25/\u7a7a\u5219\u8df3\u8fc7;\u5168\u90e8\u65e0\u4eba\u8fd4\u56de [],\u4e0d\u629b\u9519\u3002" }, { @@ -45099,7 +45135,7 @@ "source_file": "services/oa_assignee.py", "source_location": "L184", "id": "services_oa_assignee_rationale_184", - "community": 6, + "community": 7, "norm_label": "\u6309\u8282\u70b9 approverconfig \u89e3\u6790\u5904\u7406\u4eba\u3002 assigneetype: users | posts | dept_leader | direct" }, { @@ -45108,7 +45144,7 @@ "source_file": "services/oa_receive_account.py", "source_location": "L1", "id": "services_oa_receive_account_py", - "community": 18, + "community": 0, "norm_label": "oa_receive_account.py" }, { @@ -45117,7 +45153,7 @@ "source_file": "services/oa_receive_account.py", "source_location": "L16", "id": "services_oa_receive_account_walk_rules", - "community": 18, + "community": 0, "norm_label": "_walk_rules()" }, { @@ -45126,7 +45162,7 @@ "source_file": "services/oa_receive_account.py", "source_location": "L28", "id": "services_oa_receive_account_schema_rules", - "community": 18, + "community": 0, "norm_label": "_schema_rules()" }, { @@ -45135,7 +45171,7 @@ "source_file": "services/oa_receive_account.py", "source_location": "L40", "id": "services_oa_receive_account_rule_props", - "community": 18, + "community": 0, "norm_label": "_rule_props()" }, { @@ -45144,7 +45180,7 @@ "source_file": "services/oa_receive_account.py", "source_location": "L45", "id": "services_oa_receive_account_field_label", - "community": 18, + "community": 0, "norm_label": "_field_label()" }, { @@ -45153,7 +45189,7 @@ "source_file": "services/oa_receive_account.py", "source_location": "L49", "id": "services_oa_receive_account_is_required", - "community": 18, + "community": 0, "norm_label": "_is_required()" }, { @@ -45162,7 +45198,7 @@ "source_file": "services/oa_receive_account.py", "source_location": "L60", "id": "services_oa_receive_account_pick", - "community": 18, + "community": 0, "norm_label": "_pick()" }, { @@ -45171,7 +45207,7 @@ "source_file": "services/oa_receive_account.py", "source_location": "L68", "id": "services_oa_receive_account_pick_str", - "community": 18, + "community": 0, "norm_label": "_pick_str()" }, { @@ -45180,7 +45216,7 @@ "source_file": "services/oa_receive_account.py", "source_location": "L75", "id": "services_oa_receive_account_pick_order_num", - "community": 18, + "community": 0, "norm_label": "_pick_order_num()" }, { @@ -45189,7 +45225,7 @@ "source_file": "services/oa_receive_account.py", "source_location": "L89", "id": "services_oa_receive_account_normalize_account_fields", - "community": 18, + "community": 0, "norm_label": "normalize_account_fields()" }, { @@ -45198,7 +45234,7 @@ "source_file": "services/oa_receive_account.py", "source_location": "L132", "id": "services_oa_receive_account_is_non_empty_str", - "community": 18, + "community": 0, "norm_label": "_is_non_empty_str()" }, { @@ -45207,7 +45243,7 @@ "source_file": "services/oa_receive_account.py", "source_location": "L136", "id": "services_oa_receive_account_is_valid_receive_account_item", - "community": 18, + "community": 0, "norm_label": "_is_valid_receive_account_item()" }, { @@ -45216,7 +45252,7 @@ "source_file": "services/oa_receive_account.py", "source_location": "L164", "id": "services_oa_receive_account_validate_receive_account_rule", - "community": 18, + "community": 0, "norm_label": "_validate_receive_account_rule()" }, { @@ -45225,7 +45261,7 @@ "source_file": "services/oa_receive_account.py", "source_location": "L191", "id": "services_oa_receive_account_validate_receive_account_form_values", - "community": 18, + "community": 0, "norm_label": "validate_receive_account_form_values()" }, { @@ -45234,7 +45270,7 @@ "source_file": "services/oa_receive_account.py", "source_location": "L1", "id": "services_oa_receive_account_rationale_1", - "community": 18, + "community": 0, "norm_label": "oa \u8868\u5355\u8bbe\u8ba1\u5668:\u6536\u6b3e\u8d26\u6237\u63a7\u4ef6 form_data \u6821\u9a8c + \u8d26\u6237\u5b57\u6bb5\u89c4\u8303\u5316" }, { @@ -45243,7 +45279,7 @@ "source_file": "services/oa_receive_account.py", "source_location": "L90", "id": "services_oa_receive_account_rationale_90", - "community": 18, + "community": 0, "norm_label": "\u89c4\u8303\u5316\u6536\u6b3e\u8d26\u6237\u5199\u5165\u5b57\u6bb5,\u8fd4\u56de (ok, error, snake_case dict)\u3002" }, { @@ -45252,7 +45288,7 @@ "source_file": "services/oa_receive_account.py", "source_location": "L194", "id": "services_oa_receive_account_rationale_194", - "community": 18, + "community": 0, "norm_label": "\u6821\u9a8c form_data \u4e2d\u6536\u6b3e\u8d26\u6237\u63a7\u4ef6\u7684\u503c\u683c\u5f0f,\u8fd4\u56de\u4e2d\u6587\u9519\u8bef\u5217\u8868(\u7a7a\u8868\u793a\u901a\u8fc7)\u3002" }, { @@ -45261,7 +45297,7 @@ "source_file": "services/oa_owner_fields.py", "source_location": "L1", "id": "services_oa_owner_fields_py", - "community": 6, + "community": 7, "norm_label": "oa_owner_fields.py" }, { @@ -45270,7 +45306,7 @@ "source_file": "services/oa_owner_fields.py", "source_location": "L7", "id": "services_oa_owner_fields_walk_rules", - "community": 6, + "community": 7, "norm_label": "_walk_rules()" }, { @@ -45279,7 +45315,7 @@ "source_file": "services/oa_owner_fields.py", "source_location": "L19", "id": "services_oa_owner_fields_schema_rules", - "community": 6, + "community": 7, "norm_label": "_schema_rules()" }, { @@ -45288,7 +45324,7 @@ "source_file": "services/oa_owner_fields.py", "source_location": "L31", "id": "services_oa_owner_fields_rule_props", - "community": 6, + "community": 7, "norm_label": "_rule_props()" }, { @@ -45297,7 +45333,7 @@ "source_file": "services/oa_owner_fields.py", "source_location": "L36", "id": "services_oa_owner_fields_allow_modify", - "community": 6, + "community": 7, "norm_label": "_allow_modify()" }, { @@ -45306,7 +45342,7 @@ "source_file": "services/oa_owner_fields.py", "source_location": "L40", "id": "services_oa_owner_fields_apply_owner_field_defaults", - "community": 6, + "community": 7, "norm_label": "apply_owner_field_defaults()" }, { @@ -45315,7 +45351,7 @@ "source_file": "services/oa_owner_fields.py", "source_location": "L1", "id": "services_oa_owner_fields_rationale_1", - "community": 6, + "community": 7, "norm_label": "oa \u5f52\u5c5e\u4eba / \u5f52\u5c5e\u90e8\u95e8:\u53ea\u8bfb\u5f3a\u5236\u56de\u586b\u4e0e\u6821\u9a8c\u8f85\u52a9" }, { @@ -45324,7 +45360,7 @@ "source_file": "services/oa_owner_fields.py", "source_location": "L49", "id": "services_oa_owner_fields_rationale_49", - "community": 6, + "community": 7, "norm_label": "\u5f52\u5c5e\u5b57\u6bb5\u5904\u7406: - allowmodify \u4e3a\u5047:\u5f3a\u5236\u5199\u5165\u5f53\u524d\u53d1\u8d77\u4eba / \u4e3b\u90e8\u95e8(\u9632\u7be1\u6539) - allowmodify \u4e3a\u771f\u4e14\u5b57\u6bb5\u4e3a\u7a7a:\u8865\u9ed8\u8ba4\u503c" }, { @@ -45333,7 +45369,7 @@ "source_file": "services/oa_money_field.py", "source_location": "L1", "id": "services_oa_money_field_py", - "community": 22, + "community": 18, "norm_label": "oa_money_field.py" }, { @@ -45342,7 +45378,7 @@ "source_file": "services/oa_money_field.py", "source_location": "L10", "id": "services_oa_money_field_walk_rules", - "community": 22, + "community": 18, "norm_label": "_walk_rules()" }, { @@ -45351,7 +45387,7 @@ "source_file": "services/oa_money_field.py", "source_location": "L22", "id": "services_oa_money_field_schema_rules", - "community": 22, + "community": 18, "norm_label": "_schema_rules()" }, { @@ -45360,7 +45396,7 @@ "source_file": "services/oa_money_field.py", "source_location": "L34", "id": "services_oa_money_field_rule_props", - "community": 22, + "community": 18, "norm_label": "_rule_props()" }, { @@ -45369,7 +45405,7 @@ "source_file": "services/oa_money_field.py", "source_location": "L39", "id": "services_oa_money_field_field_label", - "community": 22, + "community": 18, "norm_label": "_field_label()" }, { @@ -45378,7 +45414,7 @@ "source_file": "services/oa_money_field.py", "source_location": "L43", "id": "services_oa_money_field_is_required", - "community": 22, + "community": 18, "norm_label": "_is_required()" }, { @@ -45387,7 +45423,7 @@ "source_file": "services/oa_money_field.py", "source_location": "L54", "id": "services_oa_money_field_is_empty", - "community": 22, + "community": 18, "norm_label": "_is_empty()" }, { @@ -45396,7 +45432,7 @@ "source_file": "services/oa_money_field.py", "source_location": "L58", "id": "services_oa_money_field_parse_money", - "community": 22, + "community": 18, "norm_label": "_parse_money()" }, { @@ -45405,7 +45441,7 @@ "source_file": "services/oa_money_field.py", "source_location": "L86", "id": "services_oa_money_field_validate_money_rule", - "community": 22, + "community": 18, "norm_label": "_validate_money_rule()" }, { @@ -45414,7 +45450,7 @@ "source_file": "services/oa_money_field.py", "source_location": "L111", "id": "services_oa_money_field_validate_money_form_values", - "community": 22, + "community": 18, "norm_label": "validate_money_form_values()" }, { @@ -45423,7 +45459,7 @@ "source_file": "services/oa_money_field.py", "source_location": "L1", "id": "services_oa_money_field_rationale_1", - "community": 22, + "community": 18, "norm_label": "oa \u8868\u5355\u8bbe\u8ba1\u5668:\u91d1\u989d\u63a7\u4ef6 form_data \u6821\u9a8c" }, { @@ -45432,7 +45468,7 @@ "source_file": "services/oa_money_field.py", "source_location": "L59", "id": "services_oa_money_field_rationale_59", - "community": 22, + "community": 18, "norm_label": "\u89e3\u6790\u91d1\u989d\u503c\u3002\u6210\u529f\u8fd4\u56de (number, none);\u5931\u8d25\u8fd4\u56de (none, error_key)\u3002" }, { @@ -45441,7 +45477,7 @@ "source_file": "services/oa_money_field.py", "source_location": "L112", "id": "services_oa_money_field_rationale_112", - "community": 22, + "community": 18, "norm_label": "\u6821\u9a8c form_data \u4e2d\u91d1\u989d\u63a7\u4ef6\u7684\u503c\u683c\u5f0f,\u8fd4\u56de\u4e2d\u6587\u9519\u8bef\u5217\u8868(\u7a7a\u8868\u793a\u901a\u8fc7)\u3002" }, { @@ -45477,7 +45513,7 @@ "source_file": "services/protocol_pay_mode_switch.py", "source_location": "L39", "id": "services_protocol_pay_mode_switch_validate_payment_details_for_save", - "community": 1, + "community": 0, "norm_label": "validate_payment_details_for_save()" }, { @@ -45504,7 +45540,7 @@ "source_file": "services/protocol_pay_mode_switch.py", "source_location": "L47", "id": "services_protocol_pay_mode_switch_rationale_47", - "community": 1, + "community": 0, "norm_label": "\u4fdd\u5b58\u7f34\u8d39\u660e\u7ec6\u524d\u7684 p0 \u6821\u9a8c\u3002 \u8db8\u4ea4\u5e94\u7f34\u5408\u8ba1\u4e0e\u5408\u540c\u91d1\u989d\u4e0d\u4e00\u81f4\u4ec5\u4f5c\u524d\u7aef\u63d0\u9192,\u4e0d\u5728\u6b64\u963b\u65ad;\u6309\u7528\u6237\u586b\u5199\u539f\u6837\u4fdd\u5b58\u3002" }, { @@ -45648,7 +45684,7 @@ "source_file": "services/oa_confirmation_kit_sync.py", "source_location": "L1", "id": "services_oa_confirmation_kit_sync_py", - "community": 9, + "community": 6, "norm_label": "oa_confirmation_kit_sync.py" }, { @@ -45657,7 +45693,7 @@ "source_file": "services/oa_confirmation_kit_sync.py", "source_location": "L28", "id": "services_oa_confirmation_kit_sync_loads", - "community": 9, + "community": 6, "norm_label": "_loads()" }, { @@ -45666,7 +45702,7 @@ "source_file": "services/oa_confirmation_kit_sync.py", "source_location": "L39", "id": "services_oa_confirmation_kit_sync_extract_rules", - "community": 9, + "community": 6, "norm_label": "_extract_rules()" }, { @@ -45675,7 +45711,7 @@ "source_file": "services/oa_confirmation_kit_sync.py", "source_location": "L53", "id": "services_oa_confirmation_kit_sync_walk", - "community": 9, + "community": 6, "norm_label": "_walk()" }, { @@ -45684,7 +45720,7 @@ "source_file": "services/oa_confirmation_kit_sync.py", "source_location": "L61", "id": "services_oa_confirmation_kit_sync_kit_field_map", - "community": 9, + "community": 6, "norm_label": "_kit_field_map()" }, { @@ -45693,7 +45729,7 @@ "source_file": "services/oa_confirmation_kit_sync.py", "source_location": "L93", "id": "services_oa_confirmation_kit_sync_parse_hire_date", - "community": 9, + "community": 6, "norm_label": "_parse_hire_date()" }, { @@ -45702,7 +45738,7 @@ "source_file": "services/oa_confirmation_kit_sync.py", "source_location": "L107", "id": "services_oa_confirmation_kit_sync_dept_id", - "community": 9, + "community": 6, "norm_label": "_dept_id()" }, { @@ -45711,7 +45747,7 @@ "source_file": "services/oa_confirmation_kit_sync.py", "source_location": "L119", "id": "services_oa_confirmation_kit_sync_is_empty", - "community": 9, + "community": 6, "norm_label": "_is_empty()" }, { @@ -45720,7 +45756,7 @@ "source_file": "services/oa_confirmation_kit_sync.py", "source_location": "L129", "id": "services_oa_confirmation_kit_sync_extract_writeback_values", - "community": 9, + "community": 6, "norm_label": "extract_writeback_values()" }, { @@ -45729,7 +45765,7 @@ "source_file": "services/oa_confirmation_kit_sync.py", "source_location": "L185", "id": "services_oa_confirmation_kit_sync_apply_confirmation_kit_user_sync", - "community": 9, + "community": 6, "norm_label": "apply_confirmation_kit_user_sync()" }, { @@ -45738,7 +45774,7 @@ "source_file": "services/oa_confirmation_kit_sync.py", "source_location": "L1", "id": "services_oa_confirmation_kit_sync_rationale_1", - "community": 9, + "community": 6, "norm_label": "\u8f6c\u6b63\u5957\u4ef6:\u5ba1\u6279\u901a\u8fc7\u540e\u56de\u5199\u53d1\u8d77\u4eba sys_user\u3002" }, { @@ -45747,7 +45783,7 @@ "source_file": "services/oa_confirmation_kit_sync.py", "source_location": "L62", "id": "services_oa_confirmation_kit_sync_rationale_62", - "community": 9, + "community": 6, "norm_label": "semantic -> form field id" }, { @@ -45756,7 +45792,7 @@ "source_file": "services/oa_confirmation_kit_sync.py", "source_location": "L130", "id": "services_oa_confirmation_kit_sync_rationale_130", - "community": 9, + "community": 6, "norm_label": "\u4ece schema+form_data \u63d0\u53d6\u53ef\u56de\u5199\u5217\u503c(\u5217\u540d -> \u503c)\u3002\u7a7a\u5b57\u6bb5\u4e0d\u8fdb\u5165\u7ed3\u679c\u3002" }, { @@ -45765,7 +45801,7 @@ "source_file": "services/oa_confirmation_kit_sync.py", "source_location": "L186", "id": "services_oa_confirmation_kit_sync_rationale_186", - "community": 9, + "community": 6, "norm_label": "\u626b\u63cf confirmationkit,\u6709\u503c\u5219\u66f4\u65b0\u53d1\u8d77\u4eba sys_user;\u5f02\u5e38\u53ea\u6253\u65e5\u5fd7\u3002" }, { @@ -45774,7 +45810,7 @@ "source_file": "services/oa_formula.py", "source_location": "L1", "id": "services_oa_formula_py", - "community": 6, + "community": 7, "norm_label": "oa_formula.py" }, { @@ -45783,7 +45819,7 @@ "source_file": "services/oa_formula.py", "source_location": "L32", "id": "services_oa_formula_formulaerror", - "community": 6, + "community": 7, "norm_label": "formulaerror" }, { @@ -45792,7 +45828,7 @@ "source_file": "services/oa_formula.py", "source_location": "L36", "id": "services_oa_formula_to_number", - "community": 6, + "community": 7, "norm_label": "_to_number()" }, { @@ -45801,7 +45837,7 @@ "source_file": "services/oa_formula.py", "source_location": "L56", "id": "services_oa_formula_truthy", - "community": 6, + "community": 7, "norm_label": "_truthy()" }, { @@ -45810,7 +45846,7 @@ "source_file": "services/oa_formula.py", "source_location": "L68", "id": "services_oa_formula_preprocess_formula", - "community": 6, + "community": 7, "norm_label": "preprocess_formula()" }, { @@ -45819,7 +45855,7 @@ "source_file": "services/oa_formula.py", "source_location": "L76", "id": "services_oa_formula_safeeval", - "community": 6, + "community": 7, "norm_label": "_safeeval" }, { @@ -45828,7 +45864,7 @@ "source_file": "services/oa_formula.py", "source_location": "L77", "id": "services_oa_formula_safeeval_init", - "community": 6, + "community": 7, "norm_label": ".__init__()" }, { @@ -45837,7 +45873,7 @@ "source_file": "services/oa_formula.py", "source_location": "L80", "id": "services_oa_formula_safeeval_visit", - "community": 6, + "community": 7, "norm_label": ".visit()" }, { @@ -45846,7 +45882,7 @@ "source_file": "services/oa_formula.py", "source_location": "L87", "id": "services_oa_formula_safeeval_visit_expression", - "community": 6, + "community": 7, "norm_label": ".visit_expression()" }, { @@ -45855,7 +45891,7 @@ "source_file": "services/oa_formula.py", "source_location": "L90", "id": "services_oa_formula_safeeval_visit_constant", - "community": 6, + "community": 7, "norm_label": ".visit_constant()" }, { @@ -45864,7 +45900,7 @@ "source_file": "services/oa_formula.py", "source_location": "L96", "id": "services_oa_formula_safeeval_visit_num", - "community": 6, + "community": 7, "norm_label": ".visit_num()" }, { @@ -45873,7 +45909,7 @@ "source_file": "services/oa_formula.py", "source_location": "L99", "id": "services_oa_formula_safeeval_visit_str", - "community": 6, + "community": 7, "norm_label": ".visit_str()" }, { @@ -45882,7 +45918,7 @@ "source_file": "services/oa_formula.py", "source_location": "L102", "id": "services_oa_formula_safeeval_visit_nameconstant", - "community": 6, + "community": 7, "norm_label": ".visit_nameconstant()" }, { @@ -45891,7 +45927,7 @@ "source_file": "services/oa_formula.py", "source_location": "L105", "id": "services_oa_formula_safeeval_visit_name", - "community": 6, + "community": 7, "norm_label": ".visit_name()" }, { @@ -45900,7 +45936,7 @@ "source_file": "services/oa_formula.py", "source_location": "L114", "id": "services_oa_formula_safeeval_visit_unaryop", - "community": 6, + "community": 7, "norm_label": ".visit_unaryop()" }, { @@ -45909,7 +45945,7 @@ "source_file": "services/oa_formula.py", "source_location": "L124", "id": "services_oa_formula_safeeval_visit_binop", - "community": 6, + "community": 7, "norm_label": ".visit_binop()" }, { @@ -45918,7 +45954,7 @@ "source_file": "services/oa_formula.py", "source_location": "L136", "id": "services_oa_formula_safeeval_visit_compare", - "community": 6, + "community": 7, "norm_label": ".visit_compare()" }, { @@ -45927,7 +45963,7 @@ "source_file": "services/oa_formula.py", "source_location": "L154", "id": "services_oa_formula_safeeval_visit_boolop", - "community": 6, + "community": 7, "norm_label": ".visit_boolop()" }, { @@ -45936,7 +45972,7 @@ "source_file": "services/oa_formula.py", "source_location": "L169", "id": "services_oa_formula_safeeval_visit_ifexp", - "community": 6, + "community": 7, "norm_label": ".visit_ifexp()" }, { @@ -45945,7 +45981,7 @@ "source_file": "services/oa_formula.py", "source_location": "L172", "id": "services_oa_formula_safeeval_visit_call", - "community": 6, + "community": 7, "norm_label": ".visit_call()" }, { @@ -45954,7 +45990,7 @@ "source_file": "services/oa_formula.py", "source_location": "L198", "id": "services_oa_formula_safeeval_visit_list", - "community": 6, + "community": 7, "norm_label": ".visit_list()" }, { @@ -45963,7 +45999,7 @@ "source_file": "services/oa_formula.py", "source_location": "L202", "id": "services_oa_formula_eval_formula", - "community": 6, + "community": 7, "norm_label": "eval_formula()" }, { @@ -45972,7 +46008,7 @@ "source_file": "services/oa_formula.py", "source_location": "L211", "id": "services_oa_formula_extract_rules", - "community": 6, + "community": 7, "norm_label": "_extract_rules()" }, { @@ -45981,7 +46017,7 @@ "source_file": "services/oa_formula.py", "source_location": "L221", "id": "services_oa_formula_walk_rules", - "community": 6, + "community": 7, "norm_label": "_walk_rules()" }, { @@ -45990,7 +46026,7 @@ "source_file": "services/oa_formula.py", "source_location": "L229", "id": "services_oa_formula_apply_formulas_and_linkages", - "community": 6, + "community": 7, "norm_label": "apply_formulas_and_linkages()" }, { @@ -45999,7 +46035,7 @@ "source_file": "services/oa_formula.py", "source_location": "L1", "id": "services_oa_formula_rationale_1", - "community": 6, + "community": 7, "norm_label": "oa \u8868\u5355\u516c\u5f0f\u4e0e\u6570\u636e\u8054\u52a8(\u7981\u6b62\u4efb\u610f eval)" }, { @@ -46008,7 +46044,7 @@ "source_file": "services/oa_formula.py", "source_location": "L69", "id": "services_oa_formula_rationale_69", - "community": 6, + "community": 7, "norm_label": "\u5c06 {field} \u8f6c\u4e3a\u5408\u6cd5\u6807\u8bc6\u7b26\u5f15\u7528 field\u3002" }, { @@ -46017,7 +46053,7 @@ "source_file": "services/oa_formula.py", "source_location": "L232", "id": "services_oa_formula_rationale_232", - "community": 6, + "community": 7, "norm_label": "\u6309 schema \u4e2d\u5b57\u6bb5 props.formula / props.linkage \u56de\u586b form_data\u3002 linkage \u793a\u4f8b: { \"when" }, { @@ -46026,7 +46062,7 @@ "source_file": "ws/__init__.py", "source_location": "L1", "id": "ws_init_py", - "community": 47, + "community": 44, "norm_label": "__init__.py" } ], @@ -54039,7 +54075,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L413", + "source_location": "L427", "weight": 1.0, "_src": "api_oa_approval_oagroupcreatebody", "_tgt": "basemodel", @@ -54051,7 +54087,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L420", + "source_location": "L434", "weight": 1.0, "_src": "api_oa_approval_oagroupupdatebody", "_tgt": "basemodel", @@ -54063,7 +54099,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L500", + "source_location": "L514", "weight": 1.0, "_src": "api_oa_approval_oaappcreatebody", "_tgt": "basemodel", @@ -54075,7 +54111,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L515", + "source_location": "L529", "weight": 1.0, "_src": "api_oa_approval_oaappupdatebody", "_tgt": "basemodel", @@ -54087,7 +54123,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L530", + "source_location": "L544", "weight": 1.0, "_src": "api_oa_approval_oadraftsavebody", "_tgt": "basemodel", @@ -54099,7 +54135,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L708", + "source_location": "L722", "weight": 1.0, "_src": "api_oa_approval_oastartinstancebody", "_tgt": "basemodel", @@ -54111,7 +54147,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L721", + "source_location": "L735", "weight": 1.0, "_src": "api_oa_approval_oaflowpreviewbody", "_tgt": "basemodel", @@ -54123,7 +54159,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L729", + "source_location": "L743", "weight": 1.0, "_src": "api_oa_approval_oataskactionbody", "_tgt": "basemodel", @@ -54135,7 +54171,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L734", + "source_location": "L748", "weight": 1.0, "_src": "api_oa_approval_oaccreadbatchbody", "_tgt": "basemodel", @@ -54147,7 +54183,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L739", + "source_location": "L753", "weight": 1.0, "_src": "api_oa_approval_oaaddsignbody", "_tgt": "basemodel", @@ -54159,7 +54195,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L745", + "source_location": "L759", "weight": 1.0, "_src": "api_oa_approval_oatransferbody", "_tgt": "basemodel", @@ -54171,7 +54207,7 @@ "relation": "inherits", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L751", + "source_location": "L765", "weight": 1.0, "_src": "api_oa_approval_oaresubmitbody", "_tgt": "basemodel", @@ -59632,7 +59668,19 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L265", + "source_location": "L253", + "weight": 1.0, + "_src": "api_oa_approval_oa_instance_draft_count", + "_tgt": "core_response_success_response", + "source": "core_response_success_response", + "target": "api_oa_approval_oa_instance_draft_count" + }, + { + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L279", "weight": 1.0, "_src": "api_oa_approval_list_oa_instance_drafts", "_tgt": "core_response_success_response", @@ -59644,7 +59692,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L287", + "source_location": "L301", "weight": 1.0, "_src": "api_oa_approval_create_oa_instance_draft", "_tgt": "core_response_success_response", @@ -59656,7 +59704,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L306", + "source_location": "L320", "weight": 1.0, "_src": "api_oa_approval_batch_delete_oa_instance_drafts", "_tgt": "core_response_success_response", @@ -59668,7 +59716,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L327", + "source_location": "L341", "weight": 1.0, "_src": "api_oa_approval_get_oa_instance_draft", "_tgt": "core_response_success_response", @@ -59680,7 +59728,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L351", + "source_location": "L365", "weight": 1.0, "_src": "api_oa_approval_update_oa_instance_draft", "_tgt": "core_response_success_response", @@ -59692,7 +59740,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L372", + "source_location": "L386", "weight": 1.0, "_src": "api_oa_approval_delete_oa_instance_draft", "_tgt": "core_response_success_response", @@ -59704,7 +59752,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L399", + "source_location": "L413", "weight": 1.0, "_src": "api_oa_approval_submit_oa_instance_draft", "_tgt": "core_response_success_response", @@ -59716,7 +59764,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L433", + "source_location": "L447", "weight": 1.0, "_src": "api_oa_approval_list_oa_groups", "_tgt": "core_response_success_response", @@ -59728,7 +59776,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L452", + "source_location": "L466", "weight": 1.0, "_src": "api_oa_approval_create_oa_group", "_tgt": "core_response_success_response", @@ -59740,7 +59788,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L476", + "source_location": "L490", "weight": 1.0, "_src": "api_oa_approval_update_oa_group", "_tgt": "core_response_success_response", @@ -59752,7 +59800,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L490", + "source_location": "L504", "weight": 1.0, "_src": "api_oa_approval_delete_oa_group", "_tgt": "core_response_success_response", @@ -59764,7 +59812,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L550", + "source_location": "L564", "weight": 1.0, "_src": "api_oa_approval_list_oa_apps", "_tgt": "core_response_success_response", @@ -59776,7 +59824,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L581", + "source_location": "L595", "weight": 1.0, "_src": "api_oa_approval_create_oa_app", "_tgt": "core_response_success_response", @@ -59788,7 +59836,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L604", + "source_location": "L618", "weight": 1.0, "_src": "api_oa_approval_copy_oa_app", "_tgt": "core_response_success_response", @@ -59800,7 +59848,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L627", + "source_location": "L641", "weight": 1.0, "_src": "api_oa_approval_update_oa_app", "_tgt": "core_response_success_response", @@ -59812,7 +59860,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L641", + "source_location": "L655", "weight": 1.0, "_src": "api_oa_approval_delete_oa_app", "_tgt": "core_response_success_response", @@ -59824,7 +59872,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L657", + "source_location": "L671", "weight": 1.0, "_src": "api_oa_approval_get_oa_app_draft", "_tgt": "core_response_success_response", @@ -59836,7 +59884,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L681", + "source_location": "L695", "weight": 1.0, "_src": "api_oa_approval_save_oa_app_draft", "_tgt": "core_response_success_response", @@ -59848,7 +59896,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L700", + "source_location": "L714", "weight": 1.0, "_src": "api_oa_approval_publish_oa_app", "_tgt": "core_response_success_response", @@ -59860,7 +59908,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L768", + "source_location": "L782", "weight": 1.0, "_src": "api_oa_approval_list_oa_templates", "_tgt": "core_response_success_response", @@ -59872,7 +59920,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L787", + "source_location": "L801", "weight": 1.0, "_src": "api_oa_approval_get_oa_template", "_tgt": "core_response_success_response", @@ -59884,7 +59932,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L819", + "source_location": "L833", "weight": 1.0, "_src": "api_oa_approval_preview_oa_template_flow", "_tgt": "core_response_success_response", @@ -59896,7 +59944,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L850", + "source_location": "L864", "weight": 1.0, "_src": "api_oa_approval_preview_oa_template_flow_get", "_tgt": "core_response_success_response", @@ -59908,7 +59956,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L877", + "source_location": "L891", "weight": 1.0, "_src": "api_oa_approval_start_oa_instance", "_tgt": "core_response_success_response", @@ -59920,7 +59968,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L892", + "source_location": "L906", "weight": 1.0, "_src": "api_oa_approval_get_oa_instance", "_tgt": "core_response_success_response", @@ -59932,7 +59980,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L916", + "source_location": "L930", "weight": 1.0, "_src": "api_oa_approval_list_related_candidates", "_tgt": "core_response_success_response", @@ -59944,7 +59992,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L941", + "source_location": "L955", "weight": 1.0, "_src": "api_oa_approval_get_related_summaries", "_tgt": "core_response_success_response", @@ -59956,7 +60004,19 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L956", + "source_location": "L970", + "weight": 1.0, + "_src": "api_oa_approval_oa_pending_task_count", + "_tgt": "core_response_success_response", + "source": "core_response_success_response", + "target": "api_oa_approval_oa_pending_task_count" + }, + { + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L987", "weight": 1.0, "_src": "api_oa_approval_oa_cc_unread_count", "_tgt": "core_response_success_response", @@ -59968,7 +60028,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L977", + "source_location": "L1008", "weight": 1.0, "_src": "api_oa_approval_oa_cc_read_batch", "_tgt": "core_response_success_response", @@ -59980,7 +60040,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L998", + "source_location": "L1029", "weight": 1.0, "_src": "api_oa_approval_oa_task_mark_read", "_tgt": "core_response_success_response", @@ -59992,7 +60052,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1021", + "source_location": "L1052", "weight": 1.0, "_src": "api_oa_approval_list_oa_tasks", "_tgt": "core_response_success_response", @@ -60004,7 +60064,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1045", + "source_location": "L1076", "weight": 1.0, "_src": "api_oa_approval_approve_oa_task", "_tgt": "core_response_success_response", @@ -60016,7 +60076,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1069", + "source_location": "L1100", "weight": 1.0, "_src": "api_oa_approval_reject_oa_task", "_tgt": "core_response_success_response", @@ -60028,7 +60088,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1092", + "source_location": "L1123", "weight": 1.0, "_src": "api_oa_approval_return_oa_task", "_tgt": "core_response_success_response", @@ -60040,7 +60100,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1116", + "source_location": "L1147", "weight": 1.0, "_src": "api_oa_approval_resubmit_oa_instance", "_tgt": "core_response_success_response", @@ -60052,7 +60112,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1140", + "source_location": "L1171", "weight": 1.0, "_src": "api_oa_approval_add_sign_oa_task", "_tgt": "core_response_success_response", @@ -60064,7 +60124,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1164", + "source_location": "L1195", "weight": 1.0, "_src": "api_oa_approval_transfer_oa_task", "_tgt": "core_response_success_response", @@ -60076,7 +60136,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1182", + "source_location": "L1213", "weight": 1.0, "_src": "api_oa_approval_withdraw_oa_instance", "_tgt": "core_response_success_response", @@ -68020,7 +68080,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L289", + "source_location": "L303", "weight": 1.0, "_src": "api_oa_approval_create_oa_instance_draft", "_tgt": "core_response_error_response", @@ -68032,7 +68092,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L308", + "source_location": "L322", "weight": 1.0, "_src": "api_oa_approval_batch_delete_oa_instance_drafts", "_tgt": "core_response_error_response", @@ -68044,7 +68104,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L329", + "source_location": "L343", "weight": 1.0, "_src": "api_oa_approval_get_oa_instance_draft", "_tgt": "core_response_error_response", @@ -68056,7 +68116,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L353", + "source_location": "L367", "weight": 1.0, "_src": "api_oa_approval_update_oa_instance_draft", "_tgt": "core_response_error_response", @@ -68068,7 +68128,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L374", + "source_location": "L388", "weight": 1.0, "_src": "api_oa_approval_delete_oa_instance_draft", "_tgt": "core_response_error_response", @@ -68080,7 +68140,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L401", + "source_location": "L415", "weight": 1.0, "_src": "api_oa_approval_submit_oa_instance_draft", "_tgt": "core_response_error_response", @@ -68092,7 +68152,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L454", + "source_location": "L468", "weight": 1.0, "_src": "api_oa_approval_create_oa_group", "_tgt": "core_response_error_response", @@ -68104,7 +68164,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L478", + "source_location": "L492", "weight": 1.0, "_src": "api_oa_approval_update_oa_group", "_tgt": "core_response_error_response", @@ -68116,7 +68176,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L492", + "source_location": "L506", "weight": 1.0, "_src": "api_oa_approval_delete_oa_group", "_tgt": "core_response_error_response", @@ -68128,7 +68188,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L586", + "source_location": "L600", "weight": 1.0, "_src": "api_oa_approval_create_oa_app", "_tgt": "core_response_error_response", @@ -68140,7 +68200,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L609", + "source_location": "L623", "weight": 1.0, "_src": "api_oa_approval_copy_oa_app", "_tgt": "core_response_error_response", @@ -68152,7 +68212,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L629", + "source_location": "L643", "weight": 1.0, "_src": "api_oa_approval_update_oa_app", "_tgt": "core_response_error_response", @@ -68164,7 +68224,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L643", + "source_location": "L657", "weight": 1.0, "_src": "api_oa_approval_delete_oa_app", "_tgt": "core_response_error_response", @@ -68176,7 +68236,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L659", + "source_location": "L673", "weight": 1.0, "_src": "api_oa_approval_get_oa_app_draft", "_tgt": "core_response_error_response", @@ -68188,7 +68248,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L683", + "source_location": "L697", "weight": 1.0, "_src": "api_oa_approval_save_oa_app_draft", "_tgt": "core_response_error_response", @@ -68200,7 +68260,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L699", + "source_location": "L713", "weight": 1.0, "_src": "api_oa_approval_publish_oa_app", "_tgt": "core_response_error_response", @@ -68212,7 +68272,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L789", + "source_location": "L803", "weight": 1.0, "_src": "api_oa_approval_get_oa_template", "_tgt": "core_response_error_response", @@ -68224,7 +68284,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L821", + "source_location": "L835", "weight": 1.0, "_src": "api_oa_approval_preview_oa_template_flow", "_tgt": "core_response_error_response", @@ -68236,7 +68296,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L852", + "source_location": "L866", "weight": 1.0, "_src": "api_oa_approval_preview_oa_template_flow_get", "_tgt": "core_response_error_response", @@ -68248,7 +68308,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L879", + "source_location": "L893", "weight": 1.0, "_src": "api_oa_approval_start_oa_instance", "_tgt": "core_response_error_response", @@ -68260,7 +68320,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L894", + "source_location": "L908", "weight": 1.0, "_src": "api_oa_approval_get_oa_instance", "_tgt": "core_response_error_response", @@ -68272,7 +68332,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L940", + "source_location": "L954", "weight": 1.0, "_src": "api_oa_approval_get_related_summaries", "_tgt": "core_response_error_response", @@ -68284,7 +68344,19 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L958", + "source_location": "L972", + "weight": 1.0, + "_src": "api_oa_approval_oa_pending_task_count", + "_tgt": "core_response_error_response", + "source": "core_response_error_response", + "target": "api_oa_approval_oa_pending_task_count" + }, + { + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L989", "weight": 1.0, "_src": "api_oa_approval_oa_cc_unread_count", "_tgt": "core_response_error_response", @@ -68296,7 +68368,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L979", + "source_location": "L1010", "weight": 1.0, "_src": "api_oa_approval_oa_cc_read_batch", "_tgt": "core_response_error_response", @@ -68308,7 +68380,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1000", + "source_location": "L1031", "weight": 1.0, "_src": "api_oa_approval_oa_task_mark_read", "_tgt": "core_response_error_response", @@ -68320,7 +68392,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1023", + "source_location": "L1054", "weight": 1.0, "_src": "api_oa_approval_list_oa_tasks", "_tgt": "core_response_error_response", @@ -68332,7 +68404,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1047", + "source_location": "L1078", "weight": 1.0, "_src": "api_oa_approval_approve_oa_task", "_tgt": "core_response_error_response", @@ -68344,7 +68416,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1071", + "source_location": "L1102", "weight": 1.0, "_src": "api_oa_approval_reject_oa_task", "_tgt": "core_response_error_response", @@ -68356,7 +68428,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1094", + "source_location": "L1125", "weight": 1.0, "_src": "api_oa_approval_return_oa_task", "_tgt": "core_response_error_response", @@ -68368,7 +68440,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1118", + "source_location": "L1149", "weight": 1.0, "_src": "api_oa_approval_resubmit_oa_instance", "_tgt": "core_response_error_response", @@ -68380,7 +68452,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1142", + "source_location": "L1173", "weight": 1.0, "_src": "api_oa_approval_add_sign_oa_task", "_tgt": "core_response_error_response", @@ -68392,7 +68464,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1166", + "source_location": "L1197", "weight": 1.0, "_src": "api_oa_approval_transfer_oa_task", "_tgt": "core_response_error_response", @@ -68404,7 +68476,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1184", + "source_location": "L1215", "weight": 1.0, "_src": "api_oa_approval_withdraw_oa_instance", "_tgt": "core_response_error_response", @@ -75604,7 +75676,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/oa_instance_draft.py", - "source_location": "L221", + "source_location": "L233", "weight": 1.0, "_src": "crud_oa_instance_draft_create_draft", "_tgt": "core_utils_generate_uuid", @@ -75820,7 +75892,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L2370", + "source_location": "L2384", "weight": 1.0, "_src": "services_oa_engine_add_sign", "_tgt": "core_utils_generate_uuid", @@ -75832,7 +75904,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L2478", + "source_location": "L2492", "weight": 1.0, "_src": "services_oa_engine_transfer_task", "_tgt": "core_utils_generate_uuid", @@ -141916,7 +141988,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/oa_instance_draft.py", - "source_location": "L294", + "source_location": "L306", "weight": 1.0, "_src": "crud_oa_instance_draft_batch_soft_delete_drafts", "_tgt": "str", @@ -145060,7 +145132,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L289", + "source_location": "L303", "weight": 1.0, "_src": "api_oa_approval_create_oa_instance_draft", "_tgt": "str", @@ -145072,7 +145144,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L308", + "source_location": "L322", "weight": 1.0, "_src": "api_oa_approval_batch_delete_oa_instance_drafts", "_tgt": "str", @@ -145084,7 +145156,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L329", + "source_location": "L343", "weight": 1.0, "_src": "api_oa_approval_get_oa_instance_draft", "_tgt": "str", @@ -145096,7 +145168,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L353", + "source_location": "L367", "weight": 1.0, "_src": "api_oa_approval_update_oa_instance_draft", "_tgt": "str", @@ -145108,7 +145180,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L374", + "source_location": "L388", "weight": 1.0, "_src": "api_oa_approval_delete_oa_instance_draft", "_tgt": "str", @@ -145120,7 +145192,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L401", + "source_location": "L415", "weight": 1.0, "_src": "api_oa_approval_submit_oa_instance_draft", "_tgt": "str", @@ -145132,7 +145204,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L454", + "source_location": "L468", "weight": 1.0, "_src": "api_oa_approval_create_oa_group", "_tgt": "str", @@ -145144,7 +145216,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L478", + "source_location": "L492", "weight": 1.0, "_src": "api_oa_approval_update_oa_group", "_tgt": "str", @@ -145156,7 +145228,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L492", + "source_location": "L506", "weight": 1.0, "_src": "api_oa_approval_delete_oa_group", "_tgt": "str", @@ -145168,7 +145240,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L586", + "source_location": "L600", "weight": 1.0, "_src": "api_oa_approval_create_oa_app", "_tgt": "str", @@ -145180,7 +145252,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L609", + "source_location": "L623", "weight": 1.0, "_src": "api_oa_approval_copy_oa_app", "_tgt": "str", @@ -145192,7 +145264,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L629", + "source_location": "L643", "weight": 1.0, "_src": "api_oa_approval_update_oa_app", "_tgt": "str", @@ -145204,7 +145276,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L643", + "source_location": "L657", "weight": 1.0, "_src": "api_oa_approval_delete_oa_app", "_tgt": "str", @@ -145216,7 +145288,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L659", + "source_location": "L673", "weight": 1.0, "_src": "api_oa_approval_get_oa_app_draft", "_tgt": "str", @@ -145228,7 +145300,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L683", + "source_location": "L697", "weight": 1.0, "_src": "api_oa_approval_save_oa_app_draft", "_tgt": "str", @@ -145240,7 +145312,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L789", + "source_location": "L803", "weight": 1.0, "_src": "api_oa_approval_get_oa_template", "_tgt": "str", @@ -145252,7 +145324,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L821", + "source_location": "L835", "weight": 1.0, "_src": "api_oa_approval_preview_oa_template_flow", "_tgt": "str", @@ -145264,7 +145336,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L852", + "source_location": "L866", "weight": 1.0, "_src": "api_oa_approval_preview_oa_template_flow_get", "_tgt": "str", @@ -145276,7 +145348,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L879", + "source_location": "L893", "weight": 1.0, "_src": "api_oa_approval_start_oa_instance", "_tgt": "str", @@ -145288,7 +145360,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L894", + "source_location": "L908", "weight": 1.0, "_src": "api_oa_approval_get_oa_instance", "_tgt": "str", @@ -145300,7 +145372,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L940", + "source_location": "L954", "weight": 1.0, "_src": "api_oa_approval_get_related_summaries", "_tgt": "str", @@ -145312,7 +145384,19 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L958", + "source_location": "L972", + "weight": 1.0, + "_src": "api_oa_approval_oa_pending_task_count", + "_tgt": "str", + "source": "str", + "target": "api_oa_approval_oa_pending_task_count" + }, + { + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L989", "weight": 1.0, "_src": "api_oa_approval_oa_cc_unread_count", "_tgt": "str", @@ -145324,7 +145408,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L979", + "source_location": "L1010", "weight": 1.0, "_src": "api_oa_approval_oa_cc_read_batch", "_tgt": "str", @@ -145336,7 +145420,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1000", + "source_location": "L1031", "weight": 1.0, "_src": "api_oa_approval_oa_task_mark_read", "_tgt": "str", @@ -145348,7 +145432,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1023", + "source_location": "L1054", "weight": 1.0, "_src": "api_oa_approval_list_oa_tasks", "_tgt": "str", @@ -145360,7 +145444,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1047", + "source_location": "L1078", "weight": 1.0, "_src": "api_oa_approval_approve_oa_task", "_tgt": "str", @@ -145372,7 +145456,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1071", + "source_location": "L1102", "weight": 1.0, "_src": "api_oa_approval_reject_oa_task", "_tgt": "str", @@ -145384,7 +145468,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1094", + "source_location": "L1125", "weight": 1.0, "_src": "api_oa_approval_return_oa_task", "_tgt": "str", @@ -145396,7 +145480,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1118", + "source_location": "L1149", "weight": 1.0, "_src": "api_oa_approval_resubmit_oa_instance", "_tgt": "str", @@ -145408,7 +145492,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1142", + "source_location": "L1173", "weight": 1.0, "_src": "api_oa_approval_add_sign_oa_task", "_tgt": "str", @@ -145420,7 +145504,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1166", + "source_location": "L1197", "weight": 1.0, "_src": "api_oa_approval_transfer_oa_task", "_tgt": "str", @@ -145432,7 +145516,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1184", + "source_location": "L1215", "weight": 1.0, "_src": "api_oa_approval_withdraw_oa_instance", "_tgt": "str", @@ -154097,10 +154181,10 @@ "source_file": "api/oa_approval.py", "source_location": "L16", "weight": 0.8, - "_src": "api_oa_approval_rationale_799", + "_src": "api_oa_approval_rationale_813", "_tgt": "models_models_sysuser", "source": "models_models_sysuser", - "target": "api_oa_approval_rationale_799", + "target": "api_oa_approval_rationale_813", "confidence_score": 0.5 }, { @@ -154109,10 +154193,10 @@ "source_file": "api/oa_approval.py", "source_location": "L16", "weight": 0.8, - "_src": "api_oa_approval_rationale_830", + "_src": "api_oa_approval_rationale_844", "_tgt": "models_models_sysuser", "source": "models_models_sysuser", - "target": "api_oa_approval_rationale_830", + "target": "api_oa_approval_rationale_844", "confidence_score": 0.5 }, { @@ -156581,10 +156665,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2105", + "_src": "services_oa_engine_rationale_2119", "_tgt": "models_models_sysuser", "source": "models_models_sysuser", - "target": "services_oa_engine_rationale_2105", + "target": "services_oa_engine_rationale_2119", "confidence_score": 0.5 }, { @@ -156593,10 +156677,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2299", + "_src": "services_oa_engine_rationale_2313", "_tgt": "models_models_sysuser", "source": "models_models_sysuser", - "target": "services_oa_engine_rationale_2299", + "target": "services_oa_engine_rationale_2313", "confidence_score": 0.5 }, { @@ -156605,10 +156689,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2415", + "_src": "services_oa_engine_rationale_2429", "_tgt": "models_models_sysuser", "source": "models_models_sysuser", - "target": "services_oa_engine_rationale_2415", + "target": "services_oa_engine_rationale_2429", "confidence_score": 0.5 }, { @@ -156617,10 +156701,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2525", + "_src": "services_oa_engine_rationale_2539", "_tgt": "models_models_sysuser", "source": "models_models_sysuser", - "target": "services_oa_engine_rationale_2525", + "target": "services_oa_engine_rationale_2539", "confidence_score": 0.5 }, { @@ -156629,10 +156713,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2607", + "_src": "services_oa_engine_rationale_2621", "_tgt": "models_models_sysuser", "source": "models_models_sysuser", - "target": "services_oa_engine_rationale_2607", + "target": "services_oa_engine_rationale_2621", "confidence_score": 0.5 }, { @@ -159197,10 +159281,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2105", + "_src": "services_oa_engine_rationale_2119", "_tgt": "models_models_sysdept", "source": "models_models_sysdept", - "target": "services_oa_engine_rationale_2105", + "target": "services_oa_engine_rationale_2119", "confidence_score": 0.5 }, { @@ -159209,10 +159293,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2299", + "_src": "services_oa_engine_rationale_2313", "_tgt": "models_models_sysdept", "source": "models_models_sysdept", - "target": "services_oa_engine_rationale_2299", + "target": "services_oa_engine_rationale_2313", "confidence_score": 0.5 }, { @@ -159221,10 +159305,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2415", + "_src": "services_oa_engine_rationale_2429", "_tgt": "models_models_sysdept", "source": "models_models_sysdept", - "target": "services_oa_engine_rationale_2415", + "target": "services_oa_engine_rationale_2429", "confidence_score": 0.5 }, { @@ -159233,10 +159317,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2525", + "_src": "services_oa_engine_rationale_2539", "_tgt": "models_models_sysdept", "source": "models_models_sysdept", - "target": "services_oa_engine_rationale_2525", + "target": "services_oa_engine_rationale_2539", "confidence_score": 0.5 }, { @@ -159245,10 +159329,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2607", + "_src": "services_oa_engine_rationale_2621", "_tgt": "models_models_sysdept", "source": "models_models_sysdept", - "target": "services_oa_engine_rationale_2607", + "target": "services_oa_engine_rationale_2621", "confidence_score": 0.5 }, { @@ -160073,10 +160157,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2105", + "_src": "services_oa_engine_rationale_2119", "_tgt": "models_models_syspost", "source": "models_models_syspost", - "target": "services_oa_engine_rationale_2105", + "target": "services_oa_engine_rationale_2119", "confidence_score": 0.5 }, { @@ -160085,10 +160169,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2299", + "_src": "services_oa_engine_rationale_2313", "_tgt": "models_models_syspost", "source": "models_models_syspost", - "target": "services_oa_engine_rationale_2299", + "target": "services_oa_engine_rationale_2313", "confidence_score": 0.5 }, { @@ -160097,10 +160181,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2415", + "_src": "services_oa_engine_rationale_2429", "_tgt": "models_models_syspost", "source": "models_models_syspost", - "target": "services_oa_engine_rationale_2415", + "target": "services_oa_engine_rationale_2429", "confidence_score": 0.5 }, { @@ -160109,10 +160193,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2525", + "_src": "services_oa_engine_rationale_2539", "_tgt": "models_models_syspost", "source": "models_models_syspost", - "target": "services_oa_engine_rationale_2525", + "target": "services_oa_engine_rationale_2539", "confidence_score": 0.5 }, { @@ -160121,10 +160205,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2607", + "_src": "services_oa_engine_rationale_2621", "_tgt": "models_models_syspost", "source": "models_models_syspost", - "target": "services_oa_engine_rationale_2607", + "target": "services_oa_engine_rationale_2621", "confidence_score": 0.5 }, { @@ -167345,10 +167429,10 @@ "source_file": "crud/oa_instance_draft.py", "source_location": "L13", "weight": 0.8, - "_src": "crud_oa_instance_draft_rationale_329", + "_src": "crud_oa_instance_draft_rationale_341", "_tgt": "models_models_oaappgroup", "source": "models_models_oaappgroup", - "target": "crud_oa_instance_draft_rationale_329", + "target": "crud_oa_instance_draft_rationale_341", "confidence_score": 0.5 }, { @@ -167477,10 +167561,10 @@ "source_file": "crud/oa_instance_draft.py", "source_location": "L13", "weight": 0.8, - "_src": "crud_oa_instance_draft_rationale_329", + "_src": "crud_oa_instance_draft_rationale_341", "_tgt": "models_models_oaapp", "source": "models_models_oaapp", - "target": "crud_oa_instance_draft_rationale_329", + "target": "crud_oa_instance_draft_rationale_341", "confidence_score": 0.5 }, { @@ -167753,10 +167837,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2105", + "_src": "services_oa_engine_rationale_2119", "_tgt": "models_models_oaapp", "source": "models_models_oaapp", - "target": "services_oa_engine_rationale_2105", + "target": "services_oa_engine_rationale_2119", "confidence_score": 0.5 }, { @@ -167765,10 +167849,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2299", + "_src": "services_oa_engine_rationale_2313", "_tgt": "models_models_oaapp", "source": "models_models_oaapp", - "target": "services_oa_engine_rationale_2299", + "target": "services_oa_engine_rationale_2313", "confidence_score": 0.5 }, { @@ -167777,10 +167861,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2415", + "_src": "services_oa_engine_rationale_2429", "_tgt": "models_models_oaapp", "source": "models_models_oaapp", - "target": "services_oa_engine_rationale_2415", + "target": "services_oa_engine_rationale_2429", "confidence_score": 0.5 }, { @@ -167789,10 +167873,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2525", + "_src": "services_oa_engine_rationale_2539", "_tgt": "models_models_oaapp", "source": "models_models_oaapp", - "target": "services_oa_engine_rationale_2525", + "target": "services_oa_engine_rationale_2539", "confidence_score": 0.5 }, { @@ -167801,10 +167885,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2607", + "_src": "services_oa_engine_rationale_2621", "_tgt": "models_models_oaapp", "source": "models_models_oaapp", - "target": "services_oa_engine_rationale_2607", + "target": "services_oa_engine_rationale_2621", "confidence_score": 0.5 }, { @@ -168017,10 +168101,10 @@ "source_file": "crud/oa_instance_draft.py", "source_location": "L13", "weight": 0.8, - "_src": "crud_oa_instance_draft_rationale_329", + "_src": "crud_oa_instance_draft_rationale_341", "_tgt": "models_models_oaappversion", "source": "models_models_oaappversion", - "target": "crud_oa_instance_draft_rationale_329", + "target": "crud_oa_instance_draft_rationale_341", "confidence_score": 0.5 }, { @@ -168293,10 +168377,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2105", + "_src": "services_oa_engine_rationale_2119", "_tgt": "models_models_oaappversion", "source": "models_models_oaappversion", - "target": "services_oa_engine_rationale_2105", + "target": "services_oa_engine_rationale_2119", "confidence_score": 0.5 }, { @@ -168305,10 +168389,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2299", + "_src": "services_oa_engine_rationale_2313", "_tgt": "models_models_oaappversion", "source": "models_models_oaappversion", - "target": "services_oa_engine_rationale_2299", + "target": "services_oa_engine_rationale_2313", "confidence_score": 0.5 }, { @@ -168317,10 +168401,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2415", + "_src": "services_oa_engine_rationale_2429", "_tgt": "models_models_oaappversion", "source": "models_models_oaappversion", - "target": "services_oa_engine_rationale_2415", + "target": "services_oa_engine_rationale_2429", "confidence_score": 0.5 }, { @@ -168329,10 +168413,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2525", + "_src": "services_oa_engine_rationale_2539", "_tgt": "models_models_oaappversion", "source": "models_models_oaappversion", - "target": "services_oa_engine_rationale_2525", + "target": "services_oa_engine_rationale_2539", "confidence_score": 0.5 }, { @@ -168341,10 +168425,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2607", + "_src": "services_oa_engine_rationale_2621", "_tgt": "models_models_oaappversion", "source": "models_models_oaappversion", - "target": "services_oa_engine_rationale_2607", + "target": "services_oa_engine_rationale_2621", "confidence_score": 0.5 }, { @@ -168689,10 +168773,10 @@ "source_file": "crud/oa_instance_draft.py", "source_location": "L13", "weight": 0.8, - "_src": "crud_oa_instance_draft_rationale_329", + "_src": "crud_oa_instance_draft_rationale_341", "_tgt": "models_models_oainstancedraft", "source": "models_models_oainstancedraft", - "target": "crud_oa_instance_draft_rationale_329", + "target": "crud_oa_instance_draft_rationale_341", "confidence_score": 0.5 }, { @@ -168700,7 +168784,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/oa_instance_draft.py", - "source_location": "L220", + "source_location": "L232", "weight": 1.0, "_src": "crud_oa_instance_draft_create_draft", "_tgt": "models_models_oainstancedraft", @@ -169025,10 +169109,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2105", + "_src": "services_oa_engine_rationale_2119", "_tgt": "models_models_oainstance", "source": "models_models_oainstance", - "target": "services_oa_engine_rationale_2105", + "target": "services_oa_engine_rationale_2119", "confidence_score": 0.5 }, { @@ -169037,10 +169121,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2299", + "_src": "services_oa_engine_rationale_2313", "_tgt": "models_models_oainstance", "source": "models_models_oainstance", - "target": "services_oa_engine_rationale_2299", + "target": "services_oa_engine_rationale_2313", "confidence_score": 0.5 }, { @@ -169049,10 +169133,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2415", + "_src": "services_oa_engine_rationale_2429", "_tgt": "models_models_oainstance", "source": "models_models_oainstance", - "target": "services_oa_engine_rationale_2415", + "target": "services_oa_engine_rationale_2429", "confidence_score": 0.5 }, { @@ -169061,10 +169145,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2525", + "_src": "services_oa_engine_rationale_2539", "_tgt": "models_models_oainstance", "source": "models_models_oainstance", - "target": "services_oa_engine_rationale_2525", + "target": "services_oa_engine_rationale_2539", "confidence_score": 0.5 }, { @@ -169073,10 +169157,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2607", + "_src": "services_oa_engine_rationale_2621", "_tgt": "models_models_oainstance", "source": "models_models_oainstance", - "target": "services_oa_engine_rationale_2607", + "target": "services_oa_engine_rationale_2621", "confidence_score": 0.5 }, { @@ -169529,10 +169613,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2105", + "_src": "services_oa_engine_rationale_2119", "_tgt": "models_models_oatask", "source": "models_models_oatask", - "target": "services_oa_engine_rationale_2105", + "target": "services_oa_engine_rationale_2119", "confidence_score": 0.5 }, { @@ -169541,10 +169625,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2299", + "_src": "services_oa_engine_rationale_2313", "_tgt": "models_models_oatask", "source": "models_models_oatask", - "target": "services_oa_engine_rationale_2299", + "target": "services_oa_engine_rationale_2313", "confidence_score": 0.5 }, { @@ -169553,10 +169637,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2415", + "_src": "services_oa_engine_rationale_2429", "_tgt": "models_models_oatask", "source": "models_models_oatask", - "target": "services_oa_engine_rationale_2415", + "target": "services_oa_engine_rationale_2429", "confidence_score": 0.5 }, { @@ -169565,10 +169649,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2525", + "_src": "services_oa_engine_rationale_2539", "_tgt": "models_models_oatask", "source": "models_models_oatask", - "target": "services_oa_engine_rationale_2525", + "target": "services_oa_engine_rationale_2539", "confidence_score": 0.5 }, { @@ -169577,10 +169661,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2607", + "_src": "services_oa_engine_rationale_2621", "_tgt": "models_models_oatask", "source": "models_models_oatask", - "target": "services_oa_engine_rationale_2607", + "target": "services_oa_engine_rationale_2621", "confidence_score": 0.5 }, { @@ -169600,7 +169684,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L2369", + "source_location": "L2383", "weight": 1.0, "_src": "services_oa_engine_add_sign", "_tgt": "models_models_oatask", @@ -169612,7 +169696,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L2477", + "source_location": "L2491", "weight": 1.0, "_src": "services_oa_engine_transfer_task", "_tgt": "models_models_oatask", @@ -169949,10 +170033,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2105", + "_src": "services_oa_engine_rationale_2119", "_tgt": "models_models_oainstanceevent", "source": "models_models_oainstanceevent", - "target": "services_oa_engine_rationale_2105", + "target": "services_oa_engine_rationale_2119", "confidence_score": 0.5 }, { @@ -169961,10 +170045,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2299", + "_src": "services_oa_engine_rationale_2313", "_tgt": "models_models_oainstanceevent", "source": "models_models_oainstanceevent", - "target": "services_oa_engine_rationale_2299", + "target": "services_oa_engine_rationale_2313", "confidence_score": 0.5 }, { @@ -169973,10 +170057,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2415", + "_src": "services_oa_engine_rationale_2429", "_tgt": "models_models_oainstanceevent", "source": "models_models_oainstanceevent", - "target": "services_oa_engine_rationale_2415", + "target": "services_oa_engine_rationale_2429", "confidence_score": 0.5 }, { @@ -169985,10 +170069,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2525", + "_src": "services_oa_engine_rationale_2539", "_tgt": "models_models_oainstanceevent", "source": "models_models_oainstanceevent", - "target": "services_oa_engine_rationale_2525", + "target": "services_oa_engine_rationale_2539", "confidence_score": 0.5 }, { @@ -169997,10 +170081,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2607", + "_src": "services_oa_engine_rationale_2621", "_tgt": "models_models_oainstanceevent", "source": "models_models_oainstanceevent", - "target": "services_oa_engine_rationale_2607", + "target": "services_oa_engine_rationale_2621", "confidence_score": 0.5 }, { @@ -170333,10 +170417,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2105", + "_src": "services_oa_engine_rationale_2119", "_tgt": "models_models_oarelation", "source": "models_models_oarelation", - "target": "services_oa_engine_rationale_2105", + "target": "services_oa_engine_rationale_2119", "confidence_score": 0.5 }, { @@ -170345,10 +170429,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2299", + "_src": "services_oa_engine_rationale_2313", "_tgt": "models_models_oarelation", "source": "models_models_oarelation", - "target": "services_oa_engine_rationale_2299", + "target": "services_oa_engine_rationale_2313", "confidence_score": 0.5 }, { @@ -170357,10 +170441,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2415", + "_src": "services_oa_engine_rationale_2429", "_tgt": "models_models_oarelation", "source": "models_models_oarelation", - "target": "services_oa_engine_rationale_2415", + "target": "services_oa_engine_rationale_2429", "confidence_score": 0.5 }, { @@ -170369,10 +170453,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2525", + "_src": "services_oa_engine_rationale_2539", "_tgt": "models_models_oarelation", "source": "models_models_oarelation", - "target": "services_oa_engine_rationale_2525", + "target": "services_oa_engine_rationale_2539", "confidence_score": 0.5 }, { @@ -170381,10 +170465,10 @@ "source_file": "services/oa_engine.py", "source_location": "L14", "weight": 0.8, - "_src": "services_oa_engine_rationale_2607", + "_src": "services_oa_engine_rationale_2621", "_tgt": "models_models_oarelation", "source": "models_models_oarelation", - "target": "services_oa_engine_rationale_2607", + "target": "services_oa_engine_rationale_2621", "confidence_score": 0.5 }, { @@ -301240,7 +301324,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L452", + "source_location": "L466", "weight": 1.0, "_src": "api_oa_approval_create_oa_group", "_tgt": "crud_oa_approval_group_to_dict", @@ -301252,7 +301336,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L476", + "source_location": "L490", "weight": 1.0, "_src": "api_oa_approval_update_oa_group", "_tgt": "crud_oa_approval_group_to_dict", @@ -301264,7 +301348,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L433", + "source_location": "L447", "weight": 1.0, "_src": "api_oa_approval_list_oa_groups", "_tgt": "crud_oa_approval_list_groups", @@ -301324,7 +301408,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L579", + "source_location": "L593", "weight": 1.0, "_src": "api_oa_approval_create_oa_app", "_tgt": "crud_oa_approval_get_group", @@ -301336,7 +301420,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L602", + "source_location": "L616", "weight": 1.0, "_src": "api_oa_approval_copy_oa_app", "_tgt": "crud_oa_approval_get_group", @@ -301348,7 +301432,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L625", + "source_location": "L639", "weight": 1.0, "_src": "api_oa_approval_update_oa_app", "_tgt": "crud_oa_approval_get_group", @@ -301372,7 +301456,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L444", + "source_location": "L458", "weight": 1.0, "_src": "api_oa_approval_create_oa_group", "_tgt": "crud_oa_approval_create_group", @@ -301396,7 +301480,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L467", + "source_location": "L481", "weight": 1.0, "_src": "api_oa_approval_update_oa_group", "_tgt": "crud_oa_approval_update_group", @@ -301420,7 +301504,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L489", + "source_location": "L503", "weight": 1.0, "_src": "api_oa_approval_delete_oa_group", "_tgt": "crud_oa_approval_delete_group", @@ -301444,7 +301528,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L582", + "source_location": "L596", "weight": 1.0, "_src": "api_oa_approval_create_oa_app", "_tgt": "crud_oa_approval_app_to_dict", @@ -301456,7 +301540,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L605", + "source_location": "L619", "weight": 1.0, "_src": "api_oa_approval_copy_oa_app", "_tgt": "crud_oa_approval_app_to_dict", @@ -301468,7 +301552,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L627", + "source_location": "L641", "weight": 1.0, "_src": "api_oa_approval_update_oa_app", "_tgt": "crud_oa_approval_app_to_dict", @@ -301540,7 +301624,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/oa_instance_draft.py", - "source_location": "L213", + "source_location": "L225", "weight": 1.0, "_src": "crud_oa_instance_draft_create_draft", "_tgt": "crud_oa_approval_get_app", @@ -301624,7 +301708,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L547", + "source_location": "L561", "weight": 1.0, "_src": "api_oa_approval_list_oa_apps", "_tgt": "crud_oa_approval_list_apps", @@ -301684,7 +301768,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L561", + "source_location": "L575", "weight": 1.0, "_src": "api_oa_approval_create_oa_app", "_tgt": "crud_oa_approval_create_app", @@ -301768,7 +301852,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L597", + "source_location": "L611", "weight": 1.0, "_src": "api_oa_approval_copy_oa_app", "_tgt": "crud_oa_approval_copy_app", @@ -301804,7 +301888,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L622", + "source_location": "L636", "weight": 1.0, "_src": "api_oa_approval_update_oa_app", "_tgt": "crud_oa_approval_update_app", @@ -301828,7 +301912,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L640", + "source_location": "L654", "weight": 1.0, "_src": "api_oa_approval_delete_oa_app", "_tgt": "crud_oa_approval_delete_app", @@ -301888,7 +301972,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/oa_instance_draft.py", - "source_location": "L216", + "source_location": "L228", "weight": 1.0, "_src": "crud_oa_instance_draft_create_draft", "_tgt": "crud_oa_approval_find_latest_published", @@ -301900,7 +301984,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/oa_instance_draft.py", - "source_location": "L255", + "source_location": "L267", "weight": 1.0, "_src": "crud_oa_instance_draft_update_draft", "_tgt": "crud_oa_approval_find_latest_published", @@ -302020,7 +302104,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L654", + "source_location": "L668", "weight": 1.0, "_src": "api_oa_approval_get_oa_app_draft", "_tgt": "crud_oa_approval_get_or_create_draft", @@ -302068,7 +302152,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L671", + "source_location": "L685", "weight": 1.0, "_src": "api_oa_approval_save_oa_app_draft", "_tgt": "crud_oa_approval_save_draft", @@ -331062,6 +331146,18 @@ "source_location": "L121", "weight": 1.0, "_src": "crud_oa_instance_draft_py", + "_tgt": "crud_oa_instance_draft_count_drafts", + "source": "crud_oa_instance_draft_py", + "target": "crud_oa_instance_draft_count_drafts", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "crud/oa_instance_draft.py", + "source_location": "L133", + "weight": 1.0, + "_src": "crud_oa_instance_draft_py", "_tgt": "crud_oa_instance_draft_list_drafts", "source": "crud_oa_instance_draft_py", "target": "crud_oa_instance_draft_list_drafts", @@ -331071,7 +331167,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L190", + "source_location": "L202", "weight": 1.0, "_src": "crud_oa_instance_draft_py", "_tgt": "crud_oa_instance_draft_get_draft_detail", @@ -331083,7 +331179,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L201", + "source_location": "L213", "weight": 1.0, "_src": "crud_oa_instance_draft_py", "_tgt": "crud_oa_instance_draft_create_draft", @@ -331095,7 +331191,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L243", + "source_location": "L255", "weight": 1.0, "_src": "crud_oa_instance_draft_py", "_tgt": "crud_oa_instance_draft_update_draft", @@ -331107,7 +331203,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L273", + "source_location": "L285", "weight": 1.0, "_src": "crud_oa_instance_draft_py", "_tgt": "crud_oa_instance_draft_soft_delete_draft", @@ -331119,7 +331215,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L287", + "source_location": "L299", "weight": 1.0, "_src": "crud_oa_instance_draft_py", "_tgt": "crud_oa_instance_draft_batch_soft_delete_drafts", @@ -331131,7 +331227,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L318", + "source_location": "L330", "weight": 1.0, "_src": "crud_oa_instance_draft_py", "_tgt": "crud_oa_instance_draft_submit_draft", @@ -331167,7 +331263,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L333", + "source_location": "L345", "weight": 1.0, "_src": "crud_oa_instance_draft_submit_draft", "_tgt": "crud_oa_instance_draft_loads", @@ -331179,7 +331275,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L225", + "source_location": "L237", "weight": 1.0, "_src": "crud_oa_instance_draft_create_draft", "_tgt": "crud_oa_instance_draft_dumps", @@ -331191,7 +331287,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L259", + "source_location": "L271", "weight": 1.0, "_src": "crud_oa_instance_draft_update_draft", "_tgt": "crud_oa_instance_draft_dumps", @@ -331215,7 +331311,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L179", + "source_location": "L191", "weight": 1.0, "_src": "crud_oa_instance_draft_list_drafts", "_tgt": "crud_oa_instance_draft_row_to_dict", @@ -331251,7 +331347,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L308", + "source_location": "L320", "weight": 1.0, "_src": "crud_oa_instance_draft_batch_soft_delete_drafts", "_tgt": "crud_oa_instance_draft_draftaccesserror", @@ -331263,7 +331359,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L215", + "source_location": "L227", "weight": 1.0, "_src": "crud_oa_instance_draft_create_draft", "_tgt": "valueerror", @@ -331275,7 +331371,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L296", + "source_location": "L308", "weight": 1.0, "_src": "crud_oa_instance_draft_batch_soft_delete_drafts", "_tgt": "valueerror", @@ -331899,7 +331995,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L197", + "source_location": "L209", "weight": 1.0, "_src": "crud_oa_instance_draft_get_draft_detail", "_tgt": "crud_oa_instance_draft_get_owned_draft", @@ -331911,7 +332007,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L254", + "source_location": "L266", "weight": 1.0, "_src": "crud_oa_instance_draft_update_draft", "_tgt": "crud_oa_instance_draft_get_owned_draft", @@ -331923,7 +332019,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L280", + "source_location": "L292", "weight": 1.0, "_src": "crud_oa_instance_draft_soft_delete_draft", "_tgt": "crud_oa_instance_draft_get_owned_draft", @@ -331935,7 +332031,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L332", + "source_location": "L344", "weight": 1.0, "_src": "crud_oa_instance_draft_submit_draft", "_tgt": "crud_oa_instance_draft_get_owned_draft", @@ -331947,7 +332043,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L198", + "source_location": "L210", "weight": 1.0, "_src": "crud_oa_instance_draft_get_draft_detail", "_tgt": "crud_oa_instance_draft_enrich", @@ -331959,7 +332055,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L240", + "source_location": "L252", "weight": 1.0, "_src": "crud_oa_instance_draft_create_draft", "_tgt": "crud_oa_instance_draft_enrich", @@ -331971,7 +332067,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L270", + "source_location": "L282", "weight": 1.0, "_src": "crud_oa_instance_draft_update_draft", "_tgt": "crud_oa_instance_draft_enrich", @@ -331984,7 +332080,31 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/oa_instance_draft.py", - "source_location": "L167", + "source_location": "L123", + "weight": 1.0, + "_src": "crud_oa_instance_draft_count_drafts", + "_tgt": "crud_base_crudbase_count", + "source": "crud_oa_instance_draft_count_drafts", + "target": "crud_base_crudbase_count" + }, + { + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L248", + "weight": 1.0, + "_src": "api_oa_approval_oa_instance_draft_count", + "_tgt": "crud_oa_instance_draft_count_drafts", + "source": "crud_oa_instance_draft_count_drafts", + "target": "api_oa_approval_oa_instance_draft_count" + }, + { + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "crud/oa_instance_draft.py", + "source_location": "L179", "weight": 1.0, "_src": "crud_oa_instance_draft_list_drafts", "_tgt": "crud_base_crudbase_count", @@ -331996,7 +332116,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L254", + "source_location": "L268", "weight": 1.0, "_src": "api_oa_approval_list_oa_instance_drafts", "_tgt": "crud_oa_instance_draft_list_drafts", @@ -332008,7 +332128,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L321", + "source_location": "L335", "weight": 1.0, "_src": "api_oa_approval_get_oa_instance_draft", "_tgt": "crud_oa_instance_draft_get_draft_detail", @@ -332020,7 +332140,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L276", + "source_location": "L290", "weight": 1.0, "_src": "api_oa_approval_create_oa_instance_draft", "_tgt": "crud_oa_instance_draft_create_draft", @@ -332032,7 +332152,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L341", + "source_location": "L355", "weight": 1.0, "_src": "api_oa_approval_update_oa_instance_draft", "_tgt": "crud_oa_instance_draft_update_draft", @@ -332044,7 +332164,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L366", + "source_location": "L380", "weight": 1.0, "_src": "api_oa_approval_delete_oa_instance_draft", "_tgt": "crud_oa_instance_draft_soft_delete_draft", @@ -332056,7 +332176,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L300", + "source_location": "L314", "weight": 1.0, "_src": "api_oa_approval_batch_delete_oa_instance_drafts", "_tgt": "crud_oa_instance_draft_batch_soft_delete_drafts", @@ -332067,12 +332187,12 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "crud/oa_instance_draft.py", - "source_location": "L329", + "source_location": "L341", "weight": 1.0, - "_src": "crud_oa_instance_draft_rationale_329", + "_src": "crud_oa_instance_draft_rationale_341", "_tgt": "crud_oa_instance_draft_submit_draft", "source": "crud_oa_instance_draft_submit_draft", - "target": "crud_oa_instance_draft_rationale_329", + "target": "crud_oa_instance_draft_rationale_341", "confidence_score": 1.0 }, { @@ -332080,7 +332200,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "crud/oa_instance_draft.py", - "source_location": "L342", + "source_location": "L354", "weight": 1.0, "_src": "crud_oa_instance_draft_submit_draft", "_tgt": "services_oa_engine_start_instance", @@ -332092,7 +332212,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L389", + "source_location": "L403", "weight": 1.0, "_src": "api_oa_approval_submit_oa_instance_draft", "_tgt": "crud_oa_instance_draft_submit_draft", @@ -335116,7 +335236,19 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L257", + "source_location": "L251", + "weight": 1.0, + "_src": "api_oa_approval_oa_instance_draft_count", + "_tgt": "crud_base_crudbase_get", + "source": "crud_base_crudbase_get", + "target": "api_oa_approval_oa_instance_draft_count" + }, + { + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L271", "weight": 1.0, "_src": "api_oa_approval_list_oa_instance_drafts", "_tgt": "crud_base_crudbase_get", @@ -335128,7 +335260,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L279", + "source_location": "L293", "weight": 1.0, "_src": "api_oa_approval_create_oa_instance_draft", "_tgt": "crud_base_crudbase_get", @@ -335140,7 +335272,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L304", + "source_location": "L318", "weight": 1.0, "_src": "api_oa_approval_batch_delete_oa_instance_drafts", "_tgt": "crud_base_crudbase_get", @@ -335152,7 +335284,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L325", + "source_location": "L339", "weight": 1.0, "_src": "api_oa_approval_get_oa_instance_draft", "_tgt": "crud_base_crudbase_get", @@ -335164,7 +335296,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L345", + "source_location": "L359", "weight": 1.0, "_src": "api_oa_approval_update_oa_instance_draft", "_tgt": "crud_base_crudbase_get", @@ -335176,7 +335308,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L370", + "source_location": "L384", "weight": 1.0, "_src": "api_oa_approval_delete_oa_instance_draft", "_tgt": "crud_base_crudbase_get", @@ -335188,7 +335320,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L393", + "source_location": "L407", "weight": 1.0, "_src": "api_oa_approval_submit_oa_instance_draft", "_tgt": "crud_base_crudbase_get", @@ -335200,7 +335332,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L450", + "source_location": "L464", "weight": 1.0, "_src": "api_oa_approval_create_oa_group", "_tgt": "crud_base_crudbase_get", @@ -335212,7 +335344,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L471", + "source_location": "L485", "weight": 1.0, "_src": "api_oa_approval_update_oa_group", "_tgt": "crud_base_crudbase_get", @@ -335224,7 +335356,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L489", + "source_location": "L503", "weight": 1.0, "_src": "api_oa_approval_delete_oa_group", "_tgt": "crud_base_crudbase_get", @@ -335236,7 +335368,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L575", + "source_location": "L589", "weight": 1.0, "_src": "api_oa_approval_create_oa_app", "_tgt": "crud_base_crudbase_get", @@ -335248,7 +335380,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L598", + "source_location": "L612", "weight": 1.0, "_src": "api_oa_approval_copy_oa_app", "_tgt": "crud_base_crudbase_get", @@ -335260,7 +335392,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L622", + "source_location": "L636", "weight": 1.0, "_src": "api_oa_approval_update_oa_app", "_tgt": "crud_base_crudbase_get", @@ -335272,7 +335404,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L640", + "source_location": "L654", "weight": 1.0, "_src": "api_oa_approval_delete_oa_app", "_tgt": "crud_base_crudbase_get", @@ -335284,7 +335416,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L655", + "source_location": "L669", "weight": 1.0, "_src": "api_oa_approval_get_oa_app_draft", "_tgt": "crud_base_crudbase_get", @@ -335296,7 +335428,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L679", + "source_location": "L693", "weight": 1.0, "_src": "api_oa_approval_save_oa_app_draft", "_tgt": "crud_base_crudbase_get", @@ -335308,7 +335440,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L696", + "source_location": "L710", "weight": 1.0, "_src": "api_oa_approval_publish_oa_app", "_tgt": "crud_base_crudbase_get", @@ -335320,7 +335452,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L767", + "source_location": "L781", "weight": 1.0, "_src": "api_oa_approval_list_oa_templates", "_tgt": "crud_base_crudbase_get", @@ -335332,7 +335464,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L785", + "source_location": "L799", "weight": 1.0, "_src": "api_oa_approval_get_oa_template", "_tgt": "crud_base_crudbase_get", @@ -335344,7 +335476,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L804", + "source_location": "L818", "weight": 1.0, "_src": "api_oa_approval_preview_oa_template_flow", "_tgt": "crud_base_crudbase_get", @@ -335356,7 +335488,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L835", + "source_location": "L849", "weight": 1.0, "_src": "api_oa_approval_preview_oa_template_flow_get", "_tgt": "crud_base_crudbase_get", @@ -335368,7 +335500,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L869", + "source_location": "L883", "weight": 1.0, "_src": "api_oa_approval_start_oa_instance", "_tgt": "crud_base_crudbase_get", @@ -335380,7 +335512,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L911", + "source_location": "L925", "weight": 1.0, "_src": "api_oa_approval_list_related_candidates", "_tgt": "crud_base_crudbase_get", @@ -335392,7 +335524,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L935", + "source_location": "L949", "weight": 1.0, "_src": "api_oa_approval_get_related_summaries", "_tgt": "crud_base_crudbase_get", @@ -335404,7 +335536,19 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L954", + "source_location": "L968", + "weight": 1.0, + "_src": "api_oa_approval_oa_pending_task_count", + "_tgt": "crud_base_crudbase_get", + "source": "crud_base_crudbase_get", + "target": "api_oa_approval_oa_pending_task_count" + }, + { + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L985", "weight": 1.0, "_src": "api_oa_approval_oa_cc_unread_count", "_tgt": "crud_base_crudbase_get", @@ -335416,7 +335560,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L974", + "source_location": "L1005", "weight": 1.0, "_src": "api_oa_approval_oa_cc_read_batch", "_tgt": "crud_base_crudbase_get", @@ -335428,7 +335572,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L995", + "source_location": "L1026", "weight": 1.0, "_src": "api_oa_approval_oa_task_mark_read", "_tgt": "crud_base_crudbase_get", @@ -335440,7 +335584,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1017", + "source_location": "L1048", "weight": 1.0, "_src": "api_oa_approval_list_oa_tasks", "_tgt": "crud_base_crudbase_get", @@ -335452,7 +335596,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1041", + "source_location": "L1072", "weight": 1.0, "_src": "api_oa_approval_approve_oa_task", "_tgt": "crud_base_crudbase_get", @@ -335464,7 +335608,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1065", + "source_location": "L1096", "weight": 1.0, "_src": "api_oa_approval_reject_oa_task", "_tgt": "crud_base_crudbase_get", @@ -335476,7 +335620,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1089", + "source_location": "L1120", "weight": 1.0, "_src": "api_oa_approval_return_oa_task", "_tgt": "crud_base_crudbase_get", @@ -335488,7 +335632,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1112", + "source_location": "L1143", "weight": 1.0, "_src": "api_oa_approval_resubmit_oa_instance", "_tgt": "crud_base_crudbase_get", @@ -335500,7 +335644,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1136", + "source_location": "L1167", "weight": 1.0, "_src": "api_oa_approval_add_sign_oa_task", "_tgt": "crud_base_crudbase_get", @@ -335512,7 +335656,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1160", + "source_location": "L1191", "weight": 1.0, "_src": "api_oa_approval_transfer_oa_task", "_tgt": "crud_base_crudbase_get", @@ -335524,7 +335668,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1180", + "source_location": "L1211", "weight": 1.0, "_src": "api_oa_approval_withdraw_oa_instance", "_tgt": "crud_base_crudbase_get", @@ -338572,7 +338716,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L2178", + "source_location": "L2192", "weight": 1.0, "_src": "services_oa_engine_maybe_auto_pass_initiator", "_tgt": "crud_base_crudbase_get", @@ -338584,7 +338728,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L2244", + "source_location": "L2258", "weight": 1.0, "_src": "services_oa_engine_complete_task", "_tgt": "crud_base_crudbase_get", @@ -338596,7 +338740,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L2324", + "source_location": "L2338", "weight": 1.0, "_src": "services_oa_engine_add_sign", "_tgt": "crud_base_crudbase_get", @@ -338608,7 +338752,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L2550", + "source_location": "L2564", "weight": 1.0, "_src": "services_oa_engine_return_task", "_tgt": "crud_base_crudbase_get", @@ -338620,7 +338764,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L2626", + "source_location": "L2640", "weight": 1.0, "_src": "services_oa_engine_withdraw_instance", "_tgt": "crud_base_crudbase_get", @@ -340492,7 +340636,19 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "services/oa_engine.py", - "source_location": "L2122", + "source_location": "L1980", + "weight": 1.0, + "_src": "services_oa_engine_count_pending_tasks", + "_tgt": "crud_base_crudbase_count", + "source": "crud_base_crudbase_count", + "target": "services_oa_engine_count_pending_tasks" + }, + { + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "services/oa_engine.py", + "source_location": "L2136", "weight": 1.0, "_src": "services_oa_engine_approve_task_core", "_tgt": "crud_base_crudbase_count", @@ -356358,6 +356514,18 @@ "source_location": "L243", "weight": 1.0, "_src": "api_oa_approval_py", + "_tgt": "api_oa_approval_oa_instance_draft_count", + "source": "api_oa_approval_py", + "target": "api_oa_approval_oa_instance_draft_count", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "api/oa_approval.py", + "source_location": "L257", + "weight": 1.0, + "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_list_oa_instance_drafts", "source": "api_oa_approval_py", "target": "api_oa_approval_list_oa_instance_drafts", @@ -356367,7 +356535,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L269", + "source_location": "L283", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_create_oa_instance_draft", @@ -356379,7 +356547,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L293", + "source_location": "L307", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_batch_delete_oa_instance_drafts", @@ -356391,7 +356559,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L314", + "source_location": "L328", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_get_oa_instance_draft", @@ -356403,7 +356571,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L333", + "source_location": "L347", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_update_oa_instance_draft", @@ -356415,7 +356583,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L359", + "source_location": "L373", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_delete_oa_instance_draft", @@ -356427,7 +356595,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L378", + "source_location": "L392", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_submit_oa_instance_draft", @@ -356439,7 +356607,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L413", + "source_location": "L427", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_oagroupcreatebody", @@ -356451,7 +356619,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L420", + "source_location": "L434", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_oagroupupdatebody", @@ -356463,7 +356631,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L428", + "source_location": "L442", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_list_oa_groups", @@ -356475,7 +356643,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L437", + "source_location": "L451", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_create_oa_group", @@ -356487,7 +356655,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L458", + "source_location": "L472", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_update_oa_group", @@ -356499,7 +356667,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L482", + "source_location": "L496", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_delete_oa_group", @@ -356511,7 +356679,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L500", + "source_location": "L514", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_oaappcreatebody", @@ -356523,7 +356691,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L515", + "source_location": "L529", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_oaappupdatebody", @@ -356535,7 +356703,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L530", + "source_location": "L544", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_oadraftsavebody", @@ -356547,7 +356715,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L539", + "source_location": "L553", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_list_oa_apps", @@ -356559,7 +356727,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L554", + "source_location": "L568", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_create_oa_app", @@ -356571,7 +356739,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L590", + "source_location": "L604", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_copy_oa_app", @@ -356583,7 +356751,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L613", + "source_location": "L627", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_update_oa_app", @@ -356595,7 +356763,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L633", + "source_location": "L647", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_delete_oa_app", @@ -356607,7 +356775,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L647", + "source_location": "L661", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_get_oa_app_draft", @@ -356619,7 +356787,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L663", + "source_location": "L677", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_save_oa_app_draft", @@ -356631,7 +356799,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L687", + "source_location": "L701", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_publish_oa_app", @@ -356643,7 +356811,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L708", + "source_location": "L722", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_oastartinstancebody", @@ -356655,7 +356823,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L721", + "source_location": "L735", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_oaflowpreviewbody", @@ -356667,7 +356835,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L729", + "source_location": "L743", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_oataskactionbody", @@ -356679,7 +356847,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L734", + "source_location": "L748", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_oaccreadbatchbody", @@ -356691,7 +356859,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L739", + "source_location": "L753", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_oaaddsignbody", @@ -356703,7 +356871,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L745", + "source_location": "L759", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_oatransferbody", @@ -356715,7 +356883,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L751", + "source_location": "L765", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_oaresubmitbody", @@ -356727,7 +356895,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L760", + "source_location": "L774", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_list_oa_templates", @@ -356739,7 +356907,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L772", + "source_location": "L786", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_get_oa_template", @@ -356751,7 +356919,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L793", + "source_location": "L807", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_preview_oa_template_flow", @@ -356763,7 +356931,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L825", + "source_location": "L839", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_preview_oa_template_flow_get", @@ -356775,7 +356943,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L856", + "source_location": "L870", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_start_oa_instance", @@ -356787,7 +356955,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L883", + "source_location": "L897", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_get_oa_instance", @@ -356799,7 +356967,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L898", + "source_location": "L912", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_list_related_candidates", @@ -356811,7 +356979,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L920", + "source_location": "L934", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_get_related_summaries", @@ -356823,7 +356991,19 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L945", + "source_location": "L959", + "weight": 1.0, + "_src": "api_oa_approval_py", + "_tgt": "api_oa_approval_oa_pending_task_count", + "source": "api_oa_approval_py", + "target": "api_oa_approval_oa_pending_task_count", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "api/oa_approval.py", + "source_location": "L976", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_oa_cc_unread_count", @@ -356835,7 +357015,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L962", + "source_location": "L993", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_oa_cc_read_batch", @@ -356847,7 +357027,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L983", + "source_location": "L1014", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_oa_task_mark_read", @@ -356859,7 +357039,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1004", + "source_location": "L1035", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_list_oa_tasks", @@ -356871,7 +357051,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1027", + "source_location": "L1058", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_approve_oa_task", @@ -356883,7 +357063,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1051", + "source_location": "L1082", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_reject_oa_task", @@ -356895,7 +357075,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1075", + "source_location": "L1106", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_return_oa_task", @@ -356907,7 +357087,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1098", + "source_location": "L1129", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_resubmit_oa_instance", @@ -356919,7 +357099,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1122", + "source_location": "L1153", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_add_sign_oa_task", @@ -356931,7 +357111,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1146", + "source_location": "L1177", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_transfer_oa_task", @@ -356943,7 +357123,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1170", + "source_location": "L1201", "weight": 1.0, "_src": "api_oa_approval_py", "_tgt": "api_oa_approval_withdraw_oa_instance", @@ -357039,7 +357219,19 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L253", + "source_location": "L247", + "weight": 1.0, + "_src": "api_oa_approval_oa_instance_draft_count", + "_tgt": "api_oa_approval_get_tenant_no", + "source": "api_oa_approval_get_tenant_no", + "target": "api_oa_approval_oa_instance_draft_count", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "api/oa_approval.py", + "source_location": "L267", "weight": 1.0, "_src": "api_oa_approval_list_oa_instance_drafts", "_tgt": "api_oa_approval_get_tenant_no", @@ -357051,7 +357243,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L275", + "source_location": "L289", "weight": 1.0, "_src": "api_oa_approval_create_oa_instance_draft", "_tgt": "api_oa_approval_get_tenant_no", @@ -357063,7 +357255,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L299", + "source_location": "L313", "weight": 1.0, "_src": "api_oa_approval_batch_delete_oa_instance_drafts", "_tgt": "api_oa_approval_get_tenant_no", @@ -357075,7 +357267,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L320", + "source_location": "L334", "weight": 1.0, "_src": "api_oa_approval_get_oa_instance_draft", "_tgt": "api_oa_approval_get_tenant_no", @@ -357087,7 +357279,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L340", + "source_location": "L354", "weight": 1.0, "_src": "api_oa_approval_update_oa_instance_draft", "_tgt": "api_oa_approval_get_tenant_no", @@ -357099,7 +357291,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L365", + "source_location": "L379", "weight": 1.0, "_src": "api_oa_approval_delete_oa_instance_draft", "_tgt": "api_oa_approval_get_tenant_no", @@ -357111,7 +357303,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L388", + "source_location": "L402", "weight": 1.0, "_src": "api_oa_approval_submit_oa_instance_draft", "_tgt": "api_oa_approval_get_tenant_no", @@ -357123,7 +357315,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L432", + "source_location": "L446", "weight": 1.0, "_src": "api_oa_approval_list_oa_groups", "_tgt": "api_oa_approval_get_tenant_no", @@ -357135,7 +357327,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L443", + "source_location": "L457", "weight": 1.0, "_src": "api_oa_approval_create_oa_group", "_tgt": "api_oa_approval_get_tenant_no", @@ -357147,7 +357339,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L465", + "source_location": "L479", "weight": 1.0, "_src": "api_oa_approval_update_oa_group", "_tgt": "api_oa_approval_get_tenant_no", @@ -357159,7 +357351,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L488", + "source_location": "L502", "weight": 1.0, "_src": "api_oa_approval_delete_oa_group", "_tgt": "api_oa_approval_get_tenant_no", @@ -357171,7 +357363,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L546", + "source_location": "L560", "weight": 1.0, "_src": "api_oa_approval_list_oa_apps", "_tgt": "api_oa_approval_get_tenant_no", @@ -357183,7 +357375,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L560", + "source_location": "L574", "weight": 1.0, "_src": "api_oa_approval_create_oa_app", "_tgt": "api_oa_approval_get_tenant_no", @@ -357195,7 +357387,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L596", + "source_location": "L610", "weight": 1.0, "_src": "api_oa_approval_copy_oa_app", "_tgt": "api_oa_approval_get_tenant_no", @@ -357207,7 +357399,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L620", + "source_location": "L634", "weight": 1.0, "_src": "api_oa_approval_update_oa_app", "_tgt": "api_oa_approval_get_tenant_no", @@ -357219,7 +357411,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L639", + "source_location": "L653", "weight": 1.0, "_src": "api_oa_approval_delete_oa_app", "_tgt": "api_oa_approval_get_tenant_no", @@ -357231,7 +357423,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L653", + "source_location": "L667", "weight": 1.0, "_src": "api_oa_approval_get_oa_app_draft", "_tgt": "api_oa_approval_get_tenant_no", @@ -357243,7 +357435,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L670", + "source_location": "L684", "weight": 1.0, "_src": "api_oa_approval_save_oa_app_draft", "_tgt": "api_oa_approval_get_tenant_no", @@ -357255,7 +357447,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L694", + "source_location": "L708", "weight": 1.0, "_src": "api_oa_approval_publish_oa_app", "_tgt": "api_oa_approval_get_tenant_no", @@ -357267,7 +357459,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L766", + "source_location": "L780", "weight": 1.0, "_src": "api_oa_approval_list_oa_templates", "_tgt": "api_oa_approval_get_tenant_no", @@ -357279,7 +357471,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L780", + "source_location": "L794", "weight": 1.0, "_src": "api_oa_approval_get_oa_template", "_tgt": "api_oa_approval_get_tenant_no", @@ -357291,7 +357483,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L803", + "source_location": "L817", "weight": 1.0, "_src": "api_oa_approval_preview_oa_template_flow", "_tgt": "api_oa_approval_get_tenant_no", @@ -357303,7 +357495,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L834", + "source_location": "L848", "weight": 1.0, "_src": "api_oa_approval_preview_oa_template_flow_get", "_tgt": "api_oa_approval_get_tenant_no", @@ -357315,7 +357507,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L864", + "source_location": "L878", "weight": 1.0, "_src": "api_oa_approval_start_oa_instance", "_tgt": "api_oa_approval_get_tenant_no", @@ -357327,7 +357519,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L891", + "source_location": "L905", "weight": 1.0, "_src": "api_oa_approval_get_oa_instance", "_tgt": "api_oa_approval_get_tenant_no", @@ -357339,7 +357531,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L907", + "source_location": "L921", "weight": 1.0, "_src": "api_oa_approval_list_related_candidates", "_tgt": "api_oa_approval_get_tenant_no", @@ -357351,7 +357543,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L929", + "source_location": "L943", "weight": 1.0, "_src": "api_oa_approval_get_related_summaries", "_tgt": "api_oa_approval_get_tenant_no", @@ -357363,7 +357555,19 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L952", + "source_location": "L966", + "weight": 1.0, + "_src": "api_oa_approval_oa_pending_task_count", + "_tgt": "api_oa_approval_get_tenant_no", + "source": "api_oa_approval_get_tenant_no", + "target": "api_oa_approval_oa_pending_task_count", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "api/oa_approval.py", + "source_location": "L983", "weight": 1.0, "_src": "api_oa_approval_oa_cc_unread_count", "_tgt": "api_oa_approval_get_tenant_no", @@ -357375,7 +357579,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L970", + "source_location": "L1001", "weight": 1.0, "_src": "api_oa_approval_oa_cc_read_batch", "_tgt": "api_oa_approval_get_tenant_no", @@ -357387,7 +357591,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L991", + "source_location": "L1022", "weight": 1.0, "_src": "api_oa_approval_oa_task_mark_read", "_tgt": "api_oa_approval_get_tenant_no", @@ -357399,7 +357603,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1013", + "source_location": "L1044", "weight": 1.0, "_src": "api_oa_approval_list_oa_tasks", "_tgt": "api_oa_approval_get_tenant_no", @@ -357411,7 +357615,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1036", + "source_location": "L1067", "weight": 1.0, "_src": "api_oa_approval_approve_oa_task", "_tgt": "api_oa_approval_get_tenant_no", @@ -357423,7 +357627,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1060", + "source_location": "L1091", "weight": 1.0, "_src": "api_oa_approval_reject_oa_task", "_tgt": "api_oa_approval_get_tenant_no", @@ -357435,7 +357639,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1084", + "source_location": "L1115", "weight": 1.0, "_src": "api_oa_approval_return_oa_task", "_tgt": "api_oa_approval_get_tenant_no", @@ -357447,7 +357651,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1107", + "source_location": "L1138", "weight": 1.0, "_src": "api_oa_approval_resubmit_oa_instance", "_tgt": "api_oa_approval_get_tenant_no", @@ -357459,7 +357663,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1131", + "source_location": "L1162", "weight": 1.0, "_src": "api_oa_approval_add_sign_oa_task", "_tgt": "api_oa_approval_get_tenant_no", @@ -357471,7 +357675,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1155", + "source_location": "L1186", "weight": 1.0, "_src": "api_oa_approval_transfer_oa_task", "_tgt": "api_oa_approval_get_tenant_no", @@ -357483,7 +357687,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L1178", + "source_location": "L1209", "weight": 1.0, "_src": "api_oa_approval_withdraw_oa_instance", "_tgt": "api_oa_approval_get_tenant_no", @@ -357495,7 +357699,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1206", "weight": 0.8, "_src": "api_oa_approval_oareceiveaccountbody", "_tgt": "services_oa_engine_oaengineerror", @@ -357507,7 +357711,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1206", "weight": 0.8, "_src": "api_oa_approval_oareceiveaccountbatchdeletebody", "_tgt": "services_oa_engine_oaengineerror", @@ -357543,7 +357747,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1206", "weight": 0.8, "_src": "api_oa_approval_oainstancedraftbody", "_tgt": "services_oa_engine_oaengineerror", @@ -357555,7 +357759,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1206", "weight": 0.8, "_src": "api_oa_approval_oainstancedraftupdatebody", "_tgt": "services_oa_engine_oaengineerror", @@ -357567,7 +357771,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1206", "weight": 0.8, "_src": "api_oa_approval_oainstancedraftbatchdeletebody", "_tgt": "services_oa_engine_oaengineerror", @@ -357579,7 +357783,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L386", + "source_location": "L400", "weight": 1.0, "_src": "api_oa_approval_submit_oa_instance_draft", "_tgt": "api_oa_approval_oainstancedraftsubmitbody", @@ -357591,7 +357795,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1206", "weight": 0.8, "_src": "api_oa_approval_oainstancedraftsubmitbody", "_tgt": "services_oa_engine_oaengineerror", @@ -357603,7 +357807,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L261", + "source_location": "L275", "weight": 1.0, "_src": "api_oa_approval_list_oa_instance_drafts", "_tgt": "api_oa_approval_parse_draft_range_end", @@ -357627,7 +357831,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L260", + "source_location": "L274", "weight": 1.0, "_src": "api_oa_approval_list_oa_instance_drafts", "_tgt": "api_oa_approval_parse_draft_range_start", @@ -357639,7 +357843,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1206", "weight": 0.8, "_src": "api_oa_approval_oagroupcreatebody", "_tgt": "services_oa_engine_oaengineerror", @@ -357651,7 +357855,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1206", "weight": 0.8, "_src": "api_oa_approval_oagroupupdatebody", "_tgt": "services_oa_engine_oaengineerror", @@ -357663,7 +357867,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1206", "weight": 0.8, "_src": "api_oa_approval_oaappcreatebody", "_tgt": "services_oa_engine_oaengineerror", @@ -357675,7 +357879,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1206", "weight": 0.8, "_src": "api_oa_approval_oaappupdatebody", "_tgt": "services_oa_engine_oaengineerror", @@ -357687,7 +357891,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1206", "weight": 0.8, "_src": "api_oa_approval_oadraftsavebody", "_tgt": "services_oa_engine_oaengineerror", @@ -357700,7 +357904,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L695", + "source_location": "L709", "weight": 1.0, "_src": "api_oa_approval_publish_oa_app", "_tgt": "services_oa_publish_publish_app", @@ -357711,7 +357915,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1206", "weight": 0.8, "_src": "api_oa_approval_oastartinstancebody", "_tgt": "services_oa_engine_oaengineerror", @@ -357723,7 +357927,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1206", "weight": 0.8, "_src": "api_oa_approval_oaflowpreviewbody", "_tgt": "services_oa_engine_oaengineerror", @@ -357735,7 +357939,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1206", "weight": 0.8, "_src": "api_oa_approval_oataskactionbody", "_tgt": "services_oa_engine_oaengineerror", @@ -357747,7 +357951,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1206", "weight": 0.8, "_src": "api_oa_approval_oaccreadbatchbody", "_tgt": "services_oa_engine_oaengineerror", @@ -357759,7 +357963,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1206", "weight": 0.8, "_src": "api_oa_approval_oaaddsignbody", "_tgt": "services_oa_engine_oaengineerror", @@ -357771,7 +357975,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1206", "weight": 0.8, "_src": "api_oa_approval_oatransferbody", "_tgt": "services_oa_engine_oaengineerror", @@ -357783,7 +357987,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1206", "weight": 0.8, "_src": "api_oa_approval_oaresubmitbody", "_tgt": "services_oa_engine_oaengineerror", @@ -357796,7 +358000,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L767", + "source_location": "L781", "weight": 1.0, "_src": "api_oa_approval_list_oa_templates", "_tgt": "services_oa_engine_list_templates", @@ -357808,7 +358012,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L781", + "source_location": "L795", "weight": 1.0, "_src": "api_oa_approval_get_oa_template", "_tgt": "services_oa_engine_get_template_detail", @@ -357819,12 +358023,12 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L799", + "source_location": "L813", "weight": 1.0, - "_src": "api_oa_approval_rationale_799", + "_src": "api_oa_approval_rationale_813", "_tgt": "api_oa_approval_preview_oa_template_flow", "source": "api_oa_approval_preview_oa_template_flow", - "target": "api_oa_approval_rationale_799", + "target": "api_oa_approval_rationale_813", "confidence_score": 1.0 }, { @@ -357832,7 +358036,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L810", + "source_location": "L824", "weight": 1.0, "_src": "api_oa_approval_preview_oa_template_flow", "_tgt": "services_oa_engine_preview_start_flow", @@ -357843,12 +358047,12 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "api/oa_approval.py", - "source_location": "L830", + "source_location": "L844", "weight": 1.0, - "_src": "api_oa_approval_rationale_830", + "_src": "api_oa_approval_rationale_844", "_tgt": "api_oa_approval_preview_oa_template_flow_get", "source": "api_oa_approval_preview_oa_template_flow_get", - "target": "api_oa_approval_rationale_830", + "target": "api_oa_approval_rationale_844", "confidence_score": 1.0 }, { @@ -357856,7 +358060,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L841", + "source_location": "L855", "weight": 1.0, "_src": "api_oa_approval_preview_oa_template_flow_get", "_tgt": "services_oa_engine_preview_start_flow", @@ -357868,7 +358072,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L865", + "source_location": "L879", "weight": 1.0, "_src": "api_oa_approval_start_oa_instance", "_tgt": "services_oa_engine_start_instance", @@ -357880,7 +358084,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L892", + "source_location": "L906", "weight": 1.0, "_src": "api_oa_approval_get_oa_instance", "_tgt": "services_oa_engine_get_instance_detail", @@ -357892,7 +358096,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L932", + "source_location": "L946", "weight": 1.0, "_src": "api_oa_approval_get_related_summaries", "_tgt": "services_oa_related_approval_build_related_summaries", @@ -357904,7 +358108,19 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L953", + "source_location": "L967", + "weight": 1.0, + "_src": "api_oa_approval_oa_pending_task_count", + "_tgt": "services_oa_engine_count_pending_tasks", + "source": "api_oa_approval_oa_pending_task_count", + "target": "services_oa_engine_count_pending_tasks" + }, + { + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "api/oa_approval.py", + "source_location": "L984", "weight": 1.0, "_src": "api_oa_approval_oa_cc_unread_count", "_tgt": "services_oa_engine_count_cc_unread", @@ -357916,7 +358132,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L971", + "source_location": "L1002", "weight": 1.0, "_src": "api_oa_approval_oa_cc_read_batch", "_tgt": "services_oa_engine_mark_cc_tasks_read_batch", @@ -357928,7 +358144,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L992", + "source_location": "L1023", "weight": 1.0, "_src": "api_oa_approval_oa_task_mark_read", "_tgt": "services_oa_engine_mark_cc_task_read", @@ -357940,7 +358156,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1014", + "source_location": "L1045", "weight": 1.0, "_src": "api_oa_approval_list_oa_tasks", "_tgt": "services_oa_engine_list_tasks", @@ -357952,7 +358168,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1037", + "source_location": "L1068", "weight": 1.0, "_src": "api_oa_approval_approve_oa_task", "_tgt": "services_oa_engine_complete_task", @@ -357964,7 +358180,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1061", + "source_location": "L1092", "weight": 1.0, "_src": "api_oa_approval_reject_oa_task", "_tgt": "services_oa_engine_complete_task", @@ -357976,7 +358192,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1085", + "source_location": "L1116", "weight": 1.0, "_src": "api_oa_approval_return_oa_task", "_tgt": "services_oa_engine_return_task", @@ -357988,7 +358204,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1108", + "source_location": "L1139", "weight": 1.0, "_src": "api_oa_approval_resubmit_oa_instance", "_tgt": "services_oa_engine_resubmit_instance", @@ -358000,7 +358216,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1132", + "source_location": "L1163", "weight": 1.0, "_src": "api_oa_approval_add_sign_oa_task", "_tgt": "services_oa_engine_add_sign", @@ -358012,7 +358228,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1156", + "source_location": "L1187", "weight": 1.0, "_src": "api_oa_approval_transfer_oa_task", "_tgt": "services_oa_engine_transfer_task", @@ -358024,7 +358240,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "api/oa_approval.py", - "source_location": "L1179", + "source_location": "L1210", "weight": 1.0, "_src": "api_oa_approval_withdraw_oa_instance", "_tgt": "services_oa_engine_withdraw_instance", @@ -358035,7 +358251,7 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1206", "weight": 0.8, "_src": "api_oa_approval_rationale_212", "_tgt": "services_oa_engine_oaengineerror", @@ -358047,11 +358263,11 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1206", "weight": 0.8, - "_src": "api_oa_approval_rationale_799", + "_src": "api_oa_approval_rationale_813", "_tgt": "services_oa_engine_oaengineerror", - "source": "api_oa_approval_rationale_799", + "source": "api_oa_approval_rationale_813", "target": "services_oa_engine_oaengineerror", "confidence_score": 0.5 }, @@ -358059,11 +358275,11 @@ "relation": "uses", "confidence": "INFERRED", "source_file": "api/oa_approval.py", - "source_location": "L1175", + "source_location": "L1206", "weight": 0.8, - "_src": "api_oa_approval_rationale_830", + "_src": "api_oa_approval_rationale_844", "_tgt": "services_oa_engine_oaengineerror", - "source": "api_oa_approval_rationale_830", + "source": "api_oa_approval_rationale_844", "target": "services_oa_engine_oaengineerror", "confidence_score": 0.5 }, @@ -371562,6 +371778,18 @@ "source_location": "L1978", "weight": 1.0, "_src": "services_oa_engine_py", + "_tgt": "services_oa_engine_count_pending_tasks", + "source": "services_oa_engine_py", + "target": "services_oa_engine_count_pending_tasks", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "services/oa_engine.py", + "source_location": "L1992", + "weight": 1.0, + "_src": "services_oa_engine_py", "_tgt": "services_oa_engine_mark_cc_task_read", "source": "services_oa_engine_py", "target": "services_oa_engine_mark_cc_task_read", @@ -371571,7 +371799,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1999", + "source_location": "L2013", "weight": 1.0, "_src": "services_oa_engine_py", "_tgt": "services_oa_engine_mark_cc_tasks_read_batch", @@ -371583,7 +371811,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2025", + "source_location": "L2039", "weight": 1.0, "_src": "services_oa_engine_py", "_tgt": "services_oa_engine_list_tasks", @@ -371595,7 +371823,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2096", + "source_location": "L2110", "weight": 1.0, "_src": "services_oa_engine_py", "_tgt": "services_oa_engine_approve_task_core", @@ -371607,7 +371835,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2168", + "source_location": "L2182", "weight": 1.0, "_src": "services_oa_engine_py", "_tgt": "services_oa_engine_maybe_auto_pass_initiator", @@ -371619,7 +371847,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2206", + "source_location": "L2220", "weight": 1.0, "_src": "services_oa_engine_py", "_tgt": "services_oa_engine_complete_task", @@ -371631,7 +371859,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2290", + "source_location": "L2304", "weight": 1.0, "_src": "services_oa_engine_py", "_tgt": "services_oa_engine_add_sign", @@ -371643,7 +371871,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2406", + "source_location": "L2420", "weight": 1.0, "_src": "services_oa_engine_py", "_tgt": "services_oa_engine_transfer_task", @@ -371655,7 +371883,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2517", + "source_location": "L2531", "weight": 1.0, "_src": "services_oa_engine_py", "_tgt": "services_oa_engine_return_task", @@ -371667,7 +371895,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2598", + "source_location": "L2612", "weight": 1.0, "_src": "services_oa_engine_py", "_tgt": "services_oa_engine_resubmit_instance", @@ -371679,7 +371907,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2612", + "source_location": "L2626", "weight": 1.0, "_src": "services_oa_engine_py", "_tgt": "services_oa_engine_withdraw_instance", @@ -371799,7 +372027,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1991", + "source_location": "L2005", "weight": 1.0, "_src": "services_oa_engine_mark_cc_task_read", "_tgt": "services_oa_engine_oaengineerror", @@ -371811,7 +372039,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2077", + "source_location": "L2091", "weight": 1.0, "_src": "services_oa_engine_list_tasks", "_tgt": "services_oa_engine_oaengineerror", @@ -371823,7 +372051,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2156", + "source_location": "L2170", "weight": 1.0, "_src": "services_oa_engine_approve_task_core", "_tgt": "services_oa_engine_oaengineerror", @@ -371835,7 +372063,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2217", + "source_location": "L2231", "weight": 1.0, "_src": "services_oa_engine_complete_task", "_tgt": "services_oa_engine_oaengineerror", @@ -371847,7 +372075,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2306", + "source_location": "L2320", "weight": 1.0, "_src": "services_oa_engine_add_sign", "_tgt": "services_oa_engine_oaengineerror", @@ -371859,7 +372087,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2422", + "source_location": "L2436", "weight": 1.0, "_src": "services_oa_engine_transfer_task", "_tgt": "services_oa_engine_oaengineerror", @@ -371871,7 +372099,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2532", + "source_location": "L2546", "weight": 1.0, "_src": "services_oa_engine_return_task", "_tgt": "services_oa_engine_oaengineerror", @@ -371883,7 +372111,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2609", + "source_location": "L2623", "weight": 1.0, "_src": "services_oa_engine_resubmit_instance", "_tgt": "services_oa_engine_oaengineerror", @@ -371895,7 +372123,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2617", + "source_location": "L2631", "weight": 1.0, "_src": "services_oa_engine_withdraw_instance", "_tgt": "services_oa_engine_oaengineerror", @@ -372123,7 +372351,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2153", + "source_location": "L2167", "weight": 1.0, "_src": "services_oa_engine_approve_task_core", "_tgt": "services_oa_engine_loads", @@ -372255,7 +372483,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2163", + "source_location": "L2177", "weight": 1.0, "_src": "services_oa_engine_approve_task_core", "_tgt": "services_oa_engine_load_initiator_select_by_node", @@ -372411,7 +372639,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2153", + "source_location": "L2167", "weight": 1.0, "_src": "services_oa_engine_approve_task_core", "_tgt": "services_oa_engine_flow_root", @@ -372435,7 +372663,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2154", + "source_location": "L2168", "weight": 1.0, "_src": "services_oa_engine_approve_task_core", "_tgt": "services_oa_engine_find_node", @@ -372507,7 +372735,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2351", + "source_location": "L2365", "weight": 1.0, "_src": "services_oa_engine_add_sign", "_tgt": "services_oa_engine_next_task_order_num", @@ -372519,7 +372747,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2475", + "source_location": "L2489", "weight": 1.0, "_src": "services_oa_engine_transfer_task", "_tgt": "services_oa_engine_next_task_order_num", @@ -372927,7 +373155,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2502", + "source_location": "L2516", "weight": 1.0, "_src": "services_oa_engine_transfer_task", "_tgt": "services_oa_engine_add_instance_event", @@ -372939,7 +373167,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2584", + "source_location": "L2598", "weight": 1.0, "_src": "services_oa_engine_return_task", "_tgt": "services_oa_engine_add_instance_event", @@ -372951,7 +373179,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2643", + "source_location": "L2657", "weight": 1.0, "_src": "services_oa_engine_withdraw_instance", "_tgt": "services_oa_engine_add_instance_event", @@ -373011,7 +373239,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2177", + "source_location": "L2191", "weight": 1.0, "_src": "services_oa_engine_maybe_auto_pass_initiator", "_tgt": "services_oa_engine_advanced", @@ -373023,7 +373251,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2243", + "source_location": "L2257", "weight": 1.0, "_src": "services_oa_engine_complete_task", "_tgt": "services_oa_engine_advanced", @@ -373035,7 +373263,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2323", + "source_location": "L2337", "weight": 1.0, "_src": "services_oa_engine_add_sign", "_tgt": "services_oa_engine_advanced", @@ -373047,7 +373275,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2549", + "source_location": "L2563", "weight": 1.0, "_src": "services_oa_engine_return_task", "_tgt": "services_oa_engine_advanced", @@ -373059,7 +373287,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2625", + "source_location": "L2639", "weight": 1.0, "_src": "services_oa_engine_withdraw_instance", "_tgt": "services_oa_engine_advanced", @@ -373131,7 +373359,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2074", + "source_location": "L2088", "weight": 1.0, "_src": "services_oa_engine_list_tasks", "_tgt": "services_oa_engine_instance_to_dict", @@ -373155,7 +373383,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1996", + "source_location": "L2010", "weight": 1.0, "_src": "services_oa_engine_mark_cc_task_read", "_tgt": "services_oa_engine_task_to_dict", @@ -373167,7 +373395,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2080", + "source_location": "L2094", "weight": 1.0, "_src": "services_oa_engine_list_tasks", "_tgt": "services_oa_engine_task_to_dict", @@ -373203,7 +373431,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2075", + "source_location": "L2089", "weight": 1.0, "_src": "services_oa_engine_list_tasks", "_tgt": "services_oa_engine_enrich_list_rows", @@ -373599,7 +373827,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2157", + "source_location": "L2171", "weight": 1.0, "_src": "services_oa_engine_approve_task_core", "_tgt": "services_oa_engine_advance_from", @@ -373827,7 +374055,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2231", + "source_location": "L2245", "weight": 1.0, "_src": "services_oa_engine_complete_task", "_tgt": "services_oa_engine_get_instance", @@ -373839,7 +374067,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2312", + "source_location": "L2326", "weight": 1.0, "_src": "services_oa_engine_add_sign", "_tgt": "services_oa_engine_get_instance", @@ -373851,7 +374079,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2428", + "source_location": "L2442", "weight": 1.0, "_src": "services_oa_engine_transfer_task", "_tgt": "services_oa_engine_get_instance", @@ -373863,7 +374091,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2538", + "source_location": "L2552", "weight": 1.0, "_src": "services_oa_engine_return_task", "_tgt": "services_oa_engine_get_instance", @@ -373875,7 +374103,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2615", + "source_location": "L2629", "weight": 1.0, "_src": "services_oa_engine_withdraw_instance", "_tgt": "services_oa_engine_get_instance", @@ -373887,7 +374115,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2276", + "source_location": "L2290", "weight": 1.0, "_src": "services_oa_engine_complete_task", "_tgt": "services_oa_engine_get_instance_detail", @@ -373899,7 +374127,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2403", + "source_location": "L2417", "weight": 1.0, "_src": "services_oa_engine_add_sign", "_tgt": "services_oa_engine_get_instance_detail", @@ -373911,7 +374139,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2514", + "source_location": "L2528", "weight": 1.0, "_src": "services_oa_engine_transfer_task", "_tgt": "services_oa_engine_get_instance_detail", @@ -373923,7 +374151,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2595", + "source_location": "L2609", "weight": 1.0, "_src": "services_oa_engine_return_task", "_tgt": "services_oa_engine_get_instance_detail", @@ -373935,7 +374163,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2651", + "source_location": "L2665", "weight": 1.0, "_src": "services_oa_engine_withdraw_instance", "_tgt": "services_oa_engine_get_instance_detail", @@ -373947,7 +374175,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2057", + "source_location": "L2071", "weight": 1.0, "_src": "services_oa_engine_list_tasks", "_tgt": "services_oa_engine_normalize_cc_read_status", @@ -373959,7 +374187,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L1993", + "source_location": "L2007", "weight": 1.0, "_src": "services_oa_engine_mark_cc_task_read", "_tgt": "services_oa_engine_apply_cc_task_read", @@ -373971,7 +374199,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2019", + "source_location": "L2033", "weight": 1.0, "_src": "services_oa_engine_mark_cc_tasks_read_batch", "_tgt": "services_oa_engine_apply_cc_task_read", @@ -373995,7 +374223,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2196", + "source_location": "L2210", "weight": 1.0, "_src": "services_oa_engine_maybe_auto_pass_initiator", "_tgt": "services_oa_engine_approve_task_core", @@ -374007,7 +374235,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2278", + "source_location": "L2292", "weight": 1.0, "_src": "services_oa_engine_complete_task", "_tgt": "services_oa_engine_approve_task_core", @@ -374019,60 +374247,60 @@ "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2105", + "source_location": "L2119", "weight": 1.0, - "_src": "services_oa_engine_rationale_2105", + "_src": "services_oa_engine_rationale_2119", "_tgt": "services_oa_engine_approve_task_core", "source": "services_oa_engine_approve_task_core", - "target": "services_oa_engine_rationale_2105", + "target": "services_oa_engine_rationale_2119", "confidence_score": 1.0 }, { "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2299", + "source_location": "L2313", "weight": 1.0, - "_src": "services_oa_engine_rationale_2299", + "_src": "services_oa_engine_rationale_2313", "_tgt": "services_oa_engine_add_sign", "source": "services_oa_engine_add_sign", - "target": "services_oa_engine_rationale_2299", + "target": "services_oa_engine_rationale_2313", "confidence_score": 1.0 }, { "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2415", + "source_location": "L2429", "weight": 1.0, - "_src": "services_oa_engine_rationale_2415", + "_src": "services_oa_engine_rationale_2429", "_tgt": "services_oa_engine_transfer_task", "source": "services_oa_engine_transfer_task", - "target": "services_oa_engine_rationale_2415", + "target": "services_oa_engine_rationale_2429", "confidence_score": 1.0 }, { "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2525", + "source_location": "L2539", "weight": 1.0, - "_src": "services_oa_engine_rationale_2525", + "_src": "services_oa_engine_rationale_2539", "_tgt": "services_oa_engine_return_task", "source": "services_oa_engine_return_task", - "target": "services_oa_engine_rationale_2525", + "target": "services_oa_engine_rationale_2539", "confidence_score": 1.0 }, { "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "services/oa_engine.py", - "source_location": "L2607", + "source_location": "L2621", "weight": 1.0, - "_src": "services_oa_engine_rationale_2607", + "_src": "services_oa_engine_rationale_2621", "_tgt": "services_oa_engine_resubmit_instance", "source": "services_oa_engine_resubmit_instance", - "target": "services_oa_engine_rationale_2607", + "target": "services_oa_engine_rationale_2621", "confidence_score": 1.0 }, { @@ -374585,9 +374813,9 @@ "source_file": "services/oa_engine.py", "source_location": "L25", "weight": 0.8, - "_src": "services_oa_engine_rationale_2105", + "_src": "services_oa_engine_rationale_2119", "_tgt": "services_oa_assignee_assigneeresolveerror", - "source": "services_oa_engine_rationale_2105", + "source": "services_oa_engine_rationale_2119", "target": "services_oa_assignee_assigneeresolveerror", "confidence_score": 0.5 }, @@ -374597,9 +374825,9 @@ "source_file": "services/oa_engine.py", "source_location": "L31", "weight": 0.8, - "_src": "services_oa_engine_rationale_2105", + "_src": "services_oa_engine_rationale_2119", "_tgt": "services_oa_formula_formulaerror", - "source": "services_oa_engine_rationale_2105", + "source": "services_oa_engine_rationale_2119", "target": "services_oa_formula_formulaerror", "confidence_score": 0.5 }, @@ -374609,9 +374837,9 @@ "source_file": "services/oa_engine.py", "source_location": "L25", "weight": 0.8, - "_src": "services_oa_engine_rationale_2299", + "_src": "services_oa_engine_rationale_2313", "_tgt": "services_oa_assignee_assigneeresolveerror", - "source": "services_oa_engine_rationale_2299", + "source": "services_oa_engine_rationale_2313", "target": "services_oa_assignee_assigneeresolveerror", "confidence_score": 0.5 }, @@ -374621,9 +374849,9 @@ "source_file": "services/oa_engine.py", "source_location": "L31", "weight": 0.8, - "_src": "services_oa_engine_rationale_2299", + "_src": "services_oa_engine_rationale_2313", "_tgt": "services_oa_formula_formulaerror", - "source": "services_oa_engine_rationale_2299", + "source": "services_oa_engine_rationale_2313", "target": "services_oa_formula_formulaerror", "confidence_score": 0.5 }, @@ -374633,9 +374861,9 @@ "source_file": "services/oa_engine.py", "source_location": "L25", "weight": 0.8, - "_src": "services_oa_engine_rationale_2415", + "_src": "services_oa_engine_rationale_2429", "_tgt": "services_oa_assignee_assigneeresolveerror", - "source": "services_oa_engine_rationale_2415", + "source": "services_oa_engine_rationale_2429", "target": "services_oa_assignee_assigneeresolveerror", "confidence_score": 0.5 }, @@ -374645,9 +374873,9 @@ "source_file": "services/oa_engine.py", "source_location": "L31", "weight": 0.8, - "_src": "services_oa_engine_rationale_2415", + "_src": "services_oa_engine_rationale_2429", "_tgt": "services_oa_formula_formulaerror", - "source": "services_oa_engine_rationale_2415", + "source": "services_oa_engine_rationale_2429", "target": "services_oa_formula_formulaerror", "confidence_score": 0.5 }, @@ -374657,9 +374885,9 @@ "source_file": "services/oa_engine.py", "source_location": "L25", "weight": 0.8, - "_src": "services_oa_engine_rationale_2525", + "_src": "services_oa_engine_rationale_2539", "_tgt": "services_oa_assignee_assigneeresolveerror", - "source": "services_oa_engine_rationale_2525", + "source": "services_oa_engine_rationale_2539", "target": "services_oa_assignee_assigneeresolveerror", "confidence_score": 0.5 }, @@ -374669,9 +374897,9 @@ "source_file": "services/oa_engine.py", "source_location": "L31", "weight": 0.8, - "_src": "services_oa_engine_rationale_2525", + "_src": "services_oa_engine_rationale_2539", "_tgt": "services_oa_formula_formulaerror", - "source": "services_oa_engine_rationale_2525", + "source": "services_oa_engine_rationale_2539", "target": "services_oa_formula_formulaerror", "confidence_score": 0.5 }, @@ -374681,9 +374909,9 @@ "source_file": "services/oa_engine.py", "source_location": "L25", "weight": 0.8, - "_src": "services_oa_engine_rationale_2607", + "_src": "services_oa_engine_rationale_2621", "_tgt": "services_oa_assignee_assigneeresolveerror", - "source": "services_oa_engine_rationale_2607", + "source": "services_oa_engine_rationale_2621", "target": "services_oa_assignee_assigneeresolveerror", "confidence_score": 0.5 }, @@ -374693,9 +374921,9 @@ "source_file": "services/oa_engine.py", "source_location": "L31", "weight": 0.8, - "_src": "services_oa_engine_rationale_2607", + "_src": "services_oa_engine_rationale_2621", "_tgt": "services_oa_formula_formulaerror", - "source": "services_oa_engine_rationale_2607", + "source": "services_oa_engine_rationale_2621", "target": "services_oa_formula_formulaerror", "confidence_score": 0.5 }, diff --git a/backend/scripts/migrate_user_role_to_post.py b/backend/scripts/migrate_user_role_to_post.py new file mode 100644 index 00000000..d85f04df --- /dev/null +++ b/backend/scripts/migrate_user_role_to_post.py @@ -0,0 +1,423 @@ +#!/usr/bin/env python3 +"""将「用户-角色」迁移为「用户-职位 + 职位-角色」,并清理直接绑定。 + +步骤(与产品约定一致): +1. 软删除清空 sys_post / sys_user_post / sys_post_role(指定租户) +2. 按 sys_role(未删除)逐条创建职位:post_name=角色名,post_code=名称拼音首字母缩写; + 并为职位绑定该角色(sys_post_role 一对一) +3. 按 sys_user_role 为用户绑定对应职位(sys_user_post) +4. 软删除清空 sys_user_role(指定租户) + +用法(在 backend 目录): + + # 务必指向测试库,勿连生产 + export ENV_FILE=./.env.test # 或确认 .env 已是测试库 + + source venv/bin/activate + pip install pypinyin # 若尚未安装 + + # 只预览,不写库 + python scripts/migrate_user_role_to_post.py --dry-run + + # 真正执行(需同时传 --execute 与库名确认) + python scripts/migrate_user_role_to_post.py --execute --confirm-database zkxw-sc + +注意: +- 菜单/数据权限运行时已走有效角色并集,迁移后可由职位继承。 +- 仍有少量代码只查 sys_user_role(如「实验专员」步骤负责人校验、 + 质检金额授权列表、工作流按角色选人)。若业务依赖这些入口,需另改代码或 + 保留对应直接绑定(可用 --preserve-role-ids)。 +""" +from __future__ import annotations + +import argparse +import os +import re +import sys +from datetime import datetime +from pathlib import Path +from typing import Dict, List, Optional, Set, Tuple +from urllib.parse import urlparse + +ROOT = Path(__file__).resolve().parents[1] +if str(ROOT) not in sys.path: + sys.path.insert(0, str(ROOT)) + +try: + from pypinyin import Style, lazy_pinyin +except ImportError as exc: # pragma: no cover + raise SystemExit( + "缺少依赖 pypinyin。请先执行: pip install pypinyin\n" + str(exc) + ) from exc + +from sqlalchemy import and_ + +from app.core.config import settings +from app.core.database import SessionLocal +from app.core.utils import generate_uuid +from app.models.models import SysPost, SysPostRole, SysRole, SysUserPost, SysUserRole + +# 质检物料金额查看:授权管理模块仍读写 sys_user_role;默认迁移后一并清理, +# 若需保留其直接绑定,执行时加: +# --preserve-role-ids ROLE000000000000000000000000000011 +DEFAULT_PRESERVE_ROLE_IDS: Tuple[str, ...] = () + + +def _mask_database_url(url: str) -> str: + try: + u = urlparse(url) + user = u.username or "" + host = u.hostname or "" + port = f":{u.port}" if u.port else "" + db = (u.path or "").lstrip("/") + return f"{u.scheme}://{user}:***@{host}{port}/{db}" + except Exception: + return "***" + + +def _database_name(url: str) -> str: + try: + return (urlparse(url).path or "").lstrip("/").split("?")[0] + except Exception: + return "" + + +def role_name_to_post_code(role_name: str, used: Set[str]) -> str: + """职位编码 = 角色名拼音首字母缩写(大写),冲突则追加序号。""" + name = (role_name or "").strip() or "POST" + letters = "".join(lazy_pinyin(name, style=Style.FIRST_LETTER)) + base = re.sub(r"[^A-Za-z0-9]", "", letters).upper() + if not base: + base = "POST" + # 编码不宜过长 + base = base[:48] + code = base + n = 2 + while code in used: + suffix = f"-{n}" + code = (base[: 48 - len(suffix)] + suffix).upper() + n += 1 + used.add(code) + return code + + +def soft_clear_posts(db, tenant_no: str, now: datetime, dry_run: bool) -> Dict[str, int]: + counts = {} + for model, key in ( + (SysPostRole, "sys_post_role"), + (SysUserPost, "sys_user_post"), + (SysPost, "sys_post"), + ): + q = db.query(model).filter(model.tenant_no == tenant_no, model.del_flag == 0) + n = q.count() + counts[key] = n + if not dry_run and n: + q.update( + {"del_flag": 1, "update_time": now}, + synchronize_session=False, + ) + return counts + + +def load_roles(db, tenant_no: str) -> List[SysRole]: + return ( + db.query(SysRole) + .filter(SysRole.tenant_no == tenant_no, SysRole.del_flag == 0) + .order_by(SysRole.order_num.asc(), SysRole.create_time.asc()) + .all() + ) + + +def create_posts_for_roles( + db, + roles: List[SysRole], + tenant_no: str, + operator_id: Optional[str], + now: datetime, + dry_run: bool, +) -> Dict[str, str]: + """返回 role_id -> post_id。""" + used_codes: Set[str] = set() + role_to_post: Dict[str, str] = {} + for idx, role in enumerate(roles, start=1): + post_id = generate_uuid() + code = role_name_to_post_code(role.role_name, used_codes) + status = (role.status or "1").strip() or "1" + print( + f" [{idx}/{len(roles)}] 角色「{role.role_name}」({role.id}) " + f"→ 职位 {code} / {role.role_name}" + ) + role_to_post[role.id] = post_id + if dry_run: + continue + db.add( + SysPost( + id=post_id, + post_name=role.role_name, + post_code=code, + status=status, + tenant_no=tenant_no, + order_num=role.order_num if role.order_num is not None else idx, + remark=f"由角色迁移生成,role_id={role.id}", + create_by=operator_id, + create_dept_id="", + create_time=now, + update_by=operator_id, + update_time=now, + del_flag=0, + ) + ) + db.add( + SysPostRole( + id=generate_uuid(), + post_id=post_id, + role_id=role.id, + tenant_no=tenant_no, + order_num=0, + remark="角色一对一迁移", + create_by=operator_id, + create_dept_id="", + create_time=now, + update_by=operator_id, + update_time=now, + del_flag=0, + ) + ) + return role_to_post + + +def migrate_user_posts( + db, + tenant_no: str, + role_to_post: Dict[str, str], + operator_id: Optional[str], + now: datetime, + dry_run: bool, +) -> Tuple[int, int]: + """按用户-角色生成用户-职位。返回 (将写入条数, 跳过条数)。""" + rows = ( + db.query(SysUserRole) + .filter(SysUserRole.tenant_no == tenant_no, SysUserRole.del_flag == 0) + .all() + ) + # 同一用户同一职位只绑一次 + seen: Set[Tuple[str, str]] = set() + written = 0 + skipped = 0 + for ur in rows: + post_id = role_to_post.get(ur.role_id) + if not post_id: + skipped += 1 + continue + key = (ur.user_id, post_id) + if key in seen: + skipped += 1 + continue + seen.add(key) + written += 1 + if dry_run: + continue + db.add( + SysUserPost( + id=generate_uuid(), + user_id=ur.user_id, + post_id=post_id, + tenant_no=tenant_no, + order_num=ur.order_num if ur.order_num is not None else 0, + remark=f"由用户角色迁移,role_id={ur.role_id}", + create_by=operator_id, + create_dept_id="", + create_time=now, + update_by=operator_id, + update_time=now, + del_flag=0, + ) + ) + return written, skipped + + +def clear_user_roles( + db, + tenant_no: str, + preserve_role_ids: Set[str], + now: datetime, + dry_run: bool, +) -> Tuple[int, int]: + q = db.query(SysUserRole).filter( + SysUserRole.tenant_no == tenant_no, SysUserRole.del_flag == 0 + ) + if preserve_role_ids: + q = q.filter(~SysUserRole.role_id.in_(list(preserve_role_ids))) + n = q.count() + preserved = 0 + if preserve_role_ids: + preserved = ( + db.query(SysUserRole) + .filter( + SysUserRole.tenant_no == tenant_no, + SysUserRole.del_flag == 0, + SysUserRole.role_id.in_(list(preserve_role_ids)), + ) + .count() + ) + if not dry_run and n: + q.update({"del_flag": 1, "update_time": now}, synchronize_session=False) + return n, preserved + + +def run( + *, + tenant_no: str, + dry_run: bool, + execute: bool, + confirm_database: Optional[str], + operator_id: Optional[str], + preserve_role_ids: Set[str], +) -> None: + db_url = settings.DATABASE_URL + db_name = _database_name(db_url) + print("=== 用户角色 → 职位 迁移 ===") + print(f"ENV_FILE : {os.getenv('ENV_FILE', '(default backend/.env)')}") + print(f"DATABASE_URL : {_mask_database_url(db_url)}") + print(f"database : {db_name}") + print(f"tenant_no : {tenant_no}") + print(f"mode : {'DRY-RUN' if dry_run or not execute else 'EXECUTE'}") + if preserve_role_ids: + print(f"preserve UR : {', '.join(sorted(preserve_role_ids))}") + print() + + if execute and not dry_run: + if not confirm_database: + raise SystemExit( + "执行写库必须传 --confirm-database <库名>," + f"当前检测到库名为「{db_name}」。" + ) + if confirm_database != db_name: + raise SystemExit( + f"--confirm-database={confirm_database!r} 与当前连接库名 " + f"{db_name!r} 不一致,已中止。" + ) + + db = SessionLocal() + now = datetime.now() + try: + roles = load_roles(db, tenant_no) + user_role_count = ( + db.query(SysUserRole) + .filter(SysUserRole.tenant_no == tenant_no, SysUserRole.del_flag == 0) + .count() + ) + print(f"当前有效角色数 : {len(roles)}") + print(f"当前用户-角色绑定数: {user_role_count}") + print() + + print("步骤1:清空职位相关表(软删除)…") + cleared = soft_clear_posts(db, tenant_no, now, dry_run=dry_run or not execute) + for k, v in cleared.items(): + print(f" {k}: {v}") + + print("步骤2:按角色创建职位并绑定角色…") + role_to_post = create_posts_for_roles( + db, + roles, + tenant_no, + operator_id, + now, + dry_run=dry_run or not execute, + ) + + print("步骤3:按用户-角色生成用户-职位…") + written, skipped = migrate_user_posts( + db, + tenant_no, + role_to_post, + operator_id, + now, + dry_run=dry_run or not execute, + ) + print(f" 将写入用户-职位: {written},跳过: {skipped}") + + print("步骤4:清理用户-角色直接绑定(软删除)…") + cleared_ur, preserved_ur = clear_user_roles( + db, + tenant_no, + preserve_role_ids, + now, + dry_run=dry_run or not execute, + ) + print(f" 将清理用户-角色: {cleared_ur},保留: {preserved_ur}") + + if dry_run or not execute: + db.rollback() + print() + print("DRY-RUN 完成,未写入数据库。确认无误后执行:") + print( + f" ENV_FILE=... python scripts/migrate_user_role_to_post.py " + f"--execute --confirm-database {db_name}" + ) + else: + db.commit() + print() + print("迁移已提交。") + print( + "请在测试环境登录验证:菜单权限、数据权限、职位管理、用户查看中的有效角色。" + ) + except Exception: + db.rollback() + raise + finally: + db.close() + + +def main() -> None: + parser = argparse.ArgumentParser( + description="将用户-角色迁移为用户-职位(测试库专用)" + ) + parser.add_argument("--tenant-no", default="zkxw", help="租户编号,默认 zkxw") + parser.add_argument( + "--dry-run", + action="store_true", + help="仅预览(默认若不带 --execute 也等同预览)", + ) + parser.add_argument( + "--execute", + action="store_true", + help="真正写库(必须同时传 --confirm-database)", + ) + parser.add_argument( + "--confirm-database", + default=None, + help="当前连接的数据库名(与 DATABASE_URL 路径段一致)", + ) + parser.add_argument( + "--operator-id", + default=None, + help="create_by / update_by,可选", + ) + parser.add_argument( + "--preserve-role-ids", + default="", + help="清理 sys_user_role 时保留的角色 ID,逗号分隔", + ) + args = parser.parse_args() + + preserve = set(DEFAULT_PRESERVE_ROLE_IDS) + for part in (args.preserve_role_ids or "").split(","): + pid = part.strip() + if pid: + preserve.add(pid) + + # 未显式 --execute 时一律 dry-run + dry_run = bool(args.dry_run) or not bool(args.execute) + run( + tenant_no=args.tenant_no, + dry_run=dry_run, + execute=bool(args.execute), + confirm_database=args.confirm_database, + operator_id=args.operator_id, + preserve_role_ids=preserve, + ) + + +if __name__ == "__main__": + main() diff --git a/backend/tests/test_effective_role_user_lookup.py b/backend/tests/test_effective_role_user_lookup.py new file mode 100644 index 00000000..077ec7ea --- /dev/null +++ b/backend/tests/test_effective_role_user_lookup.py @@ -0,0 +1,31 @@ +"""按有效角色查用户:空入参行为(不依赖 DB)。""" +from app.services.web_auth_roles import ( + list_user_ids_with_any_effective_role_ids, + list_user_ids_with_effective_role_name, +) + + +class _DummySession: + def query(self, *args, **kwargs): # pragma: no cover + raise AssertionError("空入参不应访问数据库") + + +def test_list_by_role_name_empty_inputs(): + db = _DummySession() + assert list_user_ids_with_effective_role_name(db, tenant_no="", role_name="实验专员") == set() + assert list_user_ids_with_effective_role_name(db, tenant_no="zkxw", role_name="") == set() + assert list_user_ids_with_effective_role_name( + db, tenant_no="zkxw", role_name="实验专员", candidate_user_ids=[] + ) == set() + + +def test_list_by_role_ids_empty_inputs(): + db = _DummySession() + assert list_user_ids_with_any_effective_role_ids(db, tenant_no="zkxw", role_ids=[]) == [] + assert list_user_ids_with_any_effective_role_ids(db, tenant_no="", role_ids=["r1"]) == [] + assert ( + list_user_ids_with_any_effective_role_ids( + db, tenant_no="zkxw", role_ids=["r1"], candidate_user_ids=[] + ) + == [] + ) diff --git a/backend/tests/test_oa_instance_draft.py b/backend/tests/test_oa_instance_draft.py new file mode 100644 index 00000000..885b9904 --- /dev/null +++ b/backend/tests/test_oa_instance_draft.py @@ -0,0 +1,54 @@ +"""OA 发起审批草稿序列化与访问错误""" +import unittest +from datetime import datetime +from types import SimpleNamespace + +from app.crud.oa_instance_draft import DraftAccessError, row_to_dict + + +class TestOaInstanceDraftRowToDict(unittest.TestCase): + def _row(self, **kwargs): + base = dict( + id="d1", + app_id="a1", + app_version_id="v1", + title="请假", + form_data_json='{"days":1}', + initiator_select_json='{"n1":["u1"]}', + initiator_dept_id="dept1", + owner_user_id="u-owner", + create_time=datetime(2026, 8, 6, 10, 0, 0), + update_time=datetime(2026, 8, 6, 11, 0, 0), + ) + base.update(kwargs) + return SimpleNamespace(**base) + + def test_list_shape_without_payload(self): + d = row_to_dict( + self._row(), + app_name="请假申请", + version_no=3, + group_id="g1", + group_name="人事", + ) + self.assertEqual(d["id"], "d1") + self.assertEqual(d["appId"], "a1") + self.assertEqual(d["appName"], "请假申请") + self.assertEqual(d["versionNo"], 3) + self.assertEqual(d["status"], "draft") + self.assertEqual(d["updateTime"], "2026-08-06 11:00:00") + self.assertNotIn("formData", d) + + def test_detail_includes_payload(self): + d = row_to_dict(self._row(), include_payload=True) + self.assertEqual(d["formData"], {"days": 1}) + self.assertEqual(d["initiatorSelectByNode"], {"n1": ["u1"]}) + self.assertEqual(d["initiatorDeptId"], "dept1") + + def test_access_error_message(self): + err = DraftAccessError("草稿不存在或无权访问") + self.assertEqual(str(err), "草稿不存在或无权访问") + + +if __name__ == "__main__": + unittest.main() diff --git a/backend/tests/test_oa_menu_badge_counts.py b/backend/tests/test_oa_menu_badge_counts.py new file mode 100644 index 00000000..7bda2d8f --- /dev/null +++ b/backend/tests/test_oa_menu_badge_counts.py @@ -0,0 +1,38 @@ +"""OA 菜单角标:待办数 / 草稿数""" +import unittest +from unittest.mock import MagicMock, patch + +from app.crud import oa_instance_draft as oid_crud +from app.services import oa_engine as eng + + +class TestCountPendingTasks(unittest.TestCase): + def test_filters_approval_pending_for_user(self): + db = MagicMock() + q = db.query.return_value + filtered = q.filter.return_value + filtered.count.return_value = 3 + + n = eng.count_pending_tasks(db, tenant_no="t1", user_id="u1") + self.assertEqual(n, 3) + db.query.assert_called_once() + q.filter.assert_called_once() + filtered.count.assert_called_once() + + +class TestCountDrafts(unittest.TestCase): + def test_filters_owner_and_tenant(self): + db = MagicMock() + q = db.query.return_value + filtered = q.filter.return_value + filtered.count.return_value = 5 + + n = oid_crud.count_drafts(db, tenant_no="t1", owner_user_id="u1") + self.assertEqual(n, 5) + db.query.assert_called_once() + q.filter.assert_called_once() + filtered.count.assert_called_once() + + +if __name__ == "__main__": + unittest.main() diff --git a/backend/tests/test_role_list_bound_names.py b/backend/tests/test_role_list_bound_names.py new file mode 100644 index 00000000..5007f62b --- /dev/null +++ b/backend/tests/test_role_list_bound_names.py @@ -0,0 +1,35 @@ +"""角色列表 boundUserNames / boundPostNames enrichment。""" +import inspect + +from app.crud import role as role_crud + + +class _DummySession: + def query(self, *args, **kwargs): # pragma: no cover + raise AssertionError("空入参不应访问数据库") + + +def test_bound_user_names_by_role_ids_empty(): + db = _DummySession() + assert role_crud._bound_user_names_by_role_ids(db, [], "zkxw") == {} + assert role_crud._bound_user_names_by_role_ids(db, ["r1"], "") == {} + + +def test_bound_post_names_by_role_ids_empty(): + db = _DummySession() + assert role_crud._bound_post_names_by_role_ids(db, [], "zkxw") == {} + assert role_crud._bound_post_names_by_role_ids(db, ["r1"], "") == {} + + +def test_user_display_name_prefers_nick(): + assert role_crud._user_display_name("张三", "zhangsan") == "张三" + assert role_crud._user_display_name("", "zhangsan") == "zhangsan" + assert role_crud._user_display_name(" ", "u1") == "u1" + assert role_crud._user_display_name(None, None) == "" + + +def test_list_roles_enriches_bound_names(): + source = inspect.getsource(role_crud.list_roles) + assert "_bound_user_names_by_role_ids" in source + assert "_bound_post_names_by_role_ids" in source + assert "boundUserNames" in inspect.getsource(role_crud._row_to_dict) or "bound_user_names" in source diff --git a/docs/demos/oa-approval-draft-box-demo.html b/docs/demos/oa-approval-draft-box-demo.html new file mode 100644 index 00000000..bfc6d5c1 --- /dev/null +++ b/docs/demos/oa-approval-draft-box-demo.html @@ -0,0 +1,709 @@ + + + + + + OA 草稿箱 · Demo + + + + +
+

OA 审批 · 草稿箱 Demo

+

对照 Fresh Mint:侧栏新增「草稿箱」、发起弹窗增加「暂存草稿」、草稿可再编辑 / 保存 / 提交。

+
+ +
+ + + + +
+ + +
+
+ +
+
+

草稿箱

+
+
仅展示当前登录人自己暂存的审批草稿
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
序号流程名称最近保存状态操作
1请假申请2026-08-06 10:12草稿 +
+ + + +
+
2费用报销2026-08-05 18:40草稿 +
+ + + +
+
+
+
+
+
+ + +
+
+
+
请假申请
+
+

相对现状:底栏由「取消 / 提交」变为「取消 / 暂存草稿 / 提交」。

+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
审批流预览
+
+ 发起人 · 张三 + → + 直属主管 · 李四 + → + 人事确认 + → + 结束 +
+
+
+
+ + + +
+
+
+
+ + +
+
+ +
+
+

草稿箱

+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
已选 0 项
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
序号流程名称模板版本最近保存状态操作
1请假申请v32026-08-06 10:12草稿 +
+ + + +
+
2加班申请v12026-08-04 09:22草稿 +
+ + + +
+
3费用报销v22026-08-01 21:05草稿 +
+ + + +
+
+
共 3 条 · 每页 20 条 · 1 / 1
+
+
+
+
+ + +
+
+
+
编辑草稿 · 请假申请
+
+

从草稿箱点「编辑」打开同一套发起表单;可再次「暂存草稿」或「提交」发起正式审批。

+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ + + +
+
+
+
+ +
+ 请确认:菜单放在「发起审批」正下方、弹窗三按钮(取消 / 暂存草稿 / 提交)、草稿箱支持编辑·提交·删除 —— 是否符合你们期望? + 有偏好可点上方 Tab 对照后,在对话里告诉我要改哪里。 +
+ + + + diff --git a/docs/demos/oa-form-designer-outline-styles.html b/docs/demos/oa-form-designer-outline-styles.html new file mode 100644 index 00000000..03063afe --- /dev/null +++ b/docs/demos/oa-form-designer-outline-styles.html @@ -0,0 +1,684 @@ + + + + + + OA 表单设计器 · 画布描边方案对比 + + + +
+
+

表单设计画布 · 描边方案对比

+

+ 模拟「布局容器嵌套字段」场景。请在每个画布里点击选中、悬停感受差异。 + 选中整张卡片表示你倾向的方案(可多选对比后口头反馈)。 +

+
色值对齐本项目 Mint:#10b981(已替换 FormCreate 默认蓝 #2E73FF)
+
+ +
+ + +
+
+
A
+
+

现状:始终蓝色/绿色虚线

+

每个组件常驻 dashed outline,嵌套时多层叠加

+
+ 噪音大 + 层级一目了然 +
+
+
+
+
点击组件试试 · 悬停看 hover
+
+
+
+
栅格布局
+
+
+
+
申请人
+
请输入
+
+
⧉×
+
+
+
+
部门
+
请选择
+
+
⧉×
+
+
+
+
+×
+
+
+
+
请假事由
+
请输入
+
+
⧉×
+
+
+
+
+ + +
+
+
B
+
+

悬停显框

+

默认无描边;悬停出现浅色实线;选中为实线主色

+
+ 推荐候选 + 操作时才出现辅助线 +
+
+
+
+
默认干净 · 鼠标移上去才有框
+
+
+
+
栅格布局
+
+
+
+
申请人
+
请输入
+
+
⧉×
+
+
+
+
部门
+
请选择
+
+
⧉×
+
+
+
+
+×
+
+
+
+
请假事由
+
请输入
+
+
⧉×
+
+
+
+
+ + +
+
+
C
+
+

仅选中显框

+

默认完全无框;悬停仅微弱底色;只有选中才有实线

+
+ 最干净 + 嵌套边界稍难辨认 +
+
+
+
+
几乎像真实表单 · 点一下才高亮
+
+
+
+
栅格布局
+
+
+
+
申请人
+
请输入
+
+
⧉×
+
+
+
+
部门
+
请选择
+
+
⧉×
+
+
+
+
+×
+
+
+
+
请假事由
+
请输入
+
+
⧉×
+
+
+
+
+ + +
+
+
D
+
+

淡化常驻虚线

+

保留常驻提示,但透明度大幅降低;选中再加重

+
+ 改动最小 + 多层仍在,只是变淡 +
+
+
+
+
虚线还在,但不再抢眼
+
+
+
+
栅格布局
+
+
+
+
申请人
+
请输入
+
+
⧉×
+
+
+
+
部门
+
请选择
+
+
⧉×
+
+
+
+
+×
+
+
+
+
请假事由
+
请输入
+
+
⧉×
+
+
+
+
+ + +
+
+
E
+
+

混合:布局淡框 + 字段悬停

+

容器保留极淡虚线帮辨层级;普通字段默认无框

+
+ 推荐候选 + 兼顾布局与干净 +
+
+
+
+
只有「栅格」常驻淡框 · 字段悬停才出
+
+
+
+
栅格布局
+
+
+
+
申请人
+
请输入
+
+
⧉×
+
+
+
+
部门
+
请选择
+
+
⧉×
+
+
+
+
+×
+
+
+
+
请假事由
+
请输入
+
+
⧉×
+
+
+
+
+ + +
+
+
F
+
+

左侧指示条(无四周虚线)

+

用左边色条 + 选中内描边,彻底去掉虚线网格感

+
+ 视觉更现代 + 实现略多一点 +
+
+
+
+
无虚线框 · 左侧色条表示可编辑区域
+
+
+
+
栅格布局
+
+
+
+
申请人
+
请输入
+
+
⧉×
+
+
+
+
部门
+
请选择
+
+
⧉×
+
+
+
+
+×
+
+
+
+
请假事由
+
请输入
+
+
⧉×
+
+
+
+
+
+ +
+ 怎么选? + 想尽快落地、改动小 → 看 B / D;要保留布局层级感 → 看 E;想最接近真实表单 → 看 C;想换交互隐喻 → 看 F。 +
请点击卡片标题区域选择倾向方案…
+
+
+ + + + diff --git a/docs/sql/oa_instance_draft.sql b/docs/sql/oa_instance_draft.sql new file mode 100644 index 00000000..9c8022b2 --- /dev/null +++ b/docs/sql/oa_instance_draft.sql @@ -0,0 +1,84 @@ +-- OA 发起人填写草稿(非模板设计草稿) +CREATE TABLE IF NOT EXISTS `oa_instance_draft` ( + `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', + `app_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '应用ID', + `app_version_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '暂存时锁定的已发布版本ID', + `title` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '标题', + `form_data_json` mediumtext COLLATE utf8mb4_unicode_ci COMMENT '表单数据 JSON', + `initiator_select_json` text COLLATE utf8mb4_unicode_ci COMMENT '发起人自选 JSON', + `initiator_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '发起人部门', + `owner_user_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '草稿所属人', + `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_oid_owner` (`tenant_no`,`owner_user_id`,`del_flag`) USING BTREE, + KEY `idx_oid_app` (`tenant_no`,`app_id`,`del_flag`) USING BTREE, + KEY `idx_oid_update` (`tenant_no`,`owner_user_id`,`update_time`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='OA发起审批草稿'; + +-- 草稿箱位于「发起审批」与「待办中心」之间;仅首次插入时顺延 order_num +UPDATE `sys_menu` AS m +INNER JOIN ( + SELECT 1 AS ok + FROM DUAL + WHERE NOT EXISTS ( + SELECT 1 FROM `sys_menu` + WHERE `id` = 'OA000000000000000000000000000109' AND `del_flag` = 0 + ) +) AS guard ON 1 = 1 +SET m.`order_num` = m.`order_num` + 1 +WHERE m.`parent_id` = 'OA000000000000000000000000000001' + AND m.`del_flag` = 0 + AND m.`order_num` IS NOT NULL + AND m.`order_num` >= 4; + +INSERT INTO `sys_menu` ( + `id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, + `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, + `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag` +) SELECT + 'OA000000000000000000000000000109', '草稿箱', 'OA000000000000000000000000000001', + 'C', 'drafts', '/oa-approval/drafts/index', 'oa:drafts', + 1, '1', '1', 'zkxw', 4, 'OA发起审批草稿箱', + NULL, '', NOW(), NULL, NOW(), 0 +FROM DUAL +WHERE NOT EXISTS ( + SELECT 1 FROM `sys_menu` WHERE `id` = 'OA000000000000000000000000000109' AND `del_flag` = 0 +); + +-- 已拥有「发起审批」菜单的角色自动获得「草稿箱」(幂等) +-- 注意:MySQL 5.7 下 INSERT…SELECT 中 UUID() 可能整批相同,导致主键冲突;改用按行唯一的 MD5。 +INSERT INTO `sys_role_menu` ( + `id`, `role_id`, `menu_id`, `tenant_no`, `order_num`, `remark`, + `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag` +) +SELECT + MD5(CONCAT(rm.`role_id`, '#', 'OA000000000000000000000000000109')), + rm.`role_id`, + 'OA000000000000000000000000000109', + COALESCE(NULLIF(rm.`tenant_no`, ''), 'zkxw'), + 0, + 'auto from oa:start', + NULL, + '', + NOW(), + NULL, + NOW(), + 0 +FROM `sys_role_menu` rm +WHERE rm.`menu_id` = 'OA000000000000000000000000000103' + AND rm.`del_flag` = 0 + AND NOT EXISTS ( + SELECT 1 + FROM `sys_role_menu` x + WHERE x.`role_id` = rm.`role_id` + AND x.`menu_id` = 'OA000000000000000000000000000109' + AND x.`del_flag` = 0 + ); diff --git a/docs/sql/oa_receive_account.sql b/docs/sql/oa_receive_account.sql deleted file mode 100644 index e9039161..00000000 --- a/docs/sql/oa_receive_account.sql +++ /dev/null @@ -1,37 +0,0 @@ --- docs/sql/oa_receive_account.sql -CREATE TABLE IF NOT EXISTS `oa_receive_account` ( - `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', - `account_type` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'alipay/personal/corporate', - `account_name` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '户名', - `account_no` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '账号', - `bank_name` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '银行', - `bank_province` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '省', - `bank_city` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '市', - `bank_branch` varchar(256) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '支行', - `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `order_num` int(11) DEFAULT NULL COMMENT '排序号', - `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', - `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', - PRIMARY KEY (`id`) USING BTREE, - KEY `idx_ora_tenant` (`tenant_no`,`del_flag`) USING BTREE, - KEY `idx_ora_type` (`tenant_no`,`account_type`,`del_flag`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='OA收款账户'; - -INSERT INTO `sys_menu` ( - `id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, - `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, - `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag` -) SELECT - 'OA000000000000000000000000000108', '收款账户管理', 'OA000000000000000000000000000001', - 'C', 'receive-accounts', '/oa-approval/receive-accounts/index', 'oa:receive-accounts:list', - 1, '1', '1', 'zkxw', 10, 'OA收款账户主数据', - NULL, '', NOW(), NULL, NOW(), 0 -FROM DUAL -WHERE NOT EXISTS ( - SELECT 1 FROM `sys_menu` WHERE `id` = 'OA000000000000000000000000000108' AND `del_flag` = 0 -); diff --git a/docs/sql/sys_post_role.sql b/docs/sql/sys_post_role.sql deleted file mode 100644 index 6f33a142..00000000 --- a/docs/sql/sys_post_role.sql +++ /dev/null @@ -1,19 +0,0 @@ --- docs/sql/sys_post_role.sql --- 职位-角色关联:职位可绑定多个角色,用户经职位继承角色权限(与直接角色取并集) -CREATE TABLE IF NOT EXISTS `sys_post_role` ( - `id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', - `post_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '职位ID', - `role_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '角色ID', - `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', - `order_num` int(11) DEFAULT NULL COMMENT '排序号', - `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', - `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id', - `create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除', - PRIMARY KEY (`id`) USING BTREE, - KEY `idx_spr_post` (`tenant_no`,`post_id`,`del_flag`) USING BTREE, - KEY `idx_spr_role` (`tenant_no`,`role_id`,`del_flag`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='职位-角色关联'; diff --git a/docs/sql/sys_user_hire_probation.sql b/docs/sql/sys_user_hire_probation.sql deleted file mode 100644 index 746e0775..00000000 --- a/docs/sql/sys_user_hire_probation.sql +++ /dev/null @@ -1,5 +0,0 @@ --- docs/sql/sys_user_hire_probation.sql --- 用户表补齐入职日期、试用期月数(转正套件主数据) -ALTER TABLE `sys_user` - ADD COLUMN `hire_date` date DEFAULT NULL COMMENT '入职日期' AFTER `phone_no`, - ADD COLUMN `probation_months` int(11) DEFAULT NULL COMMENT '试用期月数' AFTER `hire_date`; diff --git a/docs/sql/sys_user_last_work_day.sql b/docs/sql/sys_user_last_work_day.sql deleted file mode 100644 index c58351e5..00000000 --- a/docs/sql/sys_user_last_work_day.sql +++ /dev/null @@ -1,4 +0,0 @@ --- docs/sql/sys_user_last_work_day.sql --- 用户表补齐最后工作日(离职套件主数据) -ALTER TABLE `sys_user` - ADD COLUMN `last_work_day` date DEFAULT NULL COMMENT '最后工作日' AFTER `probation_months`; diff --git a/docs/superpowers/plans/2026-08-05-role-list-bound-users-posts.md b/docs/superpowers/plans/2026-08-05-role-list-bound-users-posts.md new file mode 100644 index 00000000..e7ed0cce --- /dev/null +++ b/docs/superpowers/plans/2026-08-05-role-list-bound-users-posts.md @@ -0,0 +1,32 @@ +# 角色列表有效用户与关联职位 Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** 角色列表支持名称快捷查看,并展示有效拥有用户与关联职位。 + +**Architecture:** 后端在 `list_roles` 批量 enrichment `boundUserNames` / `boundPostNames`;前端对齐职位列表的 link 与多值换行单元格。 + +**Tech Stack:** FastAPI/SQLAlchemy、Vue 3 + Element Plus + +--- + +### Task 1: 后端 enrichment + +**Files:** `backend/app/crud/role.py`, `backend/tests/test_role_list_bound_names.py` + +- [x] 实现 `_bound_user_names_by_role_ids`、`_bound_post_names_by_role_ids` +- [x] `list_roles` / `_row_to_dict` 输出新字段 +- [x] 空入参与 enrichment 调用的单测 + +### Task 2: 前端列表 + +**Files:** `web-admin/src/types/api.d.ts`, `web-admin/src/views/system/role/index.vue` + +- [x] `RoleItem` 增加字段 +- [x] 角色名称 link → `handleView` +- [x] 「拥有用户」「关联职位」两列 + +### Task 3: 验证与图谱 + +- [x] `pytest` 相关用例(4 passed) +- [ ] `./scripts/update-graph.sh backend`(graphify 因节点数变化拒绝覆盖,可后续 `force` 重跑) diff --git a/docs/superpowers/plans/2026-08-06-oa-approval-instance-draft.md b/docs/superpowers/plans/2026-08-06-oa-approval-instance-draft.md new file mode 100644 index 00000000..18f229f9 --- /dev/null +++ b/docs/superpowers/plans/2026-08-06-oa-approval-instance-draft.md @@ -0,0 +1,128 @@ +# OA 发起审批草稿箱 Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** 发起审批可暂存草稿,并新增「草稿箱」菜单支持再编辑、保存、提交与删除。 + +**Architecture:** 独立表 `oa_instance_draft` 存发起人填写草稿;提交时复用 `oa_engine.start_instance`,成功后软删草稿。前端在发起弹窗加「暂存草稿」,新建 `drafts/index.vue` 列表页。 + +**Tech Stack:** FastAPI + SQLAlchemy + MySQL;Vue 3 + Element Plus;Fresh Mint UI。 + +**Spec:** `docs/superpowers/specs/2026-08-06-oa-approval-instance-draft-design.md` +**UI Demo:** `docs/demos/oa-approval-draft-box-demo.html` + +--- + +## File map + +| 文件 | 职责 | +|------|------| +| `docs/sql/oa_instance_draft.sql` | 建表 + `sys_menu` 草稿箱 | +| `backend/app/models/models.py` | `OaInstanceDraft` | +| `backend/app/crud/oa_instance_draft.py` | 草稿 CRUD | +| `backend/app/api/oa_approval.py` | drafts 路由 | +| `backend/tests/test_oa_instance_draft.py` | 权限/序列化/提交后软删等单测 | +| `web-admin/src/api/oaApproval.ts` | drafts API | +| `web-admin/src/router/modules/sqxp.ts` | 路由「草稿箱」 | +| `web-admin/src/views/oa-approval/drafts/index.vue` | 草稿箱页 | +| `web-admin/src/views/oa-approval/start/index.vue` | 暂存按钮 + draftId 回填 | +| `待同步到生产的sql脚本` | 追加本 SQL 引用说明(若团队习惯) | + +--- + +### Task 1: SQL 建表与菜单 + +**Files:** +- Create: `docs/sql/oa_instance_draft.sql` + +- [x] **Step 1: 编写 SQL** +- [x] **Step 2: 本地执行 SQL(若有 DB)** — 脚本已写入 `docs/sql/oa_instance_draft.sql`,需在目标库手动执行 +- [x] **Step 3: Commit** — 待用户要求再提交 + +--- + +### Task 2: SQLAlchemy 模型 + +**Files:** +- Modify: `backend/app/models/models.py`(紧挨 `OaInstance` 之前或之后) + +- [ ] **Step 1: 增加 `OaInstanceDraft`** +- [ ] **Step 2: Commit** `feat(backend): add OaInstanceDraft model.` + +--- + +### Task 3: CRUD + API(TDD) + +**Files:** +- Create: `backend/app/crud/oa_instance_draft.py` +- Modify: `backend/app/api/oa_approval.py` +- Create: `backend/tests/test_oa_instance_draft.py` + +- [ ] **Step 1: 写失败/单元测试**(`_row_to_dict` 字段、owner 校验逻辑可用纯函数;提交后 `del_flag` 行为可用 mock Session) + +- [ ] **Step 2: 实现 CRUD** + - `list_drafts`, `get_draft`, `create_draft`, `update_draft`, `soft_delete`, `batch_soft_delete` + - list join `OaApp` 取 `appName`、version_no;仅 `owner_user_id` + +- [ ] **Step 3: 挂路由** + - GET/POST `/drafts` + - GET/PUT/DELETE `/drafts/{id}` + - POST `/drafts/batch-delete` + - POST `/drafts/{id}/submit` → `start_instance` + soft delete + +- [ ] **Step 4: pytest 通过** +- [ ] **Step 5: Commit** `feat(backend): OA instance draft CRUD and submit API.` + +--- + +### Task 4: 前端 API + 路由 + +**Files:** +- Modify: `web-admin/src/api/oaApproval.ts` +- Modify: `web-admin/src/router/modules/sqxp.ts`(发起审批与待办之间插入 drafts) +- Modify: `web-admin/src/types/api.d.ts`(若有 OA 类型需补) + +- [ ] **Step 1: API 封装** +- [ ] **Step 2: 路由 meta.title=`草稿箱`, menuCode=`oa:drafts`** +- [ ] **Step 3: Commit** + +--- + +### Task 5: 草稿箱页面 + +**Files:** +- Create: `web-admin/src/views/oa-approval/drafts/index.vue` + +- [ ] **Step 1: 按 Demo +「我发起的」模式做列表**(筛选、表格、分页、操作列 min-width≥260、状态 Tag) +- [ ] **Step 2: 编辑打开弹窗(可内嵌复用 start 逻辑或跳转 `start?draftId=`)——**采用 `start?draftId=`** 减少重复 +- [ ] **Step 3: 提交/删除/批量删除接线** +- [ ] **Step 4: Commit** + +--- + +### Task 6: 发起页暂存与回填 + +**Files:** +- Modify: `web-admin/src/views/oa-approval/start/index.vue` + +- [ ] **Step 1: footer 增加「暂存草稿」**(取消 / 暂存 / 提交;主色仅提交) +- [ ] **Step 2: `route.query.draftId` 加载详情并回填;保存走 PUT** +- [ ] **Step 3: 暂存成功提示并关弹窗** +- [ ] **Step 4: Commit** + +--- + +### Task 7: 收尾 + +- [ ] **Step 1:** `./scripts/update-graph.sh all`(或 backend+frontend) +- [ ] **Step 2:** 自测清单对照 spec「测试要点」 +- [ ] **Step 3:** 确认 `App.vue` panelTitleBarTextRules 含「草稿箱」(若需要竖条) + +--- + +## 验收 + +1. 发起弹窗可暂存,草稿箱可见。 +2. 编辑回填 → 再保存 → 提交后出现在「我发起的」,草稿消失。 +3. 他人账号看不到该草稿。 +4. 暂存不产生待办任务。 diff --git a/docs/superpowers/plans/2026-08-06-oa-drafts-pending-menu-badge.md b/docs/superpowers/plans/2026-08-06-oa-drafts-pending-menu-badge.md new file mode 100644 index 00000000..f10f0bd3 --- /dev/null +++ b/docs/superpowers/plans/2026-08-06-oa-drafts-pending-menu-badge.md @@ -0,0 +1,41 @@ +# OA 草稿箱/待办菜单角标 Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** 侧栏「草稿箱」「待办中心」展示数量角标,对齐「抄送我的」。 + +**Architecture:** 后端增加轻量 count 接口;前端扩展 `oa-menu-badge` store 与 `refreshOaMenuBadges`,在相关页操作后刷新。 + +**Tech Stack:** FastAPI / SQLAlchemy / Vue 3 / Pinia + +**Spec:** `docs/superpowers/specs/2026-08-06-oa-drafts-pending-menu-badge-design.md` + +--- + +### Task 1: Backend count helpers + API + +**Files:** +- Modify: `backend/app/services/oa_engine.py`(`count_pending_tasks`) +- Modify: `backend/app/crud/oa_instance_draft.py`(`count_drafts`) +- Modify: `backend/app/api/oa_approval.py` +- Test: `backend/tests/test_oa_menu_badge_counts.py` + +- [x] Step 1: 写失败单测(mock query.count) +- [x] Step 2: 实现 `count_pending_tasks` / `count_drafts` + 路由 +- [x] Step 3: 跑通 pytest + +### Task 2: Frontend badge wiring + +**Files:** +- Modify: `web-admin/src/store/modules/oa-menu-badge.ts` +- Modify: `web-admin/src/utils/oa-menu-badge.ts` +- Modify: `web-admin/src/api/oaApproval.ts` +- Modify: `web-admin/src/views/oa-approval/drafts/index.vue` +- Modify: `web-admin/src/views/oa-approval/pending/index.vue` +- Modify: `web-admin/src/views/oa-approval/start/index.vue` +- Modify: `web-admin/src/views/oa-approval/instances/detail.vue` +- Modify: `web-admin/src/store/modules/user.ts` + +- [x] Step 1: API + store codes + refresh 并行拉取 +- [x] Step 2: 页面操作后 refresh;logout clear +- [x] Step 3: 更新 graphify(frontend + backend;HTML viz 过大时跳过) diff --git a/docs/superpowers/plans/2026-08-06-oa-form-designer-outline-style-e.md b/docs/superpowers/plans/2026-08-06-oa-form-designer-outline-style-e.md new file mode 100644 index 00000000..ee4a3b44 --- /dev/null +++ b/docs/superpowers/plans/2026-08-06-oa-form-designer-outline-style-e.md @@ -0,0 +1,21 @@ +# OA Form Designer Outline Style E Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Reduce canvas outline noise in OA form designer using hybrid style E (soft dashed for containers, hover/active for leaves). + +**Architecture:** CSS-only overrides in `oa-fc-host/App.vue` targeting FormCreate `_fd-drag-tool`. Containers detected via `:has(._fd-drag-tool)`. + +**Tech Stack:** Vue 3, `@form-create/designer`, SCSS/CSS in iframe host. + +--- + +### Task 1: Add hybrid outline CSS + +**Files:** +- Modify: `web-admin/src/oa-fc-host/App.vue` + +- [x] Add leaf default transparent outline + hover solid soft mint + active solid mint +- [x] Add container `:has(._fd-drag-tool)` soft dashed default +- [x] Override hardcoded `#2E73FF` on `.active` outline and `._fd-drag-btn` to mint +- [ ] Manual verify in `/#/system-manage/oa-approval/designer/:id` → 表单设计 tab diff --git a/docs/superpowers/plans/2026-08-06-test-env-bare-metal-deploy.md b/docs/superpowers/plans/2026-08-06-test-env-bare-metal-deploy.md new file mode 100644 index 00000000..88d5e9ba --- /dev/null +++ b/docs/superpowers/plans/2026-08-06-test-env-bare-metal-deploy.md @@ -0,0 +1,453 @@ +# 测试环境裸机部署 Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** 在 `101.35.245.122` 的 `/root/zkxw` 以裸机方式部署 web-admin(Nginx :10001)与 backend(127.0.0.1:10002),中间件复用本机开发环境的 `47.99.164.66`。 + +**Architecture:** 本机 `pnpm build:test` + rsync 前端静态资源;本机 rsync backend 源码;测试机安装 Nginx、用已有 Python 3.12.3 建 `.venv`、`start-test.sh` 绑定本机回环。Nginx 反代 `/api` 与 `/health`,不反代 MinIO。 + +**Tech Stack:** Nginx、Python 3.12.3 + venv + uvicorn、`backend/start-test.sh`、Vue 3 web-admin(`pnpm build:test`)、rsync/ssh + +**Spec:** `docs/superpowers/specs/2026-08-06-test-env-bare-metal-deploy-design.md` + +--- + +## File Structure + +| 路径 | 职责 | +|------|------| +| `测试环境部署/zkxw-test-10001.conf` | 新建:测试机 Nginx server 块(10001) | +| `测试环境部署/README.md` | 改写:新拓扑、端口、安装与发版步骤 | +| `web-admin/.env.test` | 仅更新注释中的访问入口 IP/端口 | +| `docs/superpowers/specs/2026-08-06-test-env-bare-metal-deploy-design.md` | 已存在,实现时勿改需求;若步骤偏差仅改计划 | +| 服务器 `/root/zkxw/**` | 运行时产物与 `.env.test`(不进 git) | +| `测试环境机器的账号密码` | 仅本机 SSH 用,**禁止** commit / 写入计划正文 | + +不新建 Docker compose;不在服务器装 Node。 + +--- + +### Task 1: 仓库内新增 Nginx site 片段 + +**Files:** +- Create: `测试环境部署/zkxw-test-10001.conf` + +- [ ] **Step 1: 创建完整 Nginx 配置文件** + +写入以下内容(无 MinIO 反代;API/health 指向本机 10002): + +```nginx +# ZKXW 测试环境(裸机)— 部署到 101.35.245.122 +# 用法(按发行版二选一): +# Ubuntu/Debian: 复制到 /etc/nginx/sites-available/zkxw-test-10001.conf +# ln -sf ... /etc/nginx/sites-enabled/ +# RHEL/CentOS: 复制到 /etc/nginx/conf.d/zkxw-test-10001.conf +# nginx -t && systemctl reload nginx + +server { + listen 10001; + listen [::]:10001; + server_name 101.35.245.122 localhost 127.0.0.1; + + root /root/zkxw/web-admin/dist; + index index.html; + + client_max_body_size 100M; + + access_log /var/log/nginx/zkxw_admin_10001_access.log; + error_log /var/log/nginx/zkxw_admin_10001_error.log; + + location = /health { + proxy_pass http://127.0.0.1:10002/health; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_connect_timeout 10s; + proxy_read_timeout 30s; + } + + location ^~ /docs { + proxy_pass http://127.0.0.1:10002; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + location = /openapi.json { + proxy_pass http://127.0.0.1:10002/openapi.json; + proxy_http_version 1.1; + proxy_set_header Host $host; + } + + location ^~ /api/ { + proxy_pass http://127.0.0.1:10002; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_connect_timeout 10s; + proxy_send_timeout 120s; + proxy_read_timeout 120s; + } + + location / { + try_files $uri $uri/ /index.html; + } +} +``` + +- [ ] **Step 2: 本地核对关键指令** + +Run: + +```bash +grep -E 'listen|proxy_pass|root |minio' 测试环境部署/zkxw-test-10001.conf +``` + +Expected: `listen 10001`;`root /root/zkxw/web-admin/dist`;`proxy_pass` 均为 `127.0.0.1:10002`;**无** `minio` 行。 + +- [ ] **Step 3: Commit(仅当用户要求提交时执行;否则跳过)** + +```bash +git add 测试环境部署/zkxw-test-10001.conf +git commit -m "$(cat <<'EOF' +docs: add nginx site for test env on port 10001 + +EOF +)" +``` + +--- + +### Task 2: 更新测试部署 README 与前端 env 注释 + +**Files:** +- Modify: `测试环境部署/README.md`(全文按新拓扑重写核心章节;可保留文末修订记录并追加一行) +- Modify: `web-admin/.env.test`(仅注释) + +- [ ] **Step 1: 重写 `测试环境部署/README.md` 关键** + +用下列结构覆盖/重写文档(保留必要历史可放「修订记录」)。**正文不要写入任何数据库密码或机器 root 密码。** + +必须包含: + +1. 拓扑表: + +| 角色 | 地址 | +|------|------| +| 入口 | `http://101.35.245.122:10001` | +| Nginx 静态 | `/root/zkxw/web-admin/dist` | +| 后端 | `127.0.0.1:10002`(仅本机) | +| 中间件 | 与本机 `backend/.env` 相同(`47.99.164.66`) | +| MinIO 浏览器 | `http://47.99.164.66:20004/zkxw`(直连,Nginx 不反代) | + +2. 机装:Python **已有 3.12.3**;**需安装 Nginx**;探测 `apt`/`yum`/`dnf` 后安装示例: + +```bash +# Debian/Ubuntu +sudo apt-get update && sudo apt-get install -y nginx + +# RHEL/CentOS/Alma(示例) +sudo yum install -y nginx # 或 dnf install -y nginx +sudo systemctl enable --now nginx +``` + +3. 目录、`.env.test` 来源(从本机 `backend/.env` 复制为服务器 `.env.test`)、启动: + +```bash +cd /root/zkxw/backend +python3.12 -m venv .venv +./.venv/bin/pip install -U pip +./.venv/bin/pip install -r requirements.txt +HOST=127.0.0.1 PORT=10002 ./start-test.sh start +``` + +4. Nginx 启用 `zkxw-test-10001.conf` 的命令。 + +5. 日常发版 rsync 命令(与 spec §6.2 一致)。 + +6. 验收 curl(与 spec §7 一致)。 + +7. 说明:旧 8112 / 双机拓扑已废弃,以本文件为准。 + +- [ ] **Step 2: 更新 `web-admin/.env.test` 注释** + +将文件头注释改为类似: + +```env +# Web Admin 测试环境(打包:pnpm build:test) +# 访问入口:http://101.35.245.122:10001 +# Nginx 将 /api 反代至本机 127.0.0.1:10002 +# MinIO:浏览器直连 http://47.99.164.66:20004/zkxw(不经测试机 Nginx) +``` + +保持现有 `VITE_*` 变量值不变(`VITE_API_URL=/api`、`VITE_MINIO_BASE_URL=http://47.99.164.66:20004/zkxw` 等)。 + +- [ ] **Step 3: Commit(仅当用户要求时)** + +```bash +git add 测试环境部署/README.md web-admin/.env.test +git commit -m "$(cat <<'EOF' +docs: document bare-metal test deploy on 10001/10002 + +EOF +)" +``` + +--- + +### Task 3: SSH 探测服务器并安装 Nginx + +**Files:** 无仓库文件;操作目标 `101.35.245.122` + +前置:本机可 SSH 登录(密钥或密码)。**不要**把密码写进仓库或命令历史脚本文件。 + +- [ ] **Step 1: 探测 OS、Python、端口占用** + +```bash +ssh root@101.35.245.122 'set -e +uname -a +cat /etc/os-release | head -20 +python3.12 --version || python3 --version +which nginx || true +ss -lntp | grep -E "10001|10002" || true +mkdir -p /root/zkxw/web-admin/dist /root/zkxw/backend /root/zkxw/nginx +' +``` + +Expected: Python 显示 3.12.x;nginx 可能不存在;目录创建成功。 + +- [ ] **Step 2: 按发行版安装 Nginx 并开机自启** + +若 `ID` 为 ubuntu/debian: + +```bash +ssh root@101.35.245.122 'export DEBIAN_FRONTEND=noninteractive +apt-get update +apt-get install -y nginx +systemctl enable nginx +systemctl start nginx +nginx -v +' +``` + +若为 rhel/centos/almalinux/rocky: + +```bash +ssh root@101.35.245.122 'yum install -y nginx || dnf install -y nginx +systemctl enable nginx +systemctl start nginx +nginx -v +' +``` + +Expected: `nginx version: nginx/...` + +- [ ] **Step 3: 上传并启用 site** + +```bash +scp 测试环境部署/zkxw-test-10001.conf root@101.35.245.122:/root/zkxw/nginx/zkxw-test-10001.conf +``` + +然后在服务器上(按 Step 1 探测结果选一条路径): + +Debian/Ubuntu: + +```bash +ssh root@101.35.245.122 ' +cp /root/zkxw/nginx/zkxw-test-10001.conf /etc/nginx/sites-available/zkxw-test-10001.conf +ln -sfn /etc/nginx/sites-available/zkxw-test-10001.conf /etc/nginx/sites-enabled/zkxw-test-10001.conf +# 若 default 占口冲突可保留;本 site 仅 10001 +nginx -t && systemctl reload nginx +' +``` + +RHEL 系: + +```bash +ssh root@101.35.245.122 ' +cp /root/zkxw/nginx/zkxw-test-10001.conf /etc/nginx/conf.d/zkxw-test-10001.conf +nginx -t && systemctl reload nginx +' +``` + +Expected: `nginx: configuration file ... test is successful` + +- [ ] **Step 4: 提醒安全组** + +确认云控制台入站已放行 **TCP 10001**(本步无法在代码中完成;执行者勾选确认)。 + +--- + +### Task 4: 部署 backend 并启动 + +**Files:** 服务器 `/root/zkxw/backend`;本机源 `backend/` + +- [ ] **Step 1: rsync 源码** + +在仓库根目录执行: + +```bash +rsync -avz \ + --exclude '.venv' \ + --exclude 'venv' \ + --exclude '__pycache__' \ + --exclude '*.pyc' \ + --exclude 'logs' \ + --exclude 'graphify-out' \ + --exclude '.env' \ + --exclude '.env.*' \ + backend/ root@101.35.245.122:/root/zkxw/backend/ +``` + +Expected: `start-test.sh`、`requirements.txt`、`app/` 出现在远端。 + +- [ ] **Step 2: 生成并上传 `.env.test`(不进 git)** + +本机: + +```bash +cp backend/.env /tmp/zkxw-env.test +# 确认中间件段与开发一致;勿把 /tmp/zkxw-env.test 加入 git +scp /tmp/zkxw-env.test root@101.35.245.122:/root/zkxw/backend/.env.test +rm -f /tmp/zkxw-env.test +``` + +- [ ] **Step 3: 建 venv 并装依赖** + +```bash +ssh root@101.35.245.122 ' +set -e +cd /root/zkxw/backend +python3.12 -m venv .venv +./.venv/bin/pip install -U pip +./.venv/bin/pip install -r requirements.txt +./.venv/bin/python -c "import uvicorn; print(uvicorn.__version__)" +chmod +x start-test.sh +' +``` + +Expected: 打印 uvicorn 版本;无 pip 失败。 + +- [ ] **Step 4: 探测中间件连通性(从测试机)** + +```bash +ssh root@101.35.245.122 ' +set -e +timeout 5 bash -c "echo >/dev/tcp/47.99.164.66/3306" && echo mysql_ok +timeout 5 bash -c "echo >/dev/tcp/47.99.164.66/16379" && echo redis_ok +timeout 5 bash -c "echo >/dev/tcp/47.99.164.66/20004" && echo minio_ok +' +``` + +Expected: 三行 `*_ok`。若失败:先修安全组/防火墙,**不要**继续启动(否则后端会连库失败)。 + +- [ ] **Step 5: 启动后端** + +```bash +ssh root@101.35.245.122 ' +cd /root/zkxw/backend +HOST=127.0.0.1 PORT=10002 ./start-test.sh start +HOST=127.0.0.1 PORT=10002 ./start-test.sh status +curl -s http://127.0.0.1:10002/health +' +``` + +Expected: status 为 RUNNING;health 返回 JSON/成功体(非连接拒绝)。 + +--- + +### Task 5: 本机打包前端并 rsync + +**Files:** +- Build: `web-admin/dist/` +- Remote: `/root/zkxw/web-admin/dist/` + +- [ ] **Step 1: 打包** + +```bash +cd web-admin +pnpm install +pnpm build:test +ls dist/index.html +``` + +Expected: `dist/index.html` 存在。 + +- [ ] **Step 2: 上传** + +```bash +rsync -avz --delete web-admin/dist/ root@101.35.245.122:/root/zkxw/web-admin/dist/ +``` + +(在仓库根执行时路径如上;若已在 `web-admin` 目录则用 `dist/`。) + +Expected: rsync 完成无 error。 + +--- + +### Task 6: 端到端验收 + +- [ ] **Step 1: 本机/外网验收命令** + +```bash +curl -s -o /dev/null -w '%{http_code}\n' http://101.35.245.122:10001/ +curl -s http://101.35.245.122:10001/health +curl -s -o /dev/null -w '%{http_code}\n' --connect-timeout 5 http://101.35.245.122:10002/health || echo '10002_closed_ok' +``` + +Expected: + +- 第一行:`200` +- 第二行:健康检查成功响应 +- 第三行:失败或超时,并打印 `10002_closed_ok`(证明未对公网开放) + +- [ ] **Step 2: API 冒烟** + +```bash +curl -s -o /dev/null -w '%{http_code}\n' \ + http://101.35.245.122:10001/api/web/auth/login-rsa-public-key +``` + +Expected: `200`(或业务约定的成功码;非 502/504)。 + +- [ ] **Step 3: 浏览器手工** + +打开 `http://101.35.245.122:10001/`,确认页面加载;用测试账号登录(默认文档账号以环境实际为准,常见 `admin`)。附件若打不开,检查浏览器到 `47.99.164.66:20004` 是否可达。 + +- [ ] **Step 4: 更新设计/README 修订记录(可选)** + +在 `测试环境部署/README.md` 修订记录追加:`2026-08-06 | 裸机部署 10001/10002 于 101.35.245.122`。 + +- [ ] **Step 5: Commit 仓库文档变更(仅当用户要求)** + +将 Task 1–2 产生的仓库文件与本计划、spec 一并提交(**排除** `测试环境机器的账号密码`、任何 `.env.test`)。 + +--- + +## Spec coverage (self-review) + +| Spec 要求 | Task | +|-----------|------| +| 无 Docker 应用部署 | Task 3–5(裸机) | +| Nginx 10001 + 静态 + /api + /health | Task 1, 3 | +| 后端 127.0.0.1:10002 | Task 4 | +| 中间件照搬本机 .env | Task 4 Step 2 | +| MinIO 直连不反代 | Task 1(配置无 minio)、验收说明 | +| 安装 Nginx;Python 用 3.12.3 | Task 3, 4 | +| 本机 build:test + rsync | Task 5 | +| 验收清单 | Task 6 | +| 更新 README / env 注释 / nginx 片段 | Task 1–2 | +| 不提交密钥 | 全文约束 | + +Placeholder scan: 无 TBD;发行版分支在 Task 3 用探测后二选一,非占位。 + +--- + +## Execution notes for agents + +- SSH 失败时先修网络/密钥,勿把 root 密码写入 git。 +- `start-test.sh` 每次启停都带上 `HOST=127.0.0.1 PORT=10002`,避免回到默认 `0.0.0.0:8112`。 +- 依赖安装若因缺少 `python3.12-venv` 失败:Debian 上 `apt-get install -y python3.12-venv` 后再建 venv。 diff --git a/docs/superpowers/specs/2026-08-05-role-list-bound-users-posts-design.md b/docs/superpowers/specs/2026-08-05-role-list-bound-users-posts-design.md new file mode 100644 index 00000000..8c40f594 --- /dev/null +++ b/docs/superpowers/specs/2026-08-05-role-list-bound-users-posts-design.md @@ -0,0 +1,29 @@ +# 角色列表:有效用户与关联职位 + +**日期:** 2026-08-05 +**状态:** 已确认 + +## 目标 + +角色管理列表增强可读性:角色名称可点开查看;展示有效拥有该角色的用户,以及关联该角色的职位。 + +## 列表展示 + +| 列 | 行为 | +|----|------| +| 角色名称 | 主色 link,点击打开现有查看弹窗 | +| 拥有用户 | 有效拥有(直接绑定 ∪ 职位继承),`、` 分隔,多则换行;空为 `—` | +| 关联职位 | `sys_post_role` 关联且启用未删的职位名,同上 | + +## API enrichment + +`GET /web/admin/role-management` 每条角色附加: + +- `boundUserNames: string[]` — 有效用户显示名(`nick_name` 优先,否则 `user_no`),去重保序 +- `boundPostNames: string[]` — 关联启用职位名,去重保序 + +有效用户语义与 `get_effective_role_ids` 一致:角色启用;直接 `sys_user_role`;或经启用职位 `sys_post_role` + `sys_user_post`。用户 `del_flag=0`。租户隔离与列表一致。批量查询,禁止 N+1。 + +## 非目标 + +不改查看弹窗结构、角色增删改、菜单/数据权限配置 UI。 diff --git a/docs/superpowers/specs/2026-08-05-user-role-dual-track-read-model-design.md b/docs/superpowers/specs/2026-08-05-user-role-dual-track-read-model-design.md new file mode 100644 index 00000000..c3ad307b --- /dev/null +++ b/docs/superpowers/specs/2026-08-05-user-role-dual-track-read-model-design.md @@ -0,0 +1,41 @@ +# 用户角色双轨读模型(方案 B) + +**日期:** 2026-08-05 +**状态:** 已确认,按此实现 +**前置:** [2026-08-02-post-role-permission-design.md](./2026-08-02-post-role-permission-design.md) + +## 决策 + +| 项 | 结论 | +|----|------| +| 权限模型 | 长期双轨:直接绑定 ∪ 职位继承(运行时并集,已落地) | +| 用户管理写入 UI | **不提供**直接绑角色;日常仅配职位 | +| 直接绑定运维 | API / 脚本 / 库表,或专用授权模块(如质检金额查看) | +| 用户详情读模型 | 区分直接 / 职位继承 / 有效三层,便于审计 | + +## 字段约定(用户详情) + +| 字段 | 含义 | +|------|------| +| `roleIds` | 仅 `sys_user_role` 直接绑定(写路径 / 运维) | +| `postInheritedRoleIds` | 经启用职位继承的启用角色 ID | +| `effectiveRoleIds` | 有效角色 ID = 启用直接 ∪ 职位继承(与 `get_effective_role_ids` 一致) | +| `effectiveRoleNames` | 有效角色名称(去重保序) | +| `postIds` | 用户职位(不变) | + +## 写入规则 + +- 用户新增/编辑 UI **不提交** `roleIds`。 +- `update_user` 关联替换:**仅当请求体显式带 `roleIds` / `postIds` 时替换对应一侧**;只改职位不得清空直接角色。 +- 菜单权限、数据权限、登录门禁继续走有效角色并集;本变更不改运行时语义。 + +## 前端 + +- 查看弹窗:展示有效角色,并只读附「直接绑定」「职位继承」。 +- 新增/编辑:仅职位多选,无角色写入控件。 + +## 非目标 + +- 恢复用户页直接绑角色 UI +- 角色页反向关联职位 +- 专用授权模块(如 `qc_material_amount_auth`)改为职位继承 diff --git a/docs/superpowers/specs/2026-08-06-oa-approval-instance-draft-design.md b/docs/superpowers/specs/2026-08-06-oa-approval-instance-draft-design.md new file mode 100644 index 00000000..452417d6 --- /dev/null +++ b/docs/superpowers/specs/2026-08-06-oa-approval-instance-draft-design.md @@ -0,0 +1,123 @@ +# OA 发起审批草稿箱 Design + +| 项 | 内容 | +|----|------| +| 日期 | 2026-08-06 | +| 状态 | 已定稿(UI 以 `docs/demos/oa-approval-draft-box-demo.html` 为准) | +| 范围 | 发起审批「暂存草稿」+ 侧栏「草稿箱」列表(再编辑 / 保存 / 提交 / 删除) | + +## 背景 + +现状「发起审批」弹窗仅有「取消」「提交」,填到一半关闭即丢失。客户要求可暂存草稿,并在「发起审批」下方增加「草稿箱」菜单集中管理。 + +现有 `oa_app_version.status=draft` 仅为**模板设计草稿**,与本需求的**发起人填写草稿**无关,不得混用。 + +## 目标与非目标 + +**目标** + +- 发起弹窗可「暂存草稿」,不进入审批流、不产生待办。 +- 侧栏「草稿箱」列出当前用户草稿;支持编辑、再次保存、提交审批、删除与批量删除。 +- 草稿仅本人可见(租户内 + 发起人 = 当前用户)。 + +**非目标** + +- 不与「我发起的」实例混排;草稿不是 `oa_instance`。 +- 不做跨用户共享草稿、不做审批人代填。 +- 不做自动定时暂存(仅显式点击「暂存草稿 / 保存草稿」)。 +- 不改造小程序端(本期仅 web-admin)。 + +## 方案对比与结论 + +| 方案 | 做法 | 优点 | 缺点 | +|------|------|------|------| +| A(推荐) | 独立表 `oa_instance_draft` | 与引擎解耦;「我发起的」无需过滤 draft;语义清晰 | 多一张表与一套 CRUD | +| B | `oa_instance.status=draft` | 少表 | 引擎/列表/关联审批处处要排除;误发起风险高 | +| C | 仅浏览器 localStorage | 无后端 | 换设备丢失;无法做菜单级权限与审计 | + +**选定 A。** 提交时调用现有 `start_instance`,成功后软删对应草稿。 + +## 数据模型 + +表名:`oa_instance_draft` + +| 字段 | 说明 | +|------|------| +| `id` | VARCHAR(64) PK,UUID | +| `app_id` | 审批应用 ID | +| `app_version_id` | 暂存时锁定的已发布版本(提交时优先用最新已发布版,见下) | +| `title` | 可选标题(可由应用名或表单字段推导,可空) | +| `form_data_json` | 表单数据 JSON | +| `initiator_select_json` | 发起人自选 `{nodeId:[userId,...]}` | +| `initiator_dept_id` | 发起部门(与发起接口一致) | +| `owner_user_id` | 草稿所属人(= 创建人) | +| 公共字段 | `tenant_no` … `del_flag`(遵循 database-conventions) | + +约束与行为: + +- 同一用户对同一 `app_id` **允许多条**草稿(与 Demo 列表一致)。 +- 列表默认 `create_time DESC` 不适用时,用 **`update_time DESC`**(最近保存优先)。 +- 删除:软删 `del_flag=1`。 +- **暂存不做完整必填校验**;**提交**走与正式发起相同的校验。 + +### 版本策略 + +- 暂存:写入当时「最新已发布」`app_version_id`。 +- 编辑打开:用该草稿的 `app_id` 取**当前最新已发布**模板渲染;`form_data` / `initiator_select` 按 field 名回填(字段已删则忽略多余键)。 +- 若应用已无已发布版本:编辑/提交时提示「该审批单已下架或未发布」,禁止提交,允许删除草稿。 + +## API(`/api/admin/oa-approval`) + +| 方法 | 路径 | 说明 | +|------|------|------| +| GET | `/drafts` | 当前用户草稿分页;query:`keyword`(流程名)、`groupId`、`updateTimeFrom`/`updateTimeTo`、`page`/`pageSize` | +| GET | `/drafts/{id}` | 草稿详情(含 formData、initiatorSelect、app 基础信息) | +| POST | `/drafts` | 新建草稿(`appId` + formData + initiatorSelect + initiatorDeptId + title?) | +| PUT | `/drafts/{id}` | 更新草稿(仅 owner) | +| DELETE | `/drafts/{id}` | 软删单条 | +| POST | `/drafts/batch-delete` | body: `{ ids: string[] }` 批量软删 | +| POST | `/drafts/{id}/submit` | 校验 + `start_instance`;成功后软删草稿;返回实例信息 | + +权限:均需登录管理端用户;读写仅限 `owner_user_id == 当前用户` 且同 `tenant_no`。菜单码:`oa:drafts`(列表/读写统一挂此码,与 `oa:start` 同级授权习惯)。 + +## 前端 + +### 菜单与路由 + +- 侧栏顺序:… → 发起审批 → **草稿箱** → 待办中心 → … +- 路由:`/#/system-manage/oa-approval/drafts`,组件 `web-admin/src/views/oa-approval/drafts/index.vue` +- 前端路由模块 `sqxp.ts` 与库表 `sys_menu`(SQL 脚本)同步增加菜单项。 + +### 发起页 `start/index.vue` + +- 弹窗底栏:**取消** | **暂存草稿** | **提交**(主色仅「提交」)。 +- 「暂存草稿」:调用 POST/PUT drafts;成功提示「已存入草稿箱」并关弹窗(或保持打开——**关弹窗**,与 Demo 心智一致)。 +- 若路由带 `draftId`(从草稿箱「编辑」跳入):打开对应模板并回填,暂存走 PUT。 + +### 草稿箱页(对齐「我发起的」列表模式) + +列:序号、流程名称、模板版本、最近保存、状态(Tag「草稿」`warning`)、操作(编辑 / 提交审批 / 删除)。 + +- **编辑**:`router.push` 到发起页并带 `draftId`(或本页弹窗复用发起表单——**推荐跳转发页 + query**,少复制逻辑;若发起页已是弹窗模式,则在草稿箱页复用同一套 dialog 逻辑亦可。实现择一:**草稿箱页内嵌与 start 相同的发起弹窗**,避免整页跳转丢上下文)。 +- **提交审批**:调用 `POST /drafts/{id}/submit`;若校验失败,打开编辑弹窗并展示错误。 +- **删除 / 批量删除**:二次确认后调用删除接口。 + +筛选:流程名称、保存时间范围、模板分组(与 Demo 一致)。 + +## 错误处理 + +- 非 owner / 已删:404 或 403,文案「草稿不存在或无权访问」。 +- 提交时应用不可用:400 + 明确文案。 +- 批量删除:跳过无权 id,返回成功数(或全部失败则报错)——采用 **全部校验通过再删**,任一无权则整批失败。 + +## 测试要点 + +- 暂存后草稿箱可见;他人不可见。 +- 更新草稿只改本人记录。 +- 提交成功产生 `oa_instance` 且草稿软删;「我发起的」出现新实例。 +- 暂存不产生 `oa_task`。 +- 无发布版本时禁止提交。 + +## UI 权威 + +`docs/demos/oa-approval-draft-box-demo.html`;视觉遵循 Fresh Mint / `docs/web-admin-ui-spec-fresh-mint.md`。 diff --git a/docs/superpowers/specs/2026-08-06-oa-drafts-pending-menu-badge-design.md b/docs/superpowers/specs/2026-08-06-oa-drafts-pending-menu-badge-design.md new file mode 100644 index 00000000..a53be4d3 --- /dev/null +++ b/docs/superpowers/specs/2026-08-06-oa-drafts-pending-menu-badge-design.md @@ -0,0 +1,38 @@ +# OA「草稿箱 / 待办中心」菜单角标 Design + +| 项 | 内容 | +|----|------| +| 日期 | 2026-08-06 | +| 状态 | 已定稿(用户确认:对齐抄送角标,0 隐藏) | +| 范围 | 侧栏「草稿箱」「待办中心」数量角标 | + +## 背景 + +「抄送我的」已落地未读角标。产品要求「草稿箱」「待办中心」同样展示数量统计。 + +## 目标 + +- 侧栏 `oa:drafts`:当前用户未删除草稿总数;0 隐藏。 +- 侧栏 `oa:pending`:当前用户待审批任务数(`task_type=approval` + `status=pending`);0 隐藏。 +- 样式与刷新机制复用现有 `oa-menu-badge`(与抄送一致:`99+`、路由守卫刷新、业务操作后 `refreshOaMenuBadges()`)。 + +## 非目标 + +- 不改列表页筛选语义;角标为无筛选全量计数。 +- 不改造小程序。 + +## API + +| 方法 | 路径 | 说明 | +|------|------|------| +| GET | `/drafts/count` | `{ count }`;须注册在 `/drafts/{draft_id}` 之前 | +| GET | `/tasks/pending/count` | `{ count }` | + +约束:租户隔离 + 归属当前用户;`del_flag=0`。 + +## 前端 + +- 扩展 `OA_MENU_CODE_DRAFTS` / `OA_MENU_CODE_PENDING`;`resolveOaMenuBadgeCode` 识别 drafts/pending。 +- `refreshOaMenuBadges` 按可见菜单并行拉取(含既有 cc)。 +- 草稿箱增删/提交、发起页存草稿/提交、待办相关审批动作、`onActivated` 刷新角标。 +- 退出登录时 `clearBadges`(补齐既有遗漏)。 diff --git a/docs/superpowers/specs/2026-08-06-oa-form-designer-outline-style-e-design.md b/docs/superpowers/specs/2026-08-06-oa-form-designer-outline-style-e-design.md new file mode 100644 index 00000000..d963e540 --- /dev/null +++ b/docs/superpowers/specs/2026-08-06-oa-form-designer-outline-style-e-design.md @@ -0,0 +1,35 @@ +# OA 表单设计器画布描边优化(方案 E) + +**日期:** 2026-08-06 +**状态:** 已确认 +**范围:** `web-admin` OA 审批设计器「表单设计」Tab(`oa-fc-host` iframe) + +## 背景 + +`@form-create/designer` 为每个画布组件包一层 `_fd-drag-tool`,默认常驻蓝色虚线 `outline`。嵌套布局时多层虚线叠加,影响操作与阅读。对比 Demo(`docs/demos/oa-form-designer-outline-styles.html`)后选定 **方案 E**。 + +## 目标行为 + +| 对象 | 识别 | 默认 | 悬停 | 选中 | +|------|------|------|------|------| +| 叶子字段 | `._fd-drag-tool` 且内部无子 `._fd-drag-tool` | 无描边 | 浅绿实线 | Mint 实线 `#10b981` | +| 布局容器 | `._fd-drag-tool:has(._fd-drag-tool)` | 极淡虚线 | 略加深 | Mint 实线 `#10b981` | + +## 方案 + +- **仅 CSS 覆盖**,落在 `web-admin/src/oa-fc-host/App.vue` 的 ` diff --git a/web-admin/src/router/modules/sqxp.ts b/web-admin/src/router/modules/sqxp.ts index be960668..4e777a4d 100644 --- a/web-admin/src/router/modules/sqxp.ts +++ b/web-admin/src/router/modules/sqxp.ts @@ -1374,17 +1374,6 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [ menuCode: 'oa:apps:list' } }, - { - id: 'OA000000000000000000000000000108', - name: 'OaApprovalReceiveAccounts', - path: 'receive-accounts', - component: '/oa-approval/receive-accounts/index', - meta: { - title: '收款账户管理', - keepAlive: true, - menuCode: 'oa:receive-accounts:list' - } - }, { id: 'OA000000000000000000000000000103', name: 'OaApprovalStart', @@ -1396,6 +1385,17 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [ menuCode: 'oa:start' } }, + { + id: 'OA000000000000000000000000000109', + name: 'OaApprovalDrafts', + path: 'drafts', + component: '/oa-approval/drafts/index', + meta: { + title: '草稿箱', + keepAlive: true, + menuCode: 'oa:drafts' + } + }, { id: 'OA000000000000000000000000000104', name: 'OaApprovalPending', @@ -1440,6 +1440,17 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [ menuCode: 'oa:cc' } }, + { + id: 'OA000000000000000000000000000108', + name: 'OaApprovalReceiveAccounts', + path: 'receive-accounts', + component: '/oa-approval/receive-accounts/index', + meta: { + title: '收款账户管理', + keepAlive: true, + menuCode: 'oa:receive-accounts:list' + } + }, { id: 'OA000000000000000000000000000201', name: 'OaApprovalDesigner', diff --git a/web-admin/src/store/modules/oa-menu-badge.ts b/web-admin/src/store/modules/oa-menu-badge.ts index 5898b9e7..690e334b 100644 --- a/web-admin/src/store/modules/oa-menu-badge.ts +++ b/web-admin/src/store/modules/oa-menu-badge.ts @@ -3,6 +3,8 @@ import { ref } from 'vue' import { formatOaCcUnreadBadgeCount } from '@/api/oaApproval' export const OA_MENU_CODE_CC = 'oa:cc' +export const OA_MENU_CODE_DRAFTS = 'oa:drafts' +export const OA_MENU_CODE_PENDING = 'oa:pending' export const useOaMenuBadgeStore = defineStore('oaMenuBadgeStore', () => { const badgeByMenuCode = ref>({}) diff --git a/web-admin/src/store/modules/user.ts b/web-admin/src/store/modules/user.ts index bafa1130..db7e1c42 100644 --- a/web-admin/src/store/modules/user.ts +++ b/web-admin/src/store/modules/user.ts @@ -22,6 +22,7 @@ import { resetRouterState } from '@/router/guards/beforeEach' import { useMenuStore } from './menu' import { useQcMenuBadgeStore } from './qc-menu-badge' import { useProductionMenuBadgeStore } from './production-menu-badge' +import { useOaMenuBadgeStore } from './oa-menu-badge' import { StorageConfig } from '@/utils/storage/storage-config' import { fetchLogout } from '@/api/auth' import { RoutesAlias } from '@/router/routesAlias' @@ -149,6 +150,7 @@ export const useUserStore = defineStore( useMenuStore().setHomePath('') useQcMenuBadgeStore().clearBadges() useProductionMenuBadgeStore().clearBadges() + useOaMenuBadgeStore().clearBadges() } /** diff --git a/web-admin/src/types/api.d.ts b/web-admin/src/types/api.d.ts index 3a01771b..bf168d13 100644 --- a/web-admin/src/types/api.d.ts +++ b/web-admin/src/types/api.d.ts @@ -57,6 +57,12 @@ declare namespace Api { deptName?: string roleIds?: string[] postIds?: string[] + /** 经启用职位继承的启用角色 ID */ + postInheritedRoleIds?: string[] + /** 有效角色 ID(启用直接绑定 ∪ 职位继承) */ + effectiveRoleIds?: string[] + /** 有效角色名称 */ + effectiveRoleNames?: string[] } } @@ -633,6 +639,8 @@ declare namespace Api { tenantNo: string orderNum: number remark: string + boundUserNames?: string[] + boundPostNames?: string[] createTime: string updateTime: string } diff --git a/web-admin/src/utils/oa-menu-badge.ts b/web-admin/src/utils/oa-menu-badge.ts index 1fdd5ea0..a0fb773b 100644 --- a/web-admin/src/utils/oa-menu-badge.ts +++ b/web-admin/src/utils/oa-menu-badge.ts @@ -1,14 +1,32 @@ -import { fetchOaCcUnreadCount } from '@/api/oaApproval' -import { OA_MENU_CODE_CC, useOaMenuBadgeStore } from '@/store/modules/oa-menu-badge' +import { + fetchOaCcUnreadCount, + fetchOaInstanceDraftCount, + fetchOaPendingTaskCount +} from '@/api/oaApproval' +import { + OA_MENU_CODE_CC, + OA_MENU_CODE_DRAFTS, + OA_MENU_CODE_PENDING, + useOaMenuBadgeStore +} from '@/store/modules/oa-menu-badge' import { useMenuStore } from '@/store/modules/menu' import type { AppRouteRecord } from '@/types/router' +const OA_BADGE_CODES = new Set([OA_MENU_CODE_CC, OA_MENU_CODE_DRAFTS, OA_MENU_CODE_PENDING]) + export function resolveOaMenuBadgeCode(item: AppRouteRecord): string | undefined { const code = (item.meta.menuCode || '').trim() - if (code === OA_MENU_CODE_CC) return code - if (String(item.name || '') === 'OaApprovalCc') return OA_MENU_CODE_CC + if (OA_BADGE_CODES.has(code)) return code + const name = String(item.name || '') + if (name === 'OaApprovalCc') return OA_MENU_CODE_CC + if (name === 'OaApprovalDrafts') return OA_MENU_CODE_DRAFTS + if (name === 'OaApprovalPending') return OA_MENU_CODE_PENDING + // path 兜底仅限 oa: 菜单,避免命中旧工作流 pending + if (!code.startsWith('oa:')) return undefined const path = String(item.path || '') if (path.endsWith('/cc') || path === 'cc') return OA_MENU_CODE_CC + if (path.endsWith('/drafts') || path === 'drafts') return OA_MENU_CODE_DRAFTS + if (path.endsWith('/pending') || path === 'pending') return OA_MENU_CODE_PENDING return undefined } @@ -29,11 +47,31 @@ export async function refreshOaMenuBadges() { const menuStore = useMenuStore() const badgeStore = useOaMenuBadgeStore() const visibleCodes = collectVisibleOaMenuBadgeCodes(menuStore.menuList) - if (!visibleCodes.includes(OA_MENU_CODE_CC)) return - try { - const data = await fetchOaCcUnreadCount() - badgeStore.setBadge(OA_MENU_CODE_CC, data?.count ?? 0) - } catch { - badgeStore.setBadge(OA_MENU_CODE_CC, 0) + if (!visibleCodes.length) return + + const jobs: Promise[] = [] + + if (visibleCodes.includes(OA_MENU_CODE_CC)) { + jobs.push( + fetchOaCcUnreadCount() + .then((data) => badgeStore.setBadge(OA_MENU_CODE_CC, data?.count ?? 0)) + .catch(() => badgeStore.setBadge(OA_MENU_CODE_CC, 0)) + ) } + if (visibleCodes.includes(OA_MENU_CODE_DRAFTS)) { + jobs.push( + fetchOaInstanceDraftCount() + .then((data) => badgeStore.setBadge(OA_MENU_CODE_DRAFTS, data?.count ?? 0)) + .catch(() => badgeStore.setBadge(OA_MENU_CODE_DRAFTS, 0)) + ) + } + if (visibleCodes.includes(OA_MENU_CODE_PENDING)) { + jobs.push( + fetchOaPendingTaskCount() + .then((data) => badgeStore.setBadge(OA_MENU_CODE_PENDING, data?.count ?? 0)) + .catch(() => badgeStore.setBadge(OA_MENU_CODE_PENDING, 0)) + ) + } + + await Promise.all(jobs) } diff --git a/web-admin/src/views/oa-approval/drafts/index.vue b/web-admin/src/views/oa-approval/drafts/index.vue new file mode 100644 index 00000000..be3a86f2 --- /dev/null +++ b/web-admin/src/views/oa-approval/drafts/index.vue @@ -0,0 +1,323 @@ + + + + + diff --git a/web-admin/src/views/oa-approval/instances/detail.vue b/web-admin/src/views/oa-approval/instances/detail.vue index 1bf58b40..d4d56ec5 100644 --- a/web-admin/src/views/oa-approval/instances/detail.vue +++ b/web-admin/src/views/oa-approval/instances/detail.vue @@ -206,6 +206,7 @@ import OaProgressChain from '@/components/oa-approval/OaProgressChain.vue' import { MAX_ADMIN_LIST_PAGE_SIZE } from '@/utils/fetch-paged-list' import { useUserStore } from '@/store/modules/user' + import { refreshOaMenuBadges } from '@/utils/oa-menu-badge' import { OA_FC_DEFAULT_GUTTER, ensureOaUploadRuleProps @@ -398,6 +399,7 @@ if (kind === 'approve') await fetchApproveOaTask(task.id, comment || undefined) else await fetchRejectOaTask(task.id, comment || undefined) await load() + void refreshOaMenuBadges() } finally { acting.value = false } @@ -409,6 +411,7 @@ try { await fetchWithdrawOaInstance(String(route.params.id || '')) await load() + void refreshOaMenuBadges() } finally { acting.value = false } @@ -433,6 +436,7 @@ try { await fetchReturnOaTask(task.id, comment) await load() + void refreshOaMenuBadges() } finally { acting.value = false } @@ -497,6 +501,7 @@ }) addSignVisible.value = false await load() + void refreshOaMenuBadges() } finally { acting.value = false } @@ -524,6 +529,7 @@ }) transferVisible.value = false await load() + void refreshOaMenuBadges() } finally { acting.value = false } diff --git a/web-admin/src/views/oa-approval/pending/index.vue b/web-admin/src/views/oa-approval/pending/index.vue index 189c8175..21b43072 100644 --- a/web-admin/src/views/oa-approval/pending/index.vue +++ b/web-admin/src/views/oa-approval/pending/index.vue @@ -83,6 +83,7 @@ import { useRouter } from 'vue-router' import { View } from '@element-plus/icons-vue' import { fetchOaTasks } from '@/api/oaApproval' + import { refreshOaMenuBadges } from '@/utils/oa-menu-badge' defineOptions({ name: 'OaApprovalPending' }) @@ -131,6 +132,12 @@ } } - onMounted(load) - onActivated(load) + onMounted(() => { + load() + void refreshOaMenuBadges() + }) + onActivated(() => { + load() + void refreshOaMenuBadges() + }) diff --git a/web-admin/src/views/oa-approval/start/index.vue b/web-admin/src/views/oa-approval/start/index.vue index f6ae6640..69545884 100644 --- a/web-admin/src/views/oa-approval/start/index.vue +++ b/web-admin/src/views/oa-approval/start/index.vue @@ -126,10 +126,14 @@ />