LZY'Blog

记录LZY的生活、行程!

« 【工作笔记】成本分析报表内江ERP数据统计规则【工作笔记】成本分析报表人工统计之系统账号权限设置方式 »

【工作笔记】成本分析报表人工统计的各项目费用计算方式

一、人工统计的各项目费用关键存储结构

表名:tb_dept_cost
字段名 数据类型 说明
ds_dept varchar(50) 部门名称
ds_item varchar(100) 项目类别
ds_start date 开始日期
ds_expire date 结束日期
ds_cost decimal(18,8) 费用

二、SQL实现函数

 
-- 函数名:getDeptItemCostSum
-- 参数:1)@dept 部门名称,2)@item 项目类别,3)@start 开始日期,4)@expire 结束日期
Function [dbo].[getDeptItemCostSum](@dept as varchar(100),@item as varchar(100),@start as date,@expire as date)
returns decimal(18,8)
begin
declare @sum as decimal(18,8),@dateVar as date
set @sum=0
set @dateVar=@start
while (@dateVar<=@expire)  
begin  
    select @sum=@sum+cost from
    (
        select (ds_cost / (DATEDIFF(d,[ds_start],[ds_expire]) + 1)) as cost from tb_dept_cost where ds_dept=@dept and ds_item=@item and @dateVar>=ds_start and @dateVar<=ds_expire
    )
    A
    -- 在 '日' 单位上+1天
    set @dateVar=dateadd(DAY,1,@dateVar)  
end  
return  @sum
end

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Walle Build 100427 |

Copyright 2009-2012 LZY'Blog. | ICP:蜀ICP备05027543号