--添加通过自定义档案列表编码及档案编码查询主键
select bd_defdoc.pk_defdoc as defdoc --查询限额类费用类型主键
from bd_defdoc, bd_defdoclist
where bd_defdoc.pk_defdoclist = bd_defdoclist.pk_defdoclist
and bd_defdoclist.code = 'F003'--费用类型自定义档案列表编码
and bd_defdoc.code = '';--限额类费类型编码
--根据单据车辆名称主键查该车辆是否控制限额
select (case
when (bd_defdoc.shortname = '实报实销') then --不限额车辆简称标识
'false'
else
'true'
end) as islimitcar
from bd_defdoc, bd_defdoclist
where nvl(bd_defdoc.dr, 0) = 0
and nvl(bd_defdoclist.dr, 0) = 0
and bd_defdoc.pk_defdoclist = bd_defdoclist.pk_defdoclist
and bd_defdoclist.code = 'F057' --车辆信息自定义档案
and bd_defdoc.pk_defdoc = '1001H210000000HHSNQY' ; --car_name对应的pk, select name from bd_defdoc where pk_defdoc = '1001H210000000HHSNQY';
--查询会计月
select yearmth from bd_accperiodmonth where pk_accperiodmonth = '1001H2100000004ZIBPZ' ; --period
--车辆本期可报销金额N+1
select sum(erm_car_limit_b.limit_e) as car_limit_e,
sum(erm_car_limit_b.limit_l) as car_limit_l
from erm_car_limit_b, erm_car_limit
where nvl(erm_car_limit_b.dr, 0) = 0
and nvl(erm_car_limit.dr, 0) = 0
and erm_car_limit_b.pk_car_limit = erm_car_limit.pk_car_limit
and erm_car_limit.kjni = ''
and erm_car_limit.car = '1001H210000000HHSNQY'
and erm_car_limit_b.kjy <= 7; --month=6,b.kjy <= 7;这样子处理在12月份的时候即使是13也不用做特殊处理,因为也是统计到12个月的金额
-- 查询本月车辆限额量
select erm_car_limit_b.limit_e as car_limit_e,
erm_car_limit_b.limit_l as car_limit_l
from erm_car_limit_b, erm_car_limit
where nvl(erm_car_limit_b.dr, 0) = 0
and nvl(erm_car_limit.dr, 0) = 0
and erm_car_limit_b.pk_car_limit = erm_car_limit.pk_car_limit
and erm_car_limit.kjni = ''
and erm_car_limit.car = '1001H210000000HHSNQY' --PK_Car=1001H210000000HHSNQY
and erm_car_limit_b.kjy = ''
--限额已执行量
SELECT nvl(SUM(case
when er_busitem.defitem12 = '1001H21000000042XVC6' then
0
else
er_busitem.amount
end),
0) amount
from er_busitem
LEFT outer JOIN er_bxzb
ON er_bxzb.pk_jkbx = er_busitem.pk_jkbx
LEFT outer JOIN bd_accperiodmonth mon
ON mon.pk_accperiodmonth = er_busitem.DEFITEM16
where er_busitem.tablecode = 'arap_bxbusitem'
-- AND er_bxzb.djzt != 0
AND er_bxzb.djzt != -1 --不包含作废数据
AND er_busitem.pk_jkbx != 'null'
AND er_busitem.defitem24 = '1001H210000000HHSNQY' --PK_Car=1001H210000000HHSNQY
AND mon.yearmth LIKE '2016%' --YEAR=2016
AND er_busitem.dr = 0
-- AND er_bxzb.djbh != '" + djbh + "'; --修改增加如果单据存在单据编号,则表示是已保存的单据,计算执行量时扣去本带锯的执行量(本单据执行量在表体行字段扣除) --select def.name from bd_defdoc def where def.pk_defdoc = '1001H21000000042XVC6';
--er_bxzb
--实体 md_class
select * from md_class where defaulttablename ='er_bxzb'
--实体属性 md_property
select * from md_property where classid ='45a846ce-5f39-4075-8cb9-90de50517af4'and displayname ='单据状态'
--枚举 id对应md_property中的datatype
select * from md_enumvalue where id ='aed2a08a-03a0-4db7-9ab1-c30e1dc1ca17'

  

限额类费用报销单N+1原则的更多相关文章

  1. ERP费用报销操作与设计--开源软件诞生31

    赤龙ERP费用报销讲解--第31篇 用日志记录"开源软件"的诞生 [进入地址 点亮星星]----祈盼着一个鼓励 博主开源地址: 码云:https://gitee.com/redra ...

  2. odoo10 费用报销

    odo10 对费用报销进行了改进,恢复了 8.0 及之前版本具有的 单个报销包含多个 明细内容的功能. 使用步骤大致如下: 根据管理需要设立 相应的科目和分析帐户 科目 分析帐户 建立费用目录 员工录 ...

  3. java类为什么是单继承。类的继承,实现接口。

    java中提供类与类之间提供单继承. 提供多继承会可能出现错误,如:一个类继承了两个父类,而两个父类里面都有show()方法. class Fulei1{ public void show(){ Sy ...

  4. php的redis 操作类,适用于单台或多台、多组redis服务器操作

    redis 操作类,包括单台或多台.多组redis服务器操作,适用于业务复杂.高性能要求的 php web 应用. redis.php: <?php /* redis 操作类,适用于单台或多台. ...

  5. C++中的类继承之单继承&多继承&菱形继承

     C++中的类继承之单继承&多继承&菱形继承 单继承是一般的单一继承,一个子类只 有一个直接父类时称这个继承关系为单继承.这种关系比较简单是一对一的关系: 多继承是指 一个子类有两个或 ...

  6. Web---演示Servlet的相关类、表单多参数接收、文件上传简单入门

    说明: Servlet的其他相关类: ServletConfig – 代表Servlet的初始化配置参数. ServletContext – 代表整个Web项目. ServletRequest – 代 ...

  7. [Android面试题-7] 写出一个Java的Singleton类(即单例类)

    1.首先明确单例的概念和特点: a>单例类只能有一个实例 b>单例类必须自己创建一个自己的唯一实例 c>单例类必须为其他所有对象提供这个实例 2.单例具有几种模式,最简单的两种分别是 ...

  8. 测试Python类成员的单下划线,双下划线,两头下划线的区别

    首先原谅一个菜鸟叫他“两头下划线”.记得在windows编程中,很多宏定义使用下划线+大写,给人逼格很高的错觉.对于Python下划线的认识,大概是从__dict__这个属性开始的,看__dict__ ...

  9. 利用BeanUtils工具类封装表单数据

    一.BeanUtils工具类的使用 1.首先导入BeanUtils工具类的jar包 commons-beanutils-1.8.0.jar commons-logging-1.1.1.jar 2.se ...

随机推荐

  1. DB Cache

    1 DB Cache 是以bock为单位组织的缓冲区,不同大小的BLOCK对应不同的缓冲区参数 2 DB Cache的命中率越高,访问性能就越好 3 Cache中的数据块通过散列算法实现 4 每个链上 ...

  2. xshell linux传文件

    yum  install lrzsz 安装完毕即可使用 rz,sz是便是Linux/Unix同Windows进行ZModem文件传输的命令行工具 windows端需要支持ZModem的telnet/s ...

  3. Linux下MySQL5.6的修改字符集编码为UTF8

    一.登录MySQL查看用SHOW VARIABLES LIKE 'character%';下字符集,显示如下: +--------------------------+---------------- ...

  4. 跨浏览器实现盒阴影(box-shadow)效果

    现在流行的设计里总是使用了大量的阴影,看看Vista.win7里夸张的box阴影,mac里的阴影比比皆是.CSS3的box-shadow属性可以让我们轻松实现图层阴影效果,使我们可以不再总是依赖于使用 ...

  5. 修改MyEclipse内存-------OutOfMemoryError错误

    1.打开MyEclipse后,进入Windows/Preferences/Java/Installed JREs 点击后,在右边窗口选择JREs,双击后进入 2.在Default VM Argumen ...

  6. 【转】C++ 异常

    一.什么是异常处理 一句话:异常处理就是处理程序中的错误. 二.为什么需要异常处理,以及异常处理的基本思想 C++之父Bjarne Stroustrup在<The C++ Programming ...

  7. Linux内核探讨-- 第七章

    本文是个人分析<Linux内核设计与实现>而写的总结,欢迎转载,请注明出处: http://blog.csdn.net/dlutbrucezhang/article/details/136 ...

  8. CustomProgressBar

    https://github.com/eltld/CustomProgressBar-master

  9. VirtualBox从USB设备(PE)启动

    cmd中执行 VBoxManage internalcommands createrawvmdk -filename E:\usb.vmdk -rawdisk \\.\PhysicalDrive1 - ...

  10. C++检测一个文件是否存在

    ifstream::is_open - C++ Reference http://www.cplusplus.com/reference/fstream/ifstream/is_open/ // if ...