orders aggs_biz_ding_piao_rpt, del null column line
This commit is contained in:
@@ -1080,11 +1080,12 @@ class Orders_v2_entity{
|
||||
}*/
|
||||
$arr1 = array_merge($arr1, array('doc_ding'=>$title_ding));
|
||||
foreach ($series_names as $k => $v){
|
||||
foreach ($v as $k1 => $v1){
|
||||
$arr1[$k.'_'.$v1.'_ding'] = $k.'_'.$v1;
|
||||
}
|
||||
$arr1[$k.'_ding'] = $k;
|
||||
$indexs_total[] = $k.'_ding';
|
||||
$arr1[$k.'_ding'] = $k; # 品牌在系列前
|
||||
foreach ($v as $k1 => $v1){
|
||||
#$arr1[$k.'_'.$v1.'_ding'] = $k.'_'.$v1;
|
||||
$arr1[$k.'_'.$v1.'_ding'] = ' '.$v1; # 系列简写
|
||||
}
|
||||
}
|
||||
$arr3 = array('doc_piao_today'=>$title_piao_today);
|
||||
/*foreach ($brand_names as $k => $v){
|
||||
@@ -1095,11 +1096,12 @@ class Orders_v2_entity{
|
||||
}*/
|
||||
$arr3 = array_merge($arr3, array('doc_piao'=>$title_piao));
|
||||
foreach ($series_names as $k => $v){
|
||||
foreach ($v as $k1 => $v1){
|
||||
$arr3[$k.'_'.$v1.'_piao'] = $k.'_'.$v1;
|
||||
}
|
||||
$arr3[$k.'_piao'] = $k;
|
||||
$indexs_total[] = $k.'_piao';
|
||||
$arr3[$k.'_piao'] = $k; # 品牌在系列前
|
||||
foreach ($v as $k1 => $v1){
|
||||
#$arr3[$k.'_'.$v1.'_piao'] = $k.'_'.$v1;
|
||||
$arr3[$k.'_'.$v1.'_piao'] = ' '.$v1; # 系列简写
|
||||
}
|
||||
}
|
||||
$indexs = array_merge($arr1, $arr3); #var_dump($indexs);
|
||||
|
||||
@@ -1154,29 +1156,29 @@ class Orders_v2_entity{
|
||||
$doc_piao_ += $v1['doc_piao'] ? $v1['doc_piao'] : 0;
|
||||
|
||||
if ($biz_type <> $v1['biz_type']){
|
||||
$biz_type_ary = $this->ci->biz_model->type_ary();
|
||||
$biz_type_name = $biz_type_ary[$biz_type] ? '('.$biz_type_ary[$biz_type].')' : '';
|
||||
$arr1 = array('biz_type'=>$biz_type, 'biz_id'=>'', 'biz_name'=>$biz_type_name.'小计', 'doc_ding_today'=>$doc_ding_today ? $doc_ding_today : '', 'doc_ding'=>$doc_ding ? $doc_ding : '');
|
||||
#$biz_type_ary = $this->ci->biz_model->type_ary();
|
||||
#$biz_type_name = $biz_type_ary[$biz_type] ? '('.$biz_type_ary[$biz_type].')' : ''; # 'biz_name'=>$biz_type_name.'小计'
|
||||
$arr1 = array('biz_type'=>$biz_type, 'biz_id'=>'', 'biz_name'=>'小计', 'doc_ding_today'=>$doc_ding_today ? $doc_ding_today : '', 'doc_ding'=>$doc_ding ? $doc_ding : '');
|
||||
foreach ($brand_names as $k2 => $v2){
|
||||
# 生成车型列
|
||||
$key_ding_xj = $biz_type.'_'.$v2.'_doc_ding';
|
||||
$arr1[$v2.'_ding'] = $kv[$key_ding_xj] ? $kv[$key_ding_xj] : '';
|
||||
|
||||
# 生成车系列
|
||||
foreach ($series_names[$v2] as $ks => $vs){
|
||||
$key_ding_series_xj = $biz_type.'_'.$v2.'_'.$vs.'_doc_ding';
|
||||
$arr1[$v2.'_'.$vs.'_ding'] = $kv[$key_ding_series_xj] ? $kv[$key_ding_series_xj] : '';
|
||||
}
|
||||
|
||||
# 生成车型列
|
||||
$key_ding_xj = $biz_type.'_'.$v2.'_doc_ding';
|
||||
$arr1[$v2.'_ding'] = $kv[$key_ding_xj] ? $kv[$key_ding_xj] : '';
|
||||
}
|
||||
$arr3 = array('doc_piao_today'=>$doc_piao_today ? $doc_piao_today : '', 'doc_piao'=>$doc_piao ? $doc_piao : '');
|
||||
foreach ($brand_names as $k2 => $v2){
|
||||
$key_piao_xj = $biz_type.'_'.$v2.'_doc_piao';
|
||||
$arr3[$v2.'_piao'] = $kv[$key_piao_xj] ? $kv[$key_piao_xj] : '';
|
||||
|
||||
foreach ($series_names[$v2] as $ks => $vs){
|
||||
$key_piao_series_xj = $biz_type.'_'.$v2.'_'.$vs.'_doc_piao';
|
||||
$arr3[$v2.'_'.$vs.'_piao'] = $kv[$key_piao_series_xj] ? $kv[$key_piao_series_xj] : '';
|
||||
}
|
||||
|
||||
$key_piao_xj = $biz_type.'_'.$v2.'_doc_piao';
|
||||
$arr3[$v2.'_piao'] = $kv[$key_piao_xj] ? $kv[$key_piao_xj] : '';
|
||||
}
|
||||
$biz_aggs[] = array_merge($arr1, $arr3);
|
||||
|
||||
@@ -1191,72 +1193,72 @@ class Orders_v2_entity{
|
||||
|
||||
$arr1 = array('biz_type'=>$biz_type, 'biz_id'=>$biz_id, 'biz_name'=>$biz_name, 'doc_ding_today'=>$v1['doc_ding_today'] ? $v1['doc_ding_today'] : '', 'doc_ding'=>$v1['doc_ding'] ? $v1['doc_ding'] : '');
|
||||
foreach ($brand_names as $k2 => $v2){
|
||||
$key_ding = $v1['biz_type'].'_'.$v1['biz_id'].'_'.$v2.'_doc_ding';
|
||||
$arr1[$v2.'_ding'] = $kv[$key_ding] ? $kv[$key_ding] : '';
|
||||
|
||||
foreach ($series_names[$v2] as $ks => $vs){
|
||||
$key_ding_series = $v1['biz_type'].'_'.$v1['biz_id'].'_'.$v2.'_'.$vs.'_doc_ding';
|
||||
$arr1[$v2.'_'.$vs.'_ding'] = $kv[$key_ding_series] ? $kv[$key_ding_series] : '';
|
||||
}
|
||||
|
||||
$key_ding = $v1['biz_type'].'_'.$v1['biz_id'].'_'.$v2.'_doc_ding';
|
||||
$arr1[$v2.'_ding'] = $kv[$key_ding] ? $kv[$key_ding] : '';
|
||||
}
|
||||
$arr3 = array('doc_piao_today'=>$v1['doc_piao_today'] ? $v1['doc_piao_today'] : '', 'doc_piao'=>$v1['doc_piao'] ? $v1['doc_piao'] : '');
|
||||
foreach ($brand_names as $k2 => $v2){
|
||||
$key_piao = $v1['biz_type'].'_'.$v1['biz_id'].'_'.$v2.'_doc_piao';
|
||||
$arr3[$v2.'_piao'] = $kv[$key_piao] ? $kv[$key_piao] : '';
|
||||
|
||||
foreach ($series_names[$v2] as $ks => $vs){
|
||||
$key_piao_series = $v1['biz_type'].'_'.$v1['biz_id'].'_'.$v2.'_'.$vs.'_doc_piao';
|
||||
$arr3[$v2.'_'.$vs.'_piao'] = $kv[$key_piao_series] ? $kv[$key_piao_series] : '';
|
||||
}
|
||||
|
||||
$key_piao = $v1['biz_type'].'_'.$v1['biz_id'].'_'.$v2.'_doc_piao';
|
||||
$arr3[$v2.'_piao'] = $kv[$key_piao] ? $kv[$key_piao] : '';
|
||||
}
|
||||
$biz_aggs[] = array_merge($arr1, $arr3);
|
||||
}
|
||||
|
||||
# 最后一个小计
|
||||
$biz_type_ary = $this->ci->biz_model->type_ary();
|
||||
$biz_type_name = $biz_type_ary[$biz_type] ? '('.$biz_type_ary[$biz_type].')' : '';
|
||||
$arr1 = array('biz_type'=>$biz_type, 'biz_id'=>'', 'biz_name'=>$biz_type_name.'小计', 'doc_ding_today'=>$doc_ding_today ? $doc_ding_today : '', 'doc_ding'=>$doc_ding ? $doc_ding : '');
|
||||
#$biz_type_ary = $this->ci->biz_model->type_ary();
|
||||
#$biz_type_name = $biz_type_ary[$biz_type] ? '('.$biz_type_ary[$biz_type].')' : ''; # 'biz_name'=>$biz_type_name.'小计'
|
||||
$arr1 = array('biz_type'=>$biz_type, 'biz_id'=>'', 'biz_name'=>'小计', 'doc_ding_today'=>$doc_ding_today ? $doc_ding_today : '', 'doc_ding'=>$doc_ding ? $doc_ding : '');
|
||||
foreach ($brand_names as $k2 => $v2){
|
||||
$key_ding_xj = $biz_type.'_'.$v2.'_doc_ding';
|
||||
$arr1[$v2.'_ding'] = $kv[$key_ding_xj] ? $kv[$key_ding_xj] : '';
|
||||
|
||||
foreach ($series_names[$v2] as $ks => $vs){
|
||||
$key_ding_series_xj = $biz_type.'_'.$v2.'_'.$vs.'_doc_ding';
|
||||
$arr1[$v2.'_'.$vs.'_ding'] = $kv[$key_ding_series_xj] ? $kv[$key_ding_series_xj] : '';
|
||||
}
|
||||
|
||||
$key_ding_xj = $biz_type.'_'.$v2.'_doc_ding';
|
||||
$arr1[$v2.'_ding'] = $kv[$key_ding_xj] ? $kv[$key_ding_xj] : '';
|
||||
}
|
||||
$arr3 = array('doc_piao_today'=>$doc_piao_today ? $doc_piao_today : '', 'doc_piao'=>$doc_piao ? $doc_piao : '');
|
||||
foreach ($brand_names as $k2 => $v2){
|
||||
$key_piao_xj = $biz_type.'_'.$v2.'_doc_piao';
|
||||
$arr3[$v2.'_piao'] = $kv[$key_piao_xj] ? $kv[$key_piao_xj] : '';
|
||||
|
||||
foreach ($series_names[$v2] as $ks => $vs){
|
||||
$key_piao_series_xj = $biz_type.'_'.$v2.'_'.$vs.'_doc_piao';
|
||||
$arr3[$v2.'_'.$vs.'_piao'] = $kv[$key_piao_series_xj] ? $kv[$key_piao_series_xj] : '';
|
||||
}
|
||||
|
||||
$key_piao_xj = $biz_type.'_'.$v2.'_doc_piao';
|
||||
$arr3[$v2.'_piao'] = $kv[$key_piao_xj] ? $kv[$key_piao_xj] : '';
|
||||
}
|
||||
$biz_aggs[] = array_merge($arr1, $arr3);
|
||||
|
||||
# 合计
|
||||
$arr1 = array('biz_type'=>'', 'biz_id'=>'', 'biz_name'=>'合计', 'doc_ding_today'=>$doc_ding_today_ ? $doc_ding_today_ : '', 'doc_ding'=>$doc_ding_ ? $doc_ding_ : '');
|
||||
foreach ($brand_names as $k2 => $v2){
|
||||
$key_ding_hj = $v2.'_doc_ding';
|
||||
$arr1[$v2.'_ding'] = $kv[$key_ding_hj] ? $kv[$key_ding_hj] : '';
|
||||
|
||||
foreach ($series_names[$v2] as $ks => $vs){
|
||||
$key_ding_series_hj = $v2.'_'.$vs.'_doc_ding';
|
||||
$arr1[$v2.'_'.$vs.'_ding'] = $kv[$key_ding_series_hj] ? $kv[$key_ding_series_hj] : '';
|
||||
}
|
||||
|
||||
$key_ding_hj = $v2.'_doc_ding';
|
||||
$arr1[$v2.'_ding'] = $kv[$key_ding_hj] ? $kv[$key_ding_hj] : '';
|
||||
}
|
||||
$arr3 = array('doc_piao_today'=>$doc_piao_today_ ? $doc_piao_today_ : '', 'doc_piao'=>$doc_piao_ ? $doc_piao_ : '');
|
||||
foreach ($brand_names as $k2 => $v2){
|
||||
$key_piao_hj = $v2.'_doc_piao';
|
||||
$arr3[$v2.'_piao'] = $kv[$key_piao_hj] ? $kv[$key_piao_hj] : '';
|
||||
|
||||
foreach ($series_names[$v2] as $ks => $vs){
|
||||
$key_ding_series_hj = $v2.'_'.$vs.'_doc_piao';
|
||||
$arr3[$v2.'_'.$vs.'_piao'] = $kv[$key_ding_series_hj] ? $kv[$key_ding_series_hj] : '';
|
||||
}
|
||||
|
||||
$key_piao_hj = $v2.'_doc_piao';
|
||||
$arr3[$v2.'_piao'] = $kv[$key_piao_hj] ? $kv[$key_piao_hj] : '';
|
||||
}
|
||||
$biz_aggs[] = array_merge($arr1, $arr3);#var_dump($indexs);var_dump($biz_aggs);
|
||||
|
||||
@@ -1289,12 +1291,13 @@ class Orders_v2_entity{
|
||||
foreach ($index_img as $k => $v){
|
||||
#$k != 'biz_name' && $index_img[$k] = mb_strlen ($v) > 8 ? mb_substr($v, -8, 8) : $v;
|
||||
if ($k != 'biz_name'){
|
||||
if (strpos($k,'_') !== false){
|
||||
/*if (strpos($k,'_') !== false){
|
||||
$index_img[$k] = mb_strlen ($v) > 8 ? mb_substr($v, 0, 2).'..'.mb_substr(array_slice(explode('_', $v), -1)[0], -5, 5) : str_replace('_', ' ', $v);
|
||||
}
|
||||
else{
|
||||
$index_img[$k] = mb_strlen ($v) > 5 ? mb_substr($v, 0, 5) : $v;
|
||||
}
|
||||
}*/
|
||||
$index_img[$k] = $v; # 讲话车系后直接显示全部
|
||||
}
|
||||
if (strpos($k,'_ding') !== false){
|
||||
$index_img_ding[$k] = $index_img[$k];
|
||||
@@ -1307,10 +1310,18 @@ class Orders_v2_entity{
|
||||
$index_img_piao[$k] = $index_img[$k];
|
||||
}
|
||||
}
|
||||
|
||||
# 去掉空列与空行
|
||||
$this->clear_null_column_line($biz_aggs, $indexs);
|
||||
$this->clear_null_column_line($data, $index_img);
|
||||
$this->clear_null_column_line($data_ding, $index_img_ding);
|
||||
$this->clear_null_column_line($data_piao, $index_img_piao);
|
||||
#var_dump($data_piao);var_dump('<br>');var_dump($index_img_piao);var_dump('<br>');var_dump($indexs_total);
|
||||
|
||||
#var_dump($biz_aggs[0]);var_dump($data[0]);var_dump($index_img);var_dump($data_ding[0]);var_dump($index_img_ding);var_dump($data_piao[0]);var_dump($index_img_piao);;
|
||||
$img_path = $this->create_table_image($data, $index_img, $indexs_total, '小狸播报', 'aggs_biz_rpt.png');
|
||||
$img_path_ding = $this->create_table_image($data_ding, $index_img_ding, $indexs_total, '小狸播报-订单', 'aggs_biz_rpt_ding.png');
|
||||
$img_path_piao = $this->create_table_image($data_piao, $index_img_piao, $indexs_total, '小狸播报-开票', 'aggs_biz_rpt_piao.png');
|
||||
$img_path_ding = $this->create_table_image($data_ding, $index_img_ding, $indexs_total, '小狸播报 - 订单', 'aggs_biz_rpt_ding.png');
|
||||
$img_path_piao = $this->create_table_image($data_piao, $index_img_piao, $indexs_total, '小狸播报 - 开票', 'aggs_biz_rpt_piao.png');
|
||||
}
|
||||
return array('biz_aggs'=>$biz_aggs, 'indexs'=>$indexs, 'img_path'=>$img_path, 'img_path_ding'=>$img_path_ding, 'img_path_piao'=>$img_path_piao);
|
||||
}
|
||||
@@ -1464,6 +1475,49 @@ class Orders_v2_entity{
|
||||
return array('biz_aggs'=>$biz_aggs, 'indexs'=>$indexs, 'img_path'=>$img_path);
|
||||
}
|
||||
|
||||
private function clear_null_column_line(&$data, &$indexs, $index_ignore_column=array('biz_type', 'biz_id', 'biz_name', 'doc_ding_today', 'doc_ding', 'doc_piao_today', 'doc_piao'),
|
||||
$index_ignore_line=array('biz_type', 'biz_id', 'biz_name')){
|
||||
# $biz_aggs去掉除列(biz_type, biz_id, biz_name, doc_ding_today, doc_ding, doc_piao_today, doc_piao)外为空的空列 + $indexs 去掉列名
|
||||
$columns = array();
|
||||
foreach ($data as $k => $v){
|
||||
foreach ($v as $kd => $vd){
|
||||
if (in_array($kd, $index_ignore_column)){
|
||||
continue;
|
||||
}
|
||||
if ($columns[$kd]){
|
||||
continue;
|
||||
}
|
||||
!$columns[$kd] && $columns[$kd] = $vd ? 1 : 0;
|
||||
}
|
||||
}
|
||||
#var_dump($data[0]);var_dump('<br>');var_dump($indexs);var_dump('<br>');var_dump($columns);
|
||||
foreach ($columns as $k => $v){
|
||||
if ($v){
|
||||
continue;
|
||||
}
|
||||
foreach ($data as $kd => $vd){
|
||||
unset($data[$kd][$k]);
|
||||
}
|
||||
unset($indexs[$k]);
|
||||
}
|
||||
# $biz_aggs去掉除列(biz_type, biz_id, biz_name)外为空的空行
|
||||
foreach ($data as $k => $v){
|
||||
$null_flag = true;
|
||||
foreach ($v as $kd => $kv){
|
||||
if (in_array($kd, $index_ignore_line)){
|
||||
continue;
|
||||
}
|
||||
if ($kv){
|
||||
$null_flag = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ($null_flag){
|
||||
unset($data[$k]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private function create_table_image($data=array(), $indexs=array(), $indexs_total=array(), $title='', $file_name='aggs_biz_rpt.png'){
|
||||
# https://blog.csdn.net/mao__ge/article/details/107414956
|
||||
if (!$data){
|
||||
@@ -1558,7 +1612,7 @@ class Orders_v2_entity{
|
||||
//画表格纵线 及 写入表头文字
|
||||
foreach ($base['column_x_arr'] as $key => $x) {
|
||||
imageline($img, $x, $border_top, $x, $border_bottom, $border_coler);//画纵线
|
||||
$x = $x - $base['column_text_offset_arr'][$key] + 1;
|
||||
$x = $x - $base['column_text_offset_arr'][$key] + 1;
|
||||
$y = $border_top + $base['row_hight'] - 8;
|
||||
$text = $base['table_header'][$key];
|
||||
#imagettftext($img, $base['text_size'], 0, $x,$y , $text_coler, $base['font_ulr'],$text );//写入表头文字
|
||||
@@ -1566,15 +1620,18 @@ class Orders_v2_entity{
|
||||
if (in_array($text.'_ding', $indexs_total) || in_array($text.'_piao', $indexs_total) || $text == $indexs['doc_ding'] || $text == $indexs['doc_piao']){
|
||||
$color = $blue_coler;
|
||||
}
|
||||
imagettftext($img, $base['text_size'], 0, $x,$y , $color, $base['font_ulr'],$text );//写入表头文字
|
||||
$offset_ext = in_array($text, array('序号')) || mb_strlen($text) > 4 ? 0 : 10 * (5 - mb_strlen($text));
|
||||
imagettftext($img, $base['text_size'], 0, $x + $offset_ext, $y, $color, $base['font_ulr'], $text );//写入表头文字
|
||||
}
|
||||
//画表格横线
|
||||
$text = 0;
|
||||
foreach ($params['data'] as $key => $item) {
|
||||
$border_top += $base['row_hight'];
|
||||
imageline($img, $base['border'], $border_top, $base['img_width'] - $base['border'], $border_top, $border_coler);
|
||||
$x = $base['column_x_arr'][0] - $base['row_text_offset_arr'][0];
|
||||
$x = $base['column_x_arr'][0] - $base['row_text_offset_arr'][0];
|
||||
$y = $border_top + $base['row_hight'] - 10;
|
||||
$text = $key + 1;
|
||||
#$text = $key + 1;
|
||||
$text ++; # 防止$key跳空
|
||||
imagettftext($img, $base['text_size'], 0, $x, $y, $text_coler, $base['font_ulr'], $text);//写入序号
|
||||
$sub = 0;
|
||||
/*foreach ($item as $value) {
|
||||
|
||||
Reference in New Issue
Block a user