Car.php 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. <?php
  2. namespace app\common\model;
  3. use app\hander\HelpHander;
  4. use think\Db;
  5. use think\Model;
  6. class Car extends Model
  7. {
  8. public function add(){
  9. $data = [
  10. 'id' => input('id/d',0),
  11. 'title' => input('title','','trim'),
  12. 'sn' => input('sn','','trim'),
  13. 'remark' => input('remark','','trim'),
  14. 'org_id' => input('orgId/d',0),
  15. 'enable' => input('enable/d',1),
  16. ];
  17. $logdata = json_encode($data);
  18. $result = validate('Car')->check($data,[],'');
  19. if(true !== $result){
  20. HelpHander::error(validate('Car')->getError());
  21. }
  22. $id = $data['id'];
  23. unset($data['id']);
  24. if($id > 0){
  25. $data['update_time'] = date('Y-m-d H:i:s');
  26. $ret = $this->allowField(true)->save($data,['id'=>$id]);
  27. }else{
  28. $data['create_time'] = date('Y-m-d H:i:s');
  29. $ret = $this->allowField(true)->save($data);
  30. }
  31. if(!$ret){
  32. HelpHander::error('操作失败');
  33. }
  34. if($id > 0){
  35. $content = '修改车辆';
  36. }else{
  37. $content = '添加车辆';
  38. }
  39. model('ActionLog')->add(10,$content,0,$logdata);
  40. return true;
  41. }
  42. public function info($id){
  43. $info = $this->where('id',$id)->find();
  44. if(!$info){
  45. HelpHander::error('数据不存在');
  46. }
  47. return $info->toArray();
  48. }
  49. public function lists($page,$size,$title,$enable,$orgId){
  50. $map[] = ['del','=',0];
  51. $map[] = ['org_id','=',$orgId];
  52. if($title != ''){
  53. $map[] = ['title|sn','like','%'.$title.'%'];
  54. }
  55. if($enable >= 0){
  56. $map[] = ['enable','=',$enable];
  57. }
  58. $lists = $this
  59. ->where($map)
  60. ->page($page,$size)
  61. ->order('id desc')
  62. ->select();
  63. $total = $this->where($map)->count();
  64. $data = [
  65. 'total' => $total,
  66. 'list' => $lists?$lists->toArray():[]
  67. ];
  68. return $data;
  69. }
  70. public function all($orgId){
  71. $map[] = ['del','=',0];
  72. $map[] = ['enable','=',1];
  73. $map[] = ['org_id','=',$orgId];
  74. $lists = $this
  75. ->where($map)
  76. ->field('id,title,sn')
  77. ->order('id asc')
  78. ->select();
  79. $lists = $lists?$lists->toArray():[];
  80. foreach ($lists as $k=>$v){
  81. $lists[$k]['title'] = $v['title'].' ['.$v['sn'].']';
  82. unset($lists[$k]['sn']);
  83. }
  84. return $lists;
  85. }
  86. public function del($id){
  87. $ret = $this->where('id',$id)->setField('del',1);
  88. if(!$ret){
  89. HelpHander::error('删除失败');
  90. }
  91. $logdata = json_encode(['id' => $id]);
  92. model('ActionLog')->add(10,'删除车辆',0,$logdata);
  93. return true;
  94. }
  95. public function record($page,$size,$carId,$orgId){
  96. $map[] = ['status','=',1];
  97. $map[] = ['org_id','=',$orgId];
  98. if($carId > 0){
  99. $map[] = ['car_id','=',$carId];
  100. }
  101. $lists = Db::name('car_record')
  102. ->where($map)
  103. ->page($page,$size)
  104. ->order('id desc')
  105. ->select();
  106. $lists = $lists?$lists:[];
  107. foreach ($lists as $k=>$v){
  108. $lists[$k]['userPhone'] = Db::name('user')->where('id',$v['user_id'])->value('phone');
  109. $lists[$k]['userName'] = Db::name('user_info')->where('user_id',$v['user_id'])->value('name');
  110. $car = Db::name('car')->where('id',$v['car_id'])->find();
  111. $lists[$k]['carName'] = $car?$car['title'].' ['.$car['sn'].']':'';
  112. $lists[$k]['depName'] = Db::name('dep')->where('id',$v['dep_id'])->value('name');
  113. }
  114. $total = Db::name('car_record')->where($map)->count();
  115. $data = [
  116. 'total' => $total,
  117. 'list' => $lists?$lists:[]
  118. ];
  119. return $data;
  120. }
  121. public function export($carId,$orgId){
  122. $map[] = ['status','=',1];
  123. $map[] = ['org_id','=',$orgId];
  124. if($carId > 0){
  125. $map[] = ['car_id','=',$carId];
  126. }
  127. $lists = Db::name('car_record')
  128. ->where($map)
  129. ->order('id desc')
  130. ->select();
  131. $lists = $lists?$lists:[];
  132. foreach ($lists as $k=>$v){
  133. $lists[$k]['userPhone'] = Db::name('user')->where('id',$v['user_id'])->value('phone');
  134. $lists[$k]['userName'] = Db::name('user_info')->where('user_id',$v['user_id'])->value('name');
  135. $car = Db::name('car')->where('id',$v['car_id'])->find();
  136. $lists[$k]['carName'] = $car?$car['title'].' ['.$car['sn'].']':'';
  137. $lists[$k]['depName'] = Db::name('dep')->where('id',$v['dep_id'])->value('name');
  138. }
  139. $columns[] = ["title" => "申请人","key" => "userName"];
  140. $columns[] = ["title" => "联系电话","key" => "userPhone"];
  141. $columns[] = ["title" => "部门","key" => "depName"];
  142. $columns[] = ["title" => "车辆","key" => "carName"];
  143. $columns[] = ["title" => "出车时间","key" => "startTime"];
  144. $columns[] = ["title" => "交车时间","key" => "endTime"];
  145. $columns[] = ["title" => "事由","key" => "reason"];
  146. $columns[] = ["title" => "出车地点","key" => "address"];
  147. $columns[] = ["title" => "驾驶员","key" => "driver"];
  148. $columns[] = ["title" => "出车里程","key" => "start"];
  149. $columns[] = ["title" => "交车里程","key" => "end"];
  150. $data = [
  151. 'columns' => $columns,
  152. 'list' => $lists?$lists:[]
  153. ];
  154. return $data;
  155. }
  156. }