<?php namespace app\common\model; use app\hander\HelpHander; use think\Db; use think\Exception; use think\Model; class AttendanceAddr extends Model { public function add(){ $data = [ 'id' => input('id/d',0), 'title' => input('title','','trim'), 'distance' => input('distance/d',0), 'lat' => input('lat','','trim'), 'lng' => input('lng','','trim'), 'org_id' => input('orgId/d',0), // 'auths' => input('auths','','trim'), ]; $result = validate('AttendanceAddr')->check($data,[],''); if(true !== $result){ HelpHander::error(validate('AttendanceAddr')->getError()); } $id = $data['id']; unset($data['id']); // $auths = json_decode($data['auths'],true); // unset($data['auths']); Db::startTrans(); try{ if($id > 0){ $data['update_time'] = date('Y-m-d H:i:s'); $ret = $this->allowField(true)->save($data,['id'=>$id]); Db::name('attendance_addr_auth')->where('addr_id',$id)->delete(); }else{ $data['create_time'] = date('Y-m-d H:i:s'); $ret = $this->allowField(true)->save($data); $id = $this->id; } if(!$ret){ \exception('操作失败'); } // $arr = []; // foreach ($auths as $k=>$v){ // $arr[] = [ // 'bus_id' => $v['busId'], // 'org_id' => $data['org_id'], // 'type' => $v['type'], // 'addr_id' => $id // ]; // } // $ret = Db::name('attendance_addr_auth')->insertAll($arr); // if($ret != count($arr)){ // \exception('操作失败'); // } Db::commit(); }catch (Exception $e){ Db::rollback(); HelpHander::error($e->getMessage()); } return true; } public function info($id){ $info = $this->where('id',$id)->find(); if(!$info){ HelpHander::error('数据不存在'); } $data = $info->toArray(); $data['addr_id'] = $data['id']; unset($data['id']); // $auths = Db::name('attendance_addr_auth')->where('addr_id',$id)->field('id as auth_id,bus_id,type')->select(); // $data['auths'] = $auths?$auths:[]; return $data; } public function lists($page,$size,$title,$orgId){ $map[] = ['del','=',0]; $map[] = ['org_id','=',$orgId]; if($title != ''){ $map[] = ['title','like','%'.$title.'%']; } $lists = $this ->where($map) ->page($page,$size) ->order('id desc') ->select(); $total = $this->where($map)->count(); $data = [ 'total' => $total, 'list' => $lists?$lists->toArray():[] ]; return $data; } public function del($id){ $ret = $this->where('id',$id)->setField('del',1); if(!$ret){ HelpHander::error('删除失败'); } return true; } public function modifyStatus($id){ $info = Db::name('attendance_addr')->where('del',0)->where('id',$id)->find(); if(!$info){ $this->error('记录不存在'); } $enable = $info['enable']?0:1; $ret = Db::name('attendance_addr')->where('id',$id)->setField('enable',$enable); if(!$ret){ \exception('操作失败'); } return true; } public function all($orgId){ $map[] = ['del','=',0]; $map[] = ['org_id','=',$orgId]; $lists = $this ->where($map) ->order('id desc') ->select(); $lists = $lists?$lists->toArray():[]; return $lists; } }