Sp_Sales_SalesAnalysiseOfMakePerson.md 2.24 KB

Sp_Sales_SalesAnalysiseOfMakePerson (procedure)

销售分析表(制单人员)

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

Parameters

# Mode Name Type
1 IN tStartDate datetime
2 IN tEndDate datetime
3 IN sBrId varchar(100)
4 IN sSuId varchar(100)
5 IN sLoginId varchar(100)
6 IN bFilter varchar(5000)
7 IN pageNum int
8 IN pageSize int
9 OUT totalCount int
10 IN countCloumn varchar(5000)
11 OUT countMapJson longtext
12 IN sFilterOrderBy varchar(5000)
13 IN sGroupby_select_sql varchar(5000)
14 IN sGroupby_group_sql varchar(5000)

Body

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

Narrative

Business context: 销售管理 → 销售分析(人员角度) → 销售分析表(制单人员) — paged sales analysis pivoted by 制单人员 (the operator who keyed the 销售订单), one row per active sftlogininfo user with that user's aggregate ordered / collected / outstanding totals.

What it does: Seeds SAS from sftlogininfo (login user master) for the current 品牌/分公司, then UPDATE ... INNER JOINs in order counts and money from viw_salSalesOrder grouped by S.sMakePerson and matched to A.sName (i.e. sftlogininfo.sUserName ↔ order's sMakePerson string) — subject to the seven 销售订单 sFormId whitelist and bCheck=1 AND bInvalid=0. Joins cahreceiptmaster by sMakePerson for 收款, computes dBalanceMoney, averages and 占比 columns from tempSAS, drops zero-money rows, pages via Sp_Do_UpdateByPageSizeBefore.

Invocation: Bound as the data-source of the 销售分析表(制单人员) form gfm.sId=192116811110216080102093540 via gdsconfigformmaster.sSqlStr; module path 销售管理 → 销售分析(人员角度) → 销售分析表(制单人员). 优化版 ships at script/标版/optimize/Sp_Sales_SalesAnalysiseOfMakePerson.sql. Caveat: matching by sUserName is fragile if usernames change — verify before relying on per-operator totals.