Workplan.php 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  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. $wnum = Wind::where('id', $obj->wind_id)->value('number');
  68. $wname = Wind::where('id', $obj->wind_id)->value('name');
  69. $parts = ModelMaintenancemapper::where('device_type', 1)->where('value', $this->parts_sign)->value('name');
  70. $work = ModelMaintenancemapper::where('device_type', 2)->where('value', $this->work_sign)->value('name');
  71. $bm = ModelMaintenancemapper::where('device_type', 4)->where('value', $this->boit_type_sign)->value('name');
  72. $data = [
  73. 'id' => $obj->id,
  74. 'pnum' => $obj->plan_number,
  75. 'wnum' => $wnum ? $wnum : '',
  76. 'wname' => $wname ? $wname : '',
  77. 'fnum' => $fan['number'],
  78. 'fmodel' => $fan_model ? $fan_model : '',
  79. 'parts' => $parts ? $parts : " ",
  80. 'work' => $work ? $work : '',
  81. 'bm' => $bm ? $bm : '',
  82. 'bn' => intval($obj->bolt_num),
  83. 'tm' => $obj->tighten_mode,
  84. 'bias' => intval($obj->bias),
  85. 'lt' => 0,
  86. 'torque' => $obj->torque,
  87. 'info' => $obj->info
  88. ];
  89. $content['data'] = $data;
  90. $content['type'] = 'WorkPlan';
  91. return $content;
  92. }
  93. public function getList()
  94. {
  95. return $this->dataRange()
  96. ->catchSearch()
  97. ->append(['wind_name', 'fan_number', 'work_sign_name', 'parts_sign_name', 'boit_type_sign_name', 'status_name', 'creat_name', 'fan_model'])
  98. ->field('*')
  99. ->catchOrder()
  100. ->creator()
  101. ->paginate();
  102. }
  103. //获取风场名称
  104. public function getWindNameAttr()
  105. {
  106. $wind_id = $this->wind_id;
  107. $name = Wind::where('id', $wind_id)->value('name');
  108. return $name;
  109. }
  110. //获取风机机位号
  111. public function getFanNumberAttr()
  112. {
  113. $fan_id = $this->fan_id;
  114. $number = Fan::where('id', $fan_id)->value('number');
  115. return $number;
  116. }
  117. //获取工作位置
  118. public function getWorkSignNameAttr()
  119. {
  120. $name = ModelMaintenancemapper::where('device_type', 2)->where('value', $this->work_sign)->value('name');
  121. return $name;
  122. }
  123. //获取部件
  124. public function getPartsSignNameAttr()
  125. {
  126. $name = ModelMaintenancemapper::where('device_type', 1)->where('value', $this->parts_sign)->value('name');
  127. return $name;
  128. }
  129. //获取螺栓型号
  130. public function getBoitTypeSignNameAttr()
  131. {
  132. $name = ModelMaintenancemapper::where('device_type', 4)->where('value', $this->boit_type_sign)->value('name');
  133. return $name;
  134. }
  135. public function getCreatNameAttr()
  136. {
  137. $name = null;
  138. $name = Users::where('id', $this->creator_id)->value('realname');
  139. return $name;
  140. }
  141. //获取风机的型号id
  142. public function getFanModelAttr()
  143. {
  144. $fan_id = $this->fan_id;
  145. $fanModel = Fan::where('id', $fan_id)->value('fan_model');
  146. return $fanModel;
  147. }
  148. public function searchPlanNameAttr($query, $value, $data)
  149. {
  150. return $query->where('plan_name', 'like', '%' . $value . '%');
  151. }
  152. }