WorkLocation.php 4.5 KB

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