Beispiel #1
0
        /*	public string GetTaskName()
         *      {
         *              return _taskName;
         *      }
         *      public void SetTaskName(string taskName)
         *      {
         *              _taskName = taskName;
         *      }
         */

        public void Commit()
        {
            int    operacion;
            string IdEstadoStock;

            mz.erp.commontypes.data.tlg_TiposDeAjusteDataset.tlg_TiposDeAjusteRow rowAjuste = mz.erp.businessrules.tlg_TiposDeAjuste.GetByPk(_idTipoDeAjuste);
            if (rowAjuste != null)
            {
                operacion        = Convert.ToInt32(rowAjuste.Operacion);
                _idEstadoDeStock = rowAjuste.IdEstadoDeStock;

                mz.erp.businessrules.GenerarMovimientosDeStock _movimientos = new GenerarMovimientosDeStock(IdDeposito, IdSeccion);
                foreach (mz.erp.businessrules.ItemAjuste _item in this.Items)
                {
                    decimal CantPendiente = _item.Cantidad;
                    if (_item.Cantidad != 0 && _item.CantidadReservada != 0 && this._taskName.Equals("AjustarStockOrigen"))
                    {
                        string IdAjusteEgresoReserva = Variables.GetValueString(this._processParent.Process.ProcessName, this._taskName, "AjusteEgresoDeReservado");
                        mz.erp.commontypes.data.tlg_TiposDeAjusteDataset.tlg_TiposDeAjusteRow rowAjusteAux = mz.erp.businessrules.tlg_TiposDeAjuste.GetByPk(IdAjusteEgresoReserva);
                        string IdEstadoDeStockAux = rowAjusteAux.IdEstadoDeStock;
                        int    operacionAux       = Convert.ToInt32(rowAjusteAux.Operacion);
                        _movimientos.Add(IdEstadoDeStockAux, rowAjusteAux.IdTipoAjuste, operacionAux, _item.IdProducto, _item.CantidadReservada);
                        CantPendiente = CantPendiente - _item.CantidadReservada;
                    }
                    if (CantPendiente != 0)
                    {
                        _movimientos.Add(_idEstadoDeStock, rowAjuste.IdTipoAjuste, operacion, _item.IdProducto, CantPendiente);
                    }
                }

                mz.erp.commontypes.data.tlg_MovimientosDeStockDataset.tlg_MovimientosDeStockDataTable _table = Stock.GetDataTableStock(_movimientos);
                _data.Merge(_table);
                dataAjustesDA             = new tlg_MovimientosDeStockAjustesDatosAuxiliaresDataset();
                rowAjusteDA               = businessrules.tlg_MovimientosDeStockAjustesDatosAuxiliares.NewRow();
                rowAjusteDA.Observaciones = _observaciones;
                dataAjustesDA.tlg_MovimientosDeStockAjustesDatosAuxiliares.LoadDataRow(rowAjusteDA.ItemArray, false);
            }
        }
Beispiel #2
0
 public static mz.erp.commontypes.data.tlg_MovimientosDeStockDataset.tlg_MovimientosDeStockDataTable GetDataTableStock(GenerarMovimientosDeStock _movimientos)
 {
     mz.erp.commontypes.data.tlg_MovimientosDeStockDataset _data = new mz.erp.commontypes.data.tlg_MovimientosDeStockDataset();
     foreach (MovimientosDeStock _grupoIdenticoDeMovimientos in _movimientos)
     {
         System.Data.DataTable _conjuntoDeRows = GetDataTableStockP(_grupoIdenticoDeMovimientos);
         foreach (System.Data.DataRow _rows in _conjuntoDeRows.Rows)
         {
             _data.tlg_MovimientosDeStock.Rows.Add(_rows.ItemArray);
         }
     }
     return(_data.tlg_MovimientosDeStock);
 }
Beispiel #3
0
        public void Commit()
        {
            /*Anterior - German*/

            /*
             * if(_execute)
             * {
             *      string _idDeposito = ComprobantesRules.TareaProceso_GetDeposito(this._processParent.Process.ProcessName, this._taskName);//Variables.GetValueString( "Momentos."+this._taskName+".Deposito" );
             *      string _idSeccion =  ComprobantesRules.TareaProceso_GetSeccion(this._processParent.Process.ProcessName, this._taskName);//Variables.GetValueString( "Momentos."+this._taskName+".Seccion" );
             *      long IdOR = 0;
             *      foreach(long IdOrdenreparacion  in _ordenReparacionInstancias.Keys)
             *      {
             *              ArrayList instancias = (ArrayList)_ordenReparacionInstancias[IdOrdenreparacion];
             *              foreach(long IdIsntanciaOrdenreparacion in instancias)
             *              {
             *                      mz.erp.businessrules.GenerarMovimientosDeStock _movimientos = new GenerarMovimientosDeStock( _idDeposito, _idSeccion );
             *                      string aux = Convert.ToString(IdOrdenreparacion) +":"+Convert.ToString(IdIsntanciaOrdenreparacion);
             *                      _MovimientosPorOR.Add(aux, _movimientos);
             *              }
             *      }
             *      string prefacturas = Variables.GetValueString("Comprobantes.TiposDeComprobantes.Prefacturas");
             *      string prefacturasDV = Variables.GetValueString("Comprobantes.TiposDeComprobantes.Prefacturas DV");
             *      ArrayList compPrevios = mz.erp.systemframework.Util.Parse(prefacturas, ",");
             *      compPrevios.AddRange(mz.erp.systemframework.Util.Parse(prefacturasDV, ","));
             *
             *      foreach (ItemComprobante _item in _compVenta.Items.ItemsNoVisibles)
             *      {
             *
             *              DataSet dataOR = Workflow.GetCaminoComprobantesOrdinalBottonUp(_item.ItemsComprobantes.ComprobanteDeVenta.IdComprobanteOrigen, _item.OrdinalOrigen, "OR");
             *              IdOR = GetORAsociada(dataOR);
             *              long IdInsOR = GetInstanciaORAsociada(_item, IdOR);
             *              if(!IdInsOR.Equals(long.MinValue))
             *              {
             *                      string aux = Convert.ToString(IdOR) +":"+Convert.ToString(IdInsOR);
             *                      if(!IdOR.Equals(long.MinValue) && _comprobantesOR.Contains(IdOR))
             *                      {
             *                              if(_item.AfectaStock && !EstaReservado(_item, IdOR,IdInsOR))
             *                              {
             *                                      if(_MovimientosPorOR.Contains(aux))
             *                                      {
             *                                              GenerarMovimientosDeStock _movimientos = (GenerarMovimientosDeStock)_MovimientosPorOR[aux];
             *                                              _movimientos.Add( _transicionActual, _item.IdProducto, _item.Cantidad );
             *                                      }
             *
             *                              }
             *                              else
             *                              {
             *                                      if(_item.AfectaStock && EstaReservado(_item, IdOR, IdInsOR))
             *                                      {
             *                                              if(_MovimientosPorOR.Contains(aux))
             *                                              {
             *
             *                                                      GenerarMovimientosDeStock _movimientos = (GenerarMovimientosDeStock)_MovimientosPorOR[aux];
             *                                                      _movimientos.Add( Convert.ToInt64(2), _item.IdProducto, _item.Cantidad );
             *                                              }
             *                                      }
             *                              }
             *                              EliminarRepuesto(_item, IdOR, IdInsOR);
             *
             *                      }
             *              }
             *
             *
             *
             *      }
             *
             *      foreach (ItemComprobante _item in _compVenta.Items)
             *      {
             *
             *              if(! _item.IdTipoProducto.Equals("E") && ! _item.IdTipoProducto.Equals("S"))
             *              {
             *                      DataSet dataOR = Workflow.GetCaminoComprobantesOrdinalBottonUp(_item.ItemsComprobantes.ComprobanteDeVenta.IdComprobanteOrigen, _item.OrdinalOrigen, "OR");
             *                      IdOR = GetORAsociada(dataOR);
             *                      long IdInsOR = GetInstanciaORAsociada(_item, IdOR);
             *                      if(!IdInsOR.Equals(long.MinValue))
             *                      {
             *                              string aux = Convert.ToString(IdOR) +":"+Convert.ToString(IdInsOR);
             *                              if(!IdOR.Equals(long.MinValue) && _comprobantesOR.Contains(IdOR))
             *                              {
             *                                      if(_item.AfectaStock && !EstaReservado(_item, IdOR, IdInsOR))
             *                                      {
             *                                              if(_MovimientosPorOR.Contains(aux))
             *                                              {
             *                                                      GenerarMovimientosDeStock _movimientos = (GenerarMovimientosDeStock)_MovimientosPorOR[aux];
             *                                                      _movimientos.Add( _transicionActual, _item.IdProducto, _item.Cantidad );
             *                                              }
             *
             *                                      }
             *                                      else
             *                                      {
             *                                              if(_item.AfectaStock && EstaReservado(_item, IdOR, IdInsOR))
             *                                              {
             *
             *                                                      if(_MovimientosPorOR.Contains(aux))
             *                                                      {
             *                                                              GenerarMovimientosDeStock _movimientos = (GenerarMovimientosDeStock)_MovimientosPorOR[aux];
             *                                                              _movimientos.Add( Convert.ToInt64(2), _item.IdProducto, _item.Cantidad );
             *                                                      }
             *                                              }
             *                                      }
             *                                      EliminarRepuesto(_item, IdOR, IdInsOR);
             *
             *                              }
             *                      }
             *              }
             *
             *      }
             *
             *
             *      foreach(string IdORIdInsOR in _MovimientosPorOR.Keys)
             *      {
             *              GenerarMovimientosDeStock _movimientos = (GenerarMovimientosDeStock)_MovimientosPorOR[IdORIdInsOR];
             *              mz.erp.commontypes.data.tlg_MovimientosDeStockDataset.tlg_MovimientosDeStockDataTable _table = Stock.GetDataTableStock( _movimientos );
             *              _DataTableMovimientosPorOR.Add(IdORIdInsOR, _table);
             *      }
             *
             *
             *      foreach(long IdOrdenRep in _comprobantesOR.Keys)
             *      {
             *              tsa_ComprobantesOrdenReparacionDataset dataComprobanteOR = (tsa_ComprobantesOrdenReparacionDataset)_comprobantesOR[IdOrdenRep];
             *              dataComprobanteOR.Tables[0].Rows[0].Delete();
             *      }
             *
             *      foreach(long IdOrdenRep in _comprobanteDetalleOR.Keys)
             *      {
             * tsa_ComprobanteDetalleOrdenReparacionDataset dataComprobanteDetalleOR = (tsa_ComprobanteDetalleOrdenReparacionDataset)_comprobanteDetalleOR[IdOrdenRep]	;
             *              foreach(DataRow rowCompDetOR in dataComprobanteDetalleOR.Tables[0].Rows)
             *              {
             *                      rowCompDetOR.Delete();
             *              }
             *      }
             *
             *
             * }
             */

            if (_execute)
            {
                string _idDeposito = ComprobantesRules.TareaProceso_GetDeposito(this._processParent.Process.ProcessName, this._taskName);               //Variables.GetValueString( "Momentos."+this._taskName+".Deposito" );
                string _idSeccion  = ComprobantesRules.TareaProceso_GetSeccion(this._processParent.Process.ProcessName, this._taskName);                //Variables.GetValueString( "Momentos."+this._taskName+".Seccion" );
                long   IdOR        = 0;
                foreach (long IdOrdenreparacion  in _ordenReparacionInstancias.Keys)
                {
                    ArrayList instancias = (ArrayList)_ordenReparacionInstancias[IdOrdenreparacion];
                    foreach (long IdIsntanciaOrdenreparacion in instancias)
                    {
                        mz.erp.businessrules.GenerarMovimientosDeStock _movimientos = new GenerarMovimientosDeStock(_idDeposito, _idSeccion);
                        string aux = Convert.ToString(IdOrdenreparacion) + ":" + Convert.ToString(IdIsntanciaOrdenreparacion);
                        _MovimientosPorOR.Add(aux, _movimientos);
                    }
                }
                string    prefacturas   = Variables.GetValueString("Comprobantes.TiposDeComprobantes.Prefacturas");
                string    prefacturasDV = Variables.GetValueString("Comprobantes.TiposDeComprobantes.Prefacturas DV");
                ArrayList compPrevios   = mz.erp.systemframework.Util.Parse(prefacturas, ",");
                compPrevios.AddRange(mz.erp.systemframework.Util.Parse(prefacturasDV, ","));

                foreach (ItemComprobante _item in _compVenta.Items.ItemsNoVisibles)
                {
                    //DataSet dataOR = Workflow.GetCaminoComprobantesOrdinalBottonUp(_item.ItemsComprobantes.ComprobanteDeVenta.IdComprobanteOrigen, _item.OrdinalOrigen, "OR");
                    IdOR = _item.IdOrdenReparacion;                     //GetORAsociada(dataOR);
                    long IdInsOR = _item.IdInstanciaOrdenReparacion;
                    if (/*!IdInsOR.Equals(long.MinValue)*/ IdOR > 0 && IdInsOR > 0)
                    {
                        string aux = Convert.ToString(IdOR) + ":" + Convert.ToString(IdInsOR);
                        if (!IdOR.Equals(long.MinValue) && _comprobantesOR.Contains(IdOR))
                        {
                            if (_item.AfectaStock && !EstaReservado(_item, IdOR, IdInsOR))
                            {
                                if (_MovimientosPorOR.Contains(aux))
                                {
                                    GenerarMovimientosDeStock _movimientos = (GenerarMovimientosDeStock)_MovimientosPorOR[aux];
                                    _movimientos.Add(_transicionActual, _item.IdProducto, _item.Cantidad, _idAjusteDeStockOrigen, _idAjusteDeStockDestino);
                                }
                            }
                            else
                            {
                                if (_item.AfectaStock && EstaReservado(_item, IdOR, IdInsOR))
                                {
                                    if (_MovimientosPorOR.Contains(aux))
                                    {
                                        GenerarMovimientosDeStock _movimientos = (GenerarMovimientosDeStock)_MovimientosPorOR[aux];
                                        _movimientos.Add(Convert.ToInt64(2), _item.IdProducto, _item.Cantidad, _idAjusteDeStockOrigen, _idAjusteDeStockDestino);
                                    }
                                }
                            }
                            EliminarRepuesto(_item, IdOR, IdInsOR);
                        }
                    }
                }

                foreach (ItemComprobante _item in _compVenta.Items)
                {
                    if (!_item.IdTipoProducto.Equals("E") && !_item.IdTipoProducto.Equals("S"))
                    {
                        //DataSet dataOR = Workflow.GetCaminoComprobantesOrdinalBottonUp(_item.ItemsComprobantes.ComprobanteDeVenta.IdComprobanteOrigen, _item.OrdinalOrigen, "OR");
                        IdOR = _item.IdOrdenReparacion;                         //GetORAsociada(dataOR);
                        long IdInsOR = _item.IdInstanciaOrdenReparacion;
                        if (/*!IdInsOR.Equals(long.MinValue)*/ IdOR > 0 && IdInsOR > 0)
                        {
                            string aux = Convert.ToString(IdOR) + ":" + Convert.ToString(IdInsOR);
                            if (!IdOR.Equals(long.MinValue) && _comprobantesOR.Contains(IdOR))
                            {
                                if (_item.AfectaStock && !EstaReservado(_item, IdOR, IdInsOR))
                                {
                                    if (_MovimientosPorOR.Contains(aux))
                                    {
                                        GenerarMovimientosDeStock _movimientos = (GenerarMovimientosDeStock)_MovimientosPorOR[aux];
                                        _movimientos.Add(_transicionActual, _item.IdProducto, _item.Cantidad, _idAjusteDeStockOrigen, _idAjusteDeStockDestino);
                                    }
                                }
                                else
                                {
                                    if (_item.AfectaStock && EstaReservado(_item, IdOR, IdInsOR))
                                    {
                                        if (_MovimientosPorOR.Contains(aux))
                                        {
                                            GenerarMovimientosDeStock _movimientos = (GenerarMovimientosDeStock)_MovimientosPorOR[aux];
                                            _movimientos.Add(Convert.ToInt64(2), _item.IdProducto, _item.Cantidad, _idAjusteDeStockOrigen, _idAjusteDeStockDestino);
                                        }
                                    }
                                }
                                EliminarRepuesto(_item, IdOR, IdInsOR);
                            }
                        }
                    }
                }


                foreach (string IdORIdInsOR in _MovimientosPorOR.Keys)
                {
                    GenerarMovimientosDeStock _movimientos = (GenerarMovimientosDeStock)_MovimientosPorOR[IdORIdInsOR];
                    mz.erp.commontypes.data.tlg_MovimientosDeStockDataset.tlg_MovimientosDeStockDataTable _table = Stock.GetDataTableStock(_movimientos);
                    _DataTableMovimientosPorOR.Add(IdORIdInsOR, _table);
                }


                foreach (long IdOrdenRep in _comprobantesOR.Keys)
                {
                    tsa_ComprobantesOrdenReparacionDataset dataComprobanteOR = (tsa_ComprobantesOrdenReparacionDataset)_comprobantesOR[IdOrdenRep];
                    dataComprobanteOR.Tables[0].Rows[0].Delete();
                }

                foreach (long IdOrdenRep in _comprobanteDetalleOR.Keys)
                {
                    tsa_ComprobanteDetalleOrdenReparacionDataset dataComprobanteDetalleOR = (tsa_ComprobanteDetalleOrdenReparacionDataset)_comprobanteDetalleOR[IdOrdenRep];
                    foreach (DataRow rowCompDetOR in dataComprobanteDetalleOR.Tables[0].Rows)
                    {
                        rowCompDetOR.Delete();
                    }
                }
            }
        }