WorkRecord.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  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 WorkRecord extends Model
  12. {
  13. use Listen;
  14. use DataRangScopeTrait;
  15. // 表名
  16. public $name = 'work_record';
  17. // 数据库字段映射
  18. public $field = array(
  19. 'id',
  20. // 风场编号
  21. 'wind_number',
  22. // 风机编号
  23. 'fan_number',
  24. //风机模型
  25. 'fan_model',
  26. // 部件
  27. 'parts',
  28. // 螺栓型号
  29. 'boit_type',
  30. //工作位置
  31. 'work_sign',
  32. // 螺栓编号
  33. 'bolt_number',
  34. // 螺栓总数
  35. 'boit_total',
  36. // 扳手编号
  37. 'wrench_number',
  38. // 设定的扭矩1
  39. 'set_torque',
  40. // 紧固扭矩1
  41. 'fastening_torque',
  42. // 设定的扭矩2
  43. 'set_torque1',
  44. // 紧固扭矩2
  45. 'fastening_torque1',
  46. // 1 紧固正常,2紧固异常
  47. 'fastening_status',
  48. // 紧固时间
  49. 'fastening_time',
  50. // 搬动角度
  51. 'move_angle',
  52. // 网关imei
  53. 'imei',
  54. // 1 紧固模式,2维护模式
  55. 'tyep',
  56. // 创建人ID
  57. 'creator_id',
  58. // 创建时间
  59. 'created_at',
  60. // 更新时间
  61. 'updated_at',
  62. // 软删除
  63. 'deleted_at',
  64. );
  65. public function getList()
  66. {
  67. return $this->dataRange()
  68. ->catchSearch()
  69. ->append(['department_name', 'wind_name', 'work_local_name', 'parts_name', 'boit_type_name', 'work_name'])
  70. ->field('*')
  71. ->catchOrder()
  72. ->creator()
  73. ->paginate();
  74. }
  75. //获取部门名称
  76. public function getDepartmentNameAttr()
  77. {
  78. $dep_id = Db::name('wind')->where('number', $this->wind_number)->value('department_id');
  79. $name = Db::name('departments')->where('id', $dep_id)->where('status', 1)->value('department_name');
  80. return $name;
  81. }
  82. /**
  83. * 获取风场名称
  84. *
  85. * @return void
  86. */
  87. public function getWindNameAttr()
  88. {
  89. $wind_number = $this->wind_number;
  90. $wind_name = Db::name('wind')->where('number', $wind_number)->value('name');
  91. return $wind_name;
  92. }
  93. //获取操作人员
  94. public function getWorkNameAttr()
  95. {
  96. $user_id = $this->creator_id;
  97. $name = Db::name("users")->where('id', $user_id)->value('realname');
  98. return $name;
  99. }
  100. /**
  101. * 获取部件名称
  102. *
  103. * @return void
  104. */
  105. public function getPartsNameAttr()
  106. {
  107. $parts = $this->parts;
  108. $value = $this->get_dict_data(1, $parts);
  109. return $value;
  110. }
  111. //获取工作位置型号
  112. public function getWorkLocalNameAttr()
  113. {
  114. $code = $this->work_sign;
  115. $value = $this->get_dict_data(2, $code);
  116. return $value;
  117. }
  118. /**
  119. * 螺栓型号
  120. *
  121. * @return void
  122. */
  123. public function getBoitTypeNameAttr()
  124. {
  125. $code = $this->boit_type;
  126. $value = $this->get_dict_data(4, $code);
  127. return $value;
  128. }
  129. /**
  130. *
  131. * @param [type] $type 类型
  132. * @param [type] $value 唯一value
  133. * @return void
  134. */
  135. public function get_dict_data($type, $value)
  136. {
  137. $where[] = ['device_type', "=", $type];
  138. $where[] = ['value', '=', $value];
  139. $name = Db::name('maintenance_mapper')->where($where)->value('name');
  140. return $name;
  141. }
  142. /**
  143. * 监听转换
  144. */
  145. public function addContent(&$obj)
  146. {
  147. $data = null;
  148. $content = null;
  149. $data = [
  150. 'id' => $obj->wind_number . $obj->fan_number . $obj->fan_model . $obj->parts . $obj->work_local,
  151. 'wnum' => $obj->wind_number,
  152. 'fnum' => $obj->fan_number,
  153. 'fmodel' => ModelDeviceMold::where('device_type', 4)->where('id', $this->fan_model)->value('name'),
  154. 'parts' => $this->get_dict_data(1, $obj->parts),
  155. 'work' => $this->get_dict_data(2, $obj->work_local),
  156. 'bnum' => $this->bolt_num,
  157. 'torque' => $this->torque
  158. ];
  159. $content['data'] = $data;
  160. $content['type'] = 'WorkRecord';
  161. return $content;
  162. }
  163. }