insert($data); return $ret?true:false; } public function advancedStartLeaveBj($id,$orgId,$userId,$formJson){ $formJson = json_decode($formJson,true); $data = [ 'org_id' => $orgId, 'user_id' => $userId, 'apply_id' => $id, 'type' => 2, ]; foreach ($formJson as $k=>$v){ if($v['componentName'] == 'ddleavebjfield'){ foreach ($v['components'] as $key=>$val){ switch ($val['idx']){ case '0': $data['start'] = $val['values']; break; case '1': $data['end'] = $val['values']; break; case '2': $data['address'] = isset($val['values'])?$val['values']:''; break; } } break; } } $ret = $this->add($data); return $ret?true:false; } public function advancedEndLeaveBj($id,$orgId,$userId,$formJson){ $data = [ 'update_time' => date('Y-m-d H:i:s'), 'status' => 1 ]; $ret = Db::name('leave_bj')->where('apply_id',$id)->update($data); return $ret?true:false; } public function advancedDisagreeLeaveBj($applyId){ $data = [ 'update_time' => date('Y-m-d H:i:s'), 'status' => 2 ]; $ret = Db::name('leave_bj')->where('apply_id',$applyId)->update($data); return $ret?true:false; } public function lists($page,$size,$name,$type,$orgId,$userId=0){ $map[] = ['al.status','=',1]; $map[] = ['al.org_id','=',$orgId]; if($name){ $map[] = ['ui.name','like','%'.$name.'%']; } if($type > 0){ $map[] = ['al.leave_type','=',$type]; } if($userId > 0){ $map[] = ['al.user_id','=',$userId]; } $lists = Db::name('leave_bj') ->alias('al') ->join('user_info ui','ui.user_id = al.user_id') ->where($map) ->field('al.*,ui.name as userName') ->page($page,$size) ->order('al.id desc') ->select(); $lists = $lists?$lists:[]; foreach ($lists as $k=>$v){ $startday = date('Y-m-d',strtotime($v['start_time'])); if($startday.' 12:00:00' > $v['start_time']){ $lists[$k]['start_time'] = $startday.' 上午'; } else { $lists[$k]['start_time'] = $startday.' 下午'; } $endday = date('Y-m-d',strtotime($v['end_time'])); if($endday.' 12:00:00' > $v['end_time']){ $lists[$k]['end_time'] = $endday.' 上午'; } else { $lists[$k]['end_time'] = $endday.' 下午'; } } $total = Db::name('leave_bj') ->alias('al') ->join('user_info ui','ui.user_id = al.user_id') ->where($map)->count(); $data = [ 'total' => $total, 'list' => $lists?$lists:[] ]; return $data; } }