Autor
|
Tema: Descontar Cantidad en Utilidad (Leído 4,574 veces)
|
Antoniio
Desconectado
Mensajes: 121
|
Hola, buenas. Tengo un sistema de inventario que no fue creado por mi pero estoy intentando modificarle algunas cosas. Hay una opción que se llama "Utilidades" dentro del sistema, es la suma de comisiones de cada vendedor, lo que yo quisiera saber es cómo hago para descontarle x cantidad a ese número, osea, tener la opción de poder descontar ese número: Se utiliza este código en esa parte: <?php $u = null; if( Session::getUID() != "" && !empty( $_GET["id"] ) ):
$u = UserData::getById( Session::getUID() ); $user = $u->name." ".$u->lastname; $client_id = $_GET["id"]; $client = ClientData::getById( $client_id ); $cliente = false; elseif( Session::getUID() != "" && empty( $_GET["id"] ) ):
$u = UserData::getById( Session::getUID() ); $user = $u->name." ".$u->lastname; $client = ClientData::getByIdUser( $u->id ); $client_id = $client->id; $cliente = true; else:
print "<script>window.location='index.php';</script>"; endif; ?> <div class="row"> <div class="col-md-12"> <h1><i class='fa fa-clock-o'></i> <?php echo $client->name." ".$client->lastname; ?> </h1> <br>
<?php $products = array(); if(isset($_GET["start_at"]) && $_GET["start_at"]!="" && isset($_GET["finish_at"]) && $_GET["finish_at"]!=""){
if($_GET["start_at"]<$_GET["finish_at"]){ $products = OperationData::getAllByClientIdAndRange( $client->id,$_GET["start_at"], $_GET["finish_at"] ); } } else{ $products = OperationData::getAllByClientId( $client->id ); } $comision_total = 0; if( count( $products ) > 0 ){ ?> <br> <table class="table table-bordered table-hover "> <thead> <th>Clave</th> <th>Precio de Venta</th> <th>Precio de Costo</th> <th>Fecha del pedido</th> <th>Comisión</th> <? if( $u->is_admin == 1 ):?> <th></th> <? endif;?> </thead> <?php #echo "<pre>";print_r( $products );echo "</pre>"; foreach($products as $sell):
#$item = $sell->getItem(); $book = BookData::getById( $sell->book_id ); ?> <tr> <td> <?php echo $book->isbn; ?> </td> <td><?php echo $book->cantidad; ?></td> <td><?php echo $book->precio_costo; ?></td> <td><?php echo $sell->start_at; ?></td> <td> <? $comision = $book->cantidad - $book->precio_costo; if( $comision >= 80 ){
echo '$40'; $comision_total = 40 + $comision_total; } else{
echo '$20'; $comision_total = 20 + $comision_total; } ?> </td> <? if( $u->is_admin == 1 ):?> <td> <a href="index.php?action=delorder&id=<?php echo $sell->id;?>" class="btn btn-danger btn-xs">Eliminar</a> </td> <? endif;?> </tr> <?php endforeach; ?> </table>
<div class="clearfix"></div> <?php } else{ ?> <p class="alert alert-danger">No hay pedidos.</p> <?php } $inventario = OperationData::getInventory( $client->id ); $list_inventario = OperationData::Discount_list( $client->id ); $inventario_sum = OperationData::Discount_sum( $client->id ); $initial_vendedor = ClientData::getById( $client->id ); ?> <div class="row"> <div class="col-lg-3"> Inventario Inicial<br> <? if( !$cliente ):?> <form action="index.php?action=updateinventory" method="post"> <input id="vendedor" type="hidden" name="vendedor" value="<?= $client->id ?>"> <input required id="invetory_initial" type="text" name="invetory_initial" value="<?= $initial_vendedor->initial_inventory ?>"> <button type="submit" class="btn btn-success">Editar</button> </form> <? else:?> <h3>$<?= $initial_vendedor->initial_inventory ?></h3> <? endif;?> </div> <div class="col-lg-2"> Pedidos Realizados: <h3> $<?= ( empty( $inventario[0]->total ) ) ? 0 : $inventario[0]->total ?></h3> </div> <div class="col-lg-2"> Abonos: <h3> $<?= ( empty( $inventario_sum[0]->total ) ) ? 0 : $inventario_sum[0]->total ?></h3> </div> <div class="col-lg-2"> Deuda Total: <h3>$<?= ( ( $initial_vendedor->initial_inventory + $inventario[0]->total ) - $inventario_sum[0]->total ) ?></h3> </div> <div class="col-lg-2"> <label><font color='red'>Utilidades:</font></label> <font color='red'><h3> $<?= $comision_total ?></h3></font> </div><br> </div> <? if( count( $list_inventario ) > 0 ){?> <div class="row"> <h3 class="col-lg-4 col-lg-offset-4">Lista de Abonos:</h3><br> <? if( count( $list_inventario ) > 0 ){ ?> <br> <table align="center" class="table table-bordered table-hover"> <thead> <th>Abono:</th> <th>Fecha del Abono:</th> </thead> <?php foreach($list_inventario as $list_inventario): ?> <tr> <td> <?php echo $list_inventario->discount_valor; ?> </td> <td> <?php echo $list_inventario->discount_date; ?> </td> </tr> <?php endforeach; ?> </table> <?php }?> </div> <? } if( !$cliente ):?> <div> <form action="index.php?action=addiscount" method="post"> <input id="cliente" name="cliente" type="hidden" value="<?= $client->id ?>"> <label>Abono: </label> <input required id="discount_n" type="text" name="discount_n"> <button type="submit" class="btn btn-success">Abonar</button> </form> </div> <? endif;?> <div class="clearfix"></div> <br><br><br><br><br><br><br><br><br><br> </div> </div> La utilidad se obtiene sumando la comisión de los productos. Ahora, cuando se paga esa utilidad a los vendedores es cuando ese número debe descontarse (la cantidad que se pague). Como mencioné, es un sistema gratuito que encontré en internet y que estoy modificando pero ya no encuentro la forma de aplicar esto. Les muestro el sistema y la base de datos actual: https://mega.nz/#!7chmSLwC!hr30QNhit...lJuVWdAqs9si68Se los envío para que se den una idea más detallada de dónde está lo que intento hacer, no pido que resuelvan mi problema haciéndolo, sólo que me ayuden a saber qué debo hacer para realizar lo que pregunto.. Espero puedan apoyarme, saludos! MOD: Imagen adaptada lo permitido.
|
|
« Última modificación: 14 Mayo 2017, 07:24 am por MCKSys Argentina »
|
En línea
|
|
|
|
3n31ch
Desconectado
Mensajes: 445
Grandes conocimientos engendran grandes dudas
|
Modifica la etiqueta GeSHi y pon PHP pls. (Es muy dificil leer codigo asi). ¿Quieres descontar en la variable o quieres descontar en la base de datos? - (No he descargado la BD y no planeo hacerlo, si posees un modelo relacional seria genial) Si lo que quieres es descontar de la variable solo tienes que agregar el codigo de los descuentos haciendo restas sobre la variable, por ejemplo: $comision_total -= $pago
Aunque no creo que eso sea lo que quieras, ya que es muy facil. He de suponer que tienes en la base de datos la cantidad de pagos y la cantidad de utilidades del mes (seleccionando los del ultimo mes), en dicho caso puedes seleccionar directamente la diferencia, o cargar los dos datos y luego restarlos.
Por otro lado, si es cosa de bases de datos ahi necesito el modelo y que bd es.
|
|
« Última modificación: 14 Mayo 2017, 06:46 am por 3n31ch »
|
En línea
|
|
|
|
Antoniio
Desconectado
Mensajes: 121
|
Modifica la etiqueta GeSHi y pon PHP pls. (Es muy dificil leer codigo asi). ¿Quieres descontar en la variable o quieres descontar en la base de datos? - (No he descargado la BD y no planeo hacerlo, si posees un modelo relacional seria genial) Si lo que quieres es descontar de la variable solo tienes que agregar el codigo de los descuentos haciendo restas sobre la variable, por ejemplo: $comision_total -= $pago
Aunque no creo que eso sea lo que quieras, ya que es muy facil. He de suponer que tienes en la base de datos la cantidad de pagos y la cantidad de utilidades del mes (seleccionando los del ultimo mes), en dicho caso puedes seleccionar directamente la diferencia, o cargar los dos datos y luego restarlos.
Por otro lado, si es cosa de bases de datos ahi necesito el modelo y que bd es. El problema aquí es que no es un sistema mío y no comprendo bien el código en sí. Sin mencionar que a penas estoy aprendiendo esto de php y programación. Sobre tu respuesta, por lo que entiendo, debería crear una nueva variable de pago? y recibir ahí la cantidad que se descontará de "comision_total" ?, o algo así? Saludos.
|
|
|
En línea
|
|
|
|
3n31ch
Desconectado
Mensajes: 445
Grandes conocimientos engendran grandes dudas
|
Aaah, con razón. Ya decia yo que pregunta tan rara.
1. Primero te recomiendo aprender a programar bien antes de ponerte a editar codigo de terceros (que por cierto, no es el mejor codigo del mundo si lo que quieres es aprender a programar bien).
2. Si, tendras que descontar el valor de los pagos a la comision tontal, por tanto tienes tres opciones: • Seleccionar todos los pagos en BD y descontarlos a comision_total (uno por uno, o la suma de todos) • Seleccionar la suma de todos los pagos desde la BD y decontarlo directamente en comosión total. • Seleccionar comision_total menos la suma de todos los pagos directamente en bd y luego imprimirla con PHP.
Tampoco se como funciona la plataforma en detalle. Y dudo que alguien del foro se ponga a descargar la base de datos, leer la documentación o el codigo para responderte (se supone que tu tienes que hacer eso).
|
|
|
En línea
|
|
|
|
Antoniio
Desconectado
Mensajes: 121
|
Aaah, con razón. Ya decia yo que pregunta tan rara.
1. Primero te recomiendo aprender a programar bien antes de ponerte a editar codigo de terceros (que por cierto, no es el mejor codigo del mundo si lo que quieres es aprender a programar bien).
2. Si, tendras que descontar el valor de los pagos a la comision tontal, por tanto tienes tres opciones: • Seleccionar todos los pagos en BD y descontarlos a comision_total (uno por uno, o la suma de todos) • Seleccionar la suma de todos los pagos desde la BD y decontarlo directamente en comosión total. • Seleccionar comision_total menos la suma de todos los pagos directamente en bd y luego imprimirla con PHP.
Tampoco se como funciona la plataforma en detalle. Y dudo que alguien del foro se ponga a descargar la base de datos, leer la documentación o el codigo para responderte (se supone que tu tienes que hacer eso).
Hola, después de tanto intentar no he podido lograr hacer funcionar esto. Primero intenté creando un botón al costado donde incluí la "comisión total" como valor por defecto. Después lo que quise hacer fue restar esa cantidad de la base de datos pero al hacerlo se eliminaban todos los valores de la "Deuda Total", osea, se perdía ese valor y eso no debe pasar, ahí tuve el problema .... Ya no sé qué hacer
|
|
|
En línea
|
|
|
|
Antoniio
Desconectado
Mensajes: 121
|
Algún otro método?
|
|
|
En línea
|
|
|
|
3n31ch
Desconectado
Mensajes: 445
Grandes conocimientos engendran grandes dudas
|
Pon la QRY de que usaste en la BD y pon el diagrama MR de las tablas implicadas. Si es posible aísla la parte del código que posee el conflicto y pone la solución que intentaste. Seguramente el 50% de este foro te podrá responder, el problema esta en que nadie utilizara su tiempo para leer mas de una pagina de documentación (somos personas horribles). Suerte! (Mañana intentare ver el tema otra vez)
|
|
|
En línea
|
|
|
|
|
|