///

/// 总部审核

///

///

///

public int Update(Hashtable ht)

{

//修改

StringBuilder sb = new StringBuilder();

sb.Append("declare \r\n");

sb.Append("n_id number; \r\n");

sb.Append("n_branch_id number;\r\n");

sb.Append("n_stock_exist_count number;\r\n");

sb.Append("n_stock number;\r\n");

sb.Append("v_code varchar2(50);\r\n");

sb.Append("cursor parts_apply_refer_data is select parts_id,fact_send_count,fact_receive_count,send_add_count,bohui_count from t_parts_apply_refer where apply_id=:apply_id;\r\n");

sb.Append(" parts_apply_refer_row parts_apply_refer_data%rowtype;\r\n");

sb.Append("begin \r\n");

sb.Append("lock table t_parts_stock in share mode wait 10;\r\n");

sb.Append("lock table t_newparts_apply in share mode wait 10;\r\n");

sb.Append("select id into n_id from t_parts_check where apply_id=:apply_id; \r\n");

sb.Append("select branch_id,apply_code into n_branch_id,v_code from t_newparts_apply where id=:apply_id; \r\n");

sb.Append("update t_parts_check set identify_audit_result=:identify_audit_result,identify_status=:identify_status,update_person=:update_person,update_time=sysdate where apply_id=:apply_id; \r\n");

sb.Append("update t_newparts_apply set status = :parts_apply_status , update_person=:update_person,update_time=sysdate where id = :apply_id; \r\n");

//审核通过,库存加入坏件

if (ht["parts_apply_status"].ToString()=="12")

{

sb.Append(" for parts_apply_refer_row in parts_apply_refer_data loop \r\n"); //循环遍历配件申请配件表中每一行数据

sb.Append("n_stock_exist_count:=0;\r\n");

sb.Append("if parts_apply_refer_row.bohui_count>0 then \r\n"); //只有驳回大于0的记录才能入库

sb.Append("select count(0),max(stock_count) into n_stock_exist_count,n_stock from t_parts_stock where branch_id=n_branch_id and parts_id=parts_apply_refer_row.parts_id and return_type=2; \r\n");

sb.Append("if n_stock_exist_count>0 then \r\n"); //如果说当前库存这条记录的库存数大于0就更新库存

sb.Append("update t_parts_stock set stock_count=stock_count+parts_apply_refer_row.bohui_count,update_time=sysdate where branch_id=n_branch_id and parts_id=parts_apply_refer_row.parts_id and return_type=2; \r\n");

sb.Append("insert into t_parts_in_out_history (id,part_id,parts_class,in_out_type,in_out_count,branch_id,precedure_code,operation_time,operation_person,remark,current_stock) values (seq_parts_his.nextval,parts_apply_refer_row.parts_id,2,1,parts_apply_refer_row.bohui_count,n_branch_id,v_code,sysdate,:update_person,'收件异常入库',n_stock+parts_apply_refer_row.bohui_count); \r\n");

sb.Append("else \r\n"); //否则添加当前库存这条记录的相关信息

sb.Append("insert into t_parts_stock (id,parts_id,branch_id,repair_id,stock_count,alarm_count,return_type,update_time) values (seq_parts_stock.nextval,parts_apply_refer_row.parts_id,n_branch_id,null,parts_apply_refer_row.bohui_count,1,2,sysdate); \r\n");

sb.Append("insert into t_parts_in_out_history (id,part_id,parts_class,in_out_type,in_out_count,branch_id,precedure_code,operation_time,operation_person,remark,current_stock) values (seq_parts_his.nextval,parts_apply_refer_row.parts_id,2,1,parts_apply_refer_row.bohui_count,n_branch_id,v_code,sysdate,:update_person,'收件异常入库',parts_apply_refer_row.bohui_count); \r\n");

sb.Append("end if; \r\n");

sb.Append("end if; \r\n");

sb.Append("end loop; \r\n");

}

//添加流程

sb.Append("insert into t_procedure_log (procedure_type,refer_id,status,handle_person,handle_time,remark) values (2,:apply_id,:parts_apply_status,:update_person,sysdate,:identify_audit_result); \r\n");

sb.Append("insert into t_procedure_log (procedure_type,refer_id,status,handle_person,handle_time,remark) values (7,n_id,:identify_status,:update_person,sysdate,:identify_audit_result); \r\n");

sb.Append("end; \r\n");

return oc.Execute(sb.ToString(),ht);

}

Oracle游标带参数

Oracle游标是可以带参数的,而SqlServer的游标就不可以了 create or replace procedure a as cursor b(c_id int)is select * fr ...

Oracle使用jdbc调用带游标参数的存储过程

package com.jckb.procedure; import java.sql.CallableStatement; import java.sql.Connection; import ja ...

oracle 游标使用大全

转:http://www.cnblogs.com/fjfzhkb/archive/2007/09/12/891031.html oracle的游标和例子! 游标-----内存中的一块区域,存放的是se ...

Oracle游标动态赋值

1. oracle游标动态赋值的小例子 -- 实现1:动态给游标赋值 -- 实现2:游标用表的rowtype声明,但数据却只配置表一行的某些字段时,遍历游标时需fetch into到精确字段 CREA ...

Oracle游标

转自:http://www.cnblogs.com/fjfzhkb/archive/2007/09/12/891031.html 游标-----内存中的一块区域,存放的是select 的结果      ...

Oracle游标介绍

Oracle游标使用详解: 游标: 用来查询数据库,获取记录集合(结果集)的指针,我们所说的游标通常是指显式游标,因此从现在起没有特别指明的情况,我们所说的游标都是指显式游标.要在程序中使用游标,必须 ...

[转载]oracle游标概念讲解

原文URL:http://www.2cto.com/database/201203/122387.html ORACLE游标概念讲解 什么是游标?  ①从表中检索出结果集,从中每次指向一条记录进行交互 ...

ORACLE游标概念讲解

1,什么是游标? ①从表中检索出结果集,从中每次指向一条记录进行交互的机制. ②关系数据库中的操作是在完整的行集合上执行的.   由 SELECT 语句返回的行集合包括满足该语句的 WHERE 子句所 ...

oracle --游标详解(转)

转自:http://blog.csdn.net/liyong199012/article/details/8948952 游标的概念:     游标是SQL的一个内存工作区,由系统或用户以变量的形式定 ...

oracle游标透彻详解分析

主:本文来自:http://www.cnblogs.com/huyong/archive/2011/05/04/2036377.html 4.1 游标概念 4.1.1 处理显式游标 4.1.2 处理隐 ...

随机推荐

AngularJS Best Practices: ng-include vs directive

For building an HTML template with reusable widgets like header, sidebar, footer, etc. Basically the ...

oracle单机改变归档路径

oracle 归档日志文件路径设置 1.  查看LOG_ARCHIVE_DEST 与 ( LOG_ARCHIVE_DEST_n 或 DB_RECOVERY_FILE_DEST )参数情况注意(  LO ...

Linux下如何查看哪个进程占用内存多?

1.top top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 可以直接使用top命令后,查看%MEM的内容.可以选择按进程查看或者 ...

mybatis做like模糊查询

http://www.cnblogs.com/cyttina/p/3894428.html

jQuery:获取浏览器中的分辨率

JQuery:

position定位问题

position属性规定了元素的定位类型,默认为static.该属性还可以有下值:absolute:生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位.fixed:生成绝对定位的 ...

17.1.1.3 Creating a User for Replication 创建一个用于用于复制:

17.1.1.3 Creating a User for Replication 创建一个用于用于复制: 每个slave 连接到master 使用一个MySQL 用户名和密码, 因此必须有一个用户账户 ...

Java课程设计-学生基本信息管理 201521123036

团队课程设计博客链接 团队博客链接 个人负责模块或任务说明 个人负责模块 任务说明 用户登录,注册 登录,注册,判断用户是否存在,添加用户 学生信息管理菜单 按钮,跳转相应界面,退出程序 学生信息添加 ...

android 使用Ksoap2工具类实现WebService网络编程

1.下载Ksoap2,将jar包拷贝到libs目录下.然后右键点击拷贝进来的jar,在弹出菜单中点击Add As Library. 2.在AndroidManifest.xml中添加访问网络的权限 & ...

使用iozone测试磁盘性能

IOzone是一个文件系统测试基准工具.可以测试不同的操作系统中文件系统的读写性能.可以通过 write, re-write, read, re-read, random read, random w ...

oracle 游标当方法参数,Oracle游标、参数的使用例子相关推荐

  1. oracle 复制表方法,(转)oracle数据库之间 表复制方法一(extent 方法)

    一般我们采用复制表的方式主要是 create table table_name as select /*+ parallel (t 10)*/ * from t_name t ... insert / ...

  2. Oracle入门(十四.13)之带参数的游标

    一.带参数的游标 参数是一个变量,其名称用于游标声明中. 当游标打开时,参数值被传递给Oracle服务器,Oracle服务器使用它来决定要将哪些行检索到光标的活动集中. 这意味着您可以在块中多次打开和 ...

  3. oracle中判断空,Oracle中判断空游标的方法

    1.声明包 create or replace package TAL_TEST is -- Author : ADMINISTRATOR -- Created : 2012/12/9 15:15:3 ...

  4. oracle 游标循环 while,Oracle的游标使用方法 三种循环

    例: 游标 LOOP循环游标 SET SERVERIUTPUT ON DECLARE R_emp EMP%ROWTYPE; CURSOR c_emp IS SELECT * FROM emp; BEG ...

  5. oracle数据库中游标的使用,oracle数据库游标的使用方法

    游标分为隐式游标和显示游标. 一.隐式游标 对于select * into和DML操作(update.delete.insert)都附带有一个隐式游标. 隐式游标的属性 SQL%ROWCOUNT   ...

  6. oracle sql文本 参数,ORACLE 参数文件

    参数文件:spfile / pfile 查看目前系统使用的参数文件信息: show parameter spfile; 动态参数文件spfile文件:二进制文件 位置:$ORACLE_HOME/dbs ...

  7. oracle父游标和子游标,诊断Oracle high version count(高版本游标)问题

    什么是high version cursor(高版本游标)?对于一个特定的游标有多少个版本就属于高版本游标是没有明确定义的.对于不同的系统有不同 什么是high version cursor(高版本游 ...

  8. 使用oracle 游标修改数据,修改oracle数据库游标

    SQL游标原理和使用方法 版权声明:本文为博主原创文章,未经博主允许不得转载.https://blog.csdn.net/chinahuyong/article/details/3552248 SQL ...

  9. oracle数据库游标是什么意思,oracle数据库游标用法详解

    oracle 游标用法详解 1.什么是游标 游标是一种PL/SQL控制结构,可以对SQL语句进行显示控制,便于对表的数据逐条进行处理 2.游标分类 显示游标: Declared and named b ...

最新文章

  1. LSTM之父:吐槽了两年,来划划重点:“这5篇最高引论文都源于我们。”
  2. 基于STC8G1K08信标信号板设计
  3. 服务器支持热部署吗,热部署
  4. 重置linux桌面,Ubuntu 18.04小贴士:重置Gnome桌面与使用隐藏的屏幕录像工具
  5. 201103阶段二linux gdb调试与ftp配置
  6. docker学习笔记(一)docker入门
  7. maya的颤动怎么做_必看!新手学习MAYA的几个建议
  8. [转载] 七龙珠第一部——第063话 悟空大反击
  9. 【JavaScript】Canvas绘制美丽的网螺旋旋转图形
  10. CentOS7下php安装mcrypt扩展
  11. 指针的理解 -- java程序员学C语言日记二
  12. CV Code|计算机视觉开源周报20200601期
  13. Java中的13个原子操作类介绍
  14. 用newlisp管理windows下的nginx
  15. php rsa2 pkcs8,关于pkcs8 与 rsa 互转的一个坑
  16. 人工智能数学基础:无理数e的由来以及对数、指数函数的求导
  17. 关于上海四金计算和工资对照表(转载)
  18. less 自适应高度_使用HTML5和Less框架3的自适应Web设计
  19. 告别调参,AutoML新书发布
  20. warning: unused variable ‘D‘ [-Wunused-variable]|

热门文章

  1. 【智能ABC】WIN10智能ABC的替换方案
  2. 针对U盘文件的盗与防攻略
  3. 刀具材料及其合理利用
  4. 惊!终于知道为什么我的电脑在升级之后磁盘容量看起来让人心忧
  5. HDU2546-饭卡
  6. Lua中ipairs与pairs的区别
  7. JDK1.8中的HashMap
  8. 人脸识别走进地铁安防 八通线视频监控完成升级
  9. android 360 悬浮窗口,Android实现类似360,QQ管家那样的悬浮窗
  10. Python | Python 实现RSA加解密 验签 无 长度限制 加密解密, 分段加密