Exemplo n.º 1
0
        /// <summary>
        /// DeleteInventoryAdjustmentTransaction
        /// </summary>
        /// <param name="printInventoryAdjustmentID"></param>
        /// <returns></returns>
        /// <author>CanhNV</author>
        /// <date>24-03-2007</date>

        public void DeleteInventoryAdjustmentTransaction(int printInventoryAdjustmentID)
        {
            // 0. Variable
            IV_AdjustmentDS          objAdjustmentDS      = new IV_AdjustmentDS();
            IV_AdjustmentVO          voAdjustment         = new IV_AdjustmentVO();
            MST_TransactionHistoryVO voTransactionHistory = new MST_TransactionHistoryVO();
            decimal decQuantity = 0;
            int     InspStatus  = 172;

            // 1. Get Infomation of InventoryAdjustment
            voAdjustment = (IV_AdjustmentVO)objAdjustmentDS.GetObjectVOByAdjustmentID(printInventoryAdjustmentID);

            // 2. Delete InventoryAdjustment
            objAdjustmentDS.DeleteByAdjustmentID(printInventoryAdjustmentID);

            #region Set voTransactionHistory value
            voTransactionHistory.TransDate        = new UtilsBO().GetDBDate();
            voTransactionHistory.TranTypeID       = new MST_TranTypeDS().GetTranTypeID(TransactionType.INVENTORY_ADJUSTMENT);
            voTransactionHistory.ProductID        = voAdjustment.ProductID;
            voTransactionHistory.CCNID            = voAdjustment.CCNID;
            voTransactionHistory.Lot              = voAdjustment.Lot;
            voTransactionHistory.StockUMID        = voAdjustment.StockUMID;
            voTransactionHistory.Serial           = voAdjustment.Serial;
            voTransactionHistory.PostDate         = voAdjustment.PostDate;
            voTransactionHistory.RefMasterID      = voAdjustment.AdjustmentID;
            voTransactionHistory.Quantity         = voAdjustment.AdjustQuantity;
            voTransactionHistory.MasterLocationID = voAdjustment.MasterLocationID;
            voTransactionHistory.LocationID       = voAdjustment.LocationID;
            voTransactionHistory.BinID            = voAdjustment.BinID;
            #endregion

            // 3. Update TransactionHistory
            new MST_TransactionHistoryDS().UpdateTranType(voAdjustment.AdjustmentID, voTransactionHistory.TranTypeID, (int)TransactionTypeEnum.DeleteTransaction, InspStatus);
        }
Exemplo n.º 2
0
        /// <summary>
        /// AddAndReturnID
        /// </summary>
        /// <param name="pobjObject"></param>
        /// <author>Trada</author>
        /// <date>Wednesday, July 27 2005</date>

        public int AddAndReturnID(object pobjObject)
        {
            string          METHODE_NAME    = "AddAndReturnID()";
            IV_AdjustmentVO voIV_Adjustment = (IV_AdjustmentVO)pobjObject;
            decimal         decRemain       = 0;
            //Check Available Quantity
            InventoryUtilsBO boInventoryUtils = new InventoryUtilsBO();
            DateTime         dtmCurrentDate   = new UtilsBO().GetDBDate().AddDays(1);

            if (voIV_Adjustment.AdjustQuantity < 0)
            {
                decRemain = boInventoryUtils.GetAvailableQtyByPostDate(dtmCurrentDate, voIV_Adjustment.CCNID, voIV_Adjustment.MasterLocationID, voIV_Adjustment.LocationID, voIV_Adjustment.BinID, voIV_Adjustment.ProductID)
                            + voIV_Adjustment.AdjustQuantity;

                if (decRemain < 0)
                {
                    throw new PCSBOException(ErrorCode.MESSAGE_IV_ADJUSTMENT_ADJUSTQTY_MUST_BE_SMALLER_THAN_AVAILABLEQTY, METHODE_NAME, new Exception());
                }
                else
                {
                    decimal decAvailableQty = boInventoryUtils.GetAvailableQtyByPostDate(new UtilsBO().GetDBDate(), voIV_Adjustment.CCNID, voIV_Adjustment.MasterLocationID, voIV_Adjustment.LocationID, voIV_Adjustment.BinID, voIV_Adjustment.ProductID);
                    if (-voIV_Adjustment.AdjustQuantity > decAvailableQty)
                    {
                        throw new PCSBOException(ErrorCode.MESSAGE_AVAILABLE_WAS_USED_AFTER_POSTDATE, METHODE_NAME, new Exception());
                    }
                }
            }

            //AddAndReturnID
            int             pintIV_AdjustmentID;
            IV_AdjustmentDS dsIV_Adjustment = new IV_AdjustmentDS();

            pintIV_AdjustmentID = dsIV_Adjustment.AddAndReturnID(pobjObject);

            //Update Add Onhand Quantity
            boInventoryUtils.UpdateAddOHQuantity(voIV_Adjustment.CCNID, voIV_Adjustment.MasterLocationID, voIV_Adjustment.LocationID, voIV_Adjustment.BinID,
                                                 voIV_Adjustment.ProductID, voIV_Adjustment.AdjustQuantity, voIV_Adjustment.Lot, voIV_Adjustment.Serial);
            //Save history to MST_TransactionHistory
            MST_TransactionHistoryVO voMST_TransactionHistory = new MST_TransactionHistoryVO();

            voMST_TransactionHistory.CCNID            = voIV_Adjustment.CCNID;
            voMST_TransactionHistory.MasterLocationID = voIV_Adjustment.MasterLocationID;
            voMST_TransactionHistory.LocationID       = voIV_Adjustment.LocationID;
            voMST_TransactionHistory.BinID            = voIV_Adjustment.BinID;
            voMST_TransactionHistory.ProductID        = voIV_Adjustment.ProductID;
            voMST_TransactionHistory.RefMasterID      = pintIV_AdjustmentID;
            voMST_TransactionHistory.TranTypeID       = new MST_TranTypeDS().GetTranTypeID(TransactionType.INVENTORY_ADJUSTMENT);
            voMST_TransactionHistory.PostDate         = voIV_Adjustment.PostDate;
            voMST_TransactionHistory.TransDate        = new UtilsBO().GetDBDate();
            voMST_TransactionHistory.Quantity         = voIV_Adjustment.AdjustQuantity;
            voMST_TransactionHistory.StockUMID        = voIV_Adjustment.StockUMID;
            boInventoryUtils.SaveTransactionHistory(TransactionType.INVENTORY_ADJUSTMENT, (int)PurposeEnum.Adjustment, voMST_TransactionHistory);
            return(pintIV_AdjustmentID);
        }