首页/ 行业新闻/ 技术分享/ 程序员如何实现销售提成结算统计报表(方法一)

程序员如何实现销售提成结算统计报表(方法一)

更新时间:2023-06-17
作者:插件云
浏览量:99
点赞:0

前面我们分享过千方百剂销售提成结算统计报表,需求分析已经说得比较清晰,主要的目的就是为了统计销售单的回款情况,并且根据实际回款情况给销售人员结算提成。现在我们从程序员开发插件程序的角度看看开发思路,并且简单了解一下开发过程中需要使用数据库的哪些表或存储过程。

要开发这个销售提成结算报表,首先要确定收款单中各自销售单的回款明细,有些销售单会分多次收款,那在报表中就只需要显示已结算金额与提成点数的关系。找到回款明细的数据后,直接匹配销售单对应往来单位,并且把往来单位和销售人员匹配,就可以完整统计出以实际回款为基础的销售提成金额。

销售单结款情况

报表有两种实现方式,一种是直接在千方百剂系统内查看销售人员最新的销售提成金额,但是这种方式有一个缺陷就是无法批量查询。第二种是在插件程序中形成可提供批量查询的报表,查询条件可以包含往来单位、销售单编号、销售人员和查询时间范围,这种方式的最大好处就是可以批量查询,对于销售单比较多的公司而言非常有必要。


不管是哪两种方式,使用的表都是一样的,职员表、往来单位表、销售单表、收款单表,这几个表分别是:

--员工表

SELECT * FROM dbo.employee

--往来单位

SELECT * FROM dbo.btype

--销售单和收款单表头

SELECT * FROM dbo.BillIndex

--销售单表体

SELECT * FROM dbo.SaleBill

--收款单表体

SELECT * FROM dbo.MoneyBill


由于客户要求批量查询,所以本次分享我们就使用第二种方式处理。根据客户选定的筛选条件,我们需要组合一个SQL语句,通过join语句不断连接表,最终拿到销售提成结算报表数据。在组合SQL语句的时候,4个筛选条件都需要考虑,所以where条件后,已选筛选条件的为AND关系。组合SQL语句是整个开发中的重点,关联关系必须非常清晰,否则就数据就无法准确读取,首先是收款单和销售单的关系需要先一对一关联得出已结算金额,然后是销售单和往来单位的一对一关联可以确定往来单位,最后是销售人员与往来单位的一对一关联确认好销售人员,最后按照设置好的提成比例进行提成计算。报表数据整理好之后,插件程序界面会使用表格的形式展示数据,而且数据可以使用导出按钮导出为Excel文件。

从程序员的角度来看这个开发需求,其实重点就是在SQL语句的组合,因为报表功能最终就是看数据,数据组合不对就不算完成了开发需求任务。所以在做插件程序开发的时候,SQL的熟练程度决定了开发的效率。