Fun_Cashier_GetMaterialsPrice.md 1.73 KB

Fun_Cashier_GetMaterialsPrice (function)

获取最近采购价(物料)

  • Type: FUNCTION
  • Returns: varchar(100)
  • Deterministic: NO
  • SQL data access: CONTAINS SQL

Parameters

# Mode Name Type
1 IN sMaterialsGuid varchar(100)
2 IN sSupplyGuid varchar(100)
3 IN sBrId varchar(100)
4 IN sSuId varchar(100)

Body

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

Narrative

Business context: Purchasing/quotation/work-order — "most recent purchase price" lookup for a material, optionally filtered by supplier. The cost-calculation procs use this to default a material line's unit cost when the user hasn't typed one in. Header comment is 获取最近采购价(物料) ("get most-recent purchase price for material").

What it does: reads elematerialssupply.dQuantityPrice for the given material, tenant-scoped by sBrId/sSuId, only over bCheck = 1 rows, taking the latest by tCreateDate. Tries narrowing filters in order: (supplier + style) → (supplier alone) → (style alone) → (material alone). Returns the price as a varchar; '0' when nothing matches.

Invocation: referenced from form-master sId 192116810113315263819752160 ("1/4 采购申请->采购订单") and 101251240115016347243410860 ("待入库客来料任务列表"). Called directly by the quotation calc family (Sp_Quotation_CalcData*), work-order calc family (Sp_WorkOrder_CalcData*), Sp_Inventory_MaterialsInventoryV56Price, Sp_Manufacture_sWodPurchareMaterials_copy1, the materials check proc Sp_Check_sMcd, and the _Quo quotation variant of itself.