PowerRepository.php 1.54 KB
<?php
/**
 * Created by PhpStorm.
 * User: cheng
 * Date: 2018/8/14
 * Time: 13:57
 */
namespace App\Repositories\Backend\Power;

use App\Events\Backend\Access\Power\PowerUpdated;
use App\Exceptions\GeneralException;
use App\Modules\Models\Power\Power;
use App\Modules\Repositories\BaseRepository;
use Illuminate\Support\Facades\DB;


/**
 * Class BaseFeedbackRepository
 * @package App\Modules\Repositories\Feedback
 */
class PowerRepository extends BaseRepository
{
    /**
     * @return mixed
     */
    public function getinfo()
    {
        return DB::select('select p.id,p.power_no,p.has_power,p.status,m.mac_no,p.hatch_no,pr.is_return from power p
                    left join 
                    (select pr2.power_no, pr2.is_return from (select * from production pr1 order by id desc) pr2 group by pr2.power_no, pr2.is_return ) pr 
                    on p.power_no = pr.power_no
                    left join machine m on p.machine_id= m.id
                    order by p.id asc');
    }

    public function changeStatus(Power $power, $input)
    {
//        dd($input);
        if($input['status'] == 1){
            $input['machine_id'] = null;
            $input['hatch_no'] = null;
            $input['is_miss'] = 0;
        }
        DB::transaction(function () use ($power, $input) {
            if ($res = $power->update($input)) {
                event(new PowerUpdated($power));
                return true;
            }
//            dd($res);

            throw new GeneralException(trans('exceptions.backend.power.update_error'));
        });
    }
}