Sp_System_AutoSendCheckMsg.md 2.76 KB

Sp_System_AutoSendCheckMsg (procedure)

  • Type: PROCEDURE
  • Deterministic: NO
  • SQL data access: CONTAINS SQL

Parameters

# Mode Name Type
1 IN sFormGuid varchar(100)
2 IN sBillKey varchar(100)
3 IN sTbName varchar(100)
4 IN sGuid varchar(100)
5 IN sBillNo varchar(100)
6 IN sCheckCondition varchar(4000)
7 IN sMemo varchar(4000)
8 IN sCheckModelGuid varchar(100)
9 IN sCheckPerson longtext
10 IN sLoginId varchar(100)
11 IN sBrId varchar(100)
12 IN sSuId varchar(100)
13 OUT sCode int
14 OUT sReturn varchar(5000)

Body

Body is not pre-cached. To inspect: mysql --defaults-file=~/.my.cnf -e 'SHOW CREATE PROCEDURESpSystem_AutoSendCheckMsg'._

Narrative

Business context: 系统平台 → 审核流程 / 消息中心 — when a 业务单据 enters an approval workflow (elecheckmodel + elecheckmodelphase), this proc materialises the in-app inbox: it writes a sysMsg envelope, one sysmsguser row per approver, and a placeholder sysbillcheckresult for each phase, so approvers see the bill in their pending list and the audit trail rows are pre-staged.

What it does: Validates sFormGuid / sGuid / sTbName / current login (Fun_GetLoginUser) — bails with sCode=-1 if any are empty. Builds dynamic SQL Select tCreateDate, sBillNo From <sTbName> Where sId=<sGuid> to read the bill date / number. Deletes any prior sysbillcheckresult / sysmsguser / sysMsg rows for the same sBillId (idempotency). Resolves the localised "审核申请" title via Sp_Sis_GetConst('BillCheckApply', …) with sBillNo interpolated, then INSERT INTO sysMsg the envelope. If sCheckPerson is empty, joins sischeckphasesischeckphaselogininfo for the first phase of the active model (elecheckmodel.bActivate=1, ordered by iOrder LIMIT 1) to seed approvers; otherwise tokenises the comma-list and writes one row per name. For each approver, writes the matching sysbillcheckresult placeholder so the審核 detail screen has its skeleton.

Invocation: Status: appears orphaned at this snapshot. No gdsmodule.sProcName hook, no other-routine caller in information_schema.ROUTINES, no xly-src reference outside the install script script/标版/30100101/Sp_System_AutoSendCheckMsg.sql. The signature (sFormGuid + sBillKey + sTbName + sCheckModelGuid + sCheckPerson) is the standard "kick off a multi-phase check" envelope, so the live close-loop is almost certainly Java-driven (CheckExamineFlowDataServiceImpl family) bypassing this proc — flag for maintainer audit to confirm whether any deployed flow still routes through it.