示例#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);
        }
示例#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);
        }
示例#3
0
 public void UpdateInventory(DataTable pdtbAdjustmentTable, DataTable pdtbCache, string pstrComment)
 {
     // update adjustment
     if (pdtbAdjustmentTable.Rows.Count > 0)
     {
         DataSet dstData = new DataSet();
         dstData.Tables.Add(pdtbAdjustmentTable);
         IV_AdjustmentDS dsAdjustment = new IV_AdjustmentDS();
         dsAdjustment.UpdateDataSet(dstData);
         IV_BinCacheDS dsBinCache = new IV_BinCacheDS();
         DataSet       dstCache   = new DataSet();
         dstCache.Tables.Add(pdtbCache);
         dsBinCache.UpdateDataSetForTaking(dstCache);
         // update location and master location cache
         IV_LocationCacheDS dsLocation = new IV_LocationCacheDS();
         dsLocation.UpdateAllQuantityFromBin();
         // update transaction history
         InventoryUtilsBO boIVUtils      = new InventoryUtilsBO();
         DataSet          dstTransaction = boIVUtils.ListTransactionHistory(0);
         // get the list of new adjustment
         DataSet dstAdjust = dsAdjustment.List(pstrComment);
         foreach (DataRow drowData in dstAdjust.Tables[0].Rows)
         {
             // each row will be on transaction history
             #region Transaction history
             //SaveTransactionHistory
             DataRow drowTransaction = dstTransaction.Tables[0].NewRow();
             drowTransaction[MST_TransactionHistoryTable.CCNID_FLD]            = drowData[IV_AdjustmentTable.CCNID_FLD];
             drowTransaction[MST_TransactionHistoryTable.TRANSDATE_FLD]        = drowData[IV_AdjustmentTable.POSTDATE_FLD];
             drowTransaction[MST_TransactionHistoryTable.POSTDATE_FLD]         = drowData[IV_AdjustmentTable.POSTDATE_FLD];
             drowTransaction[MST_TransactionHistoryTable.REFMASTERID_FLD]      = drowData[IV_AdjustmentTable.ADJUSTMENTID_FLD];
             drowTransaction[MST_TransactionHistoryTable.PRODUCTID_FLD]        = drowData[IV_AdjustmentTable.PRODUCTID_FLD];
             drowTransaction[MST_TransactionHistoryTable.TRANTYPEID_FLD]       = 17;
             drowTransaction[MST_TransactionHistoryTable.USERNAME_FLD]         = drowData[IV_AdjustmentTable.USERNAME_FLD];
             drowTransaction[MST_TransactionHistoryTable.QUANTITY_FLD]         = drowData[IV_AdjustmentTable.ADJUSTQUANTITY_FLD];
             drowTransaction[MST_TransactionHistoryTable.MASTERLOCATIONID_FLD] = drowData[IV_AdjustmentTable.MASTERLOCATIONID_FLD];
             drowTransaction[MST_TransactionHistoryTable.LOCATIONID_FLD]       = drowData[IV_AdjustmentTable.LOCATIONID_FLD];
             drowTransaction[MST_TransactionHistoryTable.BINID_FLD]            = drowData[IV_AdjustmentTable.BINID_FLD];
             drowTransaction[MST_TransactionHistoryTable.STOCKUMID_FLD]        = drowData[IV_AdjustmentTable.STOCKUMID_FLD];
             dstTransaction.Tables[0].Rows.Add(drowTransaction);
             #endregion
         }
         MST_TransactionHistoryDS dsTransactionHistory = new MST_TransactionHistoryDS();
         dsTransactionHistory.UpdateDataSet(dstTransaction);
     }
 }
示例#4
0
        /// <summary>
        /// List all adjustment transaction in period of time
        /// </summary>
        /// <param name="pintCCNID">CCN</param>
        /// <param name="pdtmFromDate">From Date</param>
        /// <param name="pdtmToDate">To Date</param>
        /// <returns></returns>

        public DataTable GetAdjusment(int pintCCNID, DateTime pdtmFromDate, DateTime pdtmToDate)
        {
            IV_AdjustmentDS dsAdjustment = new IV_AdjustmentDS();

            return(dsAdjustment.List(pintCCNID, pdtmFromDate, pdtmToDate));
        }
示例#5
0
        public DataTable GetAdjustmentSchema()
        {
            IV_AdjustmentDS dsAdjustment = new IV_AdjustmentDS();

            return(dsAdjustment.GetSchema());
        }