function index($var1 = '', $var2 = '', $var3 = '', $var4 = '') { $this->rapyd->load("dataform", "datatable"); $this->db->simple_query("ALTER TABLE `retenomi` ADD COLUMN `nombre` VARCHAR(100) NULL AFTER `status`"); $this->db->simple_query("ALTER TABLE `asignomi` ADD COLUMN `denominacion` TINYTEXT NULL AFTER `status`"); $form1 = new DataForm('nomina/prenom/index/process/aa'); $form1->contrato = new dropdownField("Contrato", "contrato"); $mSQL = $this->db->query("SHOW TABLES LIKE 'PRENOM%'"); foreach ($mSQL->result_array() as $row) { foreach ($row as $key => $value) { $c = $this->db->escape(substr($value, 6)); $nombre = $this->datasis->dameval("SELECT nombre FROM noco WHERE codigo={$c}"); $form1->contrato->option($value, $nombre); } } $form1->submit("btnsubmit", "Recuperar"); $form1->build_form(); if ($form1->on_success() && $var2 == 'aa') { $this->load->dbforge(); $tabla = 'prenom'; $tablap = 'pretab'; $this->db->query("TRUNCATE {$tabla}"); $this->db->query("TRUNCATE {$tablap}"); $contrato = $form1->contrato->newValue; $mSQL = "INSERT IGNORE INTO {$tabla} SELECT * FROM {$contrato} "; $this->db->query($mSQL); $mSQL = "DROP TABLE `{$contrato}`"; $this->db->query($mSQL); redirect('nomina/prenom/montos'); } $script = ' $(function() { $("#pagar").click(function(){ if(confirm("Esta Seguro de Crear Orden de Pago de Prenomina actual")) return true; else return false; }); $("#guarda").click(function(){ if(confirm("Esta Seguro que desea Guardar la Prenomina actual. Esto eliminara la prenomina guardada anteriormente")){ $.post("' . site_url('nomina/prenom/respalda') . '",{ partida:"a" },function(data){ if(data="_Si"){ alert("Se respaldo correctamente la Prenomina.") nueva=window.open("' . site_url('nomina/prenom') . '","_self"); }else{ alert("No se Pudo respaldar la Prenomina") } }) return false; }else{ return false; } }); $("#recibo").click(function(){ cant = $("#cant").val(); var caracteristicas = "height=240,width=420,scrollTo,resizable=1,scrollbars=1,location=0"; nueva=window.open("' . site_url('forma/ver/RECIBO/') . '/"+cant, "Popup", caracteristicas); return false; }); $("#contrato").change(function (){ c=$("#contrato").val(); $.post("' . site_url('nomina/noco/tipo') . '",{ con: c}, function(data){ $("#contrato2").html(data); }); }); }); '; $form = new DataForm('nomina/prenom/index/process'); $form->script($script); $form->contrato = new dropdownField("Contrato", "contrato"); $form->contrato->option("", "Seleccionar"); $form->contrato->options("SELECT codigo,CONCAT_ws(' ',codigo,nombre) nom FROM noco ORDER BY nombre"); $form->contrato->rule = 'required'; $form->contrato2 = new dropdownField("Aplicar a", "contrato2"); //$form->contrato2->options("SELECT codigo,CONCAT_ws(' ',codigo,nombre) nom FROM noco WHERE tipo<>'O' ORDER BY nombre"); $form->fechac = new dateonlyField("Fecha de corte", "fechac"); $form->fechac->rule = 'required|chfecha'; $form->fechac->insertValue = date("Y-m-d"); $form->fechac->size = 12; $form->fechap = new dateonlyField("Fecha de pago", "fechap"); $form->fechap->rule = 'required|chfecha'; $form->fechap->insertValue = date("Y-m-d"); $form->fechap->size = 12; $form->submit("btnsubmit", "Generar"); $form->build_form(); if ($form->on_success()) { $this->load->dbforge(); $contrato = $form->contrato->newValue; $contratoe = $this->db->escape($form->contrato->newValue); $trabajae = NULL; $contrato2 = $form->contrato2->newValue; $contrato2e = $this->db->escape($form->contrato2->newValue); $fechac = $form->fechac->newValue; $fechap = $form->fechap->newValue; $tabla = 'prenom'; $tablap = 'pretab'; $this->db->query("TRUNCATE {$tabla}"); $this->db->query("TRUNCATE {$tablap}"); if (!empty($contrato2)) { $scontratoe = $contratoe; $trabajae = $contrato2e; $wcontratoe = $contrato2e; $mSQL = "INSERT IGNORE INTO {$tabla} (contrato, codigo,nombre, concepto, grupo, tipo, descrip, formula, monto, fecha, fechap,cuota,cuotat,pprome,trabaja,modo,orden,vari1,vari2,vari3,vari4,vari5,vari6,vari7,vari8) "; $mSQL .= "SELECT {$scontratoe}, b.codigo, CONCAT(RTRIM(b.apellido),' ',b.nombre) nombre, "; $mSQL .= "a.concepto, a.grupo, a.tipo, a.descrip, a.formula, 0, {$fechac}, {$fechap} , 0, 0, 0, {$trabajae},modo,e.orden,b.vari1,b.vari2,b.vari3,b.vari4,b.vari5,b.vari6,b.vari7,b.vari8 "; $mSQL .= "FROM conc a "; $mSQL .= "JOIN itnoco c ON a.concepto=c.concepto "; $mSQL .= "JOIN noco d ON c.codigo=d.codigo "; $mSQL .= "JOIN itnoco e ON d.codigo=e.codigo "; $mSQL .= "JOIN pers b ON {$scontratoe}=c.codigo "; $mSQL .= "WHERE b.contrato={$wcontratoe} AND b.status='A' "; } else { $scontratoe = $contratoe; $trabajae = $this->db->escape(''); $wcontratoe = $contratoe; $mSQL = "INSERT IGNORE INTO {$tabla} (contrato, codigo,nombre, concepto, grupo, tipo, descrip, formula, monto, fecha, fechap,cuota,cuotat,pprome,trabaja,modo,orden,vari1,vari2,vari3,vari4,vari5,vari6,vari7,vari8) "; $mSQL .= "SELECT {$scontratoe}, b.codigo, CONCAT(RTRIM(b.apellido),'/',b.nombre) nombre, "; $mSQL .= "a.concepto, a.grupo, a.tipo, a.descrip, a.formula, 0, {$fechac}, {$fechap} , 0, 0, 0, {$trabajae},modo,c.orden,b.vari1,b.vari2,b.vari3,b.vari4,b.vari5,b.vari6,b.vari7,b.vari8 "; $mSQL .= "FROM conc a JOIN itnoco c ON a.concepto=c.concepto "; $mSQL .= "JOIN noco d ON c.codigo=d.codigo "; $mSQL .= "JOIN pers b ON b.contrato=d.codigo \r\n\t\t\t\tWHERE d.codigo={$wcontratoe} AND b.status='A' "; } $this->db->query($mSQL); $fields = $this->db->list_fields($tablap); $ii = count($fields); for ($i = 5; $i < $ii; $i++) { $this->dbforge->drop_column($tablap, $fields[$i]); } unset($fields); $query = $this->db->query("SELECT concepto FROM itnoco WHERE codigo={$scontratoe} ORDER BY concepto"); foreach ($query->result() as $row) { $ind = 'c' . trim($row->concepto); $fields[$ind] = array('type' => 'decimal(17,2)', 'default' => 0); } $this->dbforge->add_column($tablap, $fields); unset($fields); $frec = $this->datasis->dameval("SELECT tipo FROM noco WHERE codigo={$scontratoe}"); $this->calculaprenom(); redirect('nomina/prenom/montos'); } $atts = array('width' => '420', 'height' => '300', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '5', 'screeny' => '5'); $atts2 = array('width' => '1024', 'height' => '768', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '0', 'screeny' => '0'); $atts3 = array('width' => '420', 'height' => '240', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '5', 'screeny' => '5', 'id' => 'recibo'); $contratoactual = $this->datasis->dameval("SELECT b.nombre FROM prenom a JOIN noco b ON a.contrato=b.codigo LIMIT 1"); $des01 = ''; if ($contratoactual) { $des01 = "<div style='background-color:black;padding:5px;color:red;' ><strong>{$contratoactual}</strong></div>"; } $des0 = new containerField("", $des01); $des0->build(); $des3 = "<strong>Prenomina:</strong> es el termino utilizado para referirse a la nomina en la cual se esta trabajando que pertenece a un contrato y a una fecha dada. En la prenomina es el momento donde se introducen valores extra para los conceptos de nomina. por ejemplo la cantidad de horas extra trabajadas. y de donde se imprimen los recibos de pagos para los empleados"; $des2 = new containerField("", "<div style='background-color:#EEDDEE;padding:5px;'> " . $des3 . "</div>"); $des2->build(); $des4 = new containerField("", "<div style='background-color:#FFDDFF;padding:5px;'> " . anchor('', '<span id="guarda">Guardar Prenomina Actual</span>') . " Este se utiliza para almacenar la prenomina en la que se esta trabajando y porder continuar con otra sin perder los cambios realizados a esta</div>"); $des4->build(); $des5 = new containerField("", "<div style='background-color:#DDDDFF;padding:5px;'> " . anchor('nomina/prenom/montos', 'Modificar Prenomina Actual') . " Este se utiliza para continuar introduciendo valores a conceptos de la prenomina actual</div>"); $des5->build(); $des10 = new containerField("", "<div style='background-color:#DDFFFF;padding:5px;'> " . anchor('nomina/prenom/calculaprenom', 'Recalcular Prenomina') . " Recalcular montos de la prenomina de haber cambiado sueldos formulas</div>"); $des10->build(); $des6 = new containerField("", "<div style='background-color:#EEFFEE;padding:5px;'> " . anchor_popup('reportes/ver/PRENOM/-1', 'Ver Listado de Prenomina', $atts) . " Este Muestra el listado de prenomina actual en formatos pdf. o .xls</div>"); $des6->build(); //$des8 = new containerField("","<div style='background-color:#CCEEEE;padding:5px;'> ".anchor_popup('nomina/recibo/','Imprimir recibos de pago',$atts2)." Abre el modulo de impresion de recibos de pago, donde hay distintas opciones de impresion</div>"); //$des8->build(); $des7 = new containerField("", "<div style='background-color:#FFCCFF;padding:5px;'> " . anchor_popup('nomina/prenom/creanomi', '<span id="pagar">Crear Nomina en Base a Prenomina</span>', $atts2) . "Esta es la ultima operacion a realizar para una prenomina, la cual convierte la prenomina actual en una nomina.</div>"); $des7->build(); $t = array(); $t[1][1] = $form->output; $t[2][1] = "<strong>Generar una Prenomina:</strong> </br>Se utiliza para calcular los saldos de un contrato y sus trabajadores para una fecha.</br> Este borra la prenomina anterior y genera la nueva prenomina con los nuevos datos, para luego introducir los valores necesarios por cada concepto de ser necesario."; $table = new DataTable(null, $t); $table->cell_attributes = 'style="vertical-align:middle; text-align: center;"'; $table->per_row = 2; $table->cell_attributes = 'style="vertical-align:top;background-color:#DDFFFF;text-align: left;"'; $table->cell_template = "<#1#>"; $table->build(); $t = array(); $t[1][1] = $form1->output; $t[2][1] = "<strong>Recuperar Prenomina:</strong> </br>Esta opcion es para utilizar un prenomina previamente almacenada y continuar modificandola o terminarla.</br>Esta opcion borra los datos de la prenomina actual"; $table2 = new DataTable(null, $t); $table2->cell_attributes = 'style="vertical-align:middle; text-align: center;"'; $table2->per_row = 2; $table2->cell_attributes = 'style="vertical-align:top;background-color:#FFFFDD;text-align: left;"'; $table2->cell_template = "<#1#>"; $table2->build(); $cant = new dropdownField("cant", "cant"); $cant->status = 'create'; for ($i = 1; $i < 5; $i++) { $cant->option($i, $i); } $cant->style = "width:40px;"; $cant->build(); $des9 = new containerField("", "<div style='background-color:#EEEECC;padding:5px;'> " . $cant->output . ' Copias de ' . anchor('#', 'Recibos de Pago', $atts3) . " Este genera los recibos de pagos para toda la prenomina.</div>"); $des9->build();
function solicitud($valor, $value = null) { //$tipo,$codigoadm,$codigopres, //$campo = new inputField("Title2", "gs[$valor]"); //$campo->status = "create"; //$campo->css_class='inputnum'; //$campo->size=10; //$campo->insertValue=$value; $campo = new containerField("Title2", $value); $campo->container->when = array("show"); //$campo->status = "create"; //$campo->css_class='inputnum'; //$campo->size=10; //$campo->insertValue=$value; $campo->build(); return $campo->output; }