condition.php
来自「通达OA2007SE源代码 非常好的」· PHP 代码 · 共 255 行
PHP
255 行
<?
function get_form ($FORM_ID, $RUN_ID)
{
global $connection;
$query = (((''.'SELECT ITEM_ID,ITEM_DATA from FLOW_RUN_DATA WHERE RUN_ID=').$RUN_ID).' ORDER BY ITEM_ID');
$cursor = exequery ($connection, $query);
while ($ROW = mysql_fetch_array ($cursor))
{
$ITEM_ID = $ROW['ITEM_ID'];
$ITEM_DATA = $ROW['ITEM_DATA'];
$TMP_DATA[($ITEM_ID - 1)] = $ITEM_DATA;
}
$query = ((''.'SELECT PRINT_MODEL from FLOW_FORM_TYPE WHERE FORM_ID=').$FORM_ID);
$cursor1 = exequery ($connection, $query);
if ($ROW = mysql_fetch_array ($cursor1))
{
$PRINT_MODEL = $ROW['PRINT_MODEL'];
}
$ELEMENT_ARRAY = html_element ($PRINT_MODEL);
$ITEM_ID_MAX = sizeof ($ELEMENT_ARRAY);
$ITEM_ID = 0;
for ($ITEM_I = 0; ($ITEM_I < $ITEM_ID_MAX); ++$ITEM_I)
{
$ELEMENT = $ELEMENT_ARRAY[$ITEM_I];
$ECLASS = get_attr ($ELEMENT, 'CLASS');
$ETITLE = get_attr ($ELEMENT, 'TITLE');
if ((($ECLASS != 'DATE') AND ($ECLASS != 'USER')))
{
$FORM_DATA[$ETITLE] = $TMP_DATA[$ITEM_ID];
++$ITEM_ID;
continue;
}
}
return $FORM_DATA;
}
function check_condition ($FORM_DATA, $CONDITION, $CONDITION_SET, $RUN_ID, $PRCS_ID)
{
global $connection;
if (($CONDITION == ''))
{
return '';
}
$CONDITION_SET_VALUE = $CONDITION_SET;
$CONDITION_SET_DESC = $CONDITION_SET;
$CONDITION_SET_DESC = str_replace ('and', '并且', $CONDITION_SET_DESC);
$CONDITION_SET_DESC = str_replace ('or', '或者', $CONDITION_SET_DESC);
$CONDITION_SET_DESC = str_replace ('!', '非', $CONDITION_SET_DESC);
$CON_ARRAY = explode ('
', $CONDITION);
$ARRAY_COUNT = sizeof ($CON_ARRAY);
if (($CON_ARRAY[($ARRAY_COUNT - 1)] == ''))
{
--$ARRAY_COUNT;
}
for ($I = 0; ($I < $ARRAY_COUNT); ++$I)
{
$RULE = $CON_ARRAY[$I];
$RULE_ARRAY = explode ('\'', $RULE);
$ITEM_TITLE = $RULE_ARRAY[1];
$ITEM_CON = $RULE_ARRAY[2];
$ITEM_VALUE = $RULE_ARRAY[3];
if ((strstr ($ITEM_TITLE, '[主办人会签意见]') OR strstr ($ITEM_TITLE, '[从办人会签意见]')))
{
$query = ((((''.'SELECT USER_ID from FLOW_RUN_PRCS where RUN_ID=').$RUN_ID).' and PRCS_ID=').$PRCS_ID);
if (strstr ($ITEM_TITLE, '[主办人会签意见]'))
{
($query .= ' and OP_FLAG=1');
}
else
{
($query .= ' and OP_FLAG=0');
}
$cursor = exequery ($connection, $query);
$FEED_CONTENT = '';
while ($ROW = mysql_fetch_array ($cursor))
{
$PRCS_USER = $ROW['USER_ID'];
$query1 = (((((((''.'SELECT CONTENT from FLOW_RUN_FEEDBACK where RUN_ID=').$RUN_ID).' and PRCS_ID=').$PRCS_ID).' and USER_ID=\'').$PRCS_USER).'\'');
$cursor1 = exequery ($connection, $query1);
while ($ROW = mysql_fetch_array ($cursor1))
{
($FEED_CONTENT .= $ROW['CONTENT']);
}
}
$FORM_DATA[$ITEM_TITLE] = $FEED_CONTENT;
}
else
{
if (strstr ($ITEM_TITLE, '[公共附件名称]'))
{
$query1 = (((''.'SELECT ATTACHMENT_NAME from FLOW_RUN WHERE RUN_ID=\'').$RUN_ID).'\'');
$cursor1 = exequery ($connection, $query1);
if ($ROW = mysql_fetch_array ($cursor1))
{
$ATTACHMENT_NAME = $ROW['ATTACHMENT_NAME'];
}
$FORM_DATA[$ITEM_TITLE] = $ATTACHMENT_NAME;
}
}
$CHECK_PASS = 0;
if (stristr ($ITEM_CON, 'include'))
{
$ITEM_CON_DESC = '包含';
if (($FORM_DATA[$ITEM_TITLE] == ''))
{
$CHECK_PASS = 1;
}
else
{
if (stristr ($FORM_DATA[$ITEM_TITLE], $ITEM_VALUE))
{
$CHECK_PASS = 1;
}
}
}
else
{
if (stristr ($ITEM_CON, 'exclude'))
{
$ITEM_CON_DESC = '不包含';
if (($FORM_DATA[$ITEM_TITLE] == ''))
{
$CHECK_PASS = 0;
}
else
{
if (!stristr ($FORM_DATA[$ITEM_TITLE], $ITEM_VALUE))
{
$CHECK_PASS = 1;
}
}
}
else
{
if (stristr ($ITEM_CON, '>='))
{
$ITEM_CON_DESC = '大于等于';
if (($ITEM_VALUE <= $FORM_DATA[$ITEM_TITLE]))
{
$CHECK_PASS = 1;
}
}
else
{
if (stristr ($ITEM_CON, '<='))
{
$ITEM_CON_DESC = '小于等于';
if (($FORM_DATA[$ITEM_TITLE] <= $ITEM_VALUE))
{
$CHECK_PASS = 1;
}
}
else
{
if (stristr ($ITEM_CON, '<>'))
{
$ITEM_CON_DESC = '不等于';
if (($FORM_DATA[$ITEM_TITLE] != $ITEM_VALUE))
{
$CHECK_PASS = 1;
}
}
else
{
if (stristr ($ITEM_CON, '>'))
{
$ITEM_CON_DESC = '大于';
if (($ITEM_VALUE < $FORM_DATA[$ITEM_TITLE]))
{
$CHECK_PASS = 1;
}
}
else
{
if (stristr ($ITEM_CON, '<'))
{
$ITEM_CON_DESC = '小于';
if (($FORM_DATA[$ITEM_TITLE] < $ITEM_VALUE))
{
$CHECK_PASS = 1;
}
}
else
{
if (stristr ($ITEM_CON, '='))
{
$ITEM_CON_DESC = '等于';
if (($FORM_DATA[$ITEM_TITLE] == $ITEM_VALUE))
{
$CHECK_PASS = 1;
}
}
else
{
$ITEM_CON = '';
}
}
}
}
}
}
}
}
if (($ITEM_VALUE == ''))
{
$ITEM_VALUE = '空';
}
$SET_DESC = (((((''.$ITEM_TITLE).' ').$ITEM_CON_DESC).' ').$ITEM_VALUE);
if (!$CHECK_PASS)
{
if ((($ITEM_CON == '') OR ($ITEM_TITLE == '')))
{
$NOT_PASS = (('条件表达式错误:
'.$RULE).'
');
return $NOT_PASS;
}
else
{
if (($CONDITION_SET == ''))
{
$NOT_PASS = (('不符合条件:
'.$SET_DESC).'
');
return $NOT_PASS;
}
$SET_VALUE = '0';
}
}
else
{
$SET_VALUE = '1';
}
$COUNT = ($I + 1);
$CONDITION_SET_VALUE = str_replace ((((''.'[').$COUNT).']'), $SET_VALUE, $CONDITION_SET_VALUE);
$CONDITION_SET_DESC = str_replace ((((''.'[').$COUNT).']'), (((''.'[').$SET_DESC).']'), $CONDITION_SET_DESC);
}
if (($CONDITION_SET != ''))
{
eval ((((''.'$RESULT=(').$CONDITION_SET_VALUE).');'));
if (!$RESULT)
{
$NOT_PASS = ('不符合条件公式:'.$CONDITION_SET_DESC);
}
else
{
$NOT_PASS = ('SETOK'.$CONDITION_SET_DESC);
}
}
return $NOT_PASS;
}
include_once 'inc/auth.php';
include_once 'inc/utility_html.php';
?>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?