$orgId, 'user_id' => $userId, 'apply_id' => $id, 'create_time' => date('Y-m-d H:i:s'), 'status' => 0 ]; foreach ($formJson as $k=>$v){ if($v['componentName'] == 'ddleaveterminatefield'){ foreach ($v['components'] as $key=>$val){ switch ($val['idx']){ case '0': $data['parent_apply_id'] = $val['values2'][0]['id']; break; case '1': $data['days'] = $val['values']; break; } } break; } } $ret = Db::name('attendance_leave_terminate')->insert($data); return $ret?true:false; } public function advancedEndLeaveTerminate($id,$orgId,$userId,$formJson){ $data = [ 'update_time' => date('Y-m-d H:i:s'), 'status' => 1 ]; $info = Db::name('attendance_leave_terminate')->where('apply_id',$id)->find(); $ret = Db::name('attendance_leave_terminate')->where('apply_id',$id)->update($data); if($ret){ $res = Db::name('attendance_leave')->where('apply_id',$info['parent_apply_id'])->setDec('cur_days',$info['days']); if(!$res){ return false; } } return $ret?true:false; } public function advancedDisagreeLeaveTerminate($id){ $info = Db::name('attendance_leave_terminate')->where('apply_id',$id)->find(); $data = [ 'update_time' => date('Y-m-d H:i:s'), 'status' => 2 ]; $pinfo = Db::name('attendance_leave')->where('apply_id',$info['parent_apply_id'])->find(); if($pinfo['leave_type'] == 3){ // 年假 $ret = Db::name('user_info')->where('user_id',$pinfo['user_id'])->setInc('annual_leave',$info['days']); if(!$ret){ return false; } } $ret = Db::name('attendance_leave_terminate')->where('apply_id',$id)->update($data); if($ret){ $res = Db::name('attendance_leave')->where('apply_id',$info['parent_apply_id'])->setDec('cur_days',$info['days']); if(!$res){ return false; } } return $ret?true:false; } }