Sp_Quotation__CalcDataPackPartsStd.md 2.72 KB

Sp_Quotation__CalcDataPackPartsStd (procedure)

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

Parameters

# Mode Name Type
1 IN sGuid varchar(100)
2 IN sLoginId varchar(100)
3 IN sBrId varchar(100)
4 IN sSuId varchar(100)
5 IN p_sFormId varchar(100)
6 IN p_sSlaveGuid varchar(100)
7 IN p_sCustomerId varchar(100)
8 IN p_sProductId varchar(100)
9 IN p_sControlId varchar(100)
10 IN sAllGuid longtext
11 IN dSumPQtyS decimal(18,6)
12 IN p_NetMoney int
13 IN p_iPage double
14 IN p_sCombinedMemo varchar(1000)
15 OUT sCode int
16 OUT sReturn varchar(5000)

Body

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

Narrative

Business context: 销售管理 → 报价&估计管理 → 新报价单 — parts-roll-up stage of the packaging-product (包装) quote-cost engine. Sits between Sp_Quotation__CalcDataPackLastStd (per-control / last-process math) and the master-summary phase in Sp_Quotation_CalcDataPack: aggregates per-sControlId parts quantities (dPartsQty), per-product distribution (p_iPage running counter, p_sCombinedMemo accumulator) and applies sAllGuid (the CSV of slave ids participating in the combined-control set) to drive the multi-parts arithmetic.

What it does: For the given p_sControlId row of QuoQuotationControl_Tmp, sums materials & process input/output quantities across the parts identified by sAllGuid, divides totals by dSumPQtyS to derive per-unit parts share, and writes results back into QuoQuotationControl_Tmp/QuoQuotationMaterials_Tmp/QuoQuotationProcess_Tmp (same temp set the front-end will render). Net money is propagated via p_NetMoney, page index via p_iPage. Localises error/result strings via Sp_Sis_GetConst and Sp_System_ReplaceField.

Invocation: Called by Sp_Quotation_CalcDataPack (CALL Sp_Quotation__CalcDataPackPartsStd(...)) inside the packaging-quote calculation chain. The outer entry point — Sp_Quotation_CalcDataPack — is invoked from ManyQuoServiceImpl.addQuotationsheetManyThread(params, userInfo, "Sp_Quotation_CalcDataPack") (called by QuoquotationController for the multi-quantity quote flow) or via gdsmodule.sCalcProName='Sp_Quotation_CalcDataPack' for the standard single-quantity save path. xly-src ships a 上海亚峰 customer-override at script/客户/上海亚峰/报价单计算/Sp_Quotation__CalcDataPackPartsStd.sql — verify which body is deployed.