<?php namespace app\em\model; class Useage extends Base { protected $table = 'em_useage'; public function getLastDateAttr($val){ return date('Y-m-d',$val); } public function setLastDateAttr($val){ return strtotime($val); } public function getCurrentDateAttr($val){ return date('Y-m-d',$val); } public function setCurrentDateAttr($val){ return strtotime($val); } //首页列表 public function getList($page = 0){ $config = !empty($config) ?: [ 'list_rows'=>30, 'page'=> $page, 'type' => '\app\extend\PageLayUi', 'var_page' => 'page' ]; $data = self::alias('ue') ->field('ue.*') ->field('station.station_name') ->field('em.em_numb') ->leftJoin(['em'],'em.id=ue.em_id') ->leftJoin(['station_info'=>'station'],'station.station_id=em.station_id') ->paginate($config); return $data; } //首页列表+search public function getCopyList($map,$Nowpage,$limits){ $data = self::alias('ue') ->field('ue.*') ->field('station.station_name') ->field('em.em_numb,em.rate') ->join(['em'],'em.id=ue.em_id') ->join(['station_info'=>'station'],'station.station_id=em.station_id') ->where($map) ->page($Nowpage, $limits) ->order('ue.id desc') ->select() ->toarray(); foreach ($data as $k => $v){ $data[$k]['repo_numb'] = round(round($v['current_sum_numb'] - $v['last_sum_numb'],2)*$v['rate'],2); if($v['status'] == 3){ $info = (new EmCheckBill())->field('info')->get(['mode_id'=>$v['useage_id']]); $data[$k]['info'] = $info['info']; } } return $data; } public function getCopyListCount($map){ $data = self::alias('ue') ->field('ue.*') ->field('station.station_name') ->field('em.em_numb') ->leftJoin(['em'],'em.id=ue.em_id') ->leftJoin(['station_info'=>'station'],'station.station_id=em.station_id') ->where($map) ->count(); return $data; } //获取抄表单列表,并组合电表信息与电表规则信息 public function getListUseageInfo(){ $data = self::alias('ue') ->field('*') ->field('em.em_numb,em.em_type_id,em.rate') ->field('er.charge_type,er.pay_price, er.cycle_start_time,er.cycle_amount,er.cycle_finish_time, er.settle_price,er.settle_type,er.pricing_type ') ->leftJoin(['em'],'em.id=ue.em_id') ->leftJoin(['em_rule'=>'er'],'er.em_id=em.id') ->where('ue.status=1 and ue.photo_id!=""') ->select() ->toArray(); return $data; } public function getEmInfoByUseageId($useage_id){ $data = self::alias('ue') ->field('*') ->field('em.em_numb,em.em_type_id,em.rate') ->field('er.charge_type,er.pay_price, er.cycle_start_time,er.cycle_amount,er.cycle_finish_time, er.settle_price,er.settle_type,er.pricing_type ') ->leftJoin(['em'],'em.id=ue.em_id') ->leftJoin(['em_rule'=>'er'],'er.em_id=em.id') ->where('ue.status=1') ->where(['useage_id'=>$useage_id]) ->find(); return $data; } public function photo(){ return $this->belongsTo('Receipt','photo_id','id'); } public function em(){ return $this->belongsTo('Em','em_id','id'); } public function info(){ return $this->HasOne('EmCheckBill','useage_id','useage_id'); } }