日期:2014-05-18  浏览次数:20459 次

再来一个计算的公式
客户 类型 应收 还款 应还日 实还日 罚款
甲 A 20 2012/5/10 0
甲 A 30 2012/5/10
甲 B 40 2012/5/18
甲 B 50 2012/5/12
乙 C 60 2012/5/13
乙 C 70 2012/5/20
乙 D 80 2012/5/18


罚款表:

客户姓名 比率
甲 1.20%
乙 1.00%






1、提取应还日,将当前时间减去应还日时间大于5天的提取出来。 
2、然后对客户所有的应收进行求和判断,如果还款合计为0,那么,就进行罚款 
3、罚款的公式为罚款表里面的规则,应收*0.1,如果小于5 ,则为5,大于5则不管然后更新罚款金额 


最终结果如下:
客户 类型 应收 还款 应还日 实还日 罚款
甲 A 20 2012/5/10 5
甲 A 30 2012/5/10 5
甲 B 40 2012/5/18 0
甲 B 50 2012/5/12 5
乙 C 60 2012/5/13 9
乙 C 70 2012/5/20 0
乙 D 80 2012/5/18 0


------解决方案--------------------
SQL code
--建表:
CREATE TABLE #T1
(
    kehu varchar(10) not null,
    leixing varchar(10) not null,
    yingshou int not null,
    huankuan int,
    yingshouri datetime,
    shishouri datetime,
    fakuan int
)
go
insert into #T1
Select '甲','A',20,'','2012-05-10','','' UNION
Select '甲','A',30,'','2012-05-10','','' UNION
Select '甲','B',40,'','2012-05-18','','' UNION
Select '甲','B',50,'','2012-05-12','','' UNION
Select '已','C',60,'','2012-05-13','','' UNION
Select '已','C',70,'','2012-05-20','','' UNION
Select '已','D',80,'','2012-05-18','',''
Select * from #T1