tp5分配计费统计小例

前台表格:

<div class="table-container" style="width: 80%;text-align: center;margin-left: 8%;">
                <h2 style="margin: 15px 0;">首电分配计费统计表</h2>
                <table class="table table-bordered table-condensed table-hover nowrap">
                    <thead>
                        <tr>
                            <th class="table-row-title" id="obliqueLine" rowspan="2" style="width: 20%;">
                                <span style="float:left;margin-top:30px;position: relative;left: 30px;">团队 / 个人</span>
                                <span style="float:right;position: relative;right: 10px;">渠道备注类型</span>
                            </th>
                            {volist name="qd_arr" id="vo"}
                            <th style="width: 50px; text-align: center;" colspan="2">{$vo.channelRemark}</th>
                            {/volist}
                            <th class="table-row-title" colspan="2">合计</th>
                        </tr>
                        <tr>
                            <?php
                        for($i=0;$i<=$qd_count;$i++){
                             echo "<th style='width: 50px; text-align: center;'>首电条数</th><th style='width: 50px; text-align: center;'>首电金额(元)</th>";
                        }
                        ?>
                        </tr>
                    </thead>
                    <tbody>
                    {volist name='deps' id='vo'}
                    <tr>
                        <td>{$vo.DVAL}</td>
                        {volist name="qd_arr" id="vb"}
                        <td><?php echo $tparr[$vo['KEYID'].'_'.$vb['id']]['qdnum'];?></td>
                        <td><?php echo $tparr[$vo['KEYID'].'_'.$vb['id']]['qdjine'];?></td>
                        {/volist}
                        <td class="big"><?php echo $hjarr[$vo['KEYID']]['qdnum'];?></td>
                        <td class="big"><?php echo $hjarr[$vo['KEYID']]['qdjine'];?></td>
                    </tr>
                    {/volist}
                    <tr class="big">
                        <td style="font-size: 14px;">合计</td>
                        {volist name="qd_arr" id="vo"}
                        <td><?php echo $xhjarr[$vo['id']]['qdnum'];?></td>
                        <td><?php echo $xhjarr[$vo['id']]['qdjine'];?></td>
                        {/volist}
                        <td>{$hjnum}</td>
                        <td>{$hjjine}</td>
                    </tr>
                    </tbody>
                </table>
            </div>

 后台方法:

//分配首电计费统计
    public function 方法名(){
        $STAFF     = session('USER_STAFF');
        $centreId  = input('C');   //   服务中心
        $depId     = input('D');   //   服务部门
        $serviceId = input('S');   //   服务经理
        $assignTime = input('AT'); //   分配时间
        $depstr = '';
        $depstr = 'KEYID='.$STAFF['UGID'];
        $serviceCentres= Db::name('base_dep')->field('KEYID,DVAL')->where("PID=3 AND STATE=1")->where($depstr)->select();
        $this->assign('serviceCentres',$serviceCentres);
        $this->assign('centreId',$centreId);
        $this->assign('depId',$depId);
        $this->assign('serviceId',$serviceId);
        $this->assign('assignTime',$assignTime);
        $qd_arr = Db::name('chot_price_conf')->field('id,channelRemark')->where('ifUse',1)->order('id desc')->select();
        $this->assign('qd_arr',$qd_arr);
        $qd_count = Db::name('chot_price_conf')->field('id,channelRemark')->where('ifUse',1)->count();
        $this->assign('qd_count',$qd_count);
        $where = array();
        $where['compid'] = $STAFF['compid'];
        if($assignTime){
            $times = explode(' ~ ',$assignTime);
            $sTime = $times[0];
            $eTime = $times[1];
        }else{
            $sTime = date("Y-m-d H:i:s",strtotime("-30 day"));
            $eTime = date('Y-m-d H:i:s');
        }
        $where["assignTime"] = array('between',array($sTime,$eTime));
        if(!($centreId || $depId || $serviceId)){
            $field = "centerId as teamId,centerName as team,remarkTypeName,count(*) as count,sum(unitPrice) as cost";
            $group = "centerName,remarkTypeName";
        }
        if($centreId){
            $where["centerId"] = $centreId;
            $field = "depId as teamId,depName as team,remarkTypeName,count(*) as count,sum(unitPrice) as cost";
            $group = "depName,remarkTypeName";
        }
        if($depId){
            $where["depId"] = $depId;
            $field = "staffId as teamId,staffName as team,remarkTypeName,count(*) as count,sum(unitPrice) as cost";
            $group = "staffName,remarkTypeName";
        }
        if($serviceId){
            $where["staffId"] = $serviceId;
            $field = "staffId as teamId,staffName as team,remarkTypeName,count(*) as count,sum(unitPrice) as cost";
            $group = "remarkTypeName";
        }
        $sign = Db::name('chot_billing_record')
             -> where($where)
             -> field($field)
             -> group($group)
             -> select();
        $this->assign('sign',$sign);
        //提取左侧团队或个人
        $darr = array();
        $deps = array();
        foreach ($sign as $key => $val) {
            if(!in_array($val['teamId'],$darr)){
                $darr[] = $val['teamId'];
                $deps[] = array('KEYID'=>$val['teamId'],'DVAL'=>$val['team']);
            }
        }
        $this->assign('deps',$deps);
        $hjarr = array();//右侧由左到右的合计
        $xhjarr = array();//底部由上到下的合计
        $tparr = array();//每类的数据
        foreach ($qd_arr as $key => $val){
            $xhjarr[$val['id']] = array('qdnum' => 0,'qdjine' => 0);
        }
        foreach ($deps as $key => $value) {
            $hjarr[$value['KEYID']] = array('qdnum' => 0,'qdjine'=> 0);
            foreach ($qd_arr as $key => $val){
                $tparr[$value['KEYID'].'_'.$val['id']] = array('qdnum'=> 0,'qdjine'=>0);
            }
        }
        $hjnum = 0;
        $hjjine = 0;
        foreach ($deps as $key => $value) {
            foreach ($qd_arr as $key => $val){
                foreach ($sign as $key => $v){
                    if($v['teamId'] == $value['KEYID'] && $v['remarkTypeName']==$val['channelRemark']){
                        $tparr[$value['KEYID'].'_'.$val['id']] = array('qdnum'=>$v['count'],'qdjine'=>$v['cost']);
                        $hjarr[$value['KEYID']]['qdnum'] = $hjarr[$value['KEYID']]['qdnum']+$v['count'];
                        $hjnum = $hjnum + $v['count'];
                        $hjjine = $hjjine+$v['cost'];
                        $hjarr[$value['KEYID']]['qdjine'] = $hjarr[$value['KEYID']]['qdjine']+$v['cost'];
                        $xhjarr[$val['id']]['qdnum'] = $xhjarr[$val['id']]['qdnum']+$v['count'];
                        $xhjarr[$val['id']]['qdjine'] = $xhjarr[$val['id']]['qdjine']+$v['cost'];
                    }
                }
            }
        }
        $this->assign('hjnum',$hjnum);
        $this->assign('hjjine',$hjjine);
        $this->assign('tparr',$tparr);
        $this->assign('hjarr',$hjarr);
        $this->assign('xhjarr',$xhjarr);
        return $this->fetch('firstcall_cost');
    }

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值