private DataTable Dt_pivot(DataTable dt) { DataTable tmp = dt; DataTable dt_tabla = new DataTable(); if (tmp.Rows.Count > 0 && tmp.Columns.Count > 1) { int index = 1; DataRow dtRow; dt_tabla.Columns.Add("llave01", typeof(string)); dt_tabla.Columns.Add("llave02", typeof(string)); dt_tabla.Columns.Add("cd", typeof(string)); dt_tabla.Columns.Add("empresa", typeof(string)); dt_tabla.Columns.Add("dord_secue", typeof(string)); dt_tabla.Columns.Add("tipo", typeof(string)); dt_tabla.Columns.Add("item", typeof(string)); dt_tabla.Columns.Add("cod_secci", typeof(string)); dt_tabla.Columns.Add("cod_cpack", typeof(string)); dt_tabla.Columns.Add("cantidad", typeof(string)); dt_tabla.Columns.Add("val_precio", typeof(string)); dt_tabla.Columns.Add("cod_cadenad", typeof(string)); dt_tabla.Columns.Add("cod_almac", typeof(string)); for (int i = 13; i < tmp.Columns.Count; i++) { DataColumn dc = tmp.Columns[i]; string clname = dc.ColumnName; for (int y = 0; y < tmp.Rows.Count; y++) { dtRow = dt_tabla.NewRow(); dtRow[0] = tmp.Rows[y][0].ToString(); dtRow[1] = tmp.Rows[y][1].ToString(); //dtRow[2] = tmp.Rows[y][2].ToString(); string wcd = tmp.Rows[y][12].ToString(); dtRow[2] = DatosGenerales.Obt_CDxAlm(wcd); dtRow[3] = tmp.Rows[y][3].ToString(); dtRow[4] = tmp.Rows[y][4].ToString(); dtRow[5] = tmp.Rows[y][5].ToString(); string wcantidad; int valor; valor = Convert.ToInt32(tmp.Rows[y][i]); if (valor == 0) { wcantidad = "000"; } else { wcantidad = Convert.ToString(tmp.Rows[y][i]); } dtRow[6] = tmp.Rows[y][6].ToString() + Right(clname, 2) + wcantidad; dtRow[7] = tmp.Rows[y][7].ToString(); dtRow[8] = tmp.Rows[y][8].ToString(); dtRow[9] = wcantidad; dtRow[10] = tmp.Rows[y][10].ToString(); dtRow[11] = tmp.Rows[y][11].ToString(); dtRow[12] = tmp.Rows[y][12].ToString(); dt_tabla.Rows.Add(dtRow); index++; } } } return(dt_tabla); }
private bool Genera_FileTXT_NoRetail(string wcd) { if (dt_cab_noretail == null || dt_cab_noretail.Rows.Count == 0) { return(false); } string delimited = "|"; bool exito = false; string zcd = ""; var str = new StringBuilder(); foreach (DataRow datarow in dt_cab_noretail.Rows) { zcd = DatosGenerales.Obt_CDxAlm(datarow["oc_almac"].ToString()); if (zcd != wcd) { continue; } str.Append(datarow["oc_nord"].ToString() + delimited); // Numero de orden de despacho str.Append(zcd + delimited); // Facility code str.Append(wcodcia + delimited); // Cod Cia str.Append(datarow["oc_nord"].ToString() + delimited); // Numero de orden de despacho str.Append(datarow["oc_canal"].ToString() + datarow["oc_almac"].ToString() + delimited); // Order Type ejemplo: 5K str.Append(Convert.ToDateTime(datarow["oc_fecha"]).ToString("yyyyMMdd") + delimited); // Fecha emision str.Append("" + delimited); // exp_date str.Append(Convert.ToDateTime(datarow["oc_fecha"]).ToString("yyyyMMdd") + delimited); // Fecha de entrega requerida str.Append(datarow["oc_client"].ToString() + delimited); // dest_facility_code (cod cliente) str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append(waction + delimited); // action code str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append(datarow["oc_client"].ToString() + delimited); // Cliente for (int i = 1; i <= 17; i++) { str.Append("" + delimited); } ; str.Append(datarow["oc_docref"].ToString() + delimited); // Nro O/C cliente ?? str.Append("" + delimited); str.Append("" + delimited); str.Append(datarow["oc_caden"].ToString() + delimited); // Cadena str.Append("" + delimited); str.Append(Convert.ToDateTime(datarow["oc_fecha"]).ToString("yyyyMMdd") + delimited); // Fecha de entrega requerida ??? str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); // Ruta despacho ?? str.Append(datarow["oc_almac"].ToString() + delimited); // Almacen str.Append(datarow["oc_canal"].ToString() + delimited); // 5 , 6 str.Append(datarow["oc_ccli"].ToString() + delimited); // RUC destinatario str.Append("\r\n"); } if (str.Length == 0) { return(false); } File.AppendAllText(fileTXTc, str.ToString()); // DETALLE NORETAIL int correlativo = 0; string keyitem = null; char cero = '0'; string grupo = ""; str = new StringBuilder(); grupo = dt_det_noretail.Rows[0]["od_nord"].ToString(); foreach (DataRow datarow in dt_det_noretail.Rows) { zcd = DatosGenerales.Obt_CDxAlm(datarow["oc_almac"].ToString()); if (zcd != wcd) { continue; } // Resetear correlativo cuando cambia de grupo if (datarow["od_nord"].ToString() != grupo) { correlativo = 0; grupo = datarow["od_nord"].ToString(); } for (int xi = 0; xi < 12; xi++) { string pad = xi.ToString().Trim().PadLeft(2, cero); var value = datarow["od_qo" + pad]; if (value != DBNull.Value) { int cant = Convert.ToInt32(value); if (cant != 0) { correlativo += 1; string pos = (xi + 1).ToString().Trim().PadLeft(2, cero); // Evaluar si el articulo es prepack o solid if (datarow["od_cpack"].ToString() == "00001" || datarow["od_cpack"].ToString().Trim() == String.Empty) { keyitem = datarow["od_cart"].ToString() + datarow["od_cali"].ToString() + pos + DatosGenerales.CodNoRetail; } else { keyitem = datarow["od_cart"].ToString() + datarow["od_cali"].ToString() + datarow["od_cpack"].ToString() + DatosGenerales.CodNoRetail; } str.Append(datarow["od_nord"].ToString() + delimited); // Numero de orden de despacho str.Append(zcd + delimited); // Facility code str.Append(wcodcia + delimited); // Cod Cia str.Append(datarow["od_nord"].ToString() + delimited); // Numero de orden de despacho str.Append(correlativo.ToString() + delimited); // Numero correlativo str.Append(keyitem + delimited); // Key item for (int i = 1; i <= 10; i++) { str.Append("" + delimited); } ; str.Append(cant.ToString() + delimited); // Cantidad str.Append("" + delimited); str.Append(waction + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append(datarow["od_costo"].ToString() + delimited); // Costo str.Append("0" + delimited); // Sales for (int i = 1; i <= 16; i++) { str.Append("" + delimited); } ; str.Append(DateTime.Now.ToString("yyyyMMdd") + delimited); // voucher_exp_date str.Append("\r\n"); } } } } File.AppendAllText(fileTXTd, str.ToString()); //using (StreamWriter filtxt = new StreamWriter(fileTXTd, true, System.Text.Encoding.Default)) //{ // filtxt.WriteLine(str.ToString()); //} exito = (File.Exists(fileTXTc) && File.Exists(fileTXTd)); return(exito); }
private bool Genera_FileTXT_1(string wcd) { if (dt_cab == null || dt_cab.Rows.Count == 0) { return(false); } string delimited = "|"; bool exito = false; string zcd = ""; var str = new StringBuilder(); foreach (DataRow datarow in dt_cab.Rows) { zcd = DatosGenerales.Obt_CDxAlm(datarow["cgud_almac"].ToString()); if (zcd == wcd) { str.Append(datarow["cgud_gudis"].ToString() + delimited); // Numero de orden de despacho str.Append(zcd + delimited); // Facility code str.Append(wcodcia + delimited); // Cod Cia str.Append(datarow["cgud_gudis"].ToString() + delimited); // Numero de orden de despacho str.Append(datarow["cgud_canal"].ToString() + datarow["cgud_almac"].ToString() + delimited); // Order Type ejemplo: 5K str.Append(Convert.ToDateTime(datarow["cgud_femis"]).ToString("yyyyMMdd") + delimited); // Fecha emision str.Append("" + delimited); // exp_date str.Append(Convert.ToDateTime(datarow["cgud_femis"]).ToString("yyyyMMdd") + delimited); // Fecha de entrega requerida // 16-12-2020 ALMACEN I SE ENVIA CON CLIENTE GENERICO, SOLICITUD DE OFRACIO var wcliente = (datarow["cgud_almac"].ToString() == "I") ? "92070" : datarow["cgud_tndcl"].ToString(); str.Append(wcliente + delimited); // dest_facility_code (cod tienda) //str.Append(datarow["cgud_tndcl"].ToString() + delimited); // dest_facility_code (cod tienda) str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); //str.Append("" + delimited); str.Append(datarow["cgud_tndcl"].ToString() + delimited); // ref_nbr (cod tienda/cliente original) str.Append(waction + delimited); // action code str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append(wcliente + delimited); // Tienda - COD CLIENTE //str.Append(datarow["cgud_tndcl"].ToString() + delimited); // Tienda - COD CLIENTE for (int i = 1; i <= 17; i++) { str.Append("" + delimited); } ; str.Append(datarow["cgud_gudis"].ToString() + delimited); // Customer_PO_number (nro prescrip - Juan V.) str.Append("" + delimited); str.Append("" + delimited); str.Append(datarow["cgud_caden"].ToString() + delimited); // Cadena str.Append("" + delimited); str.Append(Convert.ToDateTime(datarow["cgud_femis"]).ToString("yyyyMMdd") + delimited); // Fecha de entrega requerida ??? str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); // Ruta despacho ?? str.Append(datarow["cgud_almac"].ToString() + delimited); // Almacen str.Append(datarow["cgud_canal"].ToString() + delimited); // 5 , 6 str.Append("" + delimited); // RUC destinatario //NUEVO CAMPO INDICADOR DE UNIFORMES for (int i = 1; i <= 21; i++) { str.Append("" + delimited); } ; if (datarow["cgud_tipar"].ToString() == "U") { str.Append("UNIFORMES" + delimited); // Indicador de uniformes } else if (datarow["cgud_tipar"].ToString() == "M") { str.Append("MERCADERIA" + delimited); // Indicador de mercaderia } else if (datarow["cgud_tipar"].ToString() == "O") { str.Append("NO MERCADERIA" + delimited); // Indicador de no mercaderia } else { str.Append("" + delimited); // Indicador de uniformes } //str.Append(datarow["cgud_tipar"].ToString() + delimited); // Indicador de uniformes str.Append("\r\n"); // ACUMULAMOS EN UNA LISTA PARA HACER EL UPDATE DEL FLAG MAS ABAJO wcade_update += "'" + Convert.ToString(datarow["cgud_gudis"]).Trim() + "',"; // DIVIDIMOS LA CADENA PQ SALE ERROR EN EL VFP (STATEMENT TOO LONG) if (wcade_update.Length > 900) { wcade_update = wcade_update.TrimEnd(','); listaCade.Add(wcade_update); wcade_update = ""; } } } if (str.Length == 0) { return(false); } File.WriteAllText(fileTXTc, str.ToString()); wcade_update = wcade_update.TrimEnd(','); listaCade.Add(wcade_update); // DETALLE RETAIL int correlativo = 0; string keyitem = null; char cero = '0'; string grupo = ""; str = new StringBuilder(); grupo = dt_det.Rows[0]["dgud_gudis"].ToString(); foreach (DataRow datarow in dt_det.Rows) { zcd = DatosGenerales.Obt_CDxAlm(datarow["cgud_almac"].ToString()); if (zcd == wcd) { // Resetear correlativo cuando cambia de grupo if (datarow["dgud_gudis"].ToString() != grupo) { correlativo = 0; grupo = datarow["dgud_gudis"].ToString(); } for (int xi = 0; xi < 12; xi++) { string pad = xi.ToString().Trim().PadLeft(2, cero); var value = datarow["dgud_med" + pad]; if (value != DBNull.Value) { int cant = Convert.ToInt32(value); if (cant != 0) { correlativo += 1; decimal costo = 0; // Evaluar si el articulo es prepack o suelto if (datarow["dgud_cpack"].ToString() == "00001") { int posi = xi; // Ajustar medida (Conversado con Vicente) //if (datarow["dgud_rmed"].ToString() == "E") // posi = 0; //else //if ((datarow["dgud_artic"].ToString().Substring(0, 1) == "9") && (new[] { "A", "B", "C", "D", "E" }.Contains(datarow["dgud_rmed"].ToString()))) // posi = 0; // Para el WMS se suma 1 a la posicion string pos = (posi + 1).ToString().Trim().PadLeft(2, cero); //keyitem = datarow["dgud_artic"].ToString() + datarow["dgud_calid"].ToString() + pos + DatosGenerales.CodRetail; keyitem = datarow["dgud_artic"].ToString() + datarow["dgud_calid"].ToString() + pos; costo = Convert.ToDecimal(datarow["dgud_costo"]); } else { //keyitem = datarow["dgud_artic"].ToString() + datarow["dgud_calid"].ToString() + datarow["dgud_cpack"].ToString() + DatosGenerales.CodRetail; keyitem = datarow["dgud_artic"].ToString() + datarow["dgud_calid"].ToString() + datarow["dgud_cpack"].ToString(); cant = Convert.ToInt32(datarow["dgud_ppack"]); costo = Convert.ToDecimal(datarow["dgud_costo"]) * Convert.ToInt32(datarow["dgud_touni"]); } str.Append(datarow["dgud_gudis"].ToString() + delimited); // Numero de orden de despacho str.Append(DatosGenerales.Obt_CDxAlm(datarow["cgud_almac"].ToString()) + delimited); // Facility code str.Append(wcodcia + delimited); // Cod Cia str.Append(datarow["dgud_gudis"].ToString() + delimited); // Numero de orden de despacho str.Append(correlativo.ToString() + delimited); // Numero correlativo str.Append(keyitem + delimited); // Key item for (int i = 1; i <= 10; i++) { str.Append("" + delimited); } ; str.Append(cant.ToString() + delimited); // Cantidad str.Append("" + delimited); str.Append(waction + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append(costo.ToString() + delimited); // Costo str.Append("0" + delimited); // Sales for (int i = 1; i <= 16; i++) { str.Append("" + delimited); } ; //str.Append(DateTime.Now.ToString("yyyyMMdd") + delimited); // voucher_exp_date str.Append("" + delimited); // voucher_exp_date (AHORA VA EN BLANCO) str.Append("\r\n"); // Si es prepack se genera solo 1 fila en el TXT (correo de Miguel O.) if (datarow["dgud_cpack"].ToString() != "00001") { break; } } } } } } if (str.Length == 0) { return(false); } File.WriteAllText(fileTXTd, str.ToString()); exito = (File.Exists(fileTXTc) && File.Exists(fileTXTd)); if (exito) { LogUtil.Graba_Log(winterface, winterface + ConfigurationManager.AppSettings["M012"] + " : " + Path.GetFileName(fileTXTc) + " " + Path.GetFileName(fileTXTd), false, ""); // MSJ SE GENERO LOS ARCHIVOS OK } else { LogUtil.Graba_Log(winterface, winterface + ConfigurationManager.AppSettings["M013"] + " : " + Path.GetFileName(fileTXTc) + " " + Path.GetFileName(fileTXTd), false, ""); // MSJ ERROR AL GENERAR ARCHIVOS } return(exito); }
private bool Genera_FileTXT_2(string wcd) { if (dt_cab == null || dt_cab.Rows.Count == 0) { return(false); } string delimited = "|"; bool exito = false; string zcd = ""; var str = new StringBuilder(); foreach (DataRow datarow in dt_cab.Rows) { zcd = DatosGenerales.Obt_CDxAlm(datarow["oc_almac"].ToString()); if (zcd == wcd) { str.Append(datarow["oc_nord"].ToString() + delimited); // Numero de orden de despacho str.Append(zcd + delimited); // Facility code str.Append(wcodcia + delimited); // Cod Cia str.Append(datarow["oc_nord"].ToString() + delimited); // Numero de orden de despacho str.Append(datarow["oc_canal"].ToString() + datarow["oc_almac"].ToString() + delimited); // Order Type ejemplo: 5K str.Append(Convert.ToDateTime(datarow["oc_fecha"]).ToString("yyyyMMdd") + delimited); // Fecha emision str.Append("" + delimited); // exp_date //str.Append(Convert.ToDateTime(datarow["oc_fecha"]).ToString("yyyyMMdd") + delimited); // Fecha de entrega requerida str.Append(Convert.ToDateTime(datarow["oc_fentreg"]).ToString("yyyyMMdd") + delimited); // Fecha de entrega requerida-cambio x la fecha de entrega var xtda = datarow["oc_client"].ToString().Trim(); if (datarow["oc_almac"].ToString() == "4" || datarow["oc_almac"].ToString() == "6") { if (!(datarow["oc_clisuc"].ToString().Trim() == null || datarow["oc_clisuc"].ToString().Trim() == "")) { xtda = xtda + datarow["oc_clisuc"].ToString().Trim(); } } else { // 16-12-2020 ALMACEN I SE ENVIA CON CLIENTE GENERICO, SOLICITUD DE OFRACIO if (datarow["oc_almac"].ToString() == "I") { xtda = "92070"; } } str.Append(xtda + delimited); // dest_facility_code (cod cliente) str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append(waction + delimited); // action code str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append(xtda + delimited); // shipto_facility_code (Tienda) for (int i = 1; i <= 11; i++) { str.Append("" + delimited); } ; if (datarow["oc_almac"].ToString() == "4" || datarow["oc_almac"].ToString() == "6") { str.Append(datarow["oc_client"].ToString() + delimited); // dest_company_code (Cliente) } else { str.Append("" + delimited); } str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append(datarow["oc_docref"].ToString() + delimited); // Nro O/C cliente ?? str.Append("" + delimited); str.Append("" + delimited); str.Append(datarow["oc_caden"].ToString() + delimited); // Cadena str.Append("" + delimited); //str.Append(Convert.ToDateTime(datarow["oc_fecha"]).ToString("yyyyMMdd") + delimited); // Fecha de entrega requerida ??? str.Append(Convert.ToDateTime(datarow["oc_fentreg"]).ToString("yyyyMMdd") + delimited); // Fecha de entrega requerida ??? str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); // Ruta despacho ?? str.Append(datarow["oc_almac"].ToString() + delimited); // Almacen str.Append(datarow["oc_canal"].ToString() + delimited); // 5 , 6 str.Append(datarow["oc_ccli"].ToString() + delimited); // RUC destinatario for (int i = 1; i <= 25; i++) { str.Append("" + delimited); } ; str.Append(datarow["oc_client"].ToString().Trim() + delimited); // hdr_cust_short_text_5 (cliente original) str.Append("\r\n"); // ACUMULAMOS EN UNA LISTA PARA HACER EL UPDATE DEL FLAG MAS ABAJO wcade_update += "'" + Convert.ToString(datarow["oc_nord"]).Trim() + "',"; // DIVIDIMOS LA CADENA PQ SALE ERROR EN EL VFP (STATEMENT TOO LONG) if (wcade_update.Length > 900) { wcade_update = wcade_update.TrimEnd(','); listaCade.Add(wcade_update); wcade_update = ""; } } } if (str.Length == 0) { return(false); } File.WriteAllText(fileTXTc, str.ToString()); wcade_update = wcade_update.TrimEnd(','); listaCade.Add(wcade_update); // DETALLE NORETAIL int correlativo = 0; string keyitem = null; char cero = '0'; string grupo = ""; str = new StringBuilder(); grupo = dt_det.Rows[0]["od_nord"].ToString(); foreach (DataRow datarow in dt_det.Rows) { zcd = DatosGenerales.Obt_CDxAlm(datarow["oc_almac"].ToString()); if (zcd == wcd) { // Resetear correlativo cuando cambia de grupo if (datarow["od_nord"].ToString() != grupo) { correlativo = 0; grupo = datarow["od_nord"].ToString(); } for (int xi = 0; xi < 12; xi++) { string pad = xi.ToString().Trim().PadLeft(2, cero); var value = datarow["od_qo" + pad]; if (value != DBNull.Value) { int cant = Convert.ToInt32(value); if (cant != 0) { correlativo += 1; // Evaluar si el articulo es prepack o suelto if (datarow["od_cpack"].ToString() == "00001" || datarow["od_cpack"].ToString().Trim() == String.Empty) { int posi = xi; //// Ajustar medida (Conversado con Vicente) //if (datarow["od_rmed"].ToString() == "E") // posi = 0; //else //if ((datarow["od_cart"].ToString().Substring(0, 1) == "9") && (new[] { "A", "B", "C", "D", "E" }.Contains(datarow["od_rmed"].ToString()))) // posi = 0; // Para el WMS se suma 1 a la posicion string pos = (posi + 1).ToString().Trim().PadLeft(2, cero); //keyitem = datarow["od_cart"].ToString() + datarow["od_cali"].ToString() + pos + DatosGenerales.CodNoRetail; keyitem = datarow["od_cart"].ToString() + datarow["od_cali"].ToString() + pos; } else { //keyitem = datarow["od_cart"].ToString() + datarow["od_cali"].ToString() + datarow["od_cpack"].ToString() + DatosGenerales.CodNoRetail; keyitem = datarow["od_cart"].ToString() + datarow["od_cali"].ToString() + datarow["od_cpack"].ToString(); } str.Append(datarow["od_nord"].ToString() + delimited); // Numero de orden de despacho str.Append(zcd + delimited); // Facility code str.Append(wcodcia + delimited); // Cod Cia str.Append(datarow["od_nord"].ToString() + delimited); // Numero de orden de despacho str.Append(correlativo.ToString() + delimited); // Numero correlativo str.Append(keyitem + delimited); // Key item for (int i = 1; i <= 10; i++) { str.Append("" + delimited); } ; str.Append(cant.ToString() + delimited); // Cantidad str.Append("" + delimited); str.Append(waction + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append(datarow["od_costo"].ToString() + delimited); // Costo str.Append("0" + delimited); // Sales for (int i = 1; i <= 16; i++) { str.Append("" + delimited); } ; //str.Append(DateTime.Now.ToString("yyyyMMdd") + delimited); // voucher_exp_date str.Append("" + delimited); // voucher_exp_date (AHORA VA EN BLANCO) str.Append("\r\n"); // Si es prepack se genera solo 1 fila en el TXT (correo de Miguel O.) if (!(datarow["od_cpack"].ToString() == "00001" || datarow["od_cpack"].ToString().Trim() == String.Empty)) { break; } } } } } } if (str.Length == 0) { return(false); } File.WriteAllText(fileTXTd, str.ToString()); //using (StreamWriter filtxt = new StreamWriter(fileTXTd, true, System.Text.Encoding.Default)) //{ // filtxt.WriteLine(str.ToString()); //} exito = (File.Exists(fileTXTc) && File.Exists(fileTXTd)); if (exito) { LogUtil.Graba_Log(winterface, winterface + ConfigurationManager.AppSettings["M012"] + " : " + Path.GetFileName(fileTXTc) + " " + Path.GetFileName(fileTXTd), false, ""); // MSJ SE GENERO LOS ARCHIVOS OK } else { LogUtil.Graba_Log(winterface, winterface + ConfigurationManager.AppSettings["M013"] + " : " + Path.GetFileName(fileTXTc) + " " + Path.GetFileName(fileTXTd), false, ""); // MSJ ERROR AL GENERAR ARCHIVOS } return(exito); }
/************** Genera_FileTXT * Metodo que genera la interface como archivo de texto para el WMS ***************/ private bool Genera_FileTXT(string wcd) { bool exito = false; string zcd = ""; string fechor = DateTime.Now.ToString("yyyyMMddHHmmss") + ".TXT"; fileTXTc = Path.Combine(DatosGenerales.rutaMain, "ISH_" + fechor); fileTXTd = Path.Combine(DatosGenerales.rutaMain, "ISL_" + fechor); // Eliminar archivos ISH_, ISL try { var dir = new DirectoryInfo(DatosGenerales.rutaMain); foreach (var file in dir.EnumerateFiles("IS*.TXT")) { file.Delete(); } } catch { // omitido } if (dt_cabe == null || dt_cabe.Rows.Count == 0) { return(false); } string delimited = "|"; var str = new StringBuilder(); foreach (DataRow datarow in dt_cabe.Rows) { zcd = DatosGenerales.Obt_CDxAlm(datarow["desc_secci"].ToString()); if (zcd != wcd) { continue; } str.Append(datarow["desc_ndesp"].ToString() + delimited); // Numero de guia str.Append(datarow["desc_ndesp"].ToString() + delimited); // Numero de guia str.Append(zcd + delimited); // Facility code str.Append(wcodcia + delimited); // Cod Cia str.Append("" + delimited); str.Append(waction + delimited); // Action Code str.Append("" + delimited); str.Append("DEV" + delimited); // DEV str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append(Convert.ToDateTime(datarow["desc_fecha"]).ToString("yyyyMMdd") + delimited); // Fecha emision str.Append("\r\n"); } if (File.Exists(fileTXTc)) { File.Delete(fileTXTc); } if (str.Length == 0) { return(false); } File.WriteAllText(fileTXTc, str.ToString()); // DETALLE int correlativo = 0; string keyitem = ""; string grupo = ""; str = new StringBuilder(); grupo = dt_deta.Rows[0]["desc_almac"].ToString() + dt_deta.Rows[0]["desc_gudis"].ToString(); foreach (DataRow datarow in dt_deta.Rows) { zcd = DatosGenerales.Obt_CDxAlm(datarow["desc_secci"].ToString()); if (zcd != wcd) { continue; } // Resetear correlativo cuando cambia de grupo if (dt_deta.Rows[0]["desc_almac"].ToString() + datarow["desc_gudis"].ToString() != grupo) { correlativo = 0; grupo = dt_deta.Rows[0]["desc_almac"].ToString() + dt_deta.Rows[0]["desc_gudis"].ToString(); } //for (int xi = 0; xi < 12; xi++) //{ //string pad = xi.ToString().Trim().PadLeft(2, cero); //var value = datarow["desd_med_per"]; //if (value != DBNull.Value) //{ //int cant = Convert.ToInt32(value); //if (cant != 0) //{ correlativo += 1; //string pos = (xi + 1).ToString().Trim().PadLeft(2, cero); string pos = datarow["desd_med_lat"].ToString(); keyitem = datarow["desd_artic"].ToString() + datarow["desd_calid"].ToString() + pos + DatosGenerales.CodRetail; str.Append(datarow["desc_ndesp"].ToString() + delimited); // Numero de guia str.Append(datarow["desc_ndesp"].ToString() + delimited); // Numero de guia str.Append(zcd + delimited); // Facility code str.Append(wcodcia + delimited); // Cod Cia str.Append(correlativo.ToString() + delimited); // Numero correlativo str.Append(waction + delimited); // Action Code str.Append("" + delimited); str.Append("" + delimited); str.Append("" + delimited); str.Append(keyitem + delimited); // Key item for (int i = 1; i <= 12; i++) { str.Append("" + delimited); } str.Append(correlativo.ToString() + delimited); // Cantidad str.Append("\r\n"); //} //} //} } if (File.Exists(fileTXTd)) { File.Delete(fileTXTd); } File.WriteAllText(fileTXTd, str.ToString()); exito = (File.Exists(fileTXTc) && File.Exists(fileTXTd)); return(exito); }