--添加通过自定义档案列表编码及档案编码查询主键
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. Javascript实现笛卡儿积算法

    在根据商品属性计算SKU时,通常会对商品不同选项的不同属性进行笛卡儿积运算. 这是在NodeJs里的实现版本,目前用在生产环境. function cartesian(elements) { if ( ...

  2. 二进制程序分析工具Pin在Windows系统中的安装和使用方法

    这篇日志其实很弱智,也是因为换了新电脑,实验环境不全(当然,做这个实验我是在虚拟机里,因为接下来想拿些恶意代码的数据),所以这里记录一下在Windows下怎么安装和使用Pin这个程序分析领域最常用的工 ...

  3. C++经典面试题

    1.int a=5,则 ++(a++)的值是() A.5      B.   6          C.7       D.逻辑错误 a++返回的是一个暂时变量,这里是右值,不能再前面++了 2.以下 ...

  4. 在C#中利用Nuget包使用SQLite数据库和Linq to SQLite

    本来是学习在VB中使用SQLite数据库和Linq to SQLite,结果先学习到了在C#中使用SQLite数据库和Linq to SQLite的方法,写出来与大家共同学习.(不知道算不算不务正业) ...

  5. HDU 4757 Tree 可持久化字典树

    Tree Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=4757 Des ...

  6. 《Java虚拟机原理图解》 1.2、class文件里的常量池

    [最新更新:2014/11/11]  了解JVM虚拟机原理 是每个Java程序猿修炼的必经之路. 可是因为JVM虚拟机中有非常多的东西讲述的比較宽泛.在当前接触到的关于JVM虚拟机原理的教程或者博客中 ...

  7. 007_尚学堂_高明鑫_android 之项目的打包apk与apk的反编译

    http://www.tudou.com/programs/view/kMQlxff8evM/

  8. TP复习16

    'APP_GROUP_LIST' => 'Home,Admin', //项目分组设定'DEFAULT_GROUP' => 'Home', //默认分组 开分组复制上面 AjaxReturn

  9. Android6.0动态权限申请步骤以及需要注意的一些坑

    因为工作需要,简单研究了一下Android6.0权限申请,在Google提供的sample的基础上,写了一个简单的demo.算是自己的笔记吧,可能会比较混乱,主要是方便以后查看.后期有别的问题,随时更 ...

  10. Matlab程序怎样打包

    本人安装的版本号是MATLAB(R2010b) 打包过程例如以下: MATLAB命令窗体输入deploytool,打开一个Eeployment Project的窗体: 1.在Name输入你想要打包后的 ...