<?php namespace catchAdmin\worklocation\model; use catcher\base\CatchModel as Model; use catchAdmin\permissions\model\DataRangScopeTrait; use think\facade\Db; class Worklocation extends Model { use DataRangScopeTrait; // 表名 public $name = 'work_location'; // 数据库字段映射 public $field = array( 'id', // 风场编号 'wind_id', // 风机编号 'fan_id', // 工作位置 'work_local', // 所属部件 'parts', // 螺栓样式 'bolt_style', // 螺栓型号 'boit_type', // 编号 'number', // 备注说明 'info', // 创建人ID 'creator_id', // 创建时间 'created_at', // 更新时间 'updated_at', // 软删除 'deleted_at', // 扭矩 'torque', // 压力 'pressure', // 外径 'external_diameter', ); public function getList() { return $this->dataRange() ->catchSearch() ->append(['department_name','wind_name','fan_number','work_local_name','parts_name','bolt_style_name','boit_type_name','work_name']) ->field('*') ->catchOrder() ->creator() ->paginate(); } //获取部门名称 public function getDepartmentNameAttr() { $dep_id = Db::name('wind')->where('id',$this->wind_id)->value('department_id'); $name = Db::name('departments')->where('id',$dep_id)->where('status',1)->value('department_name'); return $name; } /** * 获取风场名称 * * @return void */ public function getWindNameAttr() { $wind_id = $this->wind_id; $wind_name = Db::name('wind')->where('id',$wind_id)->value('name'); return $wind_name; } //获取操作人员 public function getWorkNameAttr() { $user_id = $this->creator_id; $name = Db::name("users")->where('id',$user_id)->value('realname'); return $name; } /** * 获取风机机位号 * @return void */ public function getFanNumberAttr() { $fan_id = $this->fan_id; $fan_number = Db::name('fan')->where('id',$fan_id)->value('number'); return $fan_number; } /** * 获取部件名称 * * @return void */ public function getPartsNameAttr() { $parts = $this->parts; $value = $this->get_dict_data(1,$parts); return $value; } //获取工作位置型号 public function getWorkLocalNameAttr() { $code = $this->work_local; $value = $this->get_dict_data(2,$code); return $value; } /** * 获取螺栓样式 * * @return void */ public function getBoltStyleNameAttr() { $code = $this->bolt_style; $value = $this->get_dict_data(3,$code); return $value; } /** * 螺栓型号 * * @return void */ public function getBoitTypeNameAttr() { $code = $this->boit_type; $value = $this->get_dict_data(4,$code); return $value; } /** * * @param [type] $type 类型 * @param [type] $value 唯一value * @return void */ public function get_dict_data($type,$value) { $where[]=['device_type',"=",$type]; $where[] = ['value','=',$value]; $name = Db::name('maintenance_mapper')->where($where)->value('name'); return $name; } //搜索 // public function searchNumberAttr($query, $value, $data) // { // return $query->where('number', 'like', '%'.$value.'%'); // } /** * 统计属性 * 根据时间 压力和扭矩力线性图 */ public function getTotal() { } }