Workplan.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <?php
  2. namespace catchAdmin\worklocation\model;
  3. use catchAdmin\api\Listen;
  4. use catchAdmin\hydraulic\model\DeviceMold;
  5. use catchAdmin\hydraulic\model\MaintenanceMapper as ModelMaintenancemapper;
  6. use catchAdmin\permissions\model\DataRangScopeTrait;
  7. use catchAdmin\permissions\model\Users;
  8. use catchAdmin\wind\model\Fan;
  9. use catchAdmin\wind\model\Wind;
  10. use catcher\base\CatchModel as Model;
  11. use Maintenancemapper;
  12. class Workplan extends Model
  13. {
  14. use Listen;
  15. use DataRangScopeTrait;
  16. // 表名
  17. public $name = 'work_plan';
  18. // 数据库字段映射
  19. public $field = array(
  20. 'id',
  21. // 风场id
  22. 'plan_number',
  23. //计划编号
  24. 'wind_id',
  25. // 风机id
  26. 'fan_id',
  27. // 工作位置
  28. 'work_sign',
  29. // 部件类型
  30. 'parts_sign',
  31. // 螺栓型号
  32. 'boit_type_sign',
  33. // 计划名称
  34. 'plan_name',
  35. //螺栓总数
  36. 'bolt_num',
  37. //紧固模式
  38. 'tighten_mode',
  39. //偏移紧固数值
  40. 'bias',
  41. //历史紧固扭矩
  42. 'last_torque',
  43. //当前设定紧固扭矩
  44. 'torque',
  45. // 详情
  46. 'info',
  47. // 状态 1 启用,-1 失效
  48. 'status',
  49. // 创建人ID
  50. 'creator_id',
  51. // 创建时间
  52. 'created_at',
  53. // 更新时间
  54. 'updated_at',
  55. // 软删除
  56. 'deleted_at',
  57. );
  58. /**
  59. * 监听转换
  60. */
  61. public function addContent(&$obj)
  62. {
  63. $data = null;
  64. $content = null;
  65. $fan = Fan::where('id', $obj->fan_id)->find();
  66. $fan_model = DeviceMold::where('id', $fan['fan_model'])->value('name');
  67. $data = [
  68. 'id' => $obj->id,
  69. 'pnum' => $obj->plan_number,
  70. 'wnum' => Wind::where('id', $obj->wind_id)->value('number'),
  71. 'wname' => Wind::where('id', $obj->wind_id)->value('name'),
  72. 'fnum' => $fan['number'],
  73. 'fmodel' => $fan_model,
  74. 'parts' => ModelMaintenancemapper::where('device_type', 1)->where('value', $this->parts_sign)->value('name'),
  75. 'work' => ModelMaintenancemapper::where('device_type', 2)->where('value', $this->work_sign)->value('name'),
  76. 'bm' => ModelMaintenancemapper::where('device_type', 4)->where('value', $this->boit_type_sign)->value('name'),
  77. 'bn' => intval($obj->bolt_num),
  78. 'tm' => $obj->tighten_mode,
  79. 'bias' => intval($obj->bias),
  80. 'lt' => 110,
  81. 'torque' => $obj->torque,
  82. 'info' => $obj->info
  83. ];
  84. $content['data'] = $data;
  85. $content['type'] = 'WorkPlan';
  86. return $content;
  87. }
  88. public function getList()
  89. {
  90. return $this->dataRange()
  91. ->catchSearch()
  92. ->append(['wind_name', 'fan_number', 'work_sign_name', 'parts_sign_name', 'boit_type_sign_name', 'status_name', 'creat_name', 'fan_model'])
  93. ->field('*')
  94. ->catchOrder()
  95. ->creator()
  96. ->paginate();
  97. }
  98. //获取风场名称
  99. public function getWindNameAttr()
  100. {
  101. $wind_id = $this->wind_id;
  102. $name = Wind::where('id', $wind_id)->value('name');
  103. return $name;
  104. }
  105. //获取风机机位号
  106. public function getFanNumberAttr()
  107. {
  108. $fan_id = $this->fan_id;
  109. $number = Fan::where('id', $fan_id)->value('number');
  110. return $number;
  111. }
  112. //获取工作位置
  113. public function getWorkSignNameAttr()
  114. {
  115. $name = ModelMaintenancemapper::where('device_type', 2)->where('value', $this->work_sign)->value('name');
  116. return $name;
  117. }
  118. //获取部件
  119. public function getPartsSignNameAttr()
  120. {
  121. $name = ModelMaintenancemapper::where('device_type', 1)->where('value', $this->parts_sign)->value('name');
  122. return $name;
  123. }
  124. //获取螺栓型号
  125. public function getBoitTypeSignNameAttr()
  126. {
  127. $name = ModelMaintenancemapper::where('device_type', 4)->where('value', $this->boit_type_sign)->value('name');
  128. return $name;
  129. }
  130. public function getCreatNameAttr()
  131. {
  132. $name = null;
  133. $name = Users::where('id', $this->creator_id)->value('realname');
  134. return $name;
  135. }
  136. //获取风机的型号id
  137. public function getFanModelAttr()
  138. {
  139. $fan_id = $this->fan_id;
  140. $fanModel = Fan::where('id', $fan_id)->value('fan_model');
  141. return $fanModel;
  142. }
  143. public function searchPlanNameAttr($query, $value, $data)
  144. {
  145. return $query->where('plan_name', 'like', '%' . $value . '%');
  146. }
  147. }