WorkRecord.php 4.3 KB

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