网站建设汇报会,建设工程合同的分类,做网站卖假名牌违法吗,阿里巴巴自助建站的一般流程通达OA-通用版-V12#xff0c;流程及表单自定义好用的类 V1.0 V1.0
日期#xff1a;2023年10月19日 新建类文件#xff0c;将下面代码复制到文件中即可。 功能说明#xff1a; 1、根据flow_id#xff0c;可以获取流程表单相关的表名、及字段名。 2、根据run_id#xff0… 通达OA-通用版-V12流程及表单自定义好用的类 V1.0 V1.0
日期2023年10月19日 新建类文件将下面代码复制到文件中即可。 功能说明 1、根据flow_id可以获取流程表单相关的表名、及字段名。 2、根据run_id可以获取流程表单相关的的表名、字段名、及流程表单中用户数据。
?php
/*** 日期2023年10月19日* 说明整合定制开发过程中常用的功能* 版本V1.0* 适用版本通用版V12/PHP 7.2.34* 依赖OA系统数据库连接。include_once inc/auth.inc.php;或include_once inc/conn.php;*/
?php
/*** 日期2023年10月19日* 说明整合定制开发过程中常用的功能* 版本V1.0* 适用版本通用版V12/PHP 7.2.34* 依赖OA系统数据库连接。include_once inc/auth.inc.php;或include_once inc/conn.php;*/
class zztdBpmClass{//具体流程的表名前缀var $tbNamePrebpm_data_;var $mainAndListarray();var $flow_id0;var $run_id0;/*** * 参数说明* $mainAndListarray(//此参数必须。* main,//表示当前表单固定的必须的* 列表控件名称1,* 列表控件名称2* )* $run_id查询流程表单的具体数据则此参数必须。* $flow_id,查询流程数据表名称及表中的字段。传入$run_id时可不填此参数*/function __construct(){//$mainAndList,$run_id0,$flow_id0$argsfunc_get_args();$argsnumfunc_num_args();switch ($argsnum) {case 1:$this-mainAndList$args[0];break;case 2:$this-mainAndList$args[0];$this-run_id$args[1];$data$this-getBpmRun();$this-flow_id$data[FLOW_ID];break;case 3:$this-mainAndList$args[0];$this-run_id$args[1];$this-flow_id$args[2];break;default:break;}}/*** getBpmRun* 说明根据流水号run_id获取流程的信息* return array 一维数组*/public function getBpmRun(){$dataarray();$sqlsprintf(select * from bpm_run where RUN_ID%d,$this-run_id);$resexequery(TD::conn(),$sql);$datamysqli_fetch_assoc($res);return $data;}/***getSortAndDesc* return array(main表单名称,detail_828列表控件名称) */public function getSortAndDesc(){$dataarray();$sqlsprintf(select * from bpm_variable_sort where FLOW_ID%d,$this-flow_id);$resexequery(TD::conn(),$sql);while ($rowmysqli_fetch_assoc($res)) {if($row[TYPE]main){$typemain;}else{$type$row[TYPE]._.$row[ID];}$data[$type]$row[DESC];}return $data;}/*** getBpmTableAndColumn* 说明根据流程flow_id获取流程的表名及字段名、列表控件的表名及字段名* return array(0array(//main的键值desc表单名称,tableNameArrarray(bpm_data_537,bpm_data_537_child//如果表单中有多行文本框时则有子表),tableColumArrarray(data_m18951申请日期,data_m18954报销人)),1array(//列表控件名称1键值desc列表控件名称,tableNameArrarray(bpm_data_537_list_828,//如果存在列表控件bpm_data_537_list_828_child//如果列表控件中有多行文本框时则有子表),tableColumArrarray(data_m18984派车单号,data_m18985报告编号)),2array(//列表控件名称2键值desc列表控件名称,tableNameArrarray(bpm_data_537_list_829,//如果存在列表控件bpm_data_537_list_829_child//如果列表控件中有多行文本框时则有子表),tableColumArrarray(data_m19004派车单号,data_m19005报告编号)))*/public function getBpmTableAndColumn(){//表名前缀$tbPre$this-tbNamePre.$this-flow_id;//返回数据$dataarray();$sqlsprintf(select * from bpm_variable_sort where FLOW_ID%d,$this-flow_id);$resexequery(TD::conn(),$sql);while ($rowmysqli_fetch_assoc($res)) {$tableName;$tableNameArrarray();$tableColumArrarray();if($row[TYPE]main){$typearray_search(main,$this-mainAndList);$tableName$tbPre;}else{$typearray_search($row[DESC],$this-mainAndList);$tableName$tbPre._list_.$row[ID];}if($typefalse){continue;}array_push($tableNameArr,$tableName);$sql2sprintf(select * from bpm_variable where SORT_ID %d,$row[ID]); $res2exequery(TD::conn(),$sql2);$i0;while ($row2mysqli_fetch_assoc($res2)) {$tableColumArr[$row2[NAME]]$row2[DESC];if($i0$row2[TYPE]text){ //如果有一个控件类型为text则存在xx_child子表$tableName$tableName._child;array_push($tableNameArr,$tableName);$i;}}asort($tableNameArr);//确保子表_child在主表后面ksort($tableColumArr);//字段名升序。$data[$type]array(desc$row[DESC],table$tableNameArr,cols$tableColumArr);}ksort($data);return $data;}/*** 根据run_id获取当前流程的表单数据* return array(0array(//main的键值desc表单名称,tableNameArrarray(bpm_data_537,bpm_data_537_child//如果表单中有多行文本框时则有子表),tableColumArrarray(data_m18951申请日期,data_m18954报销人),dataarray(0array(data_m189512023年10月19日,data_m18954张三))),1array(//列表控件名称1键值desc列表控件名称,tableNameArrarray(bpm_data_537_list_828,//如果存在列表控件bpm_data_537_list_828_child//如果列表控件中有多行文本框时则有子表),tableColumArrarray(data_m18984派车单号,data_m18985报告编号),dataarray(0array(data_m18984PCDBH-001,data_m18985BGBH-001))),2array(//列表控件名称2键值desc列表控件名称,tableNameArrarray(bpm_data_537_list_829,//如果存在列表控件bpm_data_537_list_829_child//如果列表控件中有多行文本框时则有子表),tableColumArrarray(data_m19004姓名,data_m19005开始日期),dataarray(0array(data_m19004李四,data_m190052023年10月19日))))* */public function getBpmData(){$data$this-getBpmTableAndColumn();$tbArrarray();foreach($data as $k$v){$tbArr$v[table];$tmp_dataarray();//查询数据$cTbArrcount($tbArr);if($cTbArr1){$sqlsprintf(select * from %s where run_id%d,$tbArr[0],$this-run_id);}else if($cTbArr2){$sqlsprintf(select * from %s as a join %s as b on a.idb.id where a.run_id%d,$tbArr[0],$tbArr[1],$this-run_id);}$resexequery(TD::conn(),$sql);while ($rowsmysqli_fetch_assoc($res)) {foreach($rows as $k2$v2){if($v2null){//重置值为null的空字符串$rows[$k2];}}$tmp_data[]$rows;}$data[$k][data]$tmp_data;}return $data;}}调用示例
?php
require_once inc/auth.inc.php;
require_once zztdBpmClass.php;
echo pre;
$run_id196444;
//$data$zztdBpmClass-getBpmTableAndColumn();
$arrarray(main,公车出行费用明细,自行出行费用明细
);
$zztdBpmClassnew zztdBpmClass($arr,$run_id);
$data$zztdBpmClass-getBpmData();
var_dump($data);