예제 #1
0
    private void GetItemPeriodStock(string strItem, string strPeriod)
    {
        #region

        try
        {

            CRMModel.QueryCRMCommon BCO = new CRMModel.QueryCRMCommon(ConnectionDB);

            DataTable dtTemp = new DataTable();
            dtTemp.Clear();

            ArrayList ParameterList = new ArrayList();
            ParameterList.Clear();

            ParameterList.Add(strItem);
            ParameterList.Add(strPeriod);
            ParameterList.Add("0");//2009-10-08 cyhsu :0進貨1退貨2庫存
            ParameterList.Add(Session["UID"].ToString());
            dtTemp = BCO.QUERY_ITEM_PERIODSTOCK(ParameterList);

            i_ONHD_QTY = 0;
            i_ACCEPT_QTY = 0;
            i_RESERVE_QTY = 0;
            i_DIS_QTY = 0;
            i_DIS_MDC_QTY = 0;
            i_DIS_ISU_QTY = 0;

            if (dtTemp != null && dtTemp.Rows.Count != 0)
            {
                i_ONHD_QTY = Int32.Parse(dtTemp.Rows[0]["ONHD_QTY"].ToString());//庫存數
                i_ACCEPT_QTY = Int32.Parse(dtTemp.Rows[0]["ONHD_QTY"].ToString());//到貨數
                i_RESERVE_QTY = Int32.Parse(dtTemp.Rows[0]["RESERVE_QTY"].ToString());//保留數
                i_DIS_QTY = 0;// Int32.Parse(dtTemp.Rows[0]["DIS_QTY"].ToString());//實配數
                i_DIS_MDC_QTY = i_ONHD_QTY - i_DIS_QTY - i_RESERVE_QTY;//預留數
            }

            ALOModel.QueryALOCommon BCO2 = new ALOModel.QueryALOCommon(ConnectionDB);

            ArrayList ParameterList1 = new ArrayList();
            ParameterList1.Clear();
            ParameterList1.Add(strItem);
            ParameterList1.Add(strPeriod);
            ParameterList1.Add(s_ROOT_NO);

            i_DIS_ISU_QTY = BCO2.QueryPurchaseQty(ParameterList1);//採購數

        }
        catch (Exception ex)
        {
            throw ex;
        }

        #endregion
    }
예제 #2
0
    public static ALOModel.ALOCommon.PERIODWithSTOCK GetPeriodWithStock(ALOModel.ALOCommon.PERIODWithSTOCK PeriodStockObject,
                                                                        string ProcessUID,
                                                                        string RootNo,
                                                                        string StAcceptDate
                                                                        )
    {

        try
        {

            #region 期別處理

            ALOModel.MaintainDisRecord PeriodProc = new ALOModel.MaintainDisRecord(ConnectionDB);
            string ErrorMsg = "";
            string AlertMsg = "";

            #region 輸入變數
            ArrayList ParameterList = new ArrayList();

            ParameterList.Clear();
            //品號
            ParameterList.Add(PeriodStockObject.Item);
            //期別
            ParameterList.Add(PeriodStockObject.Period);
            //門市進貨日 2009-07-02 cyhsu add
            ParameterList.Add(StAcceptDate);
            #endregion

            Hashtable ht = PeriodProc.CheckItemPeriodDisStateInfo(ParameterList, ref ErrorMsg, ref AlertMsg);

            if (ErrorMsg == "")//無錯誤
            {
                if (ht != null)
                {
                    //期別存在判斷
                    PeriodStockObject.PeriodExist = ht["PERIODEXIST"].ToString();
                    //配本日期
                    PeriodStockObject.DisDate = ht["DIS_DATE"].ToString();
                    //前一期別
                    PeriodStockObject.Period1 = ht["P_B1"].ToString();
                    //前二期別
                    PeriodStockObject.Period2 = ht["P_B2"].ToString();
                    //前三期別
                    PeriodStockObject.Period3 = ht["P_B3"].ToString();
                    //前四期別
                    PeriodStockObject.Period4 = ht["P_B4"].ToString();
                    //前五期別
                    PeriodStockObject.Period5 = ht["P_B5"].ToString();
                    //前六期別
                    PeriodStockObject.Period6 = ht["P_B6"].ToString();
                }
                //期別錯誤訊息
                PeriodStockObject.PeriodErrorMsg = ErrorMsg;
                //期別提示訊息
                PeriodStockObject.PeriodAlertMsg = AlertMsg;
            }

            #endregion

            #region 庫存處理

            if (ErrorMsg == "") //無錯誤
            {
                CRMModel.QueryCRMCommon StockProc = new CRMModel.QueryCRMCommon(ConnectionDB);

                #region 輸入變數

                ParameterList.Clear();
                //品號
                ParameterList.Add(PeriodStockObject.Item);
                //期別
                ParameterList.Add(PeriodStockObject.Period);
                //儲區類別(進貨)
                ParameterList.Add((int)PeriodStockLOCATEATTR.ToStockWithGoods);
                //使用者代碼            
                ParameterList.Add(ProcessUID);

                #endregion

                DataTable StockDt = StockProc.QueryItemPeriodStock(ParameterList);

                if (StockDt.Rows.Count > 0)
                {
                    //到貨數
                    PeriodStockObject.AcceptQTY = (StockDt.Rows[0]["ONHD_QTY"] == null) ? "0" : StockDt.Rows[0]["ONHD_QTY"].ToString();
                    //保留數
                    PeriodStockObject.ReserveQTY = (StockDt.Rows[0]["RESERVE_QTY"] == null) ? "0" : StockDt.Rows[0]["RESERVE_QTY"].ToString();
                    //實配數
                    PeriodStockObject.DISQTY = "0";
                    //預留數 = 到貨數 - 實配數 - 保留數 
                    int DISMDCQTY = int.Parse(PeriodStockObject.AcceptQTY) -
                                    int.Parse(PeriodStockObject.DISQTY) -
                                    int.Parse(PeriodStockObject.ReserveQTY);

                    PeriodStockObject.DISMDCQTY = DISMDCQTY.ToString();
                }
                else
                {
                    //到貨數
                    PeriodStockObject.AcceptQTY = "0";
                    //保留數
                    PeriodStockObject.ReserveQTY = "0";
                    //實配數
                    PeriodStockObject.DISQTY = "0";
                    //預留數 = 到貨數 - 實配數 - 保留數 
                    PeriodStockObject.DISMDCQTY = "0";
                }
            }

            #endregion

            #region 採購數處理

            if (ErrorMsg == "") //無錯誤
            {
                ALOModel.QueryALOCommon OrderQTYProc = new ALOModel.QueryALOCommon(ConnectionDB);

                #region 輸入變數

                ParameterList.Clear();
                //品號
                ParameterList.Add(PeriodStockObject.Item);
                //期別
                ParameterList.Add(PeriodStockObject.Period);
                //群分類代號
                ParameterList.Add(RootNo);

                #endregion

                PeriodStockObject.DISISUQTY = OrderQTYProc.QueryPurchaseQty(ParameterList).ToString();

            }

            #endregion

            return PeriodStockObject;
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }