<?php
include_once 'inc/auth.inc.php';
include_once 'inc/db/dbms.php';
include_once 'inc/workflow/engine/prcsnode.class.php';
include_once ( "inc/workflow/engine/workengine.inc.php");
include_once ( "inc/workflow/inc/worklog.class.php" );
include_once("inc/utility_sms1.php");
function writeFeedBack($data){
$EDIT_TIME=date("Y-m-d H:i:s",time());
$OBJ_SQL_SYNTAX = SQLSyntaxFactory::factory ( MYOA_DBMS );
$keyValue = Array (
'RUN_ID' => $data ['run_id'],
'PRCS_ID' => $data['prcs_id'],
'USER_ID' => $data ['user_id'],
'FLOW_PRCS' => $data ['flow_prcs'],
'EDIT_TIME' => date("Y-m-d H:i:s",time()),
'FEED_FLAG' => 2,
'CONTENT' => $data['content']
);
if(!trim($keyValue["CONTENT"]) == "")
{
$sql = $OBJ_SQL_SYNTAX->getInsertSQL ( "FLOW_RUN_FEEDBACK" , $keyValue );
exequery ( TD::conn () , $sql , TRUE );
}
}
ob_end_clean();
$allow_back = $_POST['allow_back'];//退回类型
$back_counter_singn = iconv('utf-8', $MYOA_CHARSET, $_POST['back_counter_singn']);
$back_to_prcs = $_POST['back_to_prcs']; //退回步骤
$prcs_key_id = $_POST['prcs_key_id'];
if($prcs_key_id && $flow_run_prcs = getFlowRunPrcsById(intval($prcs_key_id))){
$run_id = $flow_run_prcs['RUN_ID'];
$prcs_id = $flow_run_prcs['PRCS_ID'];
$flow_prcs = $flow_run_prcs['FLOW_PRCS'];
}else{
$run_id = $_POST['run_id']; //$run_id
$prcs_id = $_POST['prcs_id']; //prcs_id
$flow_prcs = $_POST['flow_prcs']; //flow_prcs
$prcs_key_id = '';
}
$flow_id = $_POST['flow_id']; //flow_id
$user_id = $_POST['user_id'] == '' ? $_SESSION['LOGIN_USER_ID'] : $_POST['user_id'];
$back_to_prcs_arr = explode(',', $back_to_prcs);
foreach($back_to_prcs_arr as $unit_back_prcs){
if($unit_back_prcs == ''){
continue;
}
$unit_back_prcs_arr = explode('_', $unit_back_prcs);
if(count($unit_back_prcs_arr) != 3){
continue;
}
$back_prcs_nodes = array();
$back_prcs_nodes['prcs_id'] = $unit_back_prcs_arr[1];
$back_prcs_nodes['flow_prcs'] = $unit_back_prcs_arr[2];
$back_prcs_nodes['run_id'] = $run_id;
$back_prcs_nodes['flow_id'] = $flow_id;
$to_prcs_nodes[] = $back_prcs_nodes;
}
if(!empty($to_prcs_nodes)){
$prcs_node = new PrcsNode ( $flow_id , $run_id , $flow_prcs , $prcs_id, $prcs_key_id);
$check_result = $prcs_node->is_allow_back();
if($check_result == TRUE){
$prcs_node -> back_prcs($to_prcs_nodes);
foreach($to_prcs_nodes as $unit_node_info){
$prcsname = getFlowPrcsName($flow_id, $unit_node_info['flow_prcs']);
WorkLog::log ( $flow_id , $run_id , $run_name , $prcs_id , $flow_prcs , $user_id , WorkLOG::$LOG_TYPE_BASE , _('退回到第'.$unit_node_info['prcs_id'].'步骤:'.$prcsname) , TD::conn() );
}
$feedBackData = array(
'run_id' => $run_id,
'prcs_id' => $prcs_id,
'user_id' => $user_id,
'flow_prcs' => $flow_prcs,
'content' => nl2br($back_counter_singn)
);
writeFeedBack($feedBackData);
ECHO "SUCCESS|";
exit;
}else if($check_result == FALSE){
// ECHO "ERROR|"._("有人正在办理不能退回该步骤");
$prcs_node -> back_prcs($to_prcs_nodes);
foreach($to_prcs_nodes as $unit_node_info){
$prcsname = getFlowPrcsName($flow_id, $unit_node_info['flow_prcs']);
WorkLog::log ( $flow_id , $run_id , $run_name , $prcs_id , $flow_prcs , $user_id , WorkLOG::$LOG_TYPE_BASE , _('退回到第'.$unit_node_info['prcs_id'].'步骤:'.$prcsname) , TD::conn() );
}
$feedBackData = array(
'run_id' => $run_id,
'prcs_id' => $prcs_id,
'user_id' => $user_id,
'flow_prcs' => $flow_prcs,
'content' => nl2br($back_counter_singn)
);
writeFeedBack($feedBackData);
ECHO "SUCCESS|";
exit;
}
}
?>
页面路径:D:\MYOA\webroot\general\workflow\list\input_form\data\backhandle.php