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; } }