Flange.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. <?php
  2. namespace catchAdmin\flange\model;
  3. use catcher\base\CatchModel as Model;
  4. use catchAdmin\permissions\model\DataRangScopeTrait;
  5. use think\facade\Db;
  6. class Flange extends Model
  7. {
  8. use DataRangScopeTrait;
  9. // 表名
  10. public $name = 'flange';
  11. // 数据库字段映射
  12. public $field = array(
  13. 'id',
  14. // 编号
  15. 'number',
  16. // 型号
  17. 'model',
  18. // 所属部门
  19. 'department_id',
  20. // 名称
  21. 'name',
  22. // 使用状态 1已使用 -1未使用 -2废弃
  23. 'is_used',
  24. // 品牌
  25. 'brand',
  26. // 供应商
  27. 'supplier',
  28. // 出厂日期
  29. 'out_date',
  30. // 注释
  31. 'remark',
  32. // 扭矩
  33. 'torque',
  34. // 压力
  35. 'stress',
  36. // 紧固方案
  37. 'fastening_scheme',
  38. // 风机id
  39. 'fan_id',
  40. // 安装位置
  41. 'install_position',
  42. // 紧固信息
  43. 'fastening_information',
  44. // 维护信息
  45. 'maintenance_information',
  46. // 创建人ID
  47. 'creator_id',
  48. // 创建时间
  49. 'created_at',
  50. // 更新时间
  51. 'updated_at',
  52. // 软删除
  53. 'deleted_at',
  54. // 螺丝尺寸
  55. 'bolt_size',
  56. // 螺丝数量
  57. 'bolt_number',
  58. // 螺丝尺寸
  59. 'wind_id',
  60. // 扳手
  61. 'wrench',
  62. // 外径
  63. 'outside',
  64. );
  65. public function getList()
  66. {
  67. return $this ->dataRange()
  68. ->catchSearch()
  69. ->append(['depart_name','model_type','wind_name','fan_number'])
  70. ->field('*')
  71. ->catchOrder()
  72. ->creator()
  73. ->paginate();
  74. }
  75. public function getDepartNameAttr($value)
  76. {
  77. $id=$this->department_id;
  78. return Db::table('departments')->where('id', $id)->value('department_name');
  79. }
  80. public function getModelTypeAttr()
  81. {
  82. return Db::name('device_mold')->where('device_type',2)->where('id',$this->model)->value('name');
  83. }
  84. public function getModelAttr()
  85. {
  86. return (int) $this->getData('model');
  87. }
  88. public function getDepartmentIdAttr()
  89. {
  90. return (int) $this->getData('department_id');
  91. }
  92. public function getFanIdAttr()
  93. {
  94. return (int) $this->getData('fan_id');
  95. }
  96. public function setWrenchAttr($value)
  97. {
  98. $str = implode(',',$value);
  99. return $str;
  100. }
  101. public function getWrenchAttr()
  102. {
  103. $str =null;
  104. if(!empty($this->getData('wrench')))
  105. {
  106. $str =array_map('intval',explode(',', $this->getData('wrench')));
  107. }
  108. return $str;
  109. }
  110. /**
  111. *获取风场名称
  112. */
  113. public function getWindNameAttr()
  114. {
  115. $fan_id = $this->getData('fan_id');
  116. $wind_id = Db::name('fan')->where("id",$fan_id)->value("wind_id");
  117. $name = Db::name("wind")->where('id',$wind_id)->value('name');
  118. return $name;
  119. }
  120. //获取风机编号
  121. public function getFanNumberAttr()
  122. {
  123. $fan_id = $this->getData('fan_id');
  124. $number = Db::name('fan')->where("id",$fan_id)->value("number");
  125. return $number;
  126. }
  127. //紧固方案
  128. public function setFasteningSchemeAttr($value)
  129. {
  130. $str = implode(',',$value);
  131. return $str;
  132. }
  133. public function getFasteningSchemeAttr()
  134. {
  135. $str =null;
  136. if(!empty($this->getData('fastening_scheme')))
  137. {
  138. $str =array_map('intval',explode(',', $this->getData('fastening_scheme')));
  139. }
  140. return $str;
  141. }
  142. //搜索部门
  143. public function searchDepartmentIdAttr($query, $value, $data)
  144. {
  145. return $query->where('department_id', '=', $value);
  146. }
  147. //搜索编号
  148. public function searchNumberAttr($query, $value, $data)
  149. {
  150. return $query->where('number', '=', $value);
  151. }
  152. //搜索名称
  153. public function searchNameAttr($query, $value, $data)
  154. {
  155. return $query->where('name', '=', $value);
  156. }
  157. //搜索模型
  158. public function searchModelAttr($query, $value, $data)
  159. {
  160. return $query->where('model', '=', $value);
  161. }
  162. }