|
@@ -186,6 +186,9 @@ FROM
|
|
|
$temp = ["p" => "总计", 'item' => "-", "thtotal" => 0, "total" => 0, "mthfee" => 0, "wtotal" => 0, "wthfee" => 0, "dtotal" => 0, "thfee" => 0, "tips" => 0, "rate" => 0, "thrate" => 0];
|
|
|
$tips = Db::name("depart_tips")->field("depart_id ,total_tips")->where("year=YEAR('{$dtae}') and month=month('{$dtae}')")->select();
|
|
|
$kdata = [];
|
|
|
+ try{
|
|
|
+ $wlb =$this->innterOrder($endtime);
|
|
|
+ if(!empty($wlb)) $data=array_merge($data,$wlb);
|
|
|
foreach ($data as $key => $value) {
|
|
|
$value['tips'] = 0;
|
|
|
foreach ($tips as $val) {
|
|
@@ -237,6 +240,9 @@ FROM
|
|
|
array_multisort($sort, SORT_ASC, $list);
|
|
|
array_push($list, $temp);
|
|
|
$list = array_reverse($list);
|
|
|
+ }catch (\Exception $e){
|
|
|
+ return error_show(1004, $e->getFile()."|".$e->getLine()."|".$e->getMessage());
|
|
|
+ }
|
|
|
return app_show(0, "获取成功", $list);
|
|
|
|
|
|
}
|
|
@@ -245,8 +251,13 @@ FROM
|
|
|
{
|
|
|
$list = [];
|
|
|
foreach ($data as $key => $value) {
|
|
|
-
|
|
|
- isset($list[$value['depar_id']]) ? "" : $list[$value['depar_id']] = ['total' => 0, 'mthfee' => 0, 'tips' => 0, 'wtotal' => 0, 'wthfee' => 0, 'dtotal' => 0,
|
|
|
+ $temp['total'] += $value['total'];
|
|
|
+ $temp['mthfee'] += $value['mthfee'];
|
|
|
+ $temp['wtotal'] += $value['wtotal'];
|
|
|
+ $temp['wthfee'] += $value['wthfee'];
|
|
|
+ $temp['thfee'] += $value['thfee'];
|
|
|
+ $temp['dtotal'] += $value['dtotal'];
|
|
|
+ isset($list[$value['depar_id']]) ? "" : $list[$value['depar_id']] = ['total' => 0, 'mthfee' => 0, 'tips' => $value['tips'], 'wtotal' => 0, 'wthfee' => 0, 'dtotal' => 0,
|
|
|
'child' => [], 'depart' => '', 'thfee' => 0, 'thtotal' => 0];
|
|
|
$list[$value['depar_id']]['total'] += $value['total'];
|
|
|
$list[$value['depar_id']]['mthfee'] += $value['mthfee'];
|
|
@@ -255,21 +266,7 @@ FROM
|
|
|
$list[$value['depar_id']]['dtotal'] += $value['dtotal'];
|
|
|
$list[$value['depar_id']]['thfee'] += $value['thfee'];
|
|
|
$list[$value['depar_id']]['thtotal'] += $value['thtotal'];
|
|
|
- $list[$value['depar_id']]['tips'] += is_null($value['tips']) || $value['tips'] == 0 ? 0 : $value['tips'];
|
|
|
-
|
|
|
- $temp['total'] += $value['total'];
|
|
|
- $temp['mthfee'] += $value['mthfee'];
|
|
|
- $temp['wtotal'] += $value['wtotal'];
|
|
|
- $temp['wthfee'] += $value['wthfee'];
|
|
|
- $temp['thfee'] += $value['thfee'];
|
|
|
- $temp['dtotal'] += $value['dtotal'];
|
|
|
- $temp['tips'] += is_null($value['tips']) || $value['tips'] == 0 ? 0 : $value['tips'];
|
|
|
- $temp['thtotal'] += $value['thtotal'];
|
|
|
- if (is_null($value['tips']) || $value['tips'] == 0) {
|
|
|
- $value['tips'] = "-";
|
|
|
- } else {
|
|
|
- $value['tips'] = sprintf("%.2f", $value['tips']);
|
|
|
- }
|
|
|
+ $value['tips']="-";
|
|
|
$value['total'] = sprintf("%.2f", $value['total']);
|
|
|
$value['mthfee'] = sprintf("%.2f", $value['mthfee']);
|
|
|
$value['wtotal'] = sprintf("%.2f", $value['wtotal']);
|
|
@@ -281,6 +278,98 @@ FROM
|
|
|
$list[$value['depar_id']]['depart'] = $value['depart'];
|
|
|
|
|
|
}
|
|
|
+ $temp['tips'] = array_sum(array_column($list,'tips'));
|
|
|
+ return $list;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public function innterOrder($endtime)
|
|
|
+ {
|
|
|
+ $db =Db::connect("mysql3");
|
|
|
+ $list = $db->query("SELECT
|
|
|
+ a.suppitem as p,
|
|
|
+ a.depart,
|
|
|
+ 43 as depar_id,
|
|
|
+ m,
|
|
|
+ a.sale_total AS total,
|
|
|
+ `a`.`th_total` AS `mthfee`,
|
|
|
+ IFNULL(w,WEEK('{$endtime}',1)) as w,
|
|
|
+ IFNULL(b.sale_total,0) AS wtotal,
|
|
|
+ ifnull( `b`.`th_total`, 0 ) AS `wthfee`,
|
|
|
+ IFNULL(c.d,date_format('{$endtime}', '%Y-%m-%d' )) as d,
|
|
|
+ IFNULL(c.sale_total,0) AS dtotal,
|
|
|
+ ifnull( `c`.`th_total`, 0 ) AS `thfee`
|
|
|
+FROM
|
|
|
+ (
|
|
|
+ SELECT MONTH
|
|
|
+ ( ordertime ) AS m,
|
|
|
+ sum( sale_total ) AS sale_total,
|
|
|
+ suppitem,
|
|
|
+ depart,
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ ifnull( sum( t.th_qrd_fee ), 0 )
|
|
|
+ FROM
|
|
|
+ cfp_th_source t LEFT JOIN source_all l on l.productNo = t.th_qrdcpNo
|
|
|
+ WHERE
|
|
|
+ t.th_qrdcpNo <> '' and l.depart=k.depart and l.suppitem=k.suppitem and t.th_status<>3
|
|
|
+ AND DATE_FORMAT ( t.createtime,'%Y-%m' ) = DATE_FORMAT ( '{$endtime}' ,'%Y-%m')
|
|
|
+ ) AS th_total
|
|
|
+
|
|
|
+ FROM
|
|
|
+ source_all k
|
|
|
+ WHERE
|
|
|
+ DATE_FORMAT(ordertime,'%Y-%m') = DATE_FORMAT('{$endtime}','%Y-%m')
|
|
|
+ GROUP BY
|
|
|
+ suppitem,depart,
|
|
|
+ m
|
|
|
+ ) AS a
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT WEEK
|
|
|
+ ( ordertime, 1 ) AS w,
|
|
|
+ sum( sale_total ) AS sale_total,
|
|
|
+ suppitem,
|
|
|
+ depart,
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ ifnull( sum( t.th_qrd_fee ), 0 )
|
|
|
+ FROM
|
|
|
+ cfp_th_source t LEFT JOIN source_all l on l.productNo = t.th_qrdcpNo
|
|
|
+ WHERE
|
|
|
+ t.th_qrdcpNo <> '' and l.depart=k.depart and l.suppitem=k.suppitem and t.th_status<>3
|
|
|
+ AND week ( t.createtime,1 ) = WEEK ( '{$endtime}', 1 ) and DATE_FORMAT ( t.createtime,'%Y' ) = DATE_FORMAT ( '{$endtime}' ,'%Y')
|
|
|
+ ) AS th_total
|
|
|
+ FROM
|
|
|
+ source_all k
|
|
|
+ WHERE
|
|
|
+ WEEK ( ordertime, 1 ) = WEEK ( '{$endtime}', 1 ) and DATE_FORMAT ( ordertime,'%Y' ) = DATE_FORMAT ( '{$endtime}' ,'%Y')
|
|
|
+ GROUP BY
|
|
|
+ suppitem,depart,
|
|
|
+ w
|
|
|
+ ) AS b ON a.suppitem = b.suppitem and a.depart=b.depart
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ date_format( ordertime, '%Y-%m-%d' ) AS d,
|
|
|
+ sum( sale_total ) AS sale_total,
|
|
|
+ suppitem,depart,
|
|
|
+ (
|
|
|
+
|
|
|
+ SELECT
|
|
|
+ ifnull( sum( t.th_qrd_fee ), 0 )
|
|
|
+ FROM
|
|
|
+ cfp_th_source t LEFT JOIN source_all l on l.productNo = t.th_qrdcpNo
|
|
|
+ WHERE
|
|
|
+ t.th_qrdcpNo <> '' and l.depart=k.depart and l.suppitem=k.suppitem and t.th_status<>3
|
|
|
+ AND date_format ( t.createtime,'%Y-%m-%d') = date_format ( '{$endtime}', '%Y-%m-%d' )
|
|
|
+ ) AS th_total FROM
|
|
|
+ source_all k
|
|
|
+ WHERE
|
|
|
+ date_format( ordertime, '%Y-%m-%d' ) = date_format( '{$endtime}', '%Y-%m-%d' )
|
|
|
+ GROUP BY
|
|
|
+ suppitem,depart,
|
|
|
+ d
|
|
|
+ ) AS c ON a.suppitem = c.suppitem and a.depart=c.depart
|
|
|
+");
|
|
|
return $list;
|
|
|
}
|
|
|
}
|