Welcome!
欢迎光临!

通过SQL查询泛微部门年度预算信息

公司上费用控制系统后,泛微自带的报表权限控制太足了,不方便查询,于是根据现有表结构写了这个查询,可以查询部门当前生效的预算信息,包括科目、总预算和已用预算,其中已用预算关联报销、预提的相关流程。

SELECT
	年度,分部,部门,科目,
	SUM ( 预算金额 ) AS 预算 ,
	b1.[已用金额],
	SUM ( 预算金额 ) - b1.[已用金额] AS 可用金额,
	b1.[审批中金额]
FROM
	(
	SELECT
		t5.fnayear AS 年度,
		t4.subcompanyname AS 分部,
		t2.departmentname AS 部门,
		t3.name AS 科目,
		FnaBudgetInfoDetail.budgetaccount AS 预算金额 ,
		SUM ( t6.amount ) AS 已用金额,
		SUM(CASE WHEN t6.status = 0 THEN t6.amount ELSE 0 END) AS 审批中金额
	FROM
		FnaBudgetInfoDetail
		LEFT JOIN FnaBudgetInfo t1 ON t1.id= FnaBudgetInfoDetail.budgetinfoid
		LEFT JOIN hrmdepartment t2 ON t2.id = t1.budgetorganizationid
		LEFT JOIN FnaBudgetfeeType t3 ON t3.id = FnaBudgetInfoDetail.budgettypeid
		LEFT JOIN HrmSubCompany t4 ON t4.id = t2.subcompanyid1
		LEFT JOIN FnaYearsPeriods t5 ON t5.id = FnaBudgetInfoDetail.budgetperiods
		LEFT JOIN FnaExpenseInfo t6 ON t6.organizationid = t1.budgetorganizationid 
		AND t6.subject = FnaBudgetInfoDetail.budgettypeid 
	WHERE
		t1.status = 1 --预算生效标志
		
		AND t5.id = 3 --账套年度代码标志l
		
		AND t4.id IN ( 15, 850, 396, 397 ) -- 分部标志
		
		AND t1.budgetorganizationid = 1574 --部门标志
		
		AND t6.budgetperiods = 3 --账套年度代码标志
		
	GROUP BY
		t5.fnayear,
		t4.subcompanyname,
		t2.departmentname,
		t3.name,
		FnaBudgetInfoDetail.budgetperiodslist,
		FnaBudgetInfoDetail.budgetaccount 
	) b1 
GROUP BY
	b1.[年度],
	b1.[分部],
	b1.[部门],
	b1.[科目],
	b1.[已用金额],
	b1.[审批中金额]
ORDER BY
	b1.[分部],
	b1.[部门],
	b1.[科目]

该查询中关联的表结构如下:

fnabudgetinfodetail/部门预算信息明细表

序号中文名称英文名称数据类型长度允许空值主键默认值自增说明
1主键idintNYY
2部门预算信息idbudgetinfoidint
3年度期间IDbudgetperiodsint预算年度表主键
4科目idbudgettypeidint
5人员idbudgetresourceidint预算相关人力资源
6客户idbudgetcrmidint预算相关客户
7项目idbudgetprojectidint预算相关项目
8金额budgetaccountdecimal18,2
9备注budgetremarkvarchar1000
10期间idbudgetperiodslistint预算期间表主键
11偏差金额fnaIncrementdecimal18,2当前版本与上一版本的差额,记录可能存在空数据,空请转换成0;
注:目前只有结转类型的操作会记录该数值,正常编制生成的版本该数值等于0;

fnabudgetinfo/部门预算信息表

序号中文名称英文名称数据类型长度允许空值主键默认值自增说明
1主键idintNYY
2预算状态budgetstatusint0:未审批; 1:已审批;
3创建人idcreateridint
4审批人idapproveridint通过审批流程生效的预算才有数据
5审批日期approverdatechar10通过审批流程生效的预算才有数据
6组织IDbudgetorganizationidint分部:分部id; 部门:部门id; 人员:人员id; 成本中心:成本中心id;
7组织ID类型organizationtypeint0:总部; 1:分部; 2:部门; 18004:成本中心;
8年度期间IDbudgetperiodsint预算年度表主键
9版本revisionint
10状态statusint0 :草稿;1 :生效;2 :历史;3 :待审批;
11备注remarkvarchar1000
12创建日期createdatechar20
14生成方式opTypechar1j:结转;空:编制;

hrmdepartment/人力资源部门表

序号中文名称英文名称数据类型长度允许空值主键默认值自增说明
1IDidintNYY 
2部门标识departmentmarkvarchar1000 
3部门名称departmentnamevarchar1000 
4所属分部1subcompanyid1int 
5上级部门idsupdepidint 
6所有上级部门idallsupdepidvarchar2000 
7显示顺序showorderint 
8封存标识canceledchar1 
9部门编码departmentcodevarchar1000 
10协办人coadjutantint 
11组织架构部门负责人zzjgbmfzrvarchar4000 
12组织架构部门分管领导zzjgbmfgldvarchar4000 
13矩阵管理部门负责人jzglbmfzrvarchar4000 
14矩阵管理部门分管领导jzglbmfgldvarchar4000 
15矩阵部门负责人员bmfzrtext 
16矩阵部门分管领导bmfgldtext 
17outkeyvarchar1000 
18budgetAtuoMoveOrderint 
19ecology_pinyin_searchvarchar1000 
20tlevelint 

fnabudgetfeetype/预算科目定义表

序号中文名称英文名称数据类型长度允许空值主键默认值自增说明
1主键idintNYY
2名称namevarchar400
3描述descriptionvarchar1000
4预算周期feeperiodint1:月度;2:季度;3:半年度;4:年度;
5科目种类feetypeint1:收入; 2:支出
6允许偏差agreegapint百分比
7科目级别feelevelint1: 一级科目;2: 二级;3: 三级;
8父级科目idsupsubjectint
9预警值alertvalueint百分比
10封存Archiveint0、NULL:未封存;1:封存;
15统一费控groupCtrlchar1预算控制时汇总下级科目费用进行统一控制
17科目编码codeNamechar100
18是否结转budgetAutoMoveint当前科目是否进行结转

hrmsubcompany/分部信息表

序号中文名称英文名称数据类型长度允许空值主键默认值自增说明
1IDidintNYY 
2分部简称subcompanynamevarchar1000 
3分部描述subcompanydescvarchar1000 
4所属总部idcompanyidtinyint 
5上级分部IDsupsubcomidint0 
6 urlvarchar1000 
7序列号showorderint 
8封存标识canceledchar1 
9分部编码subcompanycodevarchar1000 
10 outkeyvarchar1000 
11budgetAtuoMoveOrderint 
12拼音ecology_pinyin_searchvarchar1000 
13限制用户数limitUsersint0 
14等级tlevelint 

fnayearsperiods/预算年度表

序号中文名称英文名称数据类型长度允许空值主键默认值自增说明
1主键idintNYY
2年度fnayearchar4
3开始日期startdatechar10
4结束日期enddatechar10
6状态statusint0: 未生效;1 :生效;-1: 关闭;默认为0

fnaexpenseinfo/费用表

序号中文名称英文名称数据类型长度允许空值主键默认值自增说明
1主键idintNY
2承担主体idorganizationidint分部id;部门id;个人id;成本中心id;
3承担主体类型organizationtypeint1:分部;2:部门;3:个人;18004:成本中心;
4费用发生日期occurdatechar10
5金额amountdecimal15,3
6科目idsubjectint
7状态statusint0:审批中;1:生效;
8来源类型typeint1:付款;2:报销;3:冲销;
9项目idrelatedprjint相关项目
10客户idrelatedcrmint相关客户
11凭证号debitremarkvarchar400手工做账时才会录入
12描述descriptionvarchar1000
13流程requestidrequestidint统计用流程requestid
15流程明细表idrequestidDtlIdint统计用流程明细表id
16流程明细表序号sourceDtlNumberint记录来源明细表序号
17流程requestidsourceRequestidint来源流程requestid
18流程明细表idsourceRequestidDtlIdint记录来源流程明细表id
19年度期间IDbudgetperiodsint费用发生日期所属:预算年度表主键
20期间idbudgetperiodslistint费用发生日期所属:预算期间表主键
赞(0)
未经允许不得转载:fuRyZ's Blog » 通过SQL查询泛微部门年度预算信息

评论 抢沙发

评论前必须登录!

 

登录

找回密码

注册