function newaiCharts() { global $html_etc, $tablename, $common_html, $custom_type; global $db, $return_sql_line, $columns; global $_POST, $_GET, $returnmodel, $primarykey_index; global $action_submit, $merge, $form_attribute; global $tabletitle; global $showlistfieldlist, $showlistfieldfilter, $showlistfieldtype; $showlistfieldlistArray = explode(',', $showlistfieldlist); $showlistfieldfilterArray = explode(',', $showlistfieldfilter); $showlistfieldtypeArray = explode(',', $showlistfieldtype); //获取系统显示的色彩信息 $ColorArray = returnColorArray(); //获取系统求和字段信息 global $sum_index, $UserUnitFunctionIndex; if ($sum_index != "") { $sum_sql_index = " ,sum({$sum_index}) as sum "; } else { $sum_sql_index = ""; } //报表统计主体部分开始 for ($k = 0; $k < sizeof($showlistfieldlistArray); $k++) { $fieldIndex = $showlistfieldlistArray[$k]; $fieldName = $columns[$fieldIndex]; $fieldText = $html_etc[$tablename][$fieldName]; $mode = $showlistfieldfilterArray[$k]; $modeArray = explode(':', $mode); //print_R($modeArray); $modeIndex = $modeArray[0]; $Mode = ""; switch ($modeIndex) { case '': break; case 'tablefilter': case 'tablefiltercolor': case 'radiofilter': case 'radiofiltercolor': if ($modeArray[1] == "month" && $modeArray[2] == "") { $Mode = "Month"; $SQL = "select Date_Format({$fieldName},'%c') AS {$fieldName},Sum({$sum_index}) as sum,Count({$fieldName}) as num from {$tablename} group by {$fieldName}"; } else { if ($modeArray[1] == "year" && $modeArray[2] == "") { $Mode = "Year"; $SQL = "select Date_Format({$fieldName},'%Y') AS {$fieldName},Sum({$sum_index}) as sum,Count({$fieldName}) as num from {$tablename} group by {$fieldName}"; } else { $Mode = ""; $SQL = "select {$fieldName},Count({$fieldName}) as num {$sum_sql_index} from {$tablename} group by {$fieldName}"; } } $rs = $db->CacheExecute(150, $SQL); $rs_array = $rs->GetArray(); //print_R($rs_array); //父表结构部分 $tablenameIndex = $modeArray[1]; $ColumnsIndex = returntablecolumn($tablenameIndex); $html_etcIndex = returnsystemlang($tablenameIndex, $tablenameIndex); $WhatIndex = $ColumnsIndex[(string) $modeArray[2]]; $ReturnIndex = $ColumnsIndex[(string) $modeArray[3]]; //本表操作部分--数据处理部分 --形成FLASH要处理的数据类型 $TotalNumberIndex = 0; $TotalSumIndex = 0; $Array = array(); for ($i = 0; $i < sizeof($rs_array); $i++) { $ResultNumber = $rs_array[$i]['num']; $ResultSum = $rs_array[$i]['sum']; $ResultFieldCode = $rs_array[$i][$fieldName]; switch ($Mode) { case 'Month': $ResultFieldName = $ResultFieldCode . "" . $common_html['common_html']['month']; break; case 'Year': $ResultFieldName = $ResultFieldCode . "" . $common_html['common_html']['year']; break; default: $ResultFieldName = returntablefield($tablenameIndex, $WhatIndex, $ResultFieldCode, $ReturnIndex); if ($ResultFieldName == "") { $ResultFieldName = $ResultFieldCode; } break; } $TotalNumberIndex += $ResultNumber; $TotalSumIndex += $ResultSum; $Array_Statistic_Value = $sum_index != "" ? $ResultSum : $ResultNumber; $Array['XData'][$i]['Name'] = $ResultFieldName; $Array['XData'][$i]['Value'] = $Array_Statistic_Value; $Array['XData'][$i]['Dir'] = $ResultFieldName; $Array['XData'][$i]['AltText'] = $ResultFieldName; //$Array['XData'][$i]['Url'] = "?action=init_customer&$fieldName=$ResultFieldCode"; $ColorArray[$i] == "" ? $ColorArray[$i] = "0xCC0000" : ''; $Array['XData'][$i]['Color'] = $ColorArray[$i]; $Array['Dir'][$i]['Name'] = $ResultFieldName; $Array['Dir'][$i]['Color'] = $ColorArray[$i]; $Array['YData']['AltText'] = "移动查看详细信息"; $Array['YData']['Value'] < $Array_Statistic_Value ? $Array['YData']['Value'] = $Array_Statistic_Value : ''; } $Array['title'] = $html_etc[$tablename][$tabletitle] . "[" . $html_etc[$tablename][$fieldName] . "]"; $array_graphInfo = $Array['title'] . "[" . date("Y-m-d H:i:s") . "] " . $common_html['common_html']['totalrecords'] . ": " . $TotalNumberIndex; if ($sum_index != "") { $array_graphInfo .= " " . $common_html['common_html']['allnumbers'] . ": " . $TotalSumIndex . " " . $UserUnitFunctionIndex . "\n"; } $Array['graphInfo'] = $array_graphInfo; //print_R($FlashFileName); //本表操作部分--FALSH图表显示部分--显示FLASH图表的结果 table_begin("650"); $ChartMode = $showlistfieldtypeArray[$k]; //采用的图表类型选择 //print $tablename; switch ($ChartMode) { case 'vBarF': $FlashFileName = WriteXmlFilevBarF($Array, $tablename, $k); //Flash XML 数据写入文件区 $create_chart = create_chart("vBarF", $FlashFileName); //FLASH 图表读入XML数据处理以后的显示区 break; case 'hBarF': $FlashFileName = WriteXmlFilehBarF($Array, $tablename, $k); //Flash XML 数据写入文件区 $create_chart = create_chart("hBarF", $FlashFileName); //FLASH 图表读入XML数据处理以后的显示区 break; case 'pieF': $FlashFileName = WriteXmlFilePieF($Array, $tablename, $k); //Flash XML 数据写入文件区 $create_chart = create_chart("pieF", $FlashFileName); //FLASH 图表读入XML数据处理以后的显示区 break; default: $FlashFileName = WriteXmlFilevBarF($Array, $tablename, $k); //Flash XML 数据写入文件区 $create_chart = create_chart("vBarF", $FlashFileName); //FLASH 图表读入XML数据处理以后的显示区 break; } //HTML文体显示部分 print "<TR class=TableData>"; print "<TD noWrap width=100% align=center colspan=40>"; print "{$create_chart} </TD>"; print "</TR>"; //本文信息显示部分 //print_title($html_etc[$tablename][$tabletitle]."<font color=green>[".$html_etc[$tablename][$fieldName]."]</font>",40); print_title($html_etc[$tablename][$tabletitle] . "[" . $html_etc[$tablename][$fieldName] . "]", 6); for ($i = 0; $i < sizeof($rs_array); $i++) { $ResultNumber = $rs_array[$i][num]; $ResultSum = $rs_array[$i][sum]; $ResultFieldCode = $rs_array[$i][$fieldName]; $ResultFieldName = returntablefield($tablenameIndex, $WhatIndex, $ResultFieldCode, $ReturnIndex); if ($ResultFieldName == "") { $ResultFieldName = $ResultFieldCode; } print "<TR class=TableData>"; print "<TD noWrap width=15%>统计类别名称 </TD>"; print "<TD width=35%>" . $ResultFieldName . " </TD>"; if ($sum_index != "") { print "<TD noWrap width=15%>统计额度 </TD>"; print "<TD noWrap width=10%><font color=red>" . $ResultSum . " " . $UserUnitFunctionIndex . "</font></TD>"; } else { //print "<TD noWrap width=15%>统计类别代码 </TD>"; //print "<TD noWrap width=10%>".$ResultFieldCode." </TD>"; } print "<TD width=15%>统计记录数 </TD>"; print "<TD noWrap width=10%><font color=red>" . $ResultNumber . " 条</font></TD>"; print "</TR>"; } print "<TR class=TableData>"; print "<TD noWrap colspan = 40>\n"; print $common_html['common_html']['totalrecords'] . ": <font color=red>{$TotalNumberIndex} 条</font>\n"; if ($sum_index != "") { print $common_html['common_html']['allnumbers'] . ": <font color=red>{$TotalSumIndex} " . $UserUnitFunctionIndex . "</font>\n"; } print "</TD>"; print "</TR>"; table_end(); print "<BR>"; break; } } }
function BaseStatistics($showlistfieldlist1Array, $action_model_2) { global $html_etc, $common_html, $tablename, $tabletitle; global $db, $columns; global $_POST, $_GET, $primarykey_index; //获取系统显示的色彩信息 $ColorArray = returnColorArray(); //初始化信息 $USER_Field = $showlistfieldlist1Array[0]; $DEPT_Field = $showlistfieldlist1Array[1]; $DATE_Field = $showlistfieldlist1Array[2]; $FIELD_Field = $showlistfieldlist1Array[3]; $FIELD_LIST = explode(':', $FIELD_Field); $Action_Model = $FIELD_LIST[0]; switch ($Action_Model) { case 'NUM': //array_shift($FIELD_LIST); $SQL_Text = "Count({$FIELD_LIST['1']}) AS Number"; break; case 'SUM': break; } $_GET['Year'] == "" ? $_GET['Year'] = Date("Y") : ''; $Year = $_GET['Year']; if ($DATE_Field == "BaoBeiDate") { $SQL_ADD1 = "IsFor AS IsFor,"; $SQL_ADD2 = ",IsFor"; $SQL_ADD3 = " and IsFor = 'on' "; $SQL_ADD4 = ""; } else { $SQL_ADD1 = ""; $SQL_ADD2 = ""; $SQL_ADD3 = ""; $SQL_ADD4 = ""; } $sql = "select Date_Format({$DATE_Field},'%Y-%c') AS Date,\n\t\tDate_Format({$DATE_Field},'%Y') AS Year,\n\t\t\t{$SQL_ADD1}\n\t\t\t{$SQL_Text},\n\t\t\t{$USER_Field} AS USER_Field,\n\t\t\t{$DEPT_Field} AS DEPT_Field\n\t\t\tfrom {$tablename}\n\t\t\tgroup by {$DATE_Field},{$USER_Field},{$DEPT_Field} {$SQL_ADD2}\n\t\t\thaving Year='{$Year}' {$SQL_ADD3}\n\t\t\torder by DEPT_Field\n\t\t\t"; // having CommunicationNeeds_SureDate != null //$SQL = "select Date_Format($fieldName,'%c') AS $fieldName,Sum($sum_index) as sum,Count($fieldName) as num from $tablename group by $fieldName"; //print $sql; $rs = $db->CacheExecute(150, $sql); $rs_a = $rs->GetArray(); for ($i = 0; $i < sizeof($rs_a); $i++) { $list = $rs_a[$i]; $DateValue = $list['Date']; $UserValue = $list['USER_Field']; $DeptValue = $list['DEPT_Field']; $NewArray['USER'][$UserValue][$DateValue] += $list['Number']; $NewArray['DEPT'][$DeptValue][$DateValue] += $list['Number']; $NewArray['DEPT_YEAR'][$DeptValue][$Year] += $list['Number']; $NewArray['USER_YEAR'][$UserValue][$Year] += $list['Number']; $NewArray['USER_DEPT'][$UserValue] = $DeptValue; } //print_R($NewArray['DEPT']); table_begin("900"); $Title_URL .= "<font color=white title='客户信息统计:" . $Year . "年'>客户信息统计:" . $Year . "年</font> "; $Title_URL .= " \n\t\t\t\t<a href=\"?Year=" . ($Year - 1) . "&action_model={$action_model_2}\" title=\"点击此按钮,来确定不同的年份进行统计\"><img src=\"../../Framework/images/arrow_l.gif\" border></a>\n\t\t\t\t<a href=\"?Year=" . ($Year + 1) . "&action_model={$action_model_2}\" title=\"点击此按钮,来确定不同的年份进行统计\"><img src=\"../../Framework/images/arrow_r.gif\" border></a>\n\t\t\t\t"; print_title("<font color=white title='按 \"" . $html_etc[$tablename][$DATE_Field . "_STS"] . "\" 进行信息统计'>[" . $html_etc[$tablename][$DATE_Field . "_STS"] . "]</font>" . $Title_URL, 15); //标题栏--用户区域 print "<TR class=TableContent>\n"; print "<TD nowrap title='用户列表'>用户列表</TD>\n"; for ($i = 1; $i <= 12; $i++) { $HeaderName = Date("Y-n", mktime(0, 0, 0, $i, Date("d"), $Year)); print "<TD nowrap title='显示" . $HeaderName . "月份数据统计信息'>{$HeaderName}</TD>\n"; } print "<TD nowrap>" . $Year . "年</TD>\n"; print "</TR>\n"; //数据区域--用户区域 $USER_LIST = @array_keys($NewArray['USER']); for ($i = 0; $i < sizeof($USER_LIST); $i++) { $USER_TEXT = $USER_LIST[$i]; $DEPT_TEXT = $NewArray['USER_DEPT'][$USER_TEXT]; $USER_TEXT_NAME = returntablefield("user", "USER_NAME", $USER_TEXT, "NICK_NAME"); $DEPT_TEXT_NAME = returntablefield("department", "DEPT_ID", $DEPT_TEXT, "DEPT_NAME"); print "<TR class=TableContent>\n"; print "<TD nowrap class=TableData><font color=black title=\"" . $USER_TEXT_NAME . "一年统计数量:" . $NewArray['USER_YEAR'][$USER_TEXT][$Year] . "\">" . $USER_TEXT_NAME . "[" . $DEPT_TEXT_NAME . "]</font> </TD>\n"; for ($k = 1; $k <= 12; $k++) { $HeaderName = Date("Y-n", mktime(0, 0, 0, $k, Date("d"), $Year)); $HeaderName2 = Date("Y-m", mktime(0, 0, 0, $k, Date("d"), $Year)); if ($NewArray['USER'][$USER_TEXT][$HeaderName] != "") { $base64_string = "action=init_default_search&searchvalue={$HeaderName2}&searchfield={$DATE_Field}&{$USER_Field}={$USER_TEXT}"; $base64_url = base64_encode($base64_string); $Element = "<a href=\"crm_customer_newai.php?{$base64_url}\" target=_blank>" . $NewArray['USER'][$USER_TEXT][$HeaderName] . "</a>"; } else { $Element = ""; } print "<TD nowrap class=TableData>" . $Element . " </TD>\n"; } if ($NewArray['USER_YEAR'][$USER_TEXT][$Year] != "") { $base64_string = "action=init_default_search&searchvalue={$Year}&searchfield={$DATE_Field}&{$USER_Field}={$USER_TEXT}"; $base64_url = base64_encode($base64_string); $Element = "<a href=\"crm_customer_newai.php?{$base64_url}\" target=_blank>" . $NewArray['USER_YEAR'][$USER_TEXT][$Year] . "</a>"; } else { $Element = ""; } print "<TD nowrap class=TableData><font color=black title='" . $USER_TEXT_NAME . "用户" . $Year . "年客户数量:" . $NewArray['USER_YEAR'][$USER_TEXT][$Year] . "'>" . $Element . "</font> </TD>\n"; print "</TR>\n"; } //标题栏--部门区域 print "<TR class=TableContent>\n"; print "<TD nowrap title='部门列表'>部门列表</TD>\n"; for ($i = 1; $i <= 12; $i++) { $HeaderName = Date("Y-n", mktime(0, 0, 0, $i, Date("d"), $Year)); print "<TD nowrap title='显示" . $HeaderName . "月份数据统计信息'>{$HeaderName}</TD>\n"; } print "<TD nowrap>" . $Year . "年</TD>\n"; print "</TR>\n"; //数据区域--部门区域 $DEPT_LIST = @array_keys($NewArray['DEPT']); for ($i = 0; $i < sizeof($DEPT_LIST); $i++) { $DEPT_TEXT = $DEPT_LIST[$i]; $DEPT_TEXT_NAME = returntablefield("department", "DEPT_ID", $DEPT_TEXT, "DEPT_NAME"); print "<TR class=TableContent>\n"; print "<TD nowrap class=TableData><font color=black title=\"" . $DEPT_TEXT_NAME . "一年统计数量:" . $NewArray['DEPT_YEAR'][$DEPT_TEXT][$Year] . "\">" . $DEPT_TEXT_NAME . "[" . $NewArray['DEPT_YEAR'][$DEPT_TEXT][$Year] . "]</font> </TD>\n"; for ($k = 1; $k <= 12; $k++) { $HeaderName = Date("Y-n", mktime(0, 0, 0, $k, Date("d"), $Year)); $HeaderName2 = Date("Y-m", mktime(0, 0, 0, $k, Date("d"), $Year)); if ($NewArray['DEPT'][$DEPT_TEXT][$HeaderName] != "") { $base64_string = "action=init_default_search&searchvalue={$HeaderName2}&searchfield={$DATE_Field}&{$DEPT_Field}={$DEPT_TEXT}"; $base64_url = base64_encode($base64_string); $Element = "<a href=\"crm_customer_newai.php?{$base64_url}\" target=_blank>" . $NewArray['DEPT'][$DEPT_TEXT][$HeaderName] . "</a>"; } else { $Element = ""; } print "<TD nowrap class=TableData>" . $Element . " </TD>\n"; } if ($NewArray['DEPT_YEAR'][$DEPT_TEXT][$Year] != "") { $base64_string = "action=init_default_search&searchvalue={$Year}&searchfield={$DATE_Field}&{$DEPT_Field}={$DEPT_TEXT}"; $base64_url = base64_encode($base64_string); $Element = "<a href=\"crm_customer_newai.php?{$base64_url}\" target=_blank>" . $NewArray['DEPT_YEAR'][$DEPT_TEXT][$Year] . "</a>"; } else { $Element = ""; } print "<TD nowrap class=TableData><font color=black title='" . $DEPT_TEXT_NAME . $Year . "年客户数量:" . $NewArray['DEPT_YEAR'][$DEPT_TEXT][$Year] . "'>" . $Element . "</font> </TD>\n"; print "</TR>\n"; } //合并说明 print "<TR class=TableContent>\n"; print "<TD nowrap colspan=15 title='如果使用浏览器打印不是太方便的话,可以复制表格数据区到MS EXCEL,然后进行排版打印' class=TableData>报表说明:点击标题栏两个黑色三角箭头,即可实现年份之间的切换 </TD>\n"; print "</TR>\n"; //报表统计主体部分开始 for ($k = 0; $k < sizeof($showlistfieldlistArray); $k++) { $fieldIndex = $showlistfieldlistArray[$k]; $fieldName = $columns[$fieldIndex]; $fieldText = $html_etc[$tablename][$fieldName]; $mode = $showlistfieldfilterArray[$k]; $modeArray = explode(':', $mode); //$rs=$db->CacheExecute(150,$SQL); //$rs_array=$rs->GetArray();//print_R($rs_array); //父表结构部分 //本表操作部分--数据处理部分 --形成FLASH要处理的数据类型 //本表操作部分--FALSH图表显示部分--显示FLASH图表的结果 //本文信息显示部分 //print_title($html_etc[$tablename][$tabletitle]."<font color=green>[".$html_etc[$tablename][$fieldName]."]</font>",40); print "<TR class=TableData>"; print "<TD width=30%>名称</TD>"; print "<TD width=30%>数目</TD>"; print "<TD width=30%>百分比</TD>"; print "<TD width=30%>总记录</TD>"; print "</TR>"; for ($i = 0; $i < sizeof($rs_array); $i++) { $ResultNumber = $rs_array[$i][num]; $ResultSum = $rs_array[$i][sum]; $ResultFieldCode = $rs_array[$i][$fieldName]; $ResultFieldName = returntablefield($tablenameIndex, $WhatIndex, $ResultFieldCode, $ReturnIndex); if ($sum_index != "") { print "<TD noWrap width=15%>统计额度 </TD>"; print "<TD noWrap width=10%><font color=red>" . $ResultSum . " " . $UserUnitFunctionIndex . "</font></TD>"; } print "<TR class=TableData>"; print "<TD >{$ResultFieldName}</TD>"; print "<TD >{$ResultNumber}</TD>"; //print "<TD >".number_format($ResultNumber/$TotalNumberIndex,2,'.','')."</TD>"; print "<TD >" . $TotalNumberIndex . "</TD>"; print "</TR>"; } print "<TR class=TableData>"; print "<TD noWrap colspan = 40>\n"; print " "; print "</TD>"; print "</TR>"; table_end(); print "<BR>"; break; } }