Sp_Monthlysalecustomer (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(255) |
| 4 | IN | sSuId |
varchar(255) |
| 5 | IN | bFilter |
varchar(5000) |
| 6 | IN | pageNum |
int |
| 7 | IN | pageSize |
int |
| 8 | OUT | totalCount |
int |
| 9 | IN | countCloumn |
varchar(5000) |
| 10 | OUT | countMapJson |
longtext |
| 11 | IN | sFilterOrderBy |
varchar(5000) |
| 12 | IN | sGroupby_select_sql |
varchar(5000) |
| 13 | IN | sGroupby_group_sql |
varchar(5000) |
Body
Body is not pre-cached. To inspect: mysql --defaults-file=~/.my.cnf -e 'SHOW CREATE PROCEDURESpMonthlysalecustomer'._
Narrative
Business context: 销售管理 → 销售分析(按月累计) — paged annual-sales pivot keyed by customer with one column per calendar month. Twin of Sp_Monthlysalesman but groups by sCustomerId; returns one row per 客户 with dTotalMoney plus dJan..dDece for the year inferred from tStartDate.
What it does: Sets the year filter to YEAR(tStartDate). Builds a dynamic SQL SELECT sId, sSlaveId, sCustomerId, sSalesManId, SUM(dProductMoney) AS dTotalMoney, SUM(CASE WHEN MONTH(tCreateDate)=N THEN dProductMoney ELSE 0 END) AS d{Mon} for N=1..12 FROM viw_salsalesorder AS T WHERE sFormId IN (the seven 销售订单 sFormIds) AND bInvalid=0 AND YEAR(tCreateDate) = <year> GROUP BY sCustomerId. Hands the dynamic SQL to Sp_Outstanding_Query for paging, total-count, and bFilter condition splicing.
Invocation: Bound as the data-source of the 销售分析(按月累计) form gfm.sId 19211681219916400715457930 via gdsconfigformmaster.sSqlStr — under module 销售分析(按月累计) (sId 19211681219916400715457370) → 销售分析(客户角度) → 销售管理. Loaded when the user opens the report.