Foros del Web » Programando para Internet » PHP »

Algoritmo de facturacion por mes

Estas en el tema de Algoritmo de facturacion por mes en el foro de PHP en Foros del Web. Hola a todos, Me encuentro atrapado en un algoritmo y necesito de ayuda. Problema: Estoy desarrollando un sistema de facturacion que me agrupe todas las ...
  #1 (permalink)  
Antiguo 22/07/2016, 10:05
 
Fecha de Ingreso: octubre-2012
Mensajes: 74
Antigüedad: 11 años, 6 meses
Puntos: 0
Pregunta Algoritmo de facturacion por mes

Hola a todos,

Me encuentro atrapado en un algoritmo y necesito de ayuda.

Problema: Estoy desarrollando un sistema de facturacion que me agrupe todas las ordenes de trabajo finalizadas desde el dia 20 de cada mes, hasta el dia 20 del mes siguiente, pero ademas si existe una orden de trabajo de meses anteriores que no se encuentre finalizada, poder agruparla en la carpeta del ultimo mes de facturacion.

Ojala me haya podido explicar bien.

Saludos.
  #2 (permalink)  
Antiguo 22/07/2016, 10:33
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Algoritmo de facturacion por mes

Se entiende lo que tienes que hacer, lo que no se entiende es lo que tienes: nadie va a adivinar lo que llevas hecho, tus estructuras de datos, ni nada como para imaginar si quiera una solución.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 22/07/2016, 10:42
 
Fecha de Ingreso: octubre-2012
Mensajes: 74
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Algoritmo de facturacion por mes

Es que aun no tengo nada hecho, ando en busca de la idea para poder llevarla a codigo.
  #4 (permalink)  
Antiguo 22/07/2016, 11:35
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Algoritmo de facturacion por mes

Tienes por lo menos, la base de datos de donde pretendes obtener la facturación o las órdenes?
Has probado ha hacer algún tipo de consulta?
Que tipo de campos tienen las tablas y como se relacionan?

Algo tendrás hecho, por lo menos el planteamiento del desarrollo del problema.

Por que si no más que estar desarrollando, estas... ¿pensando en hacer? ¿planificando?


Tampoco dejas claro si solo necesitas contar el número de registros, que cumplan unas determinadas condiciones o más cosas.

Por que si lolu quieres contar el número de registros puedes hacer un count (*) estableciendo las condiciones apropiadas.
__________________
Unset($vida['malRollo']);
  #5 (permalink)  
Antiguo 22/07/2016, 11:54
 
Fecha de Ingreso: octubre-2012
Mensajes: 74
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Algoritmo de facturacion por mes

Para este caso, solo se necesita trabajar con la siguiente tabla

Tabla Orders
- id
- created
- finish
- customer_id
- state_id
- user_id
- cuenta_id

los productos de la orden se almacenan en una tabla de paso, entre orders y products.

Con esto puedo agrupar las OT's de cada mes, hasta el dia 20, pero me faltarian las del mes anterior desde el 20 en adelante, y las de todos los meses anteriores que no se encuentren cerradas.

Código:
<?php foreach($orders as $o): ?>
	<?php $ano = substr($o['Order']['created'], -10, 4);$mes = substr($o['Order']['created'], -5, 2);$dia = substr($o['Order']['created'], -2, 2);?>
	<!-- ENERO -->
	<?php if ($mes == 01 && $dia <= 20): ?>
		<?php echo $o['Order']['id']; ?>
	<?php endif ?>
	<!-- FEBRERO -->
	<?php if ($mes == 02 && $dia <= 20): ?>
		<?php echo $o['Order']['id']; ?>
	<?php endif ?>
	<!-- MARZO -->
	<?php if ($mes == 03 && $dia <= 20): ?>
		<?php echo $o['Order']['id']; ?>
	<?php endif ?>
<?php endforeach; ?>
  #6 (permalink)  
Antiguo 22/07/2016, 12:10
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Algoritmo de facturacion por mes

pos podrias añadir un condicional OR a tu senttencia sql para que traiga tambien las anteriosres

como no muestras la sentencia pongo un ejemplo

Código MySQL:
Ver original
  1. SELECT * FROM Orders WHERE  ( /* where anteriores */ ) OR ( created < $tu_fecha_final AND state_id != finalizada )
__________________
Unset($vida['malRollo']);
  #7 (permalink)  
Antiguo 22/07/2016, 13:07
 
Fecha de Ingreso: octubre-2012
Mensajes: 74
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Algoritmo de facturacion por mes

De esa manera, me mostrara en todos los meses las OT's finalizadas, yo solo quiero que me las muestre en el ultimo mes.
  #8 (permalink)  
Antiguo 22/07/2016, 15:46
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Algoritmo de facturacion por mes

lo miraste bien?

es mas voy/vamos a ciegas por que no nos das informacion de que tienes o como lo tienes.

Pero "!=" se podria leer como diferente de, igualmente parece, que no lo se, que solo necesitas ajustar tu sentencia sql, pero no te podemos ayudar sin saber que almacena tu tabla, estructura y tipos de datos.

Segun entendia, las OT finalizadas ya las tenias, te faltaba añadir las no finalizadas de ese mes y de los meses anteriores.
__________________
Unset($vida['malRollo']);
  #9 (permalink)  
Antiguo 22/07/2016, 15:57
 
Fecha de Ingreso: octubre-2012
Mensajes: 74
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Algoritmo de facturacion por mes

Cita:
Iniciado por xerifandtomas Ver Mensaje
lo miraste bien?

es mas voy/vamos a ciegas por que no nos das informacion de que tienes o como lo tienes.

Pero "!=" se podria leer como diferente de, igualmente parece, que no lo se, que solo necesitas ajustar tu sentencia sql, pero no te podemos ayudar sin saber que almacena tu tabla, estructura y tipos de datos.

Segun entendia, las OT finalizadas ya las tenias, te faltaba añadir las no finalizadas de ese mes y de los meses anteriores.
Mejor desarrollare hasta donde pueda, y de ahí genero mi consulta, empece alrevez.
Gracias por el tiempo.

Etiquetas: facturacion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:05.