/// <summary> /// 執行按鈕 /// </summary> protected void btnRun_Click(object sender, EventArgs e) { DataBind(); if (VerifyFormData()) { #region CGDModel.CGDCommon BCOCommon = new CGDModel.CGDCommon(); System.Data.Common.DbTransaction DBT = BCOCommon.OpenAndGetConnection(ConnectionDB).BeginTransaction(); try { DataSet dataSet; CGDModel.ProcessResetBatchAdj BCO = new CGDModel.ProcessResetBatchAdj(ConntionDB); dataSet = ((DataSet)Session[PAGE_DT_01 + PageTimeStamp.Value.ToString()]); if (optOperation.SelectedValue == "1" || optOperation.SelectedValue == "2") { foreach (DataRow dr in dataSet.Tables[0].Rows) { if (dr["item_no"].ToString().Trim() != "") { string[] chainsSelected = dr["chain"].ToString().Split(new Char[] { '^' }); foreach (string chain in chainsSelected) { if (chain.Trim() != "") { ParameterList.Clear(); ParameterList.Add(slpdStAcceptDate.Text.Trim()); ParameterList.Add(txtPickBatch.Text.Trim()); ParameterList.Add(dr["item_no"].ToString().Trim()); ParameterList.Add(dr["period_no"].ToString().Trim()); string outQty = BCO.QueryItemOutQty(ParameterList); if (outQty == "") { DBT.Rollback(); ErrorMsgLabel.Text = "資料不存在於門市進貨檔,執行中止。"; return; } else { ParameterList.Clear(); ParameterList.Add(Convert.ToInt16(optOperation.SelectedValue)); ParameterList.Add(slpdStAcceptDate.Text.Trim()); ParameterList.Add(txtPickBatch.Text.Trim()); ParameterList.Add(dr["item_no"].ToString().Trim()); ParameterList.Add(dr["period_no"].ToString().Trim()); ParameterList.Add(chain.Trim()); ParameterList.Add(Session["UID"].ToString()); BCO.ProcessBatchSelect(ParameterList, DBT); } } } } } } else if (optOperation.SelectedValue == "3" || optOperation.SelectedValue == "4") { foreach (DataRow dr in dataSet.Tables[0].Rows) { if (dr["item_no"].ToString().Trim() != "") { ParameterList.Clear(); ParameterList.Add(slpdStAcceptDate.Text.Trim()); ParameterList.Add(txtPickBatch.Text.Trim()); ParameterList.Add(dr["item_no"].ToString().Trim()); ParameterList.Add(dr["period_no"].ToString().Trim()); string outQty = BCO.QueryItemOutQty(ParameterList); if (outQty == "") { DBT.Rollback(); ErrorMsgLabel.Text = "資料不存在於門市進貨檔,執行中止。"; //ScriptManager.RegisterClientScriptBlock(Page, this.GetType(), "A", "alert(' " + "[門市進貨日] = " + slpdStAcceptDate.Text.Trim() + "\\n" + " [理貨批次] = " + txtPickBatch.Text.Trim() + "\\n" + " [品號/虛擬品號] = " + dr["item_no"].ToString().Trim() + "\\n" + " [期別] = " + dr["period_no"].ToString().Trim() + "\\n" + "\\n" + "之資料不存在於門市進貨檔,執行中止。 ');", true); return; } else if ((Convert.ToInt16(outQty) > 0) && (optOperation.SelectedValue == "4")) { DBT.Rollback(); ErrorMsgLabel.Text = "此商品期別數量未刪單,不可執行恢復作業,執行中止。"; //ScriptManager.RegisterClientScriptBlock(Page, this.GetType(), "A", "alert(' " + "[門市進貨日] = " + slpdStAcceptDate.Text.Trim() + "\\n" + " [理貨批次] = " + txtPickBatch.Text.Trim() + "\\n" + " [品號/虛擬品號] = " + dr["item_no"].ToString().Trim() + "\\n" + " [期別] = " + dr["period_no"].ToString().Trim() + "\\n" + "\\n" + "此商品期別數量未刪單,不可執行恢復作業,執行中止。 ');", true); return; } else if ((Convert.ToInt16(outQty) == 0) && (optOperation.SelectedValue == "3")) { DBT.Rollback(); ErrorMsgLabel.Text = "此商品期別數量已歸0,不可執行刪單作業,執行中止。"; //ScriptManager.RegisterClientScriptBlock(Page, this.GetType(), "A", "alert(' " + "[門市進貨日] = " + slpdStAcceptDate.Text.Trim() + "\\n" + " [理貨批次] = " + txtPickBatch.Text.Trim() + "\\n" + " [品號/虛擬品號] = " + dr["item_no"].ToString().Trim() + "\\n" + " [期別] = " + dr["period_no"].ToString().Trim() + "\\n" + "\\n" + "此商品期別數量已歸0,不可執行刪單作業,執行中止。 ');", true); return; } else { ParameterList.Clear(); ParameterList.Add(Convert.ToInt16(optOperation.SelectedValue)); ParameterList.Add(slpdStAcceptDate.Text.Trim()); ParameterList.Add(txtPickBatch.Text.Trim()); ParameterList.Add(dr["item_no"].ToString().Trim()); ParameterList.Add(dr["period_no"].ToString().Trim()); ParameterList.Add(Session["UID"].ToString()); BCO.ProcessBatchAdj(ParameterList, DBT); } } } } else if (optOperation.SelectedValue == "5") { foreach (DataRow dr in dataSet.Tables[0].Rows) { if (dr["item_no"].ToString().Trim() != "") { string[] chainsSelected = dr["chain"].ToString().Split(new Char[] { '^' }); foreach (string chain in chainsSelected) { if (chain.Trim() != "") { ParameterList.Clear(); ParameterList.Add(slpdStAcceptDate.Text.Trim()); ParameterList.Add(txtPickBatch.Text.Trim()); ParameterList.Add(dr["item_no"].ToString().Trim()); ParameterList.Add(dr["period_no"].ToString().Trim()); string outQty = BCO.QueryItemOutQty(ParameterList); if (outQty == "") { DBT.Rollback(); ErrorMsgLabel.Text = "資料不存在於門市進貨檔,執行中止。"; //ScriptManager.RegisterClientScriptBlock(Page, this.GetType(), "A", "alert(' " + "[門市進貨日] = " + slpdStAcceptDate.Text.Trim() + "\\n" + " [理貨批次] = " + txtPickBatch.Text.Trim() + "\\n" + " [品號/虛擬品號] = " + dr["item_no"].ToString().Trim() + "\\n" + " [期別] = " + dr["period_no"].ToString().Trim() + "\\n" + "\\n" + "之資料不存在於門市進貨檔,執行中止。 ');", true); return; } else { ParameterList.Clear(); ParameterList.Add(slpdStAcceptDate.Text.Trim()); ParameterList.Add(txtPickBatch.Text.Trim()); ParameterList.Add(txtModifiedPickBatch.Text); ParameterList.Add(dr["item_no"].ToString().Trim()); ParameterList.Add(dr["period_no"].ToString().Trim()); ParameterList.Add(chain.Trim()); ParameterList.Add(Session["UID"].ToString()); BCO.ProcessPickBatch(ParameterList, DBT); } } } } } } DBT.Commit(); } catch (Exception ex) { DBT.Rollback();//交易失敗 ErrorMsgLabel.Text = ex.Message; } finally { } #endregion ErrorMsgLabel.Text = "執行完畢"; } }