public function view()
{
//接收qd_user表的ID值 ,如果没有接收到,则返回终端列表
$qd_user_id = isset($_REQUEST['qd_user_id']) ? $_REQUEST['qd_user_id'] : 0;
if( !$qd_user_id ){
$this->error('数据错误!qd_user_id值没有接收到','__APP__/terminal/index');
}
//接收年份,默认是当前年份
$year = isset($_REQUEST['year']) ? $_REQUEST['year'] : date("Y");
$defaultStime = $year.'-01-01';
$defaultEtime = (intval($year)+1).'-01-01';
//1.统计会员-按月**********************************************************************************************************
$memberList = M('m_member','mall_')->field("DATE_FORMAT(regtime,'%m') months, COUNT(*) counts ")
->where("qd_user_id={$qd_user_id} AND regtime>='{$defaultStime}' AND regtime<'{$defaultEtime}'")
->group('months')
->select();
//2.统计订单-按月**********************************************************************************************************
$orderList = M("m_order",'mall_')->field("DATE_FORMAT(ordertime,'%m') months, COUNT(*) counts")
->where("orderstate IN(1,2,3,6) AND uid IN(SELECT id FROM mall_m_member WHERE qd_user_id=".$qd_user_id.") AND ordertime>='{$defaultStime}' AND ordertime<'{$defaultEtime}'")
->group("months")
->select();
//3.统计收益-按月**********************************************************************************************************
//求所有子订单
$jm = M("jm_order jm","mall_");
$jmOrderList = $jm->field("prud, DATE_FORMAT(orderdate,'%m') months")
->join("INNER JOIN (SELECT orderid FROM mall_m_order o INNER JOIN (SELECT id FROM mall_m_member WHERE qd_user_id=".$qd_user_id.") m ON m.id=uid WHERE orderstate IN(1,2,3,6)) o ON o.orderid = jm.ordernum ")
->where("c_state IN(10) AND mir_jiesuan_status=2 AND orderdate>='{$defaultStime}' AND orderdate<'{$defaultEtime}'")
->select();
//计算出每个子订单收益金额
foreach($jmOrderList as $k=>$jm)
{
$prub = unserialize($jm['prud']); //商品信息,反序列化
//结算出单件的收益
$produc = M('produc','mall_')->field("(CASE WHEN gyprice>0 THEN (memprice-gyprice)*0.4 ELSE 0 END) AS sy")
->where('id='.$prub['id'])
->find();
//一件子订单的收益 = 单件收益 x 件数
$jmOrderList[$k]['sy'] = isset($produc['sy']) ? floatval($produc['sy']) * intval($prub['num']) : 0;
}
//4.按月整理数据,没有数据的月份值则为0******************************************************************************************
for($i =1; $i<=12; $i++)
{
//统计会员, 每个月的默认值是0 -----------------------------
$member[$i] = 0;
if( $memberList && is_array($memberList) )
{
foreach($memberList as $m)
{
if( intval($m['months']) == $i)
{
$member[$i] = $m['counts'];
break;
}
}
}
//统计订单, 默认值:0 -----------------------------
$order[$i] = 0;
if($orderList){
foreach($orderList as $m)
{
if( intval($m['months']) == $i)
{
$order[$i] = $m['counts'];
break;
}
}
}
//编计收益数--按月-----------------------------
$sy[$i] = 0;
if($jmOrderList)
{
foreach($jmOrderList as $jm)
{
if( intval($jm['months']) == $i )
{
$sy[$i] += floatval($jm['sy']);
}
}
}
//改单位为千元,每月金额/1000
$sy[$i] = $sy[$i] ? $sy[$i]/1000: 0;
}
//公共模板
$this->commons = R('terminal/read');
$this->year = $year;
$this->qd_user_id = $qd_user_id;
$this->member = implode(',', $member);
$this->order = implode(',', $order);
$this->sy = implode(',', $sy);
$this->display('./Tpl/default/terminal_view.html');
}
转载于:https://my.oschina.net/tony2015/blog/410305