function add_temp($folio, $turno, $proyecto, $area, $area_2, $estacion, $estacion_2, $linea, $linea_2, $defecto, $defecto_2, $causa, $causa_2, $codigo_scrap, $codigo_scrap_2, $parte, $cantidad, $batch_id, $serial_unidad, $ubicacion, $padre, $supervisor, $operador, $no_personal, $apd, $o_mantto, $docto_sap, $info_1, $info_2, $comentario, $accion_correctiva, $from, $archivo, $archivo_name) { $data_p = get_tipo($parte); $i = 0; if (count($data_p) > 0) { $partes[$i] = $padre; $i++; $partes[$i] = $parte; $i++; $partes[$i] = $data_p['tipo']; $i++; $partes[$i] = $data_p['subt']; $i++; $partes[$i] = $data_p['desc']; $i++; $partes[$i] = $cantidad; $i++; $partes[$i] = $data_p['costo']; $i++; $partes[$i] = $data_p['costo'] * $cantidad; $i++; $partes[$i] = $batch_id; $i++; $partes[$i] = $serial_unidad; $i++; $partes[$i] = $ubicacion; $s_1 = "insert into scrap_partes_tmp values ('',"; for ($i = 0; $i < count($partes); $i++) { $s_1 = $s_1 . "'" . $partes[$i] . "',"; } $s_1 = $s_1 . "'{$_SESSION['IDEMP']}')"; $r_1 = mysql_query($s_1); } }
function insert_csv($nombre_, $comentario, $accion_correctiva) { $s_ = "select * from configuracion where variable='ruta_capturas'"; $r_ = mysql_query($s_); $d_ = mysql_fetch_array($r_); $r_server = $d_['valor']; $fecha = date("Y-m-d"); $e = 0; $fd = fopen($r_server . "partes_UID" . $_SESSION["IDEMP"] . ".csv", "r"); while (!feof($fd)) { $buffer = fgets($fd); $campos = split(",", $buffer); $insertar = 0; if ($campos['0'] != '' && $campos['0'] != 'parte_padre') { $fecha = date("Y-m-d"); $anio = date("Y"); list($anio, $mes, $dia) = split("-", $fecha); $semana = date('W', mktime(0, 0, 0, $mes, $dia, $anio)); $folios[0] = $_SESSION['IDEMP']; $folios[1] = $_SESSION['NAME']; $folios[2] = $fecha; $folios[3] = $semana; $folios[4] = $anio; $folios[5] = trim($campos[9]); //Turno //Validar que la planta exista $s_1 = "Select id, nombre from plantas where nombre like '" . trim($campos[3]) . "' and activo='1'"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) > 0) { $d_1 = mysql_fetch_array($r_1); $folios[8] = $d_1['id']; //ID Planta $folios[9] = $d_1['nombre']; //Nombre Planta } else { $insertar++; $error[$e] .= "El nombre de la planta no existe: {$campos['9']}.<br>"; } //Validar que la división exista $s_1 = "Select id, nombre from divisiones where nombre like '" . trim($campos[4]) . "' and id_planta='{$folios['8']}' and activo='1'"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) > 0) { $d_1 = mysql_fetch_array($r_1); $folios[10] = $d_1['id']; //ID División $folios[11] = $d_1['nombre']; //Nombre División } else { $insertar++; $error[$e] .= "El nombre de la división no existe para la planta: {$campos['4']} ({$campos['9']}).<br>"; } //Validar que el segmento exista $s_1 = "Select id, nombre from segmentos where nombre like '" . trim($campos[5]) . "' and id_planta='{$folios['8']}' and id_division='{$folios['10']}' and activo='1'"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) > 0) { $d_1 = mysql_fetch_array($r_1); $folios[12] = $d_1['id']; //ID Segmento $folios[13] = $d_1['nombre']; //Nombre Segmento } else { $insertar++; $error[$e] .= "El nombre del segmento no existe para la división y planta: {$campos['5']} ({$campos['3']}, {$campos['4']}).<br>"; } //Validar que el profit center exista $s_1 = "Select id, nombre from profit_center where nombre like '" . trim($campos[6]) . "' and id_planta='{$folios['8']}' and id_division='{$folios['10']}' and "; $s_1 .= "id_segmento='{$folios['12']}' and activo='1'"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) > 0) { $d_1 = mysql_fetch_array($r_1); $folios[14] = $d_1['id']; //ID ceco $folios[15] = $d_1['nombre']; //Nombre ceco } else { $insertar++; $error[$e] .= "El nombre del profit center no existe para la planta, división y segmento: {$campos['6']} ({$campos['3']}, {$campos['4']}, {$campos['5']})<br>"; } //Validar que el proyecto exista y corresponda al código $s_1 = "Select proyectos.id, nombre from proyectos, codigo_scrap_proy where nombre like '" . trim($campos[7]) . "' and id_planta='{$folios['8']}' and "; $s_1 .= "id_division='{$folios['10']}' and id_segmento='{$folios['12']}' and id_pc='{$folios['14']}' and activo='1' and codigo_scrap_proy.codigo = '035-1' and "; $s_1 .= "codigo_scrap_proy.id_proy = proyectos.id"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) > 0) { $d_1 = mysql_fetch_array($r_1); $folios[6] = $d_1['id']; //ID proyecto $folios[7] = $d_1['nombre']; //Nombre proyecto } else { $insertar++; $error[$e] .= "El nombre del proyecto no existe para la planta, división, segmento y PC: {$campos['7']} ({$campos['3']}, {$campos['4']}, {$campos['5']}, {$campos['6']}).<br>"; } //Validar que el APD exista $apd = str_pad(trim($campos[12]), "3", "0", STR_PAD_LEFT); $s_1 = "Select id, nombre from apd where nombre like '{$apd}' and id_division='{$folios['10']}' and id_segmento='{$folios['12']}' and activo='1'"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) > 0) { $d_1 = mysql_fetch_array($r_1); $folios[16] = $d_1['id']; //ID APD $folios[17] = $d_1['nombre']; //APD } else { $insertar++; $error[$e] .= "El nombre del APD no existe para la división y segmento: {$apd} ({$campos['4']}, {$campos['5']}).<br>"; } //VALIDAR EL ÁREA, TECNOLOGÍA, DEFECTO, CAUSA A LA QUE VOY A ASIGNAR. SI DICE ALGO COMO "LINEA" ES SMD. if (substr(trim($campos[8]), 0, 5) == "Linea") { $folios[18] = "14"; //ID Área $folios[19] = "SMD"; //Área $folios[20] = "731"; //ID Tecnología $folios[21] = "SIPLACE"; //Tecnología $folios[24] = "12162"; //ID Defecto $folios[25] = "MERMA"; //Defecto } else { $folios[18] = "1"; //ID Área $folios[19] = "BACKEND/ENSAMBLE FINAL"; //Área $folios[20] = "554"; //ID Tecnología $folios[21] = "PRUEBA FINAL"; //Tecnología $folios[24] = "11364"; //ID Defecto $folios[25] = "MERMA"; //Defecto } //Validar que la línea exista en la tabla de líneas $s_1 = "Select id, nombre from lineas where nombre like '" . trim($campos[8]) . "' and id_area='{$folios['18']}' and id_estacion='{$folios['20']}' and activo='1'"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) > 0) { $d_1 = mysql_fetch_array($r_1); //Validar que la línea esté ligada al proyecto (lineas_proy) $s_2 = "select * from lineas_proy where id_linea='{$d_1['id']}' and id_proyecto='" . trim($folios[6]) . "'"; $r_2 = mysql_query($s_2); if (mysql_num_rows($r_2) > 0) { $folios[22] = $d_1['id']; //ID Línea $folios[23] = $d_1['nombre']; //Línea } else { $insertar++; $error[$e] .= "La línea no está ligada al proyecto: {$campos['8']} ({$campos['7']}).<br>"; } } else { $insertar++; $error[$e] .= "El nombre de la línea no existe para el área y estación: {$campos['8']} ({$folios['19']}, {$folios['21']}).<br>"; } $folios[26] = "3"; //ID Causa $folios[27] = "MAQUINA"; //Causa $folios[28] = "035-1"; //Código Scrap $folios[29] = "0"; //Financiero $folios[30] = "1351"; //Reason Code $folios[31] = "0"; //Orden Interna $folios[32] = "ZSCR"; //TXS SAP $folios[33] = "551"; //Mov. SAP //Validar que el supervisor exista $s_1 = "Select id, nombre, apellidos from empleados where usuario like '" . trim($campos[10]) . "' and activo='1'"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) > 0) { $d_1 = mysql_fetch_array($r_1); $folios[34] = $d_1['id']; //ID Supervisor $folios[35] = $d_1['nombre'] . " " . $d_1['apellidos']; //Supervisor } else { $insertar++; $error[$e] .= "El nombre del supervisor no existe: {$campos['10']}.<br>"; } $folios[36] = $campos[11]; //Operador $folios[37] = "0"; //No.Personal $folios[38] = "NA"; //Info_1 $folios[39] = "NA"; //Info_2 $folios[40] = "0"; //O.Mantto. $folios[41] = ''; //Archivo $comentario = str_replace("/", "", $comentario); $folios[42] = htmlentities($comentario, ENT_QUOTES, "UTF-8"); //Comentario $accion_correctiva = str_replace("/", "", $accion_correctiva); $folios[43] = htmlentities($accion_correctiva, ENT_QUOTES, "UTF-8"); //Acción Correctiva $folios[44] = ''; //Vendor $folios[45] = ''; //Vendor nombre //Validar que el número de parte exista $tipos = get_tipo(trim($campos[1])); //Obtener los tipos $partes['num_p'] = trim(strtoupper($campos[1])); //Número de parte $partes['tipo'] = $tipos['tipo']; //Tipo //Sólo se permite captura de material de ROH if ($partes['tipo'] != "ROH") { $insertar++; $error[$e] .= "Sólo se permite capturar material tipo ROH: {$campos['1']} - {$partes['tipo']}.<br>"; } $partes['subt'] = $tipos['subt']; //Subtipo $partes['desc'] = $tipos['desc']; //Descripción $partes['cost'] = $tipos['costo']; //Costo $partes['cant'] = trim($campos['2']); //Cantidad $partes['total'] = $tipos['costo'] * $partes['cant']; //Total $s_1 = "Select * from numeros_parte where nombre = '" . trim($campos[1]) . "' and activo='1'"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) <= 0) { $insertar++; $error[$e] .= "El número de parte no existe: {$campos['1']}.<br>"; } $partes['papa'] = trim(strtoupper($campos[0])); //Parte Padre del archivo $s_1 = "select * from partes_padre where material='{$partes['num_p']}' and activo!='2' and apd like '{$folios['17']}'"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) <= 0) { $insertar++; $error[$e] .= "El número de parte ({$partes['num_p']}) no existe para el APD ({$folios['17']}) seleccionado.<br>"; } //Inserto la información en la boleta de folios $s_1 = "insert into scrap_folios_tmp values ('',"; for ($i = 0; $i < count($folios); $i++) { $s_1 = $s_1 . "'" . $folios[$i] . "',"; } $s_1 = substr($s_1, 0, -1) . ")"; $r_1 = mysql_query($s_1); //Inserto la información en la tabla de números de parte $query = "INSERT into scrap_partes_35 values('', '{$partes['papa']}', '{$partes['num_p']}', '{$partes['tipo']}', '{$partes['subt']}', "; $query .= "'{$partes['desc']}', '{$partes['cant']}', '{$partes['cost']}', '{$partes['total']}', 'NA', 'NA', 'NA', '{$folios['6']}', "; $query .= "'{$folios['22']}', '{$folios['5']}', '{$folios['34']}', '{$folios['36']}', '{$folios['16']}', '{$_SESSION['IDEMP']}','{$error[$e]}')"; $result = mysql_query($query); /*} else { echo "<div align='center' class='rojo'>$error</div>"; fclose ($fd); unlink($r_server."partes_UID".$_SESSION["IDEMP"].".csv"); exit; } */ $e++; } } fclose($fd); unlink($r_server . "partes_UID" . $_SESSION["IDEMP"] . ".csv"); listado_temporal(); }
function add_temp($turno, $proyecto, $area, $area_2, $estacion, $estacion_2, $linea, $linea_2, $defecto, $defecto_2, $causa, $causa_2, $codigo_scrap, $codigo_scrap_2, $parte, $cantidad, $batch_id, $serial_unidad, $ubicacion, $padre, $supervisor, $operador, $no_personal, $apd, $o_mantto, $docto_sap, $info_1, $info_2, $comentario, $accion_correctiva, $archivo, $archivo_name) { //VALIDAR QUE EL NÚMERO DE PARTE EXISTA SI NO ES FERT O KMAT $apd_nom = get_dato("nombre", $apd, "apd"); $data_p = get_tipo($parte); $i = 0; $no_existe = 0; if ($data_p['tipo'] == 'HALB' && $parte == $padre) { $validar = 'no'; } else { $validar = 'si'; } if ($data_p['tipo'] != 'FERT' && $data_p['tipo'] != 'KMAT' && $apd_nom != 'WHSE' && $apd_nom != 'WHS2' && $nom != 'AEES' && $validar == 'si') { $s_ = "select padre from vw_padre_" . $_SESSION["IDEMP"] . " where material='{$parte}' and type='{$data_p['tipo']}'"; $r_ = mysql_query($s_); if (mysql_num_rows($r_) <= 0) { echo "<script>alert('El número de parte no existe para el APD seleccionado.');</script>"; $no_existe = 1; } } else { $no_existe = 0; } if (count($data_p) > 0 && $no_existe == 0) { $partes[$i] = $padre; $i++; $partes[$i] = $parte; $i++; $partes[$i] = $data_p['tipo']; $i++; $partes[$i] = $data_p['subt']; $i++; $partes[$i] = $data_p['desc']; $i++; $partes[$i] = $cantidad; $i++; $partes[$i] = $data_p['costo']; $i++; $partes[$i] = $data_p['costo'] * $cantidad; $i++; $partes[$i] = $batch_id; $i++; $partes[$i] = trim(rtrim($serial_unidad, ",")); $i++; $partes[$i] = $ubicacion; $s_1 = "insert into scrap_partes_tmp values ('',"; for ($i = 0; $i < count($partes); $i++) { $s_1 = $s_1 . "'" . $partes[$i] . "',"; } $s_1 = $s_1 . "'{$_SESSION['IDEMP']}')"; $r_1 = mysql_query($s_1); } }
function insert_csv($apd, $proyecto) { $s_ = "select * from configuracion where variable='ruta_capturas'"; $r_ = mysql_query($s_); $d_ = mysql_fetch_array($r_); $r_server = $d_['valor']; $fecha = date("Y-m-d"); $fd = fopen($r_server . "partes_UID" . $_SESSION["IDEMP"] . ".csv", "r"); $insertar = 0; $apd_nom = get_dato("nombre", $apd, "apd"); $s_1 = "CREATE OR REPLACE VIEW vw_padre_" . $_SESSION["IDEMP"] . " AS SELECT * from partes_padre where activo!='2' and apd='{$apd_nom}'"; $r_1 = mysql_query($s_1); while (!feof($fd)) { $buffer = fgets($fd); $campos = split(",", $buffer); $error = ''; if ($campos['0'] != '' && $campos['0'] != 'no_parte') { //Validar que el número de parte exista $s_1 = "Select * from numeros_parte where nombre = '" . trim($campos[0]) . "' and activo='1'"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) > 0) { $tipos = get_tipo(trim($campos[0])); //Obtener los tipos $field['num_p'] = trim(strtoupper($campos[0])); //Número de parte $field['tipo'] = $tipos['tipo']; //Tipo $field['subt'] = $tipos['subt']; //Subtipo $field['desc'] = $tipos['desc']; //Descripción $field['cost'] = $tipos['costo']; //Costo $field['cant'] = trim($campos['1']); //Cantidad $field['total'] = $tipos['costo'] * $field['cant']; //Total $field['batch'] = trim($campos['2']); //Batch ID $field['serie'] = trim(rtrim($campos['3'], ",")); //No.Serie $field['ubic'] = trim($campos['4']); //Ubicación } else { $insertar++; $error .= "El número de parte no existe: {$campos['0']}"; } //Validar que el número de parte padre corresponda $field['papa'] = trim(strtoupper($campos[5])); //Parte Padre if ($field['tipo'] != "FERT" || $field['tipo'] != "KMAT" && $nom != 'WHSE' && $nom != 'WHS2') { $s_2 = "select * from vw_padre_" . $_SESSION["IDEMP"] . " where material='{$field['num_p']}' and type='{$field['tipo']}' "; $s_2 .= "and padre='{$field['papa']}'"; $r_2 = mysql_query($s_2); $i = 0; if (mysql_num_rows($r_2) <= 0) { $insertar++; $error .= "El número de parte padre no corresponde: {$field['papa']} - {$field['num_p']}"; } } else { if ($field['papa'] != $field['num_p']) { $insertar++; $error .= "El número de parte padre no corresponde: {$field['papa']} - {$field['num_p']}"; } } if ($insertar <= 0) { $query = "INSERT into scrap_partes_tmp values('', '{$field['papa']}', '{$field['num_p']}', '{$field['tipo']}', '{$field['subt']}', "; $query .= "'{$field['desc']}', '{$field['cant']}', '{$field['cost']}', '{$field['total']}', '{$field['batch']}', '{$field['serie']}', "; $query .= "'{$field['ubic']}','{$_SESSION['IDEMP']}')"; mysql_query($query); $ins++; } else { echo "<script>alert('{$error}. No se puede continuar con la carga.');</script>"; fclose($fd); unlink($r_server . $alias); exit; } $insertar = 0; } } fclose($fd); unlink($r_server . "partes_UID" . $_SESSION["IDEMP"] . ".csv"); }
function insert_csv($nombre_, $comentario, $accion_correctiva) { $s_ = "select * from configuracion where variable='ruta_capturas'"; $r_ = mysql_query($s_); $d_ = mysql_fetch_array($r_); $r_server = $d_['valor']; $fecha = date("Y-m-d"); $e = 0; $fd = fopen($r_server . "partes_UID" . $_SESSION["IDEMP"] . ".csv", "r"); while (!feof($fd)) { $buffer = fgets($fd); $campos = split(",", $buffer); $insertar = 0; if ($campos['0'] != '' && $campos['0'] != 'Turno') { $fecha = date("Y-m-d"); $anio = date("Y"); $i = 0; list($anio, $mes, $dia) = split("-", $fecha); $semana = date('W', mktime(0, 0, 0, $mes, $dia, $anio)); $folios[0] = $_SESSION['IDEMP']; $folios[1] = $_SESSION['NAME']; $folios[2] = $fecha; $folios[3] = $semana; $folios[4] = $anio; $folios[5] = trim($campos[0]); //Turno //Validar que la planta exista $s_1 = "Select id, nombre from plantas where nombre like '" . trim(utf8_encode($campos[1])) . "' and activo='1'"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) > 0) { $d_1 = mysql_fetch_array($r_1); $folios[8] = $d_1['id']; //ID Planta $folios[9] = $d_1['nombre']; //Nombre Planta } else { $insertar++; $error[$e] .= "El nombre de la planta no existe: {$campos['1']}.<br>"; } //Validar que la división exista $s_1 = "Select id, nombre from divisiones where nombre like '" . trim(utf8_encode($campos[2])) . "' and id_planta='{$folios['8']}' and activo='1'"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) > 0) { $d_1 = mysql_fetch_array($r_1); $folios[10] = $d_1['id']; //ID División $folios[11] = $d_1['nombre']; //Nombre División } else { $insertar++; $error[$e] .= "El nombre de la división no existe para la planta: {$campos['2']} ({$campos['1']}).<br>"; } //Validar que el segmento exista $s_1 = "Select id, nombre from segmentos where nombre like '" . trim(utf8_encode($campos[3])) . "' and id_planta='{$folios['8']}' and id_division='{$folios['10']}' and activo='1'"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) > 0) { $d_1 = mysql_fetch_array($r_1); $folios[12] = $d_1['id']; //ID Segmento $folios[13] = $d_1['nombre']; //Nombre Segmento } else { $insertar++; $error[$e] .= "El nombre del segmento no existe para la división y planta: {$campos['3']} ({$campos['1']}, {$campos['2']}).<br>"; } //Validar que el profit center exista $s_1 = "Select id, nombre from profit_center where nombre like '" . trim(utf8_encode($campos[4])) . "' and id_planta='{$folios['8']}' and id_division='{$folios['10']}' and "; $s_1 .= "id_segmento='{$folios['12']}' and activo='1'"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) > 0) { $d_1 = mysql_fetch_array($r_1); $folios[14] = $d_1['id']; //ID ceco $folios[15] = $d_1['nombre']; //Nombre ceco } else { $insertar++; $error[$e] .= "El nombre del profit center no existe para la planta, división y segmento: {$campos['4']} ({$campos['1']}, {$campos['2']}, {$campos['3']}).<br>"; } //Validar que el proyecto exista $s_1 = "Select id, nombre from proyectos where nombre like '" . trim(utf8_encode($campos[5])) . "' and id_planta='{$folios['8']}' and id_division='{$folios['10']}' and "; $s_1 .= "id_segmento='{$folios['12']}' and id_pc='{$folios['14']}' and activo='1'"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) > 0) { $d_1 = mysql_fetch_array($r_1); $folios[6] = $d_1['id']; //ID proyecto $folios[7] = $d_1['nombre']; //Nombre proyecto } else { $insertar++; $error[$e] .= "El nombre del proyecto no existe para la planta, división, segmento y PC: {$campos['5']} ({$campos['1']}, {$campos['2']}, {$campos['3']}, {$campos['4']}).<br>"; } //Validar que el APD exista $apd = str_pad(trim($campos[6]), "3", "0", STR_PAD_LEFT); $s_1 = "Select id, nombre from apd where nombre like '{$apd}' and id_division='{$folios['10']}' and id_segmento='{$folios['12']}' and activo='1'"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) > 0) { $d_1 = mysql_fetch_array($r_1); $folios[16] = $d_1['id']; //ID APD $folios[17] = $d_1['nombre']; //APD } else { $insertar++; $error[$e] .= "El nombre del APD no existe para la división y segmento: {$apd} ({$campos['2']}, {$campos['3']}).<br>"; } //Validar que el área exista $s_1 = "Select id, nombre from areas where nombre like '" . trim(utf8_encode($campos[7])) . "' and activo='1'"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) > 0) { $d_1 = mysql_fetch_array($r_1); $folios[18] = $d_1['id']; //ID Área $folios[19] = $d_1['nombre']; //Área } else { $insertar++; $error[$e] .= "El nombre del área no existe: {$campos['7']}.<br>"; } //Validar que la tecnología exista $s_1 = "Select id, nombre from estaciones where nombre like '" . trim(utf8_encode($campos[8])) . "' and id_area like '{$folios['18']}' and activo='1'"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) > 0) { $d_1 = mysql_fetch_array($r_1); $folios[20] = $d_1['id']; //ID Tecnología $folios[21] = $d_1['nombre']; //Tecnología } else { $insertar++; $error[$e] .= "El nombre de la tecnología no existe para el área: {$campos['8']} ({$campos['7']}).<br>"; } //Validar que la línea exista $s_1 = "Select id, nombre from lineas where nombre like '" . trim(utf8_encode($campos[9])) . "' and id_area like '{$folios['18']}' and id_estacion like "; $s_1 .= "'{$folios['20']}' and activo='1'"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) > 0) { $d_1 = mysql_fetch_array($r_1); $folios[22] = $d_1['id']; //ID Línea $folios[23] = $d_1['nombre']; //Línea } else { $insertar++; $error[$e] .= "El nombre de la línea no existe para el área y estación: {$campos['9']} ({$campos['7']}, {$campos['8']}).<br>"; } //Validar que el defecto exista $s_1 = "Select id, nombre from defectos where nombre like '" . trim(utf8_encode($campos[10])) . "' and id_area like '{$folios['18']}' and id_estacion like '{$folios['20']}' and activo='1'"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) > 0) { $d_1 = mysql_fetch_array($r_1); $folios[24] = $d_1['id']; //ID Defecto $folios[25] = $d_1['nombre']; //Defecto } else { $insertar++; $error[$e] .= "El nombre del defecto no existe para el área y estación: {$campos['10']} ({$campos['7']}, {$campos['8']}).<br>"; } //Validar que la causa exista $s_1 = "Select id, nombre from causas where nombre like '" . trim(utf8_encode($campos[11])) . "' and activo='1'"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) > 0) { $d_1 = mysql_fetch_array($r_1); $folios[26] = $d_1['id']; //ID Causa $folios[27] = $d_1['nombre']; //Causa } else { $insertar++; $error[$e] .= "El nombre de la causa no existe: {$campos['11']}.<br>"; } //Validar que el código de scrap exista $s_1 = "Select * from codigo_scrap where codigo like '" . trim(utf8_encode($campos[12])) . "' and activo='1'"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) > 0) { $d_1 = mysql_fetch_array($r_1); $folios[28] = $d_1['codigo']; //Coódigo SCRAP $folios[29] = $d_1['financiero']; //Financiero $folios[30] = $d_1['reason_code']; //Reason Code //Si aplica la orden OI Especial o se toma de códigos de scrap $s_oi = "select orden_interna from oi_especial where (id_division='{$folios['10']}' or id_division='na') and (id_segmento='{$folios['12']}' or "; $s_oi .= "id_segmento='na') and (id_pc='{$folios['14']}' or id_pc='na') and (id_proyecto='{$folios['6']}' or id_proyecto='todos') and "; $s_oi .= "codigo_scrap='{$folios['28']}' and activo='1'"; $r_oi = mysql_query($s_oi); if (mysql_num_rows($r_oi) > 0) { $d_oi = mysql_fetch_array($r_oi); $folios[31] = $d_oi['orden_interna']; } else { $folios[31] = $d_1['orden_interna']; } //Orden Interna $folios[32] = $d_1['txs_sap']; //TXS SAP $folios[33] = $d_1['mov_sap']; //Mov. SAP } else { $insertar++; $error[$e] .= "El nombre del código de scrap no existe: {$campos['12']}.<br>"; } //Validar que el supervisor exista $s_1 = "Select id, nombre, apellidos from empleados where usuario like '" . trim(utf8_encode($campos[17])) . "' and activo='1'"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) > 0) { $d_1 = mysql_fetch_array($r_1); $folios[34] = $d_1['id']; //ID Supervisor $folios[35] = $d_1['nombre'] . " " . $d_1['apellidos']; //Supervisor } else { $insertar++; $error[$e] .= "El nombre del supervisor no existe: {$campos['17']}.<br>"; } $folios[36] = trim($campos[18]); //Operador $folios[37] = trim($campos[19]); //No.Personal $folios[38] = "NA"; //Info_1 $folios[39] = "NA"; //Info_2 $folios[40] = "0"; //O.Mantto. $folios[41] = ''; //Archivo $comentario = str_replace("/", "", $comentario); $folios[42] = htmlentities($comentario, ENT_QUOTES, "UTF-8"); //Comentario $accion_correctiva = str_replace("/", "", $accion_correctiva); $folios[43] = htmlentities($accion_correctiva, ENT_QUOTES, "UTF-8"); //Acción Correctiva $folios[44] = ''; //Vendor $folios[45] = ''; //Vendor nombre //Validar que el número de parte exista $tipos = get_tipo(trim($campos[14])); //Obtener los tipos if ($folios[28] == '035-1' && $tipos['tipo'] != 'ROH' && $tipos['tipo'] != '') { $error[$e] .= "No puede insertar FERT/HALB a código 035-1.<br>"; } $partes['num_p'] = trim(strtoupper($campos[14])); //Número de parte $partes['tipo'] = $tipos['tipo']; //Tipo $partes['subt'] = $tipos['subt']; //Subtipo $partes['desc'] = $tipos['desc']; //Descripción $partes['cost'] = $tipos['costo']; //Costo $partes['cant'] = trim($campos['15']); //Cantidad $partes['total'] = $tipos['costo'] * $partes['cant']; //Total $partes['serial'] = trim($campos['16']); //Seriales $partes['ubic'] = trim($campos['20']); //Ubicación $s_1 = "Select * from numeros_parte where nombre = '" . trim(utf8_encode($campos[14])) . "' and activo='1'"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) <= 0) { $insertar++; $error[$e] .= "El número de parte no existe: {$campos['14']}.<br>"; } $partes['papa'] = trim(strtoupper($campos[13])); //Parte Padre del archivo $s_1 = "select * from partes_padre where material='{$partes['num_p']}' and activo!='2' and apd like '{$folios['17']}'"; $r_1 = mysql_query($s_1); if (mysql_num_rows($r_1) <= 0) { $insertar++; $error[$e] .= "El número de parte ({$partes['num_p']}) no existe para el APD ({$folios['17']}) seleccionado.<br>"; } //Inserto la información en la boleta de folios temporal $s_1 = "insert into scrap_folios_tmp values ('',"; for ($i = 0; $i < count($folios); $i++) { $s_1 = $s_1 . "'" . $folios[$i] . "',"; } $s_1 = substr($s_1, 0, -1) . ")"; $r_1 = mysql_query($s_1); //Inserto la información en la tabla de números de parte $query = "INSERT into scrap_partes_35 values('', '{$partes['papa']}', '{$partes['num_p']}', '{$partes['tipo']}', '{$partes['subt']}', "; $query .= "'{$partes['desc']}', '{$partes['cant']}', '{$partes['cost']}', '{$partes['total']}', 'NA', '{$partes['serial']}', '{$partes['ubic']}', '{$folios['6']}', "; $query .= "'{$folios['22']}', '{$folios['5']}', '{$folios['34']}', '{$folios['36']}', '{$folios['16']}', '{$_SESSION['IDEMP']}','{$error[$e]}')"; $result = mysql_query($query); /*} else { echo "<div align='center' class='rojo'>$error</div>"; fclose ($fd); unlink($r_server."partes_UID".$_SESSION["IDEMP"].".csv"); exit; } */ $e++; } } fclose($fd); unlink($r_server . "partes_UID" . $_SESSION["IDEMP"] . ".csv"); listado_temporal(); }
function guardar($turno, $proyecto, $area, $area_2, $estacion, $estacion_2, $linea, $linea_2, $defecto, $defecto_2, $causa, $causa_2, $codigo_scrap, $vendor, $v_nombre, $codigo_scrap_2, $parte, $cantidad, $padre, $batch_id, $supervisor, $operador, $no_personal, $apd, $serial_unidad, $o_mantto, $docto_sap, $info_1, $info_2, $ubicacion, $comentario, $accion_correctiva, $archivo, $archivo_name, $porque1, $porque2, $porque3, $porque4, $porque5) { $error = 0; $fecha = date("Y-m-d"); $hora = date("H:i:s"); $timer = date("YmdHis"); $anio = date("Y"); list($anio, $mes, $dia) = split("-", $fecha); $semana = date('W', mktime(0, 0, 0, $mes, $dia, $anio)); $folio = get_folio(); $i = 0; aumenta_folio(); //Validar que el folio no esté duplicado $s_ = "select * from scrap_folios where no_folio='{$folio}'"; $r_ = mysql_query($s_); if (mysql_num_rows($r_) > 0) { $movimiento = "El folio esta duplicado."; $error++; } if ($archivo != '') { $s_ = "select * from configuracion where variable='ruta_evidencias'"; $r_ = mysql_query($s_); $d_ = mysql_fetch_array($r_); $r_server = $d_['valor']; $pext = getFileExtension($archivo_name); $nombre = "evidencia_" . $folio . "." . $pext; $nom_final = $r_server . $nombre; if (is_uploaded_file($archivo)) { if (!copy($archivo, "{$nom_final}")) { echo "<script>alert('Error al subir el archivo de evidencias: {$nom_final}');</script>"; } } } $folios[$i] = $_SESSION['IDEMP']; $i++; $folios[$i] = $_SESSION['NAME']; $i++; $folios[$i] = $folio; $i++; $folios[$i] = $fecha; $i++; $folios[$i] = $timer; $i++; $folios[$i] = $semana; $i++; $folios[$i] = $anio; $i++; $folios[$i] = $turno; $i++; $d_pr = get_datos_proyecto($proyecto); $folios[$i] = $d_pr['id_pr']; $i++; //ID Proyecto $folios[$i] = $d_pr['nom_pr']; $i++; //Nombre Proyecto $folios[$i] = $d_pr['id_p']; $i++; //ID Planta $folios[$i] = $d_pr['nom_p']; $i++; //Nombre Planta $folios[$i] = $d_pr['id_d']; $i++; //ID División $folios[$i] = $d_pr['nom_d']; $i++; //Nombre División $folios[$i] = $d_pr['id_s']; $i++; //ID Segmento $folios[$i] = $d_pr['nom_s']; $i++; //Nombre Segmento $folios[$i] = $d_pr['id_pc']; $i++; //ID ceco $folios[$i] = $d_pr['nom_pc']; $i++; //Nombre ceco $folios[$i] = $apd; $i++; $folios[$i] = get_dato("nombre", $apd, "apd"); $i++; $folios[$i] = $area; $i++; $folios[$i] = get_dato("nombre", $area, "areas"); $i++; $folios[$i] = $estacion; $i++; $folios[$i] = get_dato("nombre", $estacion, "estaciones"); $i++; $folios[$i] = $linea; $i++; $folios[$i] = get_dato("nombre", $linea, "lineas"); $i++; $folios[$i] = $defecto; $i++; $folios[$i] = get_dato("nombre", $defecto, "defectos"); $i++; $folios[$i] = $causa; $i++; $folios[$i] = get_dato("nombre", $causa, "causas"); $i++; $folios[$i] = $codigo_scrap; $i++; $cod_scr = data_cod_scrap($d_pr['nom_pc'], $codigo_scrap); $folios[$i] = $cod_scr['fin']; $i++; $folios[$i] = $cod_scr['rc']; $i++; //Si aplica la orden OI Especial o se toma de códigos de scrap $s_oi = "select orden_interna from oi_especial where (id_division='{$d_pr['id_d']}' or id_division='na') and (id_segmento='{$d_pr['id_s']}' or "; $s_oi .= "id_segmento='na') and (id_pc='{$d_pr['id_pc']}' or id_pc='na') and (id_proyecto='{$d_pr['id_pr']}' or id_proyecto='todos') and "; $s_oi .= "codigo_scrap='{$codigo_scrap}' and activo='1'"; $r_oi = mysql_query($s_oi); if (mysql_num_rows($r_oi) > 0) { $d_oi = mysql_fetch_array($r_oi); $folios[$i] = $d_oi['orden_interna']; } else { $folios[$i] = $cod_scr['oi']; } $i++; $folios[$i] = $cod_scr['txs']; $i++; $folios[$i] = $cod_scr['mov']; $i++; //Obtener el ID del supervisor $s_s = "select empleados.id, empleados.nombre, empleados.apellidos from empleados where activo='1' and trim(concat(apellidos,' ',nombre)) like '{$supervisor}%' "; $s_s .= "group by id order by apellidos, nombre"; $r_s = mysql_query($s_s); $d_s = mysql_fetch_array($r_s); $folios[$i] = $d_s['id']; $i++; $folios[$i] = $supervisor; $i++; $operador = str_replace("/", "", $operador); $folios[$i] = htmlentities($operador, ENT_QUOTES, "UTF-8"); $i++; $folios[$i] = $no_personal; $i++; if ($info_1 == '') { $info_1 = 'NA'; } $folios[$i] = $info_1; $i++; $folios[$i] = $info_2; $i++; $folios[$i] = $o_mantto; $i++; $folios[$i] = $nombre; $i++; $comentario = str_replace("/", "", $comentario); $folios[$i] = htmlentities($comentario, ENT_QUOTES, "UTF-8"); $i++; $accion_correctiva = str_replace("/", "", $accion_correctiva); $folios[$i] = htmlentities($accion_correctiva, ENT_QUOTES, "UTF-8"); $i++; $folios[$i] = $vendor; $i++; $folios[$i] = $v_nombre; $i++; $s_1 = "insert into scrap_folios values ('',"; for ($i = 0; $i < count($folios); $i++) { $s_1 = $s_1 . "'" . $folios[$i] . "',"; } $s_1 = $s_1 . "0,0,1,0)"; $r_1 = mysql_query($s_1); $i = 0; /*LOG SISTEMA*/ log_sistema("scrap_folios", "nuevo", $folio, $s_1); //Si es un código scrap que tiene financiero en 1 if ($cod_scr['fin'] == '1') { $cod_id_area = $area_2; $cod_nom_area = get_dato("nombre", $area_2, "areas"); $cod_id_est = $estacion_2; $cod_nom_est = get_dato("nombre", $estacion_2, "estaciones"); $cod_id_linea = $linea_2; $cod_nom_linea = get_dato("nombre", $linea_2, "lineas"); $cod_id_def = $defecto_2; $cod_nom_def = get_dato("nombre", $defecto_2, "defectos"); $cod_id_cau = $causa_2; $cod_nom_cau = get_dato("nombre", $causa_2, "causas"); $s_1 = "insert into scrap_codigos values('', '{$folio}', '{$cod_id_area}', '{$cod_nom_area}', '{$cod_id_est}', '{$cod_nom_est}', "; $s_1 .= "'{$cod_id_linea}', '{$cod_nom_linea}', '{$cod_id_def}', '{$cod_nom_def}', '{$cod_id_cau}', '{$cod_nom_cau}', '{$codigo_scrap_2}')"; $r_1 = mysql_query($s_1); /*LOG SISTEMA*/ log_sistema("scrap_codigos", "nuevo", $folio, $s_1); } $partes[$i] = $folio; $i++; $data_p = get_tipo($parte); $partes[$i] = $padre; $i++; $partes[$i] = $parte; $i++; $partes[$i] = $data_p['tipo']; $i++; $partes[$i] = $data_p['subt']; $i++; $partes[$i] = $data_p['desc']; $i++; $partes[$i] = $cantidad; $i++; $partes[$i] = $data_p['costo']; $i++; $partes[$i] = $data_p['costo'] * $cantidad; $i++; $partes[$i] = $batch_id; $i++; $partes[$i] = trim(rtrim($serial_unidad, ",")); $i++; $partes[$i] = strtoupper($ubicacion); $total = 0; $s_1 = "insert into scrap_partes values ('',"; for ($i = 0; $i < count($partes); $i++) { $s_1 = $s_1 . "'" . $partes[$i] . "',"; if ($i == 8) { $total = $total + $partes[8]; } } $s_1 = substr($s_1, 0, -1) . ",'0','0','0','')"; $r_1 = mysql_query($s_1); $i = 0; /*LOG SISTEMA*/ log_sistema("scrap_partes", "nuevo", $folio, $s_1); //Si es merma (cod = 035-1) entoncés reviso si es un usuario que sólo requiere la autorización de inventarios if ($codigo_scrap == '035-1') { if (capt_merma($_SESSION['IDEMP']) == "SI") { $s_3 = "select * from autorizaciones where no_folio='{$folio}' and depto='inv'"; $r_3 = mysql_query($s_3); if (mysql_num_rows($r_3) <= 0) { $s_2 = "insert into autorizaciones values('', '{$folio}', 'inv', '%', '', '0', '')"; $r_2 = mysql_query($s_2); /*LOG SISTEMA*/ log_sistema("autorizaciones", "nuevo", $folio, $s_2); } } else { autorizaciones($folio, $d_pr['id_p'], $codigo_scrap, $d_pr['id_pr'], $total); } } else { autorizaciones($folio, $d_pr['id_p'], $codigo_scrap, $d_pr['id_pr'], $total); } $ruta = "&turno={$turno}&proyecto={$proyecto}&area={$area}&estacion={$estacion}&linea={$linea}&supervisor={$supervisor}&operador={$operador}"; $ruta .= "&no_personal={$no_personal}&apd={$apd}"; //Inserto el registro de los 5 porqués $porque1 = htmlentities(str_replace("/", "", $porque1), ENT_QUOTES, "UTF-8"); $porque2 = htmlentities(str_replace("/", "", $porque2), ENT_QUOTES, "UTF-8"); $porque3 = htmlentities(str_replace("/", "", $porque3), ENT_QUOTES, "UTF-8"); $porque4 = htmlentities(str_replace("/", "", $porque4), ENT_QUOTES, "UTF-8"); $porque5 = htmlentities(str_replace("/", "", $porque5), ENT_QUOTES, "UTF-8"); $s_2 = "insert into scrap_porques values('','{$folio}','{$porque1}','{$porque2}','{$porque3}','{$porque4}','{$porque5}')"; $r_2 = mysql_query($s_2); /*LOG SISTEMA*/ log_sistema("scrap_porques", "nuevo", $folio, $s_2); //Inserto en la bitácora de autorizaciones el movimiento correspondiente $s_2 = "insert into aut_bitacora values('', '{$folio}', '{$_SESSION['DEPTO']}', '{$_SESSION['IDEMP']}', '{$_SESSION['NAME']}', '6', "; $s_2 .= "'{$fecha}', '{$hora}', 'Creación de la boleta', '')"; $r_2 = mysql_query($s_2); /*LOG SISTEMA*/ log_sistema("aut_bitacora", "nuevo", $folio, $s_2); $s_3 = "DROP VIEW vw_padre_" . $_SESSION["IDEMP"]; $r_3 = mysql_query($s_3); //Validar que la boleta se haya guardado correctamente $s_2 = "select * from scrap_folios where no_folio='{$folio}'"; $r_2 = mysql_query($s_2); if (mysql_num_rows($r_2) <= 0) { $movimiento = "La boleta no se guardo en scrap_folios."; $error++; } $s_2 = "select * from scrap_partes where no_folio='{$folio}'"; $r_2 = mysql_query($s_2); if (mysql_num_rows($r_2) <= 0) { $movimiento = "La boleta no se guardo en scrap_partes"; $error++; } if ($cod_scr['fin'] == '1') { $s_2 = "select * from scrap_codigos where no_folio='{$folio}'"; $r_2 = mysql_query($s_2); if (mysql_num_rows($r_2) <= 0) { $movimiento = "La boleta no se guardo en scrap_codigos."; $error++; } } $s_2 = "select * from aut_bitacora where no_folio='{$folio}'"; $r_2 = mysql_query($s_2); if (mysql_num_rows($r_2) <= 0) { $movimiento = ".La boleta no se guardo en aut_bitacora."; $error++; } $s_2 = "select * from autorizaciones where no_folio='{$folio}'"; $r_2 = mysql_query($s_2); if (mysql_num_rows($r_2) <= 0) { $movimiento = "La boleta no se guardo en autorizaciones"; $error++; } echo $movimiento; if ($error > 0) { echo "<br><br>"; echo "<table align=center width=500 bgcolor=#FFFFFF>"; echo "<tr><td align=center><img src='../imagenes/exclamation.gif'></td></tr>"; echo "<tr><td align=center>"; echo "<br><strong class=rojo><b>Error al guardar el folio:</strong><br><br>"; echo "<span style='color:#FF6600; font-size:20px;'><b>{$folio}</b><br><br></tr>"; echo "<tr><td align=center>"; echo "<br><strong class=rojo><b>Contacte al administrador del sistema.</b><br><br>"; echo "</td></tr></table>"; echo "<form method='post' action='?op=nuevo'>"; echo "<div align=center><input type='submit' value='Regresar' class='submit'></div>"; echo "</form>"; $s_ = "update configuracion set valor='SI' where variable='bloqueado'"; $r_ = mysql_query($s_); /*LOG SISTEMA*/ log_sistema("configuracion", "error", $folio, $s_); /*LOG SISTEMA*/ log_sistema("configuracion", "error", $folio, $movimiento); } else { echo "<br><br>"; echo "<table align=center width=500 bgcolor=#FFFFFF>"; echo "<tr><td align=center><img src='../imagenes/aprobado.gif'></td></tr>"; echo "<tr><td align=center>"; echo "<br><strong class=texto>Boleta almacenada con el folio:</strong><br><br>"; echo "<span style='color:#FF6600; font-size:20px;'><b>{$folio}</b><br><br>"; echo "</td></tr></table>"; echo "<form method='post' action='?op=nuevo{$ruta}'>"; echo "<div align=center><input type='submit' value='Continuar' class='submit'></div>"; echo "</form>"; } }