深圳全飞鸿

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 569|回复: 1
打印 上一主题 下一主题

beacon的事务处理,transaction

[复制链接]

800

主题

1379

帖子

7724

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7724
跳转到指定楼层
楼主
发表于 2021-5-26 15:48:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
范例一:smttools/st001
  1.                         $db->BeginTrans();   //开始事务处理
  2.                         $sqls=array();
  3.                         $sqls[] ="UPDATE SMT.R_TR_SN  SET ext_qty='{$extqty}',location_flag=1,work_flag=0,kitting_flag='a'  WHERE TR_SN='{$trsn}'";
  4.                         $sqls[]="insert into SMT.R_program_log (prg_name,fun_name,action_type,oldsn,out_emp,data1,data2) values('SMTTOOLS','EmptyToFull','空盘下料状态修改','{$trsn}','".$user->empno."','{$extqty}','".this.txt_extqty.Text. "')";
  5.                         $sqls[]="INSERT INTO smt.r_kitting_scan_detail (tr_sn, cust_kp_no, qty, from_location,to_location, move_type, move_reason, move_emp, move_time) VALUES ('{$trsn}', '{$kp}', '{$extqty}', '{$wo}',".
  6.                        "'KITTING', 'e', '996', '".$user->empno."', now())";
  7.                         $sqls[]="UPDATE smt.r_wo_request SET RETURN_QTY = RETURN_QTY + {$extqty} WHERE WO = '{$wo}' AND CUST_KP_NO =  '{$kp}' ";
  8.                         if($smttools->isdebug){
  9.                                 $smttools->saveLog($sqls);
  10.                         }         

  11.                         $rst=true;
  12.                         foreach($sqls as $sql){
  13.                                 $rst = $db->execute($sql);
  14.                                 if($rst){
  15.                                
  16.                                 }else{
  17.                                         $res=$db->ErrorMsg();
  18.                                         break;
  19.                                 }
  20.                         }
  21.                         if($rst==true){
  22.                                 $rst=false; //可能提交的时候出错!
  23.                                 $db -> CommitTrans();
  24.                                 $rst=true;               
  25.                         }else{
  26.                                 $db -> RollbackTrans();
  27.                         }
  28.                         return $rst;
复制代码


回复

使用道具 举报

234

主题

479

帖子

2322

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2322
沙发
发表于 2025-5-29 12:34:20 | 只看该作者

  1.         //处理数据库连接
  2.         $this->app->prepare_mes();

  3.         //开始处理修改数据
  4.         $sqls=array();
  5.         $sqls[] ="update smt.c_stencil_base set work_flag=1,check_time=now() where  stencil_sn='{$trsn}'";
  6.         $sqls[] ="insert into smt.c_stencil_list select * from  smt.c_stencil_base where   stencil_sn='{$trsn}'";

  7.         //开始事务处理
  8.         $this->app->mes->BeginTrans();   
  9.         $rst=true;
  10.         foreach($sqls as $sql){
  11.                 $rst = $this->app->mes->execute($sql);
  12.                 if($rst){
  13.                        
  14.                 }else{
  15.                         $res=$this->app->mes->ErrorMsg();
  16.                         $this->app->AjaxFail("{$res},{$sql}", 100);
  17.                         break;
  18.                 }
  19.         }

  20.         //开始提交
  21.         if($rst==true){
  22.                 $this->app->mes -> CommitTrans();
  23.         }else{
  24.                 $this->app->mes -> RollbackTrans();
  25.                 return;
  26.         }

  27.         //要取消AjaxOK,改为AjaxPass函数,因为AjaxPass和AjaxFail保持一样的参数顺序
  28.         $this->app->AjaxOK($trsninfo,"钢网{$trsn}收入工具室!");   
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|nagomes  

GMT+8, 2025-6-28 04:34 , Processed in 0.061427 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表