public viewInventarioKardex() { this.InitializeComponent(); INVENTARIO_CARDEXTableAdapter ita = new INVENTARIO_CARDEXTableAdapter(); InventariosDS ids = new InventariosDS(); ita.Fill(ids.INVENTARIO_CARDEX); this.DataContext = ids.INVENTARIO_CARDEX; }
public ViewInventarioD() { InitializeComponent(); iTA = new INVENTARIO_CARDEXTableAdapter(); }
private void btnCrearOF_Click(object sender, RoutedEventArgs e) { DateTime dtFE, dtFRxC, dtFI, dtFT; //Validamos primero las fechas de los datos generales de la OF if ((!ValidacionesJMP.IsSelectedDate(txtFechaExp.Text, out dtFE)) || (!ValidacionesJMP.IsSelectedDate(txtFechaReq.Text,out dtFRxC))) { MessageBox.Show("ERROR! Primero debe de seleccionar la Fecha de Expedicion y Fecha Requerida por el cliente", "ERROR! de datos", MessageBoxButton.OK, MessageBoxImage.Error); txtFechaExp.Focus(); return; } if (DateTime.Compare(dtFRxC,dtFE) < 0) { MessageBox.Show("ERROR! La fecha REQUERIDA POR EL CLIENTE no puede ser MENOR que la fecha de EXPEDICION", "ERROR! de Fechas", MessageBoxButton.OK, MessageBoxImage.Error); txtFechaReq.Focus(); return; } //Ahora validamos los datos de Produccion int iCantidadProd; if ((ValidacionesJMP.IsNull(txtArticulo.Text)) || (!ValidacionesJMP.IsNumericoMayor(txtCantidad.Text, out iCantidadProd)) || (!ValidacionesJMP.IsSelectedDate(txtFechaInicio.Text, out dtFI)) || (!ValidacionesJMP.IsSelectedDate(txtFechaFinalizacion.Text, out dtFT)) || (ValidacionesJMP.IsNull(txtEspecificaciones.Text))) { MessageBox.Show("ERROR! Los campo de los datos de produccion contienen errores. Por favor, corrijalos y vuelva a intentarlo", "ERROR! de datos", MessageBoxButton.OK, MessageBoxImage.Error); txtArticulo.Focus(); return; } if (DateTime.Compare(dtFT, dtFI) < 0) { MessageBox.Show("ERROR! La fecha de FINALIZACION no puede ser MENOR que la fecha de INICIO", "ERROR! de Fechas", MessageBoxButton.OK, MessageBoxImage.Error); txtFechaReq.Focus(); return; } //Ahora validamos datos del MOD if (lblTotalMOD.Text == "ERROR") { MessageBox.Show("ERROR! Los campos de los datos de MOD contiene errores", "ERROR! de datos", MessageBoxButton.OK, MessageBoxImage.Error); txtNoObreros.Focus(); return; } //Por ultimo validamos los datos del CIF if (lblTotalGIF.Text == "ERROR") { MessageBox.Show("ERROR! Los campos de los datos de CIF contiene errores", "ERROR! de datos", MessageBoxButton.OK, MessageBoxImage.Error); txtGIFTasa.Focus(); return; } //Tambien validamos que exista requisicion de material en la orden if (tblReqMateriales.Rows.Count == 0) { MessageBox.Show("ERROR! No se puede continuar debido a que no a requerido de ningun material", "ERROR! No existe requisicion de material", MessageBoxButton.OK, MessageBoxImage.Error); txtMaterial.Focus(); return; } //Una vez tenemos validado todos los datos, podemos pasar primero agregar todo los datos //a la tabla de OF. ofTA.Insert(dtFE, dtFRxC, dtFI, dtFT, txtArticulo.Text,iCantidadProd, txtEspecificaciones.Text, iMOD_NObreros, iMOD_Nhoras, dMOD_Salario, dGIF_Monto, (float)dGIF_Tasa); //Recuperamos el numero de operacion que fue asignado a la Orden de Fabricacion int iIDOFab = funcTA.GET_NOLAST_ORDEN_FAB().Value; //Ahora tenemos que ingresa los materiales de manera de PEPS int iCTotal,iIDMat,iDifArt,iDRCantidad; InventariosDS iDS = new InventariosDS(); INVENTARIO_CARDEXTableAdapter icxTA = new INVENTARIO_CARDEXTableAdapter(); REQUISICION_MATERIALESTableAdapter reqmatTA = new REQUISICION_MATERIALESTableAdapter(); foreach (DataRow dr in tblReqMateriales.Rows) { iIDMat = (int)dr["CODIGO"]; iCTotal = (int)dr["CANTIDAD"]; iDifArt = 0; //Cargamos la tabla con todos los productos disponibles ordenados en PEPS iDS.Clear(); icxTA.FillByIDMaterial(iDS.INVENTARIO_CARDEX, iIDMat); foreach (DataRow drM in iDS.INVENTARIO_CARDEX.Rows) { //Verificamos si la cantidad del primero articulo en PEPS alcanza para cubrir el material iDRCantidad = (int)drM["DIFERENCIA"]; if (iDRCantidad >= iCTotal - iDifArt) { //Significa que la cnatidad de la compra alcanza para cubrirla requesicion reqmatTA.Insert(iIDMat, iIDOFab, (int)drM["ID_COMPRA"], iCTotal - iDifArt); break; } else { reqmatTA.Insert(iIDMat, iIDOFab, (int)drM["ID_COMPRA"], (int)drM["DIFERENCIA"]); iDifArt += (int)drM["DIFERENCIA"]; } } } //Una vez terminado mostramos que la orden de fabriacion se realizo exitosamente MessageBox.Show(string.Format("La Orden de Fabriacion con No. {0}, se efectuo exitosamente en el sistema", iIDOFab), "La orden de fabricacion se ingreso correctamente en el sistema", MessageBoxButton.OK, MessageBoxImage.Information); }