$okc = true; reset($Vec_Trad); while ((list(, $tmp) = each($Vec_Trad)) && $okc) { $vlr_nxt = 0; $vlr_act = 0; $tmp1 = $tmp['ID']; //if ($record['DEPE_RAD_TP'.$tmp1] != $record_ori['depe_rad_tp'.$tmp1]) if (isset($_POST['slc_tr' . $tmp1])) { // Validaciones propias cuando se ha modificado la dependencia // para la secuencia de un tipo de radicado. switch ($db->driver) { case 'oci8': case 'oci8po': $ADODB_COUNTRECS = true; $sql_nxt = "select * from all_sequences where sequence_name = '" . 'SECR_TP' . $tmp1 . '_' . $_POST['slc_tr' . $tmp1] . "' AND SEQUENCE_OWNER='" . strtoupper($usuario) . "'"; $sql_act = "select * from all_sequences where sequence_name = '" . 'SECR_TP' . $tmp1 . '_' . $depObj->getSecRadicTipDepe($_POST['txtIdDep'], $tmp1) . "' AND SEQUENCE_OWNER='" . strtoupper($usuario) . "'"; $rs_nxt = $db->conn->Execute($sql_nxt); $rs_act = $db->conn->Execute($sql_act); $ADODB_COUNTRECS = false; if ($rs_nxt->RecordCount() > 0) { $vlr_nxt = $rs_nxt->fields['LAST_NUMBER'] + 1; } if ($rs_act->RecordCount() > 0) { $vlr_act = $rs_act->fields['LAST_NUMBER'] + 1; } $sql_rtp = "select * from radicado where " . $db->conn->substr . '(cast(radi_nume_radi as varchar(15)),-1)=' . $tmp1 . " and radi_depe_radi=" . $_POST['txtIdDep']; break; case 'mssql': $vlr_nxt = $db->conn->GenID('SECR_TP' . $tmp1 . '_' . $_POST['slc_tr' . $tmp1]); $vlr_act = $db->conn->GenID('SECR_TP' . $tmp1 . '_' . $depObj->getSecRadicTipDepe($_POST['txtIdDep'], $tmp1)); $sql_rtp = "select * from radicado where " . $db->conn->substr . '(convert(char(14),radi_nume_radi),14,1)=' . $tmp1 . " and radi_depe_radi=" . $_POST['txtIdDep'];
<link rel="stylesheet" href="../../estilos/orfeo.css"> <script language="JavaScript"> <!-- function advertencia( cantidadRegistros, form ) { var confirmaSecuencias = confirm( 'Seguro que desea generar ' + cantidadRegistros + ' secuencias para radicacion masiva?\nEl proceso no se puede revertir y seria necesario realizar la anulacion manual de todos los radicados generados.' ); if(confirmaSecuencias) { <?php $arreglo = array(); if ($tipoRad && ($cantidadRegistros != '' || $cantidadRegistros != null)) { require_once $ruta_raiz . "/class_control/Dependencia.php"; $objDependecia = new Dependencia($db); $objDependecia->Dependencia_codigo($dependencia); $cursor =& $db; $cuenta = 0; while ($cuenta < $cantidadRegistros) { $secRadicacion = "secr_tp" . $tipoRad . "_" . $objDependecia->getSecRadicTipDepe($dependencia, $tipoRad); $sec = $cursor->nextId($secRadicacion); $sec = str_pad($sec, 6, "0", STR_PAD_LEFT); $arreglo[] = date("Y") . $dependencia . $sec . substr($secRadicacion, 7, 1); $cuenta++; } ?> alert( 'Se generaron las ' + cantidadRegistros + ' secuencias entre el <?php echo $arreglo[0]; ?> y el <?php echo $arreglo[$cuenta - 1]; ?> , a continuacion apareceran en una ventana aparte,\npara que las copie a una hoja de calculo.'); ventana = window.open(' ','secuenciasMasiva','menubar=no,scrollbars=yes,width=300,height=500'); ventana.opener = self;
function combinar_csv($dependencia, $codusuario, $usua_doc, $usua_nomb, $depe_codi_territorial, $codiTRD, $TipoRad) { $odt = new OpenDocText(); $b = new CLASS_GEN(); //Var que contiene el arreglo de radicados genrados a partir de la masiva $arrRadicados = array(); //echo "<hr> TipoRas es $TipoRad <hr>"; //Instancia de la dependencia $objDependecia = new Dependencia($this->conexion); $objDependecia->Dependencia_codigo($dependencia); //Almacena la secuencia de radicacion para esta dependencia $secRadicacion = "secr_tp" . $TipoRad . "_" . $objDependecia->getSecRadicTipDepe($dependencia, $TipoRad); // $this->conexion->conn->debug = true; $archivo = $this->arcFinal; $archivo = trim(substr($archivo, strpos($archivo, $this->carpetaBodega) + strlen($this->carpetaBodega), strlen($archivo) - strpos($archivo, $this->carpetaBodega) + strlen($this->carpetaBodega))); // INICIALIZA EL PDF $this->pdf = new Cezpdf("LETTER", "landscape"); $objHist = new Historico($this->conexion); $year = date("Y"); $day = date("d"); $month = date("m"); // orientaci�n izquierda $orientCentro = array("left" => 0); // justificaci�n centrada $justCentro = array("justification" => "center"); $estilo1 = array("justification" => "left", "leading" => 8); $estilo2 = array("left" => 0, "leading" => 12); $estilo3 = array("left" => 0, "leading" => 15); $this->pdf->ezSetCmMargins(1, 1, 3, 2); //top,botton,left,right /* Se establece la fuente que se utilizara para el texto. */ $this->pdf->selectFont($this->ruta_raiz . "/include/pdf/fonts/Times-Roman.afm"); $this->pdf->ezText("LISTADO DE RADICACION MASIVA\n", 15, $justCentro); $this->pdf->ezText("Dependencia: {$dependencia} \n", 12, $estilo2); $this->pdf->ezText("Usuario Responsable: {$usua_nomb} \n", 12, $estilo2); $this->pdf->ezText("Fecha: {$day}-{$month}-{$day} \n", 12, $estilo2); $this->pdf->ezText($txtformat, 12, $estilo2); $data = array(); $columna = array(); $contador = 0; require_once $this->ruta_raiz . "/class_control/class_control.php"; $this->btt = new CONTROL_ORFEO($this->conexion); echo "<table border=0 width 80% cellpadding='0' cellspacing='5' class='borde_tab' >"; echo "<tr><td class='titulos4'>Registro</td><td class='titulos4'>Radicado</td><td class='titulos4' >Nombre</td><td class='titulos4'>Direccion</td><td class='titulos4'>Depto</td><td class='titulos4'>Municipio</td><td class='titulos4'>Expediente</td></tr>"; //Referencia el archivo a abrir $ruta = $this->ruta_raiz . "/" . $this->carpetaBodega . "/masiva/" . $this->archivo_insumo; clearstatcache(); unlink($ruta); $fp = fopen($ruta, 'wb'); if ($fp) { fputs($fp, "plantilla={$this->arcPlantilla}" . "\n"); fputs($fp, "csv={$this->arcCSV}" . "\n"); fputs($fp, "archFinal={$this->arcFinal}" . "\n"); fputs($fp, "archTmp={$this->arcTmp}" . "\n"); // Comentariada por HLP. Cambiar , por ; fputs($fp, implode(",", $this->encabezado[0]) . ",*RAD_S*,*F_RAD_S*,*F_HOY*" . "\n"); //fputs ($fp,implode( ";", $this->encabezado[0]).";*RAD_S*;*F_RAD_S*"."\n"); //Recorre el arrego de los datos for ($ii = 0; $ii < count($this->datos); $ii++) { $i = 0; $numeroExpediente = ""; // Aqui se accede a la clase class_control para actualizar expedientes. $ruta_raiz = $this->ruta_raiz; // Por cada etiqueta de los campos del encabezado del CSV efect�a un reemplazo foreach ($this->encabezado[0] as $campos_d) { if (strlen(trim($this->datos[$ii][$i])) < 1) { $this->datos[$ii][$i] = ""; } $dato_r = str_replace("'", "''", trim($this->datos[$ii][$i])); $texto_tmp = str_replace($campos_d, $dato_r, $texto_tmp); if ($campos_d == "*TIPO*") { $tip_doc = $dato_r; } if ($campos_d == "*NOMBRE*") { $nombre = $dato_r; } if ($campos_d == "*DOCUMENTO*") { $doc_us1 = $dato_r; } if ($campos_d == "*NOMBRE*") { $nombre_us1 = $dato_r; } if ($campos_d == "*PRIM_APEL*") { $prim_apell_us1 = $dato_r; } if ($campos_d == "*SEG_APEL*") { $seg_apell_us1 = $dato_r; } if ($campos_d == "*DIGNATARIO*") { $otro_us1 = $dato_r; } if ($campos_d == "*CARGO*") { $cargo_us1 = $dato_r; } if ($campos_d == "*DIR*") { $direccion_us1 = $dato_r; } if ($campos_d == "*TELEFONO*") { $telefono_us1 = $dato_r; } if ($campos_d == "*MUNI*") { $muni_codi = $dato_r; } if ($campos_d == "*DEPTO*") { $dpto_codi = $dato_r; } if ($campos_d == "*ASUNTO*") { $asu = $dato_r; } if ($campos_d == "*ID*") { $sgd_esp_codigo = $dato_r; } if ($campos_d == "*DESC_ANEXOS*") { $desc_anexos = $dato_r; } if ($campos_d == "*MUNI_NOMBRE*") { $muni_nombre = $dato_r; } if ($campos_d == "*DEPTO_NOMBRE*") { $dpto_nombre = $dato_r; } if ($campos_d == "*PAIS_NOMBRE*") { $pais = $dato_r; } if ($campos_d == "*TIPO_DOC*") { $tdoc = trim($dato_r); } if ($campos_d == "*NUM_EXPEDIENTE*") { $numeroExpediente = trim($dato_r); } if ($campos_d == "*ESP_CODIGO*") { $codigoESP = $dato_r; if ($codigoESP == "") { $codigoESP = null; } } if ($campos_d == "*RAD_ANEXO*") { $radicadopadre = $dato_r; $tipoanexo = 0; if ($radicadopadre == "") { $radicadopadre = ""; $tipoanexo = ""; } } else { $radicadopadre = ""; } $tipo_anexo = "0"; $cuentai = ""; $documento_us3 = ""; $med = ""; $fec = ""; $ane = ""; //$pais="COLOMBIA"; $carp_codi = "12"; $i++; } $tip_rem = "1"; // Si no se especifico el tipo de documento if (!$tdoc) { $tdoc = 0; } // $this->validarLugar(); $pais_codi = $this->arrCodPais[$pais . $dpto_nombre . $muni_nombre]; if ($pais_codi == '') { $pais_codi = '170'; } $dpto_codi = $pais_codi . "-" . $this->arrCodDepto[$dpto_nombre]; $muni_codi = $dpto_codi . "-" . $this->arrCodMuni[$dpto_nombre . $muni_nombre]; $tmp_objMuni = new Municipio($this->conexion); //Creamos esto para traer el codigo del continente y transmitirlo $tmp_objMuni->municipio_codigo($dpto_codi, $muni_codi); //por las diferentes tablas. $cont_codi = $tmp_objMuni->get_cont_codi(); $muni_codi = $cont_codi . "-" . $muni_codi; //Se agregan las dos variables siguientes, para corregir el error que se estaba presentando en la radicación masiva $codigo_depto = $this->arrCodDepto[$dpto_nombre]; $codigo_muni = $this->arrCodMuni[$dpto_nombre . $muni_nombre]; //Fin Variables agregadas $muni_us1 = $muni_codi; $codep_us1 = $dpto_codi; $nombre_us = "{$nombre_us1} {$prim_apell_us1} {$seg_apell_us1}"; unset($tmp_objMuni); $documento_us3 = $codigoESP; if (!$documento_us3) { $documento_us3 = null; } //Si se trata de una combinacion de correspondencia definitiva if ($this->definitivo == "si") { // Segun el tipo de remitente se graba en la tabla respectiva. // 0 - ESP 1 - OTRA EMPRESA 2 - PERSONA NATURAL $nurad = $this->btt->radicar_salida_masiva($tipoanexo, $cuentai, $documento_us3, $med, $fec, $radicadopadre, $codusuario, $tip_doc, $ane, $pais, $asu, $dependencia, $tip_rem, $usua_doc, $this->tipoDocto, $muni_codi, $archivo, $usua_doc, $depe_codi_territorial, $secRadicacion, $numeroExpediente, $TipoRad); //include_once("$this->ruta_raiz/include/tx/Expediente.php"); //$this->objExp = new Expediente($this->conexion); if (strlen($numeroExpediente) >= 10) { $this->objExp = new Expediente($this->conexion); $resultadoExp = $this->objExp->insertar_expediente($numeroExpediente, $nurad, $dependencia, $codusuario, $usua_doc); $observa = "Por Rad. Masiva."; if ($this->codProceso) { $radicados[] = $nurad; $tipoTx = 50; $objFlujo = new Flujo($this->conexion, $this->codProceso, $usua_doc); $expEstadoActual = $objFlujo->actualNodoExpediente($numeroExpediente); $objFlujo->cambioNodoExpediente($numeroExpediente, $nurad, $this->codFlujo, $this->codArista, 1, $observa, $this->codProceso); } } $nombre_us1 = trim($nombre_us1); $direccion_us1 = trim($direccion_us1); if ($tip_doc == 2) { $codigo_us = $this->btt->grabar_usuario($doc_us1, $nombre_us1, $direccion_us1, $prim_apell_us1, $seg_apell_us1, $telefono_us1, $mail_us1, $muni_us1); $tipo_emp_us1 = 0; $documento_us1 = $codigo_us; } if ($tip_doc == 1) { $codigo_oem = $this->btt->grabar_oem($doc_us1, $nombre_us1, $direccion_us1, $prim_apell_us1, $seg_apell_us1, $telefono_us1, $mail_us1, $muni_us1); $tipo_emp_us1 = 2; $documento_us1 = $codigo_oem; } if ($tip_doc == 0) { $sgd_esp_codigo = $this->arregloEsp[$nombre_us1]; $tipo_emp_us1 = 1; $documento_us1 = $sgd_esp_codigo; } $documento_us2 = ""; $documento_us3 = ""; $mail_us1; $cc_documento_us1 = "documento"; $grbNombresUs1 = trim($nombre_us1) . " " . trim($prim_apel_us1) . " " . trim($seg_apel_us1); $conexion =& $this->conexion; include "{$ruta_raiz}/radicacion/grb_direcciones.php"; // En esta parte registra el envio en la tabla SGD_RENV_REGENVIO if (!$this->codigo_envio) { $isql = "select max(SGD_RENV_CODIGO) as MAX FROM SGD_RENV_REGENVIO"; $rs = $this->conexion->query($isql); if (!$rs->EOF) { $nextval = $rs->fields['MAX']; } $nextval++; $this->codigo_envio = $nextval; $this->radi_nume_grupo = $nurad; $radi_nume_grupo = $this->radi_nume_grupo; } else { $nextval = $this->codigo_envio; } $dep_radicado = substr($verrad_sal, 4, 3); $carp_codi = substr($dep_radicado, 0, 2); $dir_tipo = 1; $nombre_us = substr(trim($nombre_us), 0, 49); $direccion_us1 = substr(trim($direccion_us1), 0, 29); if (!$muni_nomb) { $muni_nomb = $muni_tmp1; } if (!$valor_unit) { $valor_unit = 0; } // $isql = "INSERT INTO SGD_RENV_REGENVIO (USUA_DOC, SGD_RENV_CODIGO, SGD_FENV_CODIGO, SGD_RENV_FECH,\n\t\t\t\t\t\tRADI_NUME_SAL, SGD_RENV_DESTINO, SGD_RENV_TELEFONO, SGD_RENV_MAIL, SGD_RENV_PESO, SGD_RENV_VALOR,\n\t\t\t\t\t\tSGD_RENV_CERTIFICADO, SGD_RENV_ESTADO, SGD_RENV_NOMBRE, SGD_DIR_CODIGO, DEPE_CODI, SGD_DIR_TIPO,\n\t\t\t\t\t\tRADI_NUME_GRUPO, SGD_RENV_PLANILLA, SGD_RENV_DIR, SGD_RENV_PAIS, SGD_RENV_DEPTO, SGD_RENV_MPIO,\n\t\t\t\t\t\tSGD_RENV_TIPO, SGD_RENV_OBSERVA,SGD_DEPE_GENERA)\n\t\t\t\t\t\tVALUES\n\t\t\t\t\t\t({$usua_doc}, {$nextval}, 101, " . $this->btt->sqlFechaHoy . ", {$nurad}, '{$muni_nomb}', '{$telefono_us1}', '{$mail}','',\n\t\t\t\t\t\t'{$valor_unit}', 0, 1, '{$nombre_us}', NULL, {$dependencia}, '{$dir_tipo}', " . $this->radi_nume_grupo . ", '00',\n\t\t\t\t\t\t'{$direccion_us1}', '{$pais}','{$dpto_nombre}', '{$muni_nombre}', 1, 'Masiva grupo " . $this->radi_nume_grupo . "',\n\t\t\t\t\t\t{$dependencia}) "; $rs = $this->conexion->conn->Execute($isql); if (!$rs) { $this->conexion->conn->RollbackTrans(); die("<span class='etextomenu'>No se ha podido insertar la información en SGD_RENV_REGENVIO."); } /* * Registro de la clasificacion TRD */ $isql = "INSERT INTO SGD_RDF_RETDOCF(USUA_DOC, SGD_MRD_CODIGO, SGD_RDF_FECH, RADI_NUME_RADI, DEPE_CODI, USUA_CODI)\n\t\t\t\t\t\tVALUES({$usua_doc}, {$codiTRD}," . $this->btt->sqlFechaHoy . ", {$nurad}, '{$dependencia}', {$codusuario} )"; $rs = $this->conexion->query($isql); if (!$rs) { $this->conexion->conn->RollbackTrans(); die("<span class='etextomenu'>No se ha podido insertar la informaci&ocute;n en SGD_RENV_REGENVIO"); } } else { $sec = $ii; $sec = str_pad($sec, 5, "X", STR_PAD_LEFT); $nurad = date("Y") . $dependencia . $sec . "1X"; } // Comentariada por HLP. Cambiar , por ; fputs($fp, implode(",", $this->datos[$ii]) . ",{$nurad}," . date("d/m/Y") . "," . str_ireplace(",", " ", $b->traducefecha(date("m/d/Y"))) . " \n"); //fputs ($fp,implode( ";", $this->datos[$ii]).";$nurad;".date("d/m/Y")."\n"); $contador = $ii + 1; echo "<tr><td class='listado2'>{$contador}</td><td class='listado2' >{$nurad}</td>\n\t\t \t <td class='listado2'>" . unhtmlspecialchars($nombre_us) . "</td><td class='listado2'>" . unhtmlspecialchars($direccion_us1) . "</td>\n\t\t \t<td class='listado2' >{$dpto_nombre}</td><td class='listado2'>{$muni_nombre}</td>\n\t\t \t<td class='listado2'>{$numeroExpediente}</td></tr>"; if (connection_status() != 0) { echo "<h1>Error de conexión</h1>"; $objError = new CombinaError(NO_DEFINIDO); echo $objError->getMessage(); die; } $nombPdf = iconv($odt->codificacion($nombre_us), 'ISO-8859-1', $nombre_us); $dirPdf = iconv($odt->codificacion($direccion_us1), 'ISO-8859-1', $direccion_us1); $dptoPdf = iconv($odt->codificacion($dpto_nombre), 'ISO-8859-1', $dpto_nombre); $muniPdf = iconv($odt->codificacion($muni_nombre), 'ISO-8859-1', $muni_nombre); $data = array_merge($data, array(array('#' => $contador, 'Radicado' => $nurad, 'Nombre' => $nombPdf, 'Direccion' => $dirPdf, 'Departamento' => $dptoPdf, 'Municipio' => $muniPdf))); $arrRadicados[] = $nurad; } fclose($fp); echo "</table>"; echo "<span class='info'>Número de registros {$contador}</span>"; $this->pdf->ezTable($data); $this->pdf->ezText("\n", 15, $justCentro); $this->pdf->ezText("Total Registros {$contador} \n", 15, $justCentro); $pdfcode = $this->pdf->ezOutput(); $fp = fopen($this->arcPDF, 'wb'); fwrite($fp, $pdfcode); fclose($fp); if ($this->definitivo == "si") { $objHist->insertarHistorico($arrRadicados, $dependencia, $codusuario, $dependencia, $codusuario, "Radicado insertado del grupo de masiva {$radi_nume_grupo}", 30); } $this->resulComb = $data; } else { exit("No se pudo crear el archivo {$this->archivo_insumo}"); } }
//Validacion c. $okc = true; reset($Vec_Trad); while ((list(, $tmp) = each($Vec_Trad)) && $okc) { $vlr_nxt = 0; $vlr_act = 0; $tmp1 = $tmp['ID']; //if ($record['DEPE_RAD_TP'.$tmp1] != $record_ori['depe_rad_tp'.$tmp1]) if ($_POST['slc_tr' . $tmp1]) { // Validaciones propias cuando se ha modificado la dependencia // para la secuencia de un tipo de radicado. switch ($db->driver) { case 'oci8': $ADODB_COUNTRECS = true; $sql_nxt = "select * from all_sequences where sequence_name = '" . 'SECR_TP' . $tmp1 . '_' . $_POST['slc_tr' . $tmp1] . "'"; $sql_act = "select * from all_sequences where sequence_name = '" . 'SECR_TP' . $tmp1 . '_' . $depObj->getSecRadicTipDepe($_POST['txtIdDep'], $tmp1) . "'"; $rs_nxt = $db->conn->Execute($sql_nxt); $rs_act = $db->conn->Execute($sql_act); $ADODB_COUNTRECS = false; if ($rs_nxt->RecordCount() > 0) { $vlr_nxt = $rs_nxt->fields['LAST_NUMBER'] + 1; } if ($rs_act->RecordCount() > 0) { $vlr_act = $rs_act->fields['LAST_NUMBER'] + 1; } $sql_rtp = "select * from radicado where " . $db->conn->substr . '(cast(radi_nume_radi as varchar(15)),-1)=' . $tmp1 . " and radi_depe_radi=" . $_POST['txtIdDep']; break; case 'mssql': break; } $ADODB_COUNTRECS = true;