El "numero de oficio" lo pasas por POST ... lo recojes como campo de la DB.... no hay un criterio unico... en algun momento estas incrementandolo... pero no es concistente.
Cita: $mayor= $row_mayor_oficio['num_oficio']+1;
En tu lugar... si quieres mantener dos incrementales... uno por DB y el otro por programacion al menos usa un criterio concistente para esa "variable" de tu sistema.....