📄 h_func.php
字号:
<?php#################################################### Editor by Shuweich#### Date : 20070307#### 自定义函数####################################################// 取得隶属的工作证号列表function f_lsry($GZZH, $lscc) { global $xoopsDB; $TAx = $xoopsDB->prefix("market_xsyzl"); // 初始化变量 $GZZ = '"'.$GZZH.'",'; $GZZ0 = '"'.$GZZH.'"'; for ( $i=0; $i<$lscc; $i++ ) { if ( empty($GZZ0) ) $GZZ0 ='""'; $que_i = 'select gzzh from '.$TAx.' where lsbm in ('.$GZZ0.')'; $GZZ0 = ''; $res_i = $xoopsDB->query($que_i); while ( $row_i = $xoopsDB->fetchrow($res_i) ){ $GZZ0 .= '"'.$row_i[0].'",'; } $GZZ .= $GZZ0; $GZZ0 = substr($GZZ0,0,-1); } $GZZ = empty($GZZ)?"":substr($GZZ,0,-1); return $GZZ;}// 审核流程的记录及下笔审核流程的生成function h_djsh($Item_ID, $item_vsn0, $Action, $Shjb, $ROLE, $GZZH, $Client_Info, $op_desc0, $djsh_bh, $tab_name, $col_fname, $col_name) { // 单据标识 单据序号 本次操作 审核极 角色 员工号 客户端信息 提交留言 记录序号 VSN主表名 VSN编号字段名 VSN之编号字段对应的名称 ## 记录审核信息 global $xoopsDB; // 审核记录处理 $TAs = $xoopsDB->prefix("market_djsh"); // 记录当前审核操作 // 若为新添加,则增加记录,否则修改操作标志[oper]为1 $que = "select item_id,vsn,action from $TAs where item_id='".$Item_ID."' and vsn='".$item_vsn0."' and action='".$Action."'"; // echo "F Que is : ".$que."<br />\n"; $res = $xoopsDB->query($que); $rno = $xoopsDB->getRowsNum($res); if ( $rno < 1 ) { $ins = "insert into $TAs set "; $ins .= "bh=0,item_id='".$Item_ID."',vsn='".$item_vsn0."',shrq=now(),action='".$Action."',shjb=".$Shjb.",role='".$ROLE."',"; $ins .= "shr='".$GZZH."',oper=1,local_info='".$Client_Info."',"; $ins .= "tab_name='".$tab_name."',col_fname='".$col_fname."',col_name='".$col_name."' "; // echo "Add!<br />\n"; // echo "\n<hr />INS is : ".$ins; $inst = $xoopsDB->queryF($ins); if ( $inst ) $SH_Ins=1; else $SH_Ins=0; } else { // 只需要修改本条记录的 oper = 1即可 $upd = "update $TAs set oper=1 where bh=".$djsh_bh; // echo "Modify!<br />\n"; // echo "\n<hr />UPD is : ".$ins; $updt = $xoopsDB->queryF($upd); if ( $updt ) $SH_Ins=1; else $SH_Ins=0; } // 生成下笔审核记录,同时将提交留言写入表中 $TAd = $xoopsDB->prefix("market_shdy"); $SH_Nxt=2; // 若审核级别不为0,则生成下笔审核记录。否则表明记录生效,修改oper = 1[此举已在上面实现] 并添加审核人记录[oper = 1]即可 if ( $Shjb != 0 ) { // $Shjb--; ## shjb不一定为连续整数,依据实际情况再做修改,即当审核流程改变时,不需要更新所有审核级别 // echo "不为零!<br />\n"; $sque = "select shjb from $TAd where item_id='".$Item_ID."' and shjb<".$Shjb." order by shjb desc limit 1"; $sres = $xoopsDB->query($sque); list($Shjb) = $xoopsDB->fetchrow($sres); // 取下笔审核权限 $que = "select shjb,role,only_gzzh,repeal from $TAd where item_id='".$Item_ID."' and action='".$Action."' and shjb=".$Shjb; $res = $xoopsDB->query($que); list($Shjb,$Role,$Only_Gzzh,$Repeal) = $xoopsDB->fetchrow($res); // 判断传递给下一步的提示信息,即记录已经提交给XX if (empty($Only_Gzzh)) { $npv = 'role'; $npc = $Role; } else { $npv = 'gzzh'; $npc=$Only_Gzzh; } // 生成下笔审核记录 $ins = "insert into $TAs set "; $ins .= " bh=0,item_id='".$Item_ID."',vsn='".$item_vsn0."',shrq=now(),action='".$Action."',shjb=".$Shjb.",role='".$Role."',"; $ins .= " only_gzzh='".$Only_Gzzh."',oper_desc='".htmlspecialchars($op_desc0)."',"; $ins .= " repeal='".$Repeal."',tjr='".$GZZH."',oper=5,local_info='".$Client_Info."',"; // 写入 "vsn" 字段关联的表文件及 字段名 编号对应的名称 $ins .= " tab_name='".$tab_name."',col_fname='".$col_fname."',col_name='".$col_name."' "; // echo "\n<hr />INS is : ".$ins; $inst = $xoopsDB->queryF($ins); if ( $inst ) $SH_Nxt=1; else $SH_Nxt=0; } else { // 提示记录生效 // echo "为零!<br />\n"; $npv = 'Confirm'; $npc = '本记录已经生效。'; $ins = "insert into $TAs set "; $ins .= " bh=0,item_id='".$Item_ID."',vsn='".$item_vsn0."',shrq=now(),action='".$Action."',"; $ins .= " oper_desc='".htmlspecialchars($op_desc0)."',"; $ins .= " shr='".$GZZH."',oper=1,local_info='".$Client_Info."'"; // 写入 "vsn" 字段关联的表文件及 字段名 编号对应的名称 // echo "\n<hr />INS is : ".$ins; $inst = $xoopsDB->queryF($ins); if ( $inst ) $SH_Nxt=1; else $SH_Nxt=0; // 写入生效标志 $mTAB = $xoopsDB->prefix($tab_name); $upd = "update $mTAB set dat_sta='1' where item_id='".$Item_ID."' and ".$col_fname."='".$item_vsn0."'"; // echo "<br />\n生效标志:".$upd."<br />\n"; $updt = $xoopsDB->queryF($upd); if ( $updt ) $SH_Upt=1; else $SH_Upt=0; } $re_v = array(); $re_v[]=$SH_Ins; $re_v[]=$SH_Nxt; $re_v[]=$npv; $re_v[]=$npc; return $re_v;}// 退回单据的处理流程function t_djsh($Item_ID, $item_vsn0, $Action, $Shjb, $ROLE, $GZZH, $Client_Info, $op_desc0, $djsh_bh, $tab_name, $col_fname, $col_name) { // 单据标识 单据序号 本次操作 审核极 角色 员工号 客户端信息 提交留言 记录序号 VSN主表名 VSN编号字段名 VSN之编号字段对应的名称 ## 记录审核信息 global $xoopsDB; // 审核记录处理 $TAs = $xoopsDB->prefix("market_djsh"); // 记录当前审核操作 $que = "select item_id,vsn,action from $TAs where item_id='".$Item_ID."' and vsn='".$item_vsn0."' and action='".$Action."'"; // echo "F Que is : ".$que."<br />\n"; $res = $xoopsDB->query($que); $rno = $xoopsDB->getRowsNum($res); // 只需要修改本条记录的 oper = 1即可 $upd = "update $TAs set oper=1 where bh=".$djsh_bh; // echo "Modify!<br />\n"; // echo "\n<hr />UPD is : ".$ins; $updt = $xoopsDB->queryF($upd); if ( $updt ) $SH_Ins=1; else $SH_Ins=0; // 生成单据打回审核记录,同时将提交留言写入表中 $TAd = $xoopsDB->prefix("market_shdy"); $SH_Nxt=2; // 写入打回单据记录 $sque = "select shjb from $TAd where item_id='".$Item_ID."' and shjb>".$Shjb." order by shjb limit 1"; $sres = $xoopsDB->query($sque); list($Shjb) = $xoopsDB->fetchrow($sres); // 取下笔审核权限 $que = "select shjb,role,only_gzzh,repeal from $TAd where item_id='".$Item_ID."' and action='".$Action."' and shjb=".$Shjb; $res = $xoopsDB->query($que); list($Shjb,$Role,$Only_Gzzh,$Repeal) = $xoopsDB->fetchrow($res); // 判断传递给下一步的提示信息,即记录已经打回给XX if (empty($Only_Gzzh)) { $npv = 'role'; $npc = $Role; } else { $npv = 'gzzh'; $npc=$Only_Gzzh; } // 生成单据打回记录 $ins = "insert into $TAs set "; $ins .= " bh=0,item_id='".$Item_ID."',vsn='".$item_vsn0."',shrq=now(),action='".$Action."',shjb=".$Shjb.",role='".$Role."',"; $ins .= " only_gzzh='".$Only_Gzzh."',oper_desc='".htmlspecialchars($op_desc0)."',"; $ins .= " repeal='".$Repeal."',tjr='".$GZZH."',oper=6,local_info='".$Client_Info."',"; // 写入 "vsn" 字段关联的表文件及 字段名 编号对应的名称 $ins .= " tab_name='".$tab_name."',col_fname='".$col_fname."',col_name='".$col_name."' "; // echo "\n<hr />INS is : ".$ins; $inst = $xoopsDB->queryF($ins); if ( $inst ) $SH_Nxt=1; else $SH_Nxt=0; // 写入退回标志 $mTAB = $xoopsDB->prefix($tab_name); $upd = "update $mTAB set dat_sta='6' where item_id='".$Item_ID."' and ".$col_fname."='".$item_vsn0."'"; // echo "<br />\n退回标志:".$upd."<br />\n"; $updt = $xoopsDB->queryF($upd); if ( $updt ) $SH_Upt=1; else $SH_Upt=0; $re_v = array(); $re_v[]=$SH_Ins; $re_v[]=$SH_Nxt; $re_v[]=$npv; $re_v[]=$npc; return $re_v;}// 作废单据的处理流程function f_djsh($Item_ID, $item_vsn0, $Action, $Shjb, $ROLE, $GZZH, $Client_Info, $op_desc0, $djsh_bh, $tab_name, $col_fname, $col_name) { // 单据标识 单据序号 本次操作 审核极 角色 员工号 客户端信息 提交留言 记录序号 VSN主表名 VSN编号字段名 VSN之编号字段对应的名称 ## 记录审核信息 global $xoopsDB; // 审核记录处理 ---- 作废 $TAs = $xoopsDB->prefix("market_djsh"); // 记录当前审核操作 $que = "select item_id,vsn,action from $TAs where item_id='".$Item_ID."' and vsn='".$item_vsn0."' and action='".$Action."'"; // echo "F Que is : ".$que."<br />\n"; $res = $xoopsDB->query($que); $rno = $xoopsDB->getRowsNum($res); // 只需要修改本条记录的 oper = 1即可 $upd = "update $TAs set oper=1 where bh=".$djsh_bh; // echo "Modify!<br />\n"; // echo "\n<hr />UPD is : ".$ins; $updt = $xoopsDB->queryF($upd); if ( $updt ) $SH_Ins=1; else $SH_Ins=0; // 生成单据作废审核记录,同时将提交留言写入表中 $TAd = $xoopsDB->prefix("market_shdy"); $SH_Nxt=2; // 写入作废单据记录 $sque = "select shjb from $TAd where item_id='".$Item_ID."' and shjb>".$Shjb." order by shjb limit 1"; $sres = $xoopsDB->query($sque); list($Shjb) = $xoopsDB->fetchrow($sres); // 取下笔审核权限 $que = "select shjb,role,only_gzzh,repeal from $TAd where item_id='".$Item_ID."' and action='".$Action."' and shjb=".$Shjb; $res = $xoopsDB->query($que); list($Shjb,$Role,$Only_Gzzh,$Repeal) = $xoopsDB->fetchrow($res); // 判断传递给下一步的提示信息,即单据作废原因XX if (empty($Only_Gzzh)) { $npv = 'role'; $npc = $Role; } else { $npv = 'gzzh'; $npc=$Only_Gzzh; } // 生成单据打回记录 $ins = "insert into $TAs set "; $ins .= " bh=0,item_id='".$Item_ID."',vsn='".$item_vsn0."',shrq=now(),action='".$Action."',shjb=".$Shjb.",role='".$Role."',"; $ins .= " only_gzzh='".$Only_Gzzh."',oper_desc='".htmlspecialchars($op_desc0)."',"; $ins .= " repeal='".$Repeal."',tjr='".$GZZH."',oper=4,local_info='".$Client_Info."',"; // 写入 "vsn" 字段关联的表文件及 字段名 编号对应的名称 $ins .= " tab_name='".$tab_name."',col_fname='".$col_fname."',col_name='".$col_name."' "; // echo "\n<hr />INS is : ".$ins; $inst = $xoopsDB->queryF($ins); if ( $inst ) $SH_Nxt=1; else $SH_Nxt=0; // 写入作废标志 $mTAB = $xoopsDB->prefix($tab_name); $upd = "update $mTAB set dat_sta='4' where item_id='".$Item_ID."' and ".$col_fname."='".$item_vsn0."'"; // echo "<br />\n作废标志:".$upd."<br />\n"; $updt = $xoopsDB->queryF($upd); if ( $updt ) $SH_Upt=1; else $SH_Upt=0; $re_v = array(); $re_v[]=$SH_Ins; $re_v[]=$SH_Nxt; $re_v[]=$npv; $re_v[]=$npc; return $re_v;}?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -