<?php /** * Created by PhpStorm. * User: ruidiudiu * Date: 2018/11/23 * Time: 11:57 */ namespace app\portal\controller; use app\portal\model\EquipmentModel; use cmf\controller\AdminBaseController; use think\Db; /** * Class AdminFaultController * @package app\portal\controller * @adminMenuRoot( * 'name' =>'故障统计', * 'action' =>'index', * 'parent' =>'', * 'display'=> true, * 'order' => 1, * 'icon' =>'th', * 'remark' =>'故障统计' * ) */ class AdminFaultController extends AdminBaseController{ public function index(){ $data=Db::name('fault') ->alias('a') ->field('a.*,b.serial_number,b.hospital') ->join('equipment b','a.eq_name=b.name') ->order('a.create_time','desc') ->paginate(10); $this->assign('data',$data); return $this->fetch(); } //结束计费 public function bill_error(){ $id=$this->request->param('id'); $fault=Db::name('fault')->where('id',$id)->find(); $order=Db::name('order')->where(['users_id'=>$fault['users_id'],'state'=>1])->find(); if (empty($order)){ $this->error('没有未完成订单'); }else{ $time=ceil(($fault['create_time']-$order['start_time'])/3600); $getPrice=new OrderController(); $price=$getPrice->getPrice($order['start_time'],$fault['create_time']); $data=[ 'end_time'=>$fault['create_time'], 'time'=>$time, 'price'=>$price, 'state'=>2 ]; try{ Db::startTrans(); Db::name('order')->where('id',$order['id'])->update($data); Db::name('fault')->where('id',$id)->update(['state'=>3]); }catch (\Exception $exception){ Db::rollback(); $this->error('错误:'.$exception->getMessage()); } Db::commit(); $this->success('处理完成'); } } }