本文整理汇总了PHP中ejercicio::all_abiertos方法的典型用法代码示例。如果您正苦于以下问题:PHP ejercicio::all_abiertos方法的具体用法?PHP ejercicio::all_abiertos怎么用?PHP ejercicio::all_abiertos使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ejercicio
的用法示例。
在下文中一共展示了ejercicio::all_abiertos方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: renumerar
public function renumerar()
{
$ejercicio = new ejercicio();
foreach ($ejercicio->all_abiertos() as $eje) {
$posicion = 0;
$numero = 1;
$sql = '';
$continuar = TRUE;
$consulta = "SELECT idasiento,numero,fecha FROM " . $this->table_name . " WHERE codejercicio = '" . $eje->codejercicio . "'\n ORDER BY codejercicio ASC, fecha ASC, idasiento ASC";
$asientos = $this->db->select_limit($consulta, 1000, $posicion);
while ($asientos and $continuar) {
foreach ($asientos as $col) {
if ($col['numero'] != $numero) {
$sql .= "UPDATE " . $this->table_name . " SET numero = '" . $numero . "' WHERE idasiento = '" . $col['idasiento'] . "'; ";
}
$numero++;
}
$posicion += 1000;
if ($sql != '') {
if (!$this->db->exec($sql)) {
$this->new_error_msg("Se ha producido un error mientras se\n renumeraban los asientos del ejercicio " . $eje->codejercicio);
$continuar = FALSE;
}
$sql = '';
}
$asientos = $this->db->select_limit($consulta, 1000, $posicion);
}
}
return $continuar;
}
示例2: huecos
public function huecos()
{
$error = TRUE;
$huecolist = $this->cache->get_array2('factura_cliente_huecos', $error);
if ($error) {
$ejercicio = new ejercicio();
foreach ($ejercicio->all_abiertos() as $eje) {
$codserie = '';
$num = intval(FS_NFACTURA_CLI);
/// definido en el config2
$numeros = $this->db->select("SELECT codserie," . $this->db->sql_to_int('numero') . " as numero,fecha,hora\n FROM " . $this->table_name . " WHERE codejercicio = " . $this->var2str($eje->codejercicio) . " ORDER BY codserie ASC, numero ASC;");
if ($numeros) {
foreach ($numeros as $n) {
if ($n['codserie'] != $codserie) {
$codserie = $n['codserie'];
$num = intval(FS_NFACTURA_CLI);
/// definido en el config2
}
if (intval($n['numero']) != $num) {
while ($num < intval($n['numero'])) {
$huecolist[] = array('codigo' => $eje->codejercicio . sprintf('%02s', $codserie) . sprintf('%06s', $num), 'fecha' => Date('d-m-Y', strtotime($n['fecha'])), 'hora' => $n['hora']);
$num++;
}
}
$num++;
}
}
}
$this->cache->set('factura_cliente_huecos', $huecolist, 3600);
}
return $huecolist;
}
示例3: huecos
/**
* Devuelve un array con los huecos en la numeración.
* @return type
*/
public function huecos()
{
$error = TRUE;
$huecolist = $this->cache->get_array2('factura_cliente_huecos', $error);
if ($error) {
$ejercicio = new ejercicio();
$serie = new serie();
foreach ($ejercicio->all_abiertos() as $eje) {
$codserie = '';
$num = 1;
$data = $this->db->select("SELECT codserie," . $this->db->sql_to_int('numero') . " as numero,fecha,hora\n FROM " . $this->table_name . " WHERE codejercicio = " . $this->var2str($eje->codejercicio) . " ORDER BY codserie ASC, numero ASC;");
if ($data) {
foreach ($data as $d) {
if ($d['codserie'] != $codserie) {
$codserie = $d['codserie'];
$num = 1;
$se = $serie->get($codserie);
if ($se) {
/// ¿Se ha definido un nº inicial de factura para esta serie y ejercicio?
if ($eje->codejercicio == $se->codejercicio) {
$num = $se->numfactura;
}
}
}
if (intval($d['numero']) < $num) {
/**
* El número de la factura es menor que el inicial.
* El usuario ha cambiado el número inicial después de hacer
* facturas.
*/
} else {
if (intval($d['numero']) == $num) {
/// el número es correcto, avanzamos
$num++;
} else {
/**
* Hemos encontrado un hueco y debemos usar el número y la fecha.
* La variable pasos permite dejar de añadir huecos al llegar a 100,
* así evitamos agotar la memoria en caso de error grave.
*/
$pasos = 0;
while ($num < intval($d['numero']) and $pasos < 100) {
$huecolist[] = array('codigo' => $eje->codejercicio . sprintf('%02s', $codserie) . sprintf('%06s', $num), 'fecha' => Date('d-m-Y', strtotime($d['fecha'])), 'hora' => $d['hora']);
$num++;
$pasos++;
}
/// avanzamos uno más
$num++;
}
}
}
}
}
$this->cache->set('factura_cliente_huecos', $huecolist, 3600);
}
return $huecolist;
}
示例4: huecos
public function huecos()
{
$error = TRUE;
$huecolist = $this->cache->get_array2('factura_cliente_huecos', $error, TRUE);
if ($error) {
$ejercicio = new ejercicio();
$serie = new serie();
foreach ($ejercicio->all_abiertos() as $eje) {
$codserie = '';
$num = 1;
$data = $this->db->select("SELECT codserie," . $this->db->sql_to_int('numero') . " as numero,fecha,hora\n FROM " . $this->table_name . " WHERE codejercicio = " . $this->var2str($eje->codejercicio) . " ORDER BY codserie ASC, numero ASC;");
if ($data) {
foreach ($data as $d) {
if ($d['codserie'] != $codserie) {
$codserie = $d['codserie'];
$num = 1;
if (defined('FS_NFACTURA_CLI')) {
/// mantenemos compatibilidad con versiones anteriores
$num = intval(FS_NFACTURA_CLI);
}
$se = $serie->get($codserie);
if ($se) {
/// ¿Se ha definido un nº inicial de factura para esta serie y ejercicio?
if ($eje->codejercicio == $se->codejercicio) {
$num = $se->numfactura;
}
}
}
if (intval($d['numero']) < $num) {
/**
* El número de la factura es menor que el inicial.
* El usuario ha cambiado el número inicial después de hacer
* facturas.
*/
} else {
if (intval($d['numero']) == $num) {
/// el número es correcto, avanzamos
$num++;
} else {
/// Hemos encontrado un hueco y debemos usar el número y la fecha.
while ($num < intval($d['numero'])) {
$huecolist[] = array('codigo' => $eje->codejercicio . sprintf('%02s', $codserie) . sprintf('%06s', $num), 'fecha' => Date('d-m-Y', strtotime($d['fecha'])), 'hora' => $d['hora']);
$num++;
}
/// avanzamos uno más
$num++;
}
}
}
}
}
$this->cache->set('factura_cliente_huecos', $huecolist, 3600, TRUE);
}
return $huecolist;
}