WorkLocation.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. <?php
  2. namespace catchAdmin\worklocation\model;
  3. use catcher\base\CatchModel as Model;
  4. use catchAdmin\permissions\model\DataRangScopeTrait;
  5. use think\facade\Db;
  6. class Worklocation extends Model
  7. {
  8. use DataRangScopeTrait;
  9. // 表名
  10. public $name = 'work_location';
  11. // 数据库字段映射
  12. public $field = array(
  13. 'id',
  14. // 风场编号
  15. 'wind_id',
  16. // 风机编号
  17. 'fan_id',
  18. // 工作位置
  19. 'work_local',
  20. // 所属部件
  21. 'parts',
  22. // 螺栓样式
  23. 'bolt_style',
  24. // 螺栓型号
  25. 'boit_type',
  26. // 编号
  27. 'number',
  28. // 备注说明
  29. 'info',
  30. // 创建人ID
  31. 'creator_id',
  32. // 创建时间
  33. 'created_at',
  34. // 更新时间
  35. 'updated_at',
  36. // 软删除
  37. 'deleted_at',
  38. // 扭矩
  39. 'torque',
  40. // 压力
  41. 'pressure',
  42. // 外径
  43. 'external_diameter',
  44. );
  45. public function getList()
  46. {
  47. return $this->dataRange()
  48. ->catchSearch()
  49. ->append(['department_name','wind_name','fan_number','work_local_name','parts_name','bolt_style_name','boit_type_name','work_name'])
  50. ->field('*')
  51. ->catchOrder()
  52. ->creator()
  53. ->paginate();
  54. }
  55. //获取部门名称
  56. public function getDepartmentNameAttr()
  57. {
  58. $dep_id = Db::name('wind')->where('id',$this->wind_id)->value('department_id');
  59. $name = Db::name('departments')->where('id',$dep_id)->where('status',1)->value('department_name');
  60. return $name;
  61. }
  62. /**
  63. * 获取风场名称
  64. *
  65. * @return void
  66. */
  67. public function getWindNameAttr()
  68. {
  69. $wind_id = $this->wind_id;
  70. $wind_name = Db::name('wind')->where('id',$wind_id)->value('name');
  71. return $wind_name;
  72. }
  73. //获取操作人员
  74. public function getWorkNameAttr()
  75. {
  76. $user_id = $this->creator_id;
  77. $name = Db::name("users")->where('id',$user_id)->value('realname');
  78. return $name;
  79. }
  80. /**
  81. * 获取风机机位号
  82. * @return void
  83. */
  84. public function getFanNumberAttr()
  85. {
  86. $fan_id = $this->fan_id;
  87. $fan_number = Db::name('fan')->where('id',$fan_id)->value('number');
  88. return $fan_number;
  89. }
  90. /**
  91. * 获取部件名称
  92. *
  93. * @return void
  94. */
  95. public function getPartsNameAttr()
  96. {
  97. $parts = $this->parts;
  98. $value = $this->get_dict_data(1,$parts);
  99. return $value;
  100. }
  101. //获取工作位置型号
  102. public function getWorkLocalNameAttr()
  103. {
  104. $code = $this->work_local;
  105. $value = $this->get_dict_data(2,$code);
  106. return $value;
  107. }
  108. /**
  109. * 获取螺栓样式
  110. *
  111. * @return void
  112. */
  113. public function getBoltStyleNameAttr()
  114. {
  115. $code = $this->bolt_style;
  116. $value = $this->get_dict_data(3,$code);
  117. return $value;
  118. }
  119. /**
  120. * 螺栓型号
  121. *
  122. * @return void
  123. */
  124. public function getBoitTypeNameAttr()
  125. {
  126. $code = $this->boit_type;
  127. $value = $this->get_dict_data(4,$code);
  128. return $value;
  129. }
  130. /**
  131. *
  132. * @param [type] $type 类型
  133. * @param [type] $value 唯一value
  134. * @return void
  135. */
  136. public function get_dict_data($type,$value)
  137. {
  138. $where[]=['device_type',"=",$type];
  139. $where[] = ['value','=',$value];
  140. $name = Db::name('maintenance_mapper')->where($where)->value('name');
  141. return $name;
  142. }
  143. //搜索
  144. // public function searchNumberAttr($query, $value, $data)
  145. // {
  146. // return $query->where('number', 'like', '%'.$value.'%');
  147. // }
  148. /**
  149. * 统计属性
  150. * 根据时间 压力和扭矩力线性图
  151. */
  152. public function getTotal()
  153. {
  154. }
  155. }