--添加通过自定义档案列表编码及档案编码查询主键
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. ANDROID FRAMENT的切换(解决REPLACE的低效)

    http://www.cnblogs.com/android-joker/p/4414891.html 在项目中切换Fragment,一直都是用replace()方法来替换Fragment.但是这样做 ...

  2. X431 元征诊断枪

    X-431 Diagun是专门为汽车维修技师设计的诊断设备. 小巧的主机.强大的诊断功能.方便快捷的网上升级.一体化多功能接头,都是维修技师的首选.X-431 Diagun 是汽车维修技师的标准装备. ...

  3. 在linux下修改oracle的sys和system的密码和用户解锁

    修改oracle的sys和system的密码和用户解锁 1.再linux系统上sqlplus '/as sysdba' 进入sqlplus后就可以修改sys和system的密码了 2.alter us ...

  4. 容器的end()方法

    容器的end()方法,返回一个迭代器,需要注意:这个迭代器不指向实际的元素,而是表示末端元素的下一个元素,这个迭代器起一个哨兵的作用,表示已经处理完所有的元素. 因此,在查找的时候,返回的迭代器,不等 ...

  5. Educational Codeforces Round 7 A. Infinite Sequence 水题

    A. Infinite Sequence 题目连接: http://www.codeforces.com/contest/622/problem/A Description Consider the ...

  6. 【JavaScript】Understanding callback functions in Javascript

    Callback functions are extremely important in Javascript. They’re pretty much everywhere. Originally ...

  7. [Angular 2] Order Dynamic Components Inside an Angular 2 ViewContainer

    By default, when you generate components, they will simply be added to the page in order, one after ...

  8. JDBC连接MySQL数据库及演示样例

    JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...

  9. global $GLOBALS区别

    <?phpfunction &test(){     static $b=0;//申明一个静态变量     $b=$b+1;     echo $b;     return $b; }} ...

  10. 让ConfigurationManager打开任意的配置文件

    VisualStudio的配置文件很好很强大,用来保存数据库连接字符串或键值对都非常方便,只需要通过ConfigurationManager的ConnectionStrings或AppSettings ...