<commit_before><?php 
defined('BASEPATH') OR exit('No direct script access allowed');

class Cobranza_ctrl extends CI_Controller {
	public function index(){
		$data['menu'] = $this->load->view('Menu_principal', null, true);
		$data["clientes"] = $this->db->query("select * from catcliente where tipo = 0 and estadoActivo = 1")->result();
		$data['fechas'] = $this->traerData();
		$this->load->view("Cobranza_vw", $data);
	}

	public function getData_AJAX(){
		if(isset($_POST) && isset($_POST["idCliente"])){
			$idCliente = htmlentities($_POST["idCliente"], ENT_QUOTES, "UTF-8");
		}else $idCliente = -1;

		$data["clientes"] = $this->db->query("select * from catcliente where tipo = 0 and estadoActivo = 1")->result();
		$data["fechas"] = $this->traerData($idCliente);
		$data['menu'] = $this->load->view('Menu_principal', null, true);
		$this->load->view("Cobranza_vw", $data);
	}

	public function traerData($idCliente = -1){
		$query_fechas_no_pagadas = "select 
										distinct f.id id, f.importe importe_fecha, f.referencia ref_fecha, 
										DATE_FORMAT(f.fecha_final, '%d/%m/%Y') fecha_final,
										f.nota nota_fecha, f.fecha_final_confirmada confirmada,
										cc.descripcion desc_concepto_asociado,
										f.idEstadoFactura idEstadoFactura, cot.folio folioCotizacion,
										R1.folioFactura folioFactura, catcli.nombre cliente
									from fecha_factura f inner join concepto_cotizacion cc on
										cc.id = f.idConceptoCotizacion
										inner join cotizacion cot on cot.id = cc.idCotizacion
										inner join catcliente catcli on catcli.id = cot.idCliente
										inner join (select factura.folio folioFactura, fecha.id idFecha
													from factura inner join concepto_factura_rel cf on cf.idFactura = factura.id
													inner join concepto on concepto.id = cf.idConcepto
													inner join concepto_factura_cotizacion cfc on cfc.idConceptoFactura = concepto.id
													inner join fecha_factura fecha on fecha.id = cfc.idFechaFactura) R1 on R1.idFecha = f.id
									where f.idEstadoFactura in (24,25) 
										and catcli.tipo = 0";

		$appendWhere = "";

		if($idCliente == -1){
			$appendWhere .= " and catcli.id = ".$idCliente;
		}

		$query_fechas_no_pagadas .= $appendWhere;
		$query_fechas_no_pagadas .= "order by f.idEstadoFactura, f.fecha_final asc";

		return $this->db->query($query_fechas_no_pagadas)->result();
	}

	public function pagar($idFechaFactura){
		$idFechaFactura = htmlentities($idFechaFactura, ENT_QUOTES, 'UTF-8');
		$query_actualiza_estado = "update fecha_factura set idEstadoFactura = 21 where id = ".$idFechaFactura;

		$this->db->query($query_actualiza_estado);
		echo "OK";
	}

	public function cancelar($idFechaFactura, $key_candidate, $action){
		$idFechaFactura = htmlentities($idFechaFactura, ENT_QUOTES, 'UTF-8');
		$query_traer_key = "select key_cancelar from fecha_factura
							where id = ".$idFechaFactura;
		$res_key = $this->db->query($query_traer_key)->row();
		$key = $res_key->key_cancelar;

		if($key_candidate == $key){
			if($action == "confirma"){
				$query_actualiza_estado = "update fecha_factura set idEstadoFactura = 22 where id = ".$idFechaFactura;<commit_msg>Cambios<commit_after><?php 
defined('BASEPATH') OR exit('No direct script access allowed');

class Cobranza_ctrl extends CI_Controller {
	public function index(){
		$data['menu'] = $this->load->view('Menu_principal', null, true);
		$data["clientes"] = $this->db->query("select * from catcliente where tipo = 0 and estadoActivo = 1")->result();
		$data['fechas'] = $this->traerData();
		$this->load->view("Cobranza_vw", $data);
	}

	public function getData_AJAX(){
		if(isset($_POST) && isset($_POST["idCliente"])){
			$idCliente = htmlentities($_POST["idCliente"], ENT_QUOTES, "UTF-8");
		}else $idCliente = -1;
		$idCliente = (int) $idCliente;

		$data["clientes"] = $this->db->query("select * from catcliente where tipo = 0 and estadoActivo = 1")->result();
		$data["fechas"] = $this->traerData($idCliente);
		$data['menu'] = $this->load->view('Menu_principal', null, true);
		$this->load->view("Cobranza_vw", $data);
	}

	public function traerData($idCliente = -1){
		$query_fechas_no_pagadas = "select 
										distinct f.id id, f.importe importe_fecha, f.referencia ref_fecha, 
										DATE_FORMAT(f.fecha_final, '%d/%m/%Y') fecha_final,
										f.nota nota_fecha, f.fecha_final_confirmada confirmada,
										cc.descripcion desc_concepto_asociado,
										f.idEstadoFactura idEstadoFactura, cot.folio folioCotizacion,
										R1.folioFactura folioFactura, catcli.nombre cliente
									from fecha_factura f inner join concepto_cotizacion cc on
										cc.id = f.idConceptoCotizacion
										inner join cotizacion cot on cot.id = cc.idCotizacion
										inner join catcliente catcli on catcli.id = cot.idCliente
										inner join (select factura.folio folioFactura, fecha.id idFecha
													from factura inner join concepto_factura_rel cf on cf.idFactura = factura.id
													inner join concepto on concepto.id = cf.idConcepto
													inner join concepto_factura_cotizacion cfc on cfc.idConceptoFactura = concepto.id
													inner join fecha_factura fecha on fecha.id = cfc.idFechaFactura) R1 on R1.idFecha = f.id
									where f.idEstadoFactura in (24,25) 
										and catcli.tipo = 0";



		return $this->db->query($query_fechas_no_pagadas)->result();
	}

	public function pagar($idFechaFactura){
		$idFechaFactura = htmlentities($idFechaFactura, ENT_QUOTES, 'UTF-8');
		$query_actualiza_estado = "update fecha_factura set idEstadoFactura = 21 where id = ".$idFechaFactura;

		$this->db->query($query_actualiza_estado);
		echo "OK";
	}

	public function cancelar($idFechaFactura, $key_candidate, $action){
		$idFechaFactura = htmlentities($idFechaFactura, ENT_QUOTES, 'UTF-8');
		$query_traer_key = "select key_cancelar from fecha_factura
							where id = ".$idFechaFactura;
		$res_key = $this->db->query($query_traer_key)->row();
		$key = $res_key->key_cancelar;

		if($key_candidate == $key){
			if($action == "confirma"){
				$query_actualiza_estado = "update fecha_factura set idEstadoFactura = 22 where id = ".$idFechaFactura;
{'fraction_non_alphanumeric': 0.13317112733171127, 'fraction_numerical': 0.006974858069748581, 'mean_word_length': 3.98464025869038, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 53, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7545551', 'n_tokens_mistral': 2676, 'n_tokens_neox': 2238, 'n_words': 455}