7e47ce238b
添加了管理后台所需的图片资源、Excel文件、安装程序以及设计相关的图片文件
273 lines
11 KiB
PHP
273 lines
11 KiB
PHP
<?php
|
|
//标准一维报表
|
|
//可配置参数:keyword_zd1|category|字段1,icon|menu_icon_bb_xw_ms|菜单图标,select_zd1||搜索1,select_zd2||搜索2,select_zd3||搜索3,head_zd1|y|均价,head_zd2|y|设计款数,head_zd3|y|已订款数,head_zd4|y|设计款色,head_zd5|y|已订款色,head_zd6|y|已订件数,head_zd7|y|吊牌金额,head_zd8|n|结算金额
|
|
//2020-07-10 by hzz
|
|
//-----参数配置start
|
|
//菜单图标
|
|
$icon=get_plugin_set("icon","menu_icon_bb_xw_ms");//支持以下目录的图标ipad/images/menu_icon_*.png
|
|
//字段
|
|
$zd1=get_plugin_set("keyword_zd1","category");
|
|
|
|
//表头
|
|
$head_zd1=get_plugin_set("head_zd1","y");
|
|
$head_zd2=get_plugin_set("head_zd2","y");
|
|
$head_zd3=get_plugin_set("head_zd3","y");
|
|
$head_zd4=get_plugin_set("head_zd4","y");
|
|
$head_zd5=get_plugin_set("head_zd5","y");
|
|
$head_zd6=get_plugin_set("head_zd6","y");
|
|
$head_zd7=get_plugin_set("head_zd7","y");
|
|
$head_zd8=get_plugin_set("head_zd8","n");
|
|
//
|
|
$select_client_type="y";//dp:允许筛选店铺
|
|
$use_layui_datatable="n";//使用标准layui datatable格式数据
|
|
|
|
$s_key=$s_key?$s_key:$_key;
|
|
//搜索
|
|
$search_arr=array();
|
|
$searh_select1=get_plugin_set("select_zd1","");
|
|
$searh_select2=get_plugin_set("select_zd2","");
|
|
$searh_select3=get_plugin_set("select_zd3","");
|
|
array_push($search_arr,$searh_select1,$searh_select2,$searh_select3);
|
|
|
|
//
|
|
$str_select="";
|
|
for($i=0;$i<count($search_arr);$i++){
|
|
$arr_val=$search_arr[$i];
|
|
if($arr_val){
|
|
if($arr_val=="s_spk"){
|
|
$str_select.="{\"name\":\"s_spk\",\"title\":\"是否饰品款\",\"value\":\"".$s_spk."\",\"op\":[{\"no\":\"y\",\"title\":\"是\"},{\"no\":\"n\",\"title\":\"否\"}]},";
|
|
}else if($arr_val=="s_ka"){
|
|
$str_select.="{\"name\":\"s_ka\",\"title\":\"是否删除款\",\"value\":\"".$s_ka."\",\"op\":[{\"no\":\"y\",\"title\":\"是\"},{\"no\":\"n\",\"title\":\"否\"}]},";
|
|
}else{
|
|
$str_op="";
|
|
$sql_select="select no,title from web_keyword where cate='".$arr_val."' order by ord";
|
|
$res_select=$db->query($sql_select);
|
|
while($msg_select=$db->fetch_array($res_select)){
|
|
$str_op.="{\"no\":\"".$msg_select["no"]."\",\"title\":\"".$msg_select["title"]."\"},";
|
|
}
|
|
$str_select.="{\"name\":\"".$arr_val."\",\"title\":\"".get_cate_title_no("arr_select",$arr_val)."\",\"value\":\"".$$arr_val."\",\"op\":[".substr($str_op,0,-1)."]},";
|
|
}
|
|
}
|
|
}
|
|
$json_data.="\"select_report\":[".substr($str_select,0,-1)."],";
|
|
//end
|
|
|
|
//-------------------------条件
|
|
//-------con为web_order
|
|
//-------con1为web_kh
|
|
$con=$con1="";
|
|
if($searh_select1!="s_ka" && $searh_select2!="s_ka" && $searh_select3!="s_ka"){
|
|
//没有删除款搜索时
|
|
$con.=" and ka<>'y' ";
|
|
$con1.=" and ka<>'y' ";
|
|
}else{
|
|
if($s_ka){
|
|
$con.=" and ka='".$s_ka."' ";
|
|
$con1.=" and ka='".$s_ka."' ";
|
|
}
|
|
}
|
|
if($searh_select1!="s_spk" && $searh_select2!="s_spk" && $searh_select3!="s_spk"){
|
|
//没有饰品款搜索时
|
|
$con.=" and is_sp<>'y' ";
|
|
$con1.=" and is_sp<>'y' ";
|
|
}else{
|
|
if($s_spk){
|
|
$con.=" and is_sp='".$s_spk."' ";
|
|
$con1.=" and is_sp='".$s_spk."' ";
|
|
}
|
|
}
|
|
if($s_key){
|
|
if($s_key=="all"){
|
|
$con.="";
|
|
}else{
|
|
$con.=" and _key='".$s_key."'";
|
|
}
|
|
}
|
|
//其他
|
|
for($i=0;$i<count($search_arr);$i++){
|
|
$arr_val=$search_arr[$i];
|
|
if($arr_val && $arr_val!="s_spk" && $arr_val!="s_ka"){
|
|
if($$arr_val){
|
|
$con.=" and ".$arr_val."='".$$arr_val."' ";
|
|
$con1.=" and ".$arr_val."='".$$arr_val."' ";
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
//店铺查询条件
|
|
if($msg_client["face"]=="4"){
|
|
$s_username=$msg_client["username"];
|
|
$con.=" and uid='".$msg_client["id"]."'";
|
|
}else{
|
|
if($s_username){
|
|
$m2=get_db_msg("select id,face,path from ".$table_pre."client where username='".$s_username."'");
|
|
if($m2["face"]=="4"){
|
|
$con.=" and uid='".$m2["id"]."'";
|
|
}else{
|
|
$con.=" and (upath='".$m2["path"]."-".$m2["id"]."' or upath like '".$m2["path"]."-".$m2["id"]."-%')";
|
|
}
|
|
}else if($msg_client["face"]=="2"){
|
|
//区经角色所有客户
|
|
$con.=get_qj_ucon_all($msg_client["charge_path_real"]);
|
|
}else if($msg_client["face"]=="1"){
|
|
//区经角色所有客户
|
|
}else{
|
|
//代理角色所有客户
|
|
$con.=" and (upath='".$msg_client["path"]."-".$msg_client["id"]."' or upath like '".$msg_client["path"]."-".$msg_client["id"]."-%')";
|
|
}
|
|
}
|
|
//---------------------------------------------
|
|
if($zd1==""){
|
|
//请求数据有误
|
|
$content_data="<div align='center'>请先配置参数!</div>";
|
|
$json_data.="\"sys_bb_type\":\"report_null\",";
|
|
}else{
|
|
//---------------------------------------一维报表
|
|
$json_data.="\"sys_bb_type\":\"report_1w\",";
|
|
$s_group_by=$zd1;
|
|
|
|
//取得总款数
|
|
$tmp=get_db_msg("select count(*) 'num' from ".$table_pre."kh where ".$s_group_by."<>''".$con1);
|
|
$total_ks=$tmp["num"];
|
|
//取得总款色数
|
|
$total_sku=0;
|
|
$q2="select no,color,color_ka from ".$table_pre."kh where ".$s_group_by."<>''".$con1;
|
|
$r2=$db->query($q2);
|
|
while($m2=$db->fetch_array($r2)){
|
|
$arr1=explode(",",$m2["color"]);
|
|
$arr2=explode(",",$m2["color_ka"]);
|
|
for($i1=0;$i1<count($arr1);$i1++){
|
|
if(!in_array($arr1[$i1],$arr2))
|
|
$total_sku++;
|
|
}
|
|
}
|
|
//取得总均价
|
|
$tmp=get_db_msg("select sum(price)/count(*) 'jj' from ".$table_pre."kh where ".$s_group_by."<>''".$con1);
|
|
$price_jj=keep_float($tmp["jj"],1);
|
|
//取得已订总件数和金额
|
|
$q="select sum(num) 'num',sum(je) 'je',sum(jsje) 'jsje' from ".$table_pre."order where ".$s_group_by."<>'' ".$con;
|
|
$tmp=get_db_msg($q);
|
|
$total_yd_js=$tmp["num"];
|
|
$total_yd_je=$tmp["je"];
|
|
$total_yd_jsje=$tmp["jsje"];
|
|
//取得已订总款数
|
|
$tmp1=get_db_msg("select count(distinct no) 'num' from ".$table_pre."order where ".$s_group_by."<>'' ".$con);
|
|
$total_yd_ks=$tmp1["num"];
|
|
//取得已订总款色数
|
|
$tmp1=get_db_msg("select count(distinct no,color) 'num' from ".$table_pre."order where ".$s_group_by."<>'' ".$con);
|
|
$total_yd_sku=$tmp1["num"];
|
|
|
|
//
|
|
$content_data="";
|
|
$content_data.="<table id='tabledetail' class='cell-border nowrap' width='100%' lay-filter='layui_table' cellspacing='0' cellpadding='0' border='0' class='layui-table'>";
|
|
$content_data.="<thead><tr style='background-color:#f2f2f2' align=center><td rowspan=2>".get_cate_title_no("arr_select",$s_group_by)."</td>";
|
|
$content_data.=($head_zd1=="y")?"<td rowspan=2>均价</td>":"";
|
|
$content_data.=($head_zd2=="y")?"<td colspan=2>设计款数</td>":"";
|
|
$content_data.=($head_zd3=="y")?"<td colspan=2>已订款数</td>":"";
|
|
$content_data.=($head_zd4=="y")?"<td colspan=2>设计款色</td>":"";
|
|
$content_data.=($head_zd5=="y")?"<td colspan=2>已订款色</td>":"";
|
|
$content_data.=($head_zd6=="y")?"<td colspan=2>已订件数</td>":"";
|
|
$content_data.=($head_zd7=="y")?"<td colspan=2>吊牌金额</td>":"";
|
|
$content_data.=($head_zd8=="y")?"<td colspan=2>结算金额</td>":"";
|
|
$content_data.="</tr>";
|
|
|
|
$content_data.="<tr style='background-color:#f2f2f2' align=center>";
|
|
$content_data.=($head_zd2=="y")?"<td>款数</td><td>占比</td>":"";
|
|
$content_data.=($head_zd3=="y")?"<td>款数</td><td>占比</td>":"";
|
|
$content_data.=($head_zd4=="y")?"<td>款数</td><td>占比</td>":"";
|
|
$content_data.=($head_zd5=="y")?"<td>款数</td><td>占比</td>":"";
|
|
$content_data.=($head_zd6=="y")?"<td>件数</td><td>占比</td>":"";
|
|
$content_data.=($head_zd7=="y")?"<td>金额</td><td>占比</td>":"";
|
|
$content_data.=($head_zd8=="y")?"<td>金额</td><td>占比</td>":"";
|
|
$content_data.="</tr>";
|
|
|
|
$content_data.="</thead>";
|
|
$content_data.="<tbody>";
|
|
//
|
|
$tb_data_x="";
|
|
$tb_data_y=",";
|
|
//
|
|
$tbody_str="";
|
|
$q="select * from ".$table_pre."keyword where cate='".$s_group_by."' order by no";
|
|
$r=$db->query($q);
|
|
$count=$total_num=$total_money=0;
|
|
while($m=$db->fetch_array($r)){
|
|
$list=$count+1;
|
|
if($s_group_by=="color"){
|
|
$gtitle=get_cate_title_no("color",$m["color"]);
|
|
}else{
|
|
$gtitle=get_cate_title_no($s_group_by,$m[$s_group_by]);
|
|
}
|
|
//------取得款数
|
|
$tmp=get_db_msg("select count(distinct no) 'num' from ".$table_pre."order where ".$s_group_by."='".$m["no"]."'".$con);
|
|
$tmp_yd_ks=$tmp["num"];
|
|
$tmp=get_db_msg("select count(*) 'num' from ".$table_pre."kh where ".$s_group_by."='".$m["no"]."'".$con1);
|
|
$tmp_z_ks=$tmp["num"];
|
|
//取得款色
|
|
$tmp=get_db_msg("select count(distinct no,color) 'num' from ".$table_pre."order where ".$s_group_by."='".$m["no"]."'".$con);
|
|
$tmp_yd_sku=$tmp["num"];
|
|
$tmp_z_sku=0;
|
|
$q2="select no,color,color_ka from ".$table_pre."kh where ".$s_group_by."='".$m["no"]."'".$con1;
|
|
$r2=$db->query($q2);
|
|
while($m2=$db->fetch_array($r2)){
|
|
$n1=count(explode(",",$m2["color"]));
|
|
$n2=trim($m2["color_ka"])?count(explode(",",$m2["color_ka"])):0;
|
|
$tmp_z_sku+=$n1-$n2;
|
|
}
|
|
//取得数量
|
|
$tmp=get_db_msg("select sum(num) 'num',sum(je) 'je',sum(jsje) 'jsje' from ".$table_pre."order where id>0 and ".$s_group_by."='".$m["no"]."'".$con);
|
|
$tmp_yd_js=$tmp["num"];
|
|
$tmp_yd_je=$tmp["je"];
|
|
$tmp_yd_jsje=$tmp["jsje"];
|
|
if($tmp_z_ks>0){
|
|
//取得均价
|
|
$tmp=get_db_msg("select sum(price)/count(*) 'jj' from ".$table_pre."kh where ".$s_group_by."='".$m["no"]."'".$con1);
|
|
//
|
|
$tb_data_x.=$m["title"].",";
|
|
$tb_data_y.=str_replace("%","",deel_bfb($tmp_yd_js,$total_yd_js)).",";
|
|
if($msg_client["face"]=="4"){
|
|
$content_data.="<tr align=center><td><a style='color:blue;' href='javascript:void(0);' onclick=go_dkhtml({'s_".$s_group_by."':'".$m["no"]."'})>".$m["title"]."</a></td>";
|
|
}else{
|
|
$content_data.="<tr align=center><td>".$m["title"]."</td>";
|
|
}
|
|
//
|
|
$content_data.=($head_zd1=="y")?"<td>".keep_float($tmp["jj"],1)."</td>":"";
|
|
$content_data.=($head_zd2=="y")?"<td>".$tmp_z_ks."</td><td>".deel_bfb($tmp_z_ks,$total_ks)."</td>":"";
|
|
$content_data.=($head_zd3=="y")?"<td>".$tmp_yd_ks."</td><td>".deel_bfb($tmp_yd_ks,$total_yd_ks)."</td>":"";
|
|
$content_data.=($head_zd4=="y")?"<td>".$tmp_z_sku."</td><td>".deel_bfb($tmp_z_sku,$total_sku)."</td>":"";
|
|
$content_data.=($head_zd5=="y")?"<td>".$tmp_yd_sku."</td><td>".deel_bfb($tmp_yd_sku,$total_yd_sku)."</td>":"";
|
|
$content_data.=($head_zd6=="y")?"<td>".deel_01(deel_num($tmp_yd_js))."</td><td>".deel_bfb($tmp_yd_js,$total_yd_js)."</td>":"";
|
|
$content_data.=($head_zd7=="y")?"<td>".deel_01(deel_num($tmp_yd_je))."</td><td>".deel_bfb($tmp_yd_je,$total_yd_je)."</td>":"";
|
|
$content_data.=($head_zd8=="y")?"<td>".deel_01(deel_num($tmp_yd_jsje))."</td><td>".deel_bfb($tmp_yd_jsje,$total_yd_jsje)."</td>":"";
|
|
$content_data.="</tr>";
|
|
$count++;
|
|
}
|
|
}
|
|
|
|
$content_data.="</tbody>";
|
|
$content_data.="<tfoot>";
|
|
$content_data.="<tr align=center style='background-color:#f2f2f2'><td>合计</td>";
|
|
$content_data.=($head_zd1=="y")?"<td>".$price_jj."</td>":"";
|
|
$content_data.=($head_zd2=="y")?"<td>".$total_ks."</td><td></td>":"";
|
|
$content_data.=($head_zd3=="y")?"<td>".$total_yd_ks."</td><td></td>":"";
|
|
$content_data.=($head_zd4=="y")?"<td>".$total_sku."</td><td></td>":"";
|
|
$content_data.=($head_zd5=="y")?"<td>".$total_yd_sku."</td><td></td>":"";
|
|
$content_data.=($head_zd6=="y")?"<td>".deel_01(deel_num($total_yd_js))."</td><td></td>":"";
|
|
$content_data.=($head_zd7=="y")?"<td>".deel_01(deel_num($total_yd_je))."</td><td></td>":"";
|
|
$content_data.=($head_zd8=="y")?"<td>".deel_01(deel_num($total_yd_jsje))."</td><td></td>":"";
|
|
$content_data.="</tr>";
|
|
$content_data.="</tfoot>";
|
|
$content_data.="</table>";
|
|
|
|
//图
|
|
$tb_data_y=deel_end($tb_data_y);
|
|
$tb_data_x=deel_end($tb_data_x);
|
|
$json_data.="\"chart_title\":\"\",";
|
|
$json_data.="\"chart_type\":\"pie\",";
|
|
$json_data.="\"chart_data_x\":\"".$tb_data_x."\",";
|
|
$json_data.="\"chart_data_y\":\"".$tb_data_y."\",";
|
|
}
|
|
$json_data.="\"table_html\":\"".$content_data."\",";
|
|
?>
|