示例#1
0
    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();
示例#2
0
 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;
 }