📄 turn_submit.php
字号:
<?php
include_once( "inc/auth.php" );
include_once( "inc/utility.php" );
include_once( "inc/utility_file.php" );
include_once( "inc/utility_sms1.php" );
include_once( "../../prcs_role.php" );
include_once( "condition.php" );
include_once( "../export_flow.php" );
$RUN_ROLE = run_role( $RUN_ID, $PRCS_ID );
if ( $TOP_FLAG_OLD != 2 )
{
do
{
if ( !find_id( $RUN_ROLE, 1 ) || !find_id( $RUN_ROLE, 2 ) )
{
if ( !find_id( $RUN_ROLE, 3 ) )
{
break;
exit( );
}
}
else
{
}
} while ( 0 );
}
else if ( !find_id( $RUN_ROLE, 4 ) )
{
exit( );
}
echo "\r\n<html>\r\n<head>\r\n<title></title>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">\r\n</head>\r\n\r\n<body class=\"bodycolor\" topmargin=\"5\">\r\n\r\n";
$query = "SELECT PLUGIN from FLOW_PROCESS where FLOW_ID='".$FLOW_ID."' and PRCS_ID='{$FLOW_PRCS}'";
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
$PLUGIN = $ROW['PLUGIN'];
}
if ( $PLUGIN != "" )
{
$PLUGIN_FILE = "../../plugin/".$PLUGIN;
if ( file_exists( $PLUGIN_FILE ) )
{
include_once( $PLUGIN_FILE );
}
else
{
$PLUGIN_FILE = "../../plugin/turn/".$PLUGIN;
if ( file_exists( $PLUGIN_FILE ) )
{
include_once( $PLUGIN_FILE );
}
}
}
$REMIND_URL = "1:workflow/list/print?RUN_ID=".$RUN_ID."&FLOW_ID={$FLOW_ID}";
if ( $SMS_REMIND_ALL == "on" || $SMS2_REMIND_ALL == "on" || $WEBMAIL_REMIND_ALL == "on" )
{
$query = "SELECT USER_ID from FLOW_RUN_PRCS where RUN_ID='".$RUN_ID."'";
$cursor = exequery( $connection, $query );
$USER_NAME_STR = "";
while ( $ROW = mysql_fetch_array( $cursor ) )
{
$USER_ID = $ROW['USER_ID'];
if ( !find_id( $HISTORY_USER_ID, $USER_ID ) )
{
if ( $USER_ID != $LOGIN_USER_ID )
{
$HISTORY_USER_ID .= $USER_ID.",";
}
}
}
if ( $WEBMAIL_REMIND_ALL == "on" )
{
send_webmail( $HISTORY_USER_ID );
}
if ( $SMS_REMIND_ALL == "on" )
{
$HISTORY_USER_ID1 = $HISTORY_USER_ID;
send_sms( "", $LOGIN_USER_ID, $HISTORY_USER_ID, 7, $SMS_CONTENT, $REMIND_URL );
}
if ( $SMS2_REMIND_ALL == "on" )
{
$HISTORY_USER_ID2 = $HISTORY_USER_ID;
send_mobile_sms_user( "", $LOGIN_USER_ID, $HISTORY_USER_ID, $SMS_CONTENT, 7 );
}
}
if ( $SMS_REMIND_START == "on" || $SMS2_REMIND_START == "on" || $WEBMAIL_REMIND_START == "on" )
{
$query = "SELECT USER_ID from FLOW_RUN_PRCS where RUN_ID='".$RUN_ID."' and PRCS_ID=1";
$cursor = exequery( $connection, $query );
$USER_NAME_STR = "";
if ( $ROW = mysql_fetch_array( $cursor ) )
{
$USER_ID = $ROW['USER_ID'];
}
if ( $WEBMAIL_REMIND_START == "on" && !find_id( $HISTORY_USER_ID1, $USER_ID ) )
{
send_webmail( $USER_ID );
}
if ( $SMS_REMIND_START == "on" && ( !find_id( $HISTORY_USER_ID1, $USER_ID ) && $SMS_REMIND_ALL != "on" ) )
{
send_sms( "", $LOGIN_USER_ID, $USER_ID, 7, $SMS_CONTENT, $REMIND_URL );
}
if ( $SMS2_REMIND_START == "on" && ( !find_id( $HISTORY_USER_ID1, $USER_ID ) && $SMS_REMIND_ALL != "on" ) )
{
send_mobile_sms_user( "", $LOGIN_USER_ID, $USER_ID, $SMS_CONTENT, 7 );
}
$HISTORY_USER_ID1 .= $USER_ID.",";
}
$CUR_TIME = date( "Y-m-d H:i:s", time( ) );
$query = "SELECT MAIL_TO from FLOW_PROCESS where FLOW_ID=".$FLOW_ID." and PRCS_ID={$FLOW_PRCS}";
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
$MAIL_TO = $ROW['MAIL_TO'];
}
if ( $MAIL_TO != "" )
{
$query = "SELECT * from FLOW_RUN where RUN_ID=".$RUN_ID;
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
$SUBJECT = $ROW['RUN_NAME'];
$ATTACHMENT_ID = $ROW['ATTACHMENT_ID'];
$ATTACHMENT_NAME = $ROW['ATTACHMENT_NAME'];
}
include_once( "../export_flow.php" );
$CONTENT = export_flow( $RUN_ID );
$CONTENT = mysql_real_escape_string( $CONTENT );
$ATTACHMENT_ID = copy_attach( $ATTACHMENT_ID, $ATTACHMENT_NAME, "workflow", "email" );
$SIZE = 0;
$ATTACHMENT_ID_ARRAY = explode( ",", $ATTACHMENT_ID );
$ATTACHMENT_NAME_ARRAY = explode( "*", $ATTACHMENT_NAME );
$I = 0;
for ( ; $I < sizeof( $ATTACHMENT_ID_ARRAY ); ++$I )
{
if ( !( $ATTACHMENT_ID_ARRAY[$I] == "" ) )
{
$SIZE += attach_size( $ATTACHMENT_ID_ARRAY[$I], $ATTACHMENT_NAME_ARRAY[$I], "email" );
}
}
$query = "insert into EMAIL_BODY(FROM_ID,TO_ID2,SUBJECT,CONTENT,SEND_TIME,ATTACHMENT_ID,ATTACHMENT_NAME,SIZE,SEND_FLAG,SMS_REMIND) values ('".$LOGIN_USER_ID."','{$MAIL_TO}','{$SUBJECT}','{$CONTENT}','{$CUR_TIME}','{$ATTACHMENT_ID}','{$ATTACHMENT_NAME}','{$SIZE}',1,1)";
exequery( $connection, $query );
$BODY_ID = mysql_insert_id( );
$TOK = strtok( $MAIL_TO, "," );
while ( $TOK != "" )
{
if ( $TOK == "" )
{
$TOK = strtok( "," );
}
else
{
$query = "insert into EMAIL(TO_ID,READ_FLAG,DELETE_FLAG,BODY_ID) values ('".$TOK."','0','0','{$BODY_ID}')";
exequery( $connection, $query );
$ROW_ID = mysql_insert_id( );
$REMIND_URL = "email/inbox/read_email/?BOX_ID=0&EMAIL_ID=".$ROW_ID;
$SMS_CONTENT1 = "请查收我的邮件!\n主题:".csubstr( $SUBJECT, 0, 100 );
send_sms( "", $LOGIN_USER_ID, $TOK, 2, $SMS_CONTENT1, $REMIND_URL );
$TOK = strtok( "," );
}
}
}
$PRCS_TO_ARRAY = explode( ",", $PRCS_TO );
$PRCS_CHOOSE_ARRAY = explode( ",", $PRCS_CHOOSE );
$query = "select * from FLOW_TYPE where FLOW_ID='".$FLOW_ID."';";
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
$FREE_OTHER = $ROW['FREE_OTHER'];
}
if ( $PRCS_CHOOSE == "" )
{
$query = "select RUN_NAME,FOCUS_USER,PARENT_RUN from FLOW_RUN where RUN_ID='".$RUN_ID."'";
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
$PARENT_RUN = $ROW['PARENT_RUN'];
$FOCUS_USER = $ROW['FOCUS_USER'];
$RUN_NAME = $ROW['RUN_NAME'];
}
$query = "update FLOW_RUN_PRCS set PRCS_FLAG='4' WHERE RUN_ID='".$RUN_ID."' and PRCS_ID='{$PRCS_ID}' and FLOW_PRCS='{$FLOW_PRCS}'";
exequery( $connection, $query );
$query = "update FLOW_RUN_PRCS set DELIVER_TIME='".$CUR_TIME."' WHERE RUN_ID='{$RUN_ID}' and PRCS_ID='{$PRCS_ID}' and FLOW_PRCS='{$FLOW_PRCS}' and USER_ID='{$LOGIN_USER_ID}'";
exequery( $connection, $query );
$query = "update FLOW_RUN set END_TIME='".$CUR_TIME."' WHERE RUN_ID='{$RUN_ID}'";
exequery( $connection, $query );
if ( $PARENT_RUN != 0 )
{
$query = "select PRCS_ID,FLOW_PRCS FROM FLOW_RUN_PRCS WHERE RUN_ID='".$PARENT_RUN."' AND CHILD_RUN='{$RUN_ID}'";
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
$PARENT_PRCS_ID = $ROW['PRCS_ID'];
$PARENT_FLOW_RPCS = $ROW['FLOW_PRCS'];
}
$query = "update FLOW_RUN_PRCS set DELIVER_TIME='".$CUR_TIME."',PRCS_FLAG='4' WHERE RUN_ID={$PARENT_RUN} and PRCS_ID={$PARENT_PRCS_ID} and FLOW_PRCS='{$PARENT_FLOW_RPCS}' and PRCS_FLAG in (1,2)";
exequery( $connection, $query );
if ( $PRCS_BACK != "" )
{
$PARENT_PRCS_ID_NEW = $PARENT_PRCS_ID + 1;
$query = "insert into FLOW_RUN_PRCS(RUN_ID,PRCS_ID,USER_ID,PRCS_FLAG,FLOW_PRCS,OP_FLAG,TOP_FLAG,PARENT) values (".$PARENT_RUN.",{$PARENT_PRCS_ID_NEW},'{$PRCS_OP_USER}','1',{$PRCS_BACK},1,0,'{$PARENT_FLOW_RPCS}')";
exequery( $connection, $query );
$BACK_USER_ARR = explode( ",", $PRCS_USER );
$k = 0;
for ( ; $k < count( $BACK_USER_ARR ); ++$k )
{
if ( !( $BACK_USER_ARR[$k] != "" ) && !( $BACK_USER_ARR[$k] != $PRCS_OP_USER ) )
{
$query = "insert into FLOW_RUN_PRCS(RUN_ID,PRCS_ID,USER_ID,PRCS_FLAG,FLOW_PRCS,OP_FLAG,TOP_FLAG,PARENT) values (".$PARENT_RUN.",{$PARENT_PRCS_ID_NEW},'{$BACK_USER_ARR[$k]}','1',{$PRCS_BACK},0,0,'{$PARENT_FLOW_RPCS}')";
exequery( $connection, $query );
}
}
}
}
$CONTENT = "结束流程";
run_log( $RUN_ID, $PRCS_ID, $FLOW_PRCS, $LOGIN_USER_ID, 1, $CONTENT );
$REMIND_URL = "1:workflow/list/print?RUN_ID=".$RUN_ID."&FLOW_ID={$FLOW_ID}";
$SMS_CONTENT1 = "您所关注的工作已经结束:".$RUN_NAME;
if ( $FOCUS_USER != "" )
{
send_sms( "", $LOGIN_USER_ID, $FOCUS_USER, 7, $SMS_CONTENT1, $REMIND_URL );
}
}
else
{
$FLOW_PRCS_NEXT_STR = "";
$PRCS_CHOOSE_ARRAY_COUNT = sizeof( $PRCS_CHOOSE_ARRAY ) - 1;
$I = 0;
for ( ; $I < $PRCS_CHOOSE_ARRAY_COUNT; ++$I )
{
$FLOW_PRCS_NEXT = $PRCS_TO_ARRAY[$PRCS_CHOOSE_ARRAY[$I]];
$FLOW_PRCS_NEXT_STR .= $FLOW_PRCS_NEXT.",";
$PRCS_ID_NEW = $PRCS_ID + 1;
$STR = "PRCS_OP_USER".$PRCS_CHOOSE_ARRAY[$I];
$PRCS_OP_USER = $$STR;
if ( $FREE_OTHER == 2 )
{
$PRCS_OP_USER = turn_other( $PRCS_OP_USER );
}
$STR = "PRCS_USER".$PRCS_CHOOSE_ARRAY[$I];
$PRCS_USER = $$STR;
if ( $FREE_OTHER == 2 )
{
$PRCS_USER = turn_other( $PRCS_USER, $PRCS_OP_USER );
}
$STR = "TOP_FLAG".$PRCS_CHOOSE_ARRAY[$I];
$TOP_FLAG = $$STR;
$query = "select GATHER_NODE,CHILD_FLOW FROM FLOW_PROCESS WHERE FLOW_ID='".$FLOW_ID."' AND PRCS_ID='{$FLOW_PRCS_NEXT}'";
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
$GATHER_NODE = $ROW['GATHER_NODE'];
$CHILD_FLOW = $ROW['CHILD_FLOW'];
}
if ( $CHILD_FLOW == 0 )
{
$query = "SELECT TOP_FLAG from FLOW_RUN_PRCS where RUN_ID='".$RUN_ID."' and PRCS_ID='{$PRCS_ID_NEW}' and FLOW_PRCS='{$FLOW_PRCS_NEXT}' and TOP_FLAG IN(1,2)";
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
$TOP_FLAG = $ROW['TOP_FLAG'];
}
$query = "SELECT 1 from FLOW_RUN_PRCS where RUN_ID='".$RUN_ID."' and PRCS_ID='{$PRCS_ID_NEW}' and FLOW_PRCS='{$FLOW_PRCS_NEXT}' and OP_FLAG='1' and TOP_FLAG='0' and PRCS_FLAG in('1','2')";
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
$PRCS_OP_USER = "";
$T_FLAG = 1;
}
$TOK = strtok( $PRCS_USER, "," );
while ( $TOK != "" )
{
if ( $TOK == $PRCS_OP_USER || $TOP_FLAG == 1 )
{
$OP_FLAG = 1;
}
else
{
$OP_FLAG = 0;
}
if ( $TOP_FLAG == 2 )
{
$OP_FLAG = 0;
}
$query = "SELECT 1 from FLOW_RUN_PRCS where RUN_ID='".$RUN_ID."' and PRCS_ID='{$PRCS_ID_NEW}' and FLOW_PRCS='{$FLOW_PRCS_NEXT}' and USER_ID='{$TOK}' and PRCS_FLAG in('1','2')";
$cursor = exequery( $connection, $query );
if ( !( $ROW = mysql_fetch_array( $cursor ) ) )
{
$query = "insert into FLOW_RUN_PRCS(RUN_ID,PRCS_ID,USER_ID,PRCS_FLAG,FLOW_PRCS,OP_FLAG,TOP_FLAG,PARENT) values (".$RUN_ID.",{$PRCS_ID_NEW},'{$TOK}','1',{$FLOW_PRCS_NEXT},'{$OP_FLAG}','{$TOP_FLAG}','{$FLOW_PRCS}')";
exequery( $connection, $query );
}
else
{
$query = "update FLOW_RUN_PRCS set PARENT=CONCAT(PARENT,',".$FLOW_PRCS."') WHERE RUN_ID='{$RUN_ID}' AND PRCS_ID='{$PRCS_ID_NEW}' AND FLOW_PRCS='{$FLOW_PRCS_NEXT}' and USER_ID='{$TOK}' and PRCS_FLAG in ('1','2')";
exequery( $connection, $query );
}
$TOK = strtok( "," );
}
if ( $T_FLAG == 1 )
{
$query = "update FLOW_RUN_PRCS set DELIVER_TIME='".$CUR_TIME."',PRCS_FLAG='4' WHERE RUN_ID={$RUN_ID} and PRCS_ID={$PRCS_ID} and FLOW_PRCS='{$FLOW_PRCS}' and PRCS_FLAG in ('1','2')";
}
else
{
$query = "update FLOW_RUN_PRCS set DELIVER_TIME='".$CUR_TIME."',PRCS_FLAG='3' WHERE RUN_ID={$RUN_ID} and PRCS_ID={$PRCS_ID} and FLOW_PRCS='{$FLOW_PRCS}' and PRCS_FLAG in ('1','2')";
}
exequery( $connection, $query );
$USER_NAME_STR = "";
$query = "SELECT USER_NAME FROM USER WHERE FIND_IN_SET(USER_ID,'".$PRCS_USER."')";
$cursor = exequery( $connection, $query );
while ( $ROW = mysql_fetch_array( $cursor ) )
{
$USER_NAME_STR .= $ROW['USER_NAME'].",";
}
$CONTENT = "转交至步骤".$PRCS_ID_NEW.",办理人:{$USER_NAME_STR}";
run_log( $RUN_ID, $PRCS_ID, $FLOW_PRCS, $LOGIN_USER_ID, 1, $CONTENT );
$REMIND_URL = "workflow/list/input_form?RUN_ID=".$RUN_ID."&FLOW_ID={$FLOW_ID}&PRCS_ID={$PRCS_ID_NEW}&FLOW_PRCS={$FLOW_PRCS_NEXT}";
}
else
{
$RUN_ID_NEW = new_flow( $CHILD_FLOW, $PRCS_OP_USER, $RUN_ID );
$query = "insert into FLOW_RUN_PRCS(RUN_ID,PRCS_ID,USER_ID,PRCS_FLAG,FLOW_PRCS,OP_FLAG,TOP_FLAG,PARENT,CHILD_RUN) values (".$RUN_ID.",{$PRCS_ID_NEW},'{$PRCS_OP_USER}','1',{$FLOW_PRCS_NEXT},1,0,'{$FLOW_PRCS}','{$RUN_ID_NEW}')";
exequery( $connection, $query );
$query = "update FLOW_RUN_PRCS set DELIVER_TIME='".$CUR_TIME."',PRCS_FLAG='4' WHERE RUN_ID={$RUN_ID} and PRCS_ID={$PRCS_ID} and FLOW_PRCS='{$FLOW_PRCS}' and PRCS_FLAG in ('1','2')";
exequery( $connection, $query );
$CONTENT = "新建子流程,流水号为".$RUN_ID_NEW;
run_log( $RUN_ID, $PRCS_ID, $FLOW_PRCS, $LOGIN_USER_ID, 1, $CONTENT );
$REMIND_URL = "workflow/list/input_form?RUN_ID=".$RUN_ID_NEW."&FLOW_ID={$CHILD_FLOW}&PRCS_ID=1&FLOW_PRCS=1";
}
if ( $SMS_REMIND_NEXT == "on" )
{
send_sms( "", $LOGIN_USER_ID, $PRCS_USER, 7, $SMS_CONTENT, $REMIND_URL );
}
if ( $SMS2_REMIND_NEXT == "on" )
{
send_mobile_sms_user( "", $LOGIN_USER_ID, $PRCS_USER, $SMS_CONTENT, 7 );
}
if ( $WEBMAIL_REMIND_NEXT == "on" )
{
send_webmail( $PRCS_USER );
}
}
}
if ( $OP == "MANAGE" )
{
$query = "SELECT PARENT from FLOW_RUN_PRCS WHERE RUN_ID='".$RUN_ID."' AND PRCS_ID={$PRCS_ID} AND FLOW_PRCS='{$FLOW_PRCS}'";
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
$PARENT = $ROW['PARENT'];
}
$PRCS_ID_PRE = $PRCS_ID - 1;
$query = "update FLOW_RUN_PRCS set PRCS_FLAG='4' WHERE RUN_ID='".$RUN_ID."' AND PRCS_ID='{$PRCS_ID_PRE}'";
if ( $PARENT != "0" && $PARENT != "" )
{
$query .= " AND FLOW_PRCS IN ('".$PARENT."')";
}
exequery( $connection, $query );
}
if ( $OP == "MANAGE" )
{
$URL = "../../manage";
}
else
{
$URL = "../index.php";
}
if ( $MENU_FLAG == "1" )
{
$URL .= "?FLOW_ID=".$FLOW_ID;
}
header( "location: ".$URL );
echo "\r\n</body>\r\n</html>";
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -