deleteBill.md 1.42 KB

deleteBill (procedure)

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

Parameters

# Mode Name Type
1 IN p_sCustomerName varchar(50)

Body

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

Narrative

Business context: DBA cleanup — purges every transactional bill tied to a single customer (by 客户名称), then deletes the customer record itself. Defined and invoked once by xly-src/script/del/Sp_Del_Bill_ByCustomerName.sql, which ends by dropping the procedure; persistence in the live DB suggests an install ran the create-half but not the drop-half.

What it does: Resolves p_sCustomerNamesId via elecustomer, then issues child-first DELETEs across the 报价单 / 销售订单 / 销售对账 / 销售开票 / 工单 / 排产 / 发外加工 (process+checking+instore+invoice) / 成品入库 / 送货 / 送回通知 / 物料库存 / 投产物料 chains, finally deleting the elecustomer row. Early-LEAVE guard skips the run if the parameter is empty.

Invocation: Not wired to any form, gdsmodule hook, or other routine. The install script's own CALL deleteBill('') is a no-op. Status: appears orphaned in normal operation — kept around as a DBA escape hatch for manual customer-data wipes; verify against compliance/retention policy before running.