/// <summary> /// 計算配量 /// </summary> /// <param name="ParameterList"> s_DIS_NO, s_ITEM, s_PERIOD, s_CAL_NONEFF, s_USER_ID, s_DIS_TYPE, s_ROOT_NO</param> /// <param name="strResult"></param> /// <param name="strErrMsg"></param> /// <param name="RootDBT"></param> /// <returns></returns> public bool ProcessCalculateDisQtyFor131(ArrayList ParameterList, out string strResult, out string strErrMsg, DbTransaction RootDBT) { #region bool bResult = false; bool IsRootTranscation = false; strResult = ""; strErrMsg = ""; try { VDS_ALO_CONFIRM_COMM_DBO DBO = new VDS_ALO_CONFIRM_COMM_DBO(ref USEDB); #region 取消判斷 Transaction ////判斷是否有傳入Root Transcation //IsRootTranscation = (RootDBT == null) ? true : false; //#region 啟動交易或指定RootTranscation //if (IsRootTranscation) //{ // //獨立呼叫啟動Transcation // Conn = USEDB.CreateConnection(); // Conn.Open(); // DBT = Conn.BeginTransaction(); //} //else //{ // DBT = RootDBT; //} //#endregion #endregion string s_DIS_NO, s_ITEM, s_PERIOD, s_CAL_NONEFF, s_USER_ID, s_DIS_TYPE, s_ROOT_NO; s_DIS_NO = ParameterList[0].ToString().Trim(); s_ITEM = ParameterList[1].ToString().Trim(); s_PERIOD = ParameterList[2].ToString().Trim(); s_CAL_NONEFF = ParameterList[3].ToString().Trim(); s_USER_ID = ParameterList[4].ToString().Trim(); s_DIS_TYPE = ParameterList[5].ToString().Trim(); s_ROOT_NO = ParameterList[6].ToString().Trim(); //計算配量 try { bResult = ProcessCalculateDisQty(s_DIS_NO, s_ITEM, s_PERIOD, s_CAL_NONEFF, s_USER_ID, s_DIS_TYPE, s_ROOT_NO, RootDBT); } catch (Exception ex) { strErrMsg = s_DIS_NO + ex.Message; bResult = false; } if (bResult) { MaintainDisAssist BCO2 = new MaintainDisAssist(ConnectionDB); ParameterList.Clear(); ParameterList.Add(s_DIS_NO); ParameterList.Add(s_ITEM); ParameterList.Add(s_PERIOD); ParameterList.Add(null); DataTable dtDisAssistMain = BCO2.QueryDisAssistMain(ParameterList); //判斷輔助項目是否有設定,有值則繼續計算配量 if (dtDisAssistMain != null && dtDisAssistMain.Rows.Count > 0) { ParameterList.Clear(); ParameterList.Add(s_DIS_NO); ParameterList.Add(s_ITEM); ParameterList.Add(s_PERIOD); ParameterList.Add("0"); ParameterList.Add(s_USER_ID); bResult = CalculateForAssistInfo(ParameterList); if (!bResult) { strErrMsg = "計算輔助項目配量失敗"; } } } else { if (strErrMsg == "") { strErrMsg = "計算基本項目配量失敗"; } } #region 交易成功 //if (IsRootTranscation) //{ // //獨立呼叫Transcation成立 // DBT.Commit(); //} #endregion } catch (Exception ex) { #region 交易失敗 bResult = false; //if (IsRootTranscation) //{ // //獨立呼叫Transcation失敗 // DBT.Rollback(); //} #endregion throw GetNewException(ex); } finally { #region 判斷是否關閉交易連線 //if (IsRootTranscation) //{ // //獨立呼叫Transcation,關閉連線 // if (Conn.State == ConnectionState.Connecting) // { // Conn.Close(); // } //} #endregion } return bResult; #endregion }
/// <summary> /// 取得輔助項目主檔與明細檔 /// </summary> private void GetAssistMainAndDetl() { #region try { #region DataTable dtMain, dtDetl; ArrayList ParameterList = new ArrayList();//20091106 ParameterList.Clear(); ParameterList.Add(Request.QueryString["DIS_NO"]); ParameterList.Add(Request.QueryString["ITEM"]); ParameterList.Add(Request.QueryString["PERIOD"]); ParameterList.Add(GetChanNo_AssistSetting()); ALOModel.MaintainDisRecord BCO = new ALOModel.MaintainDisRecord(ConnectionDB); BCO.QueryDisAssistInfoByDisNo(ParameterList, out dtMain, out dtDetl); string[,] strAryAssistCode = new string[,] { { "01", "chk11" ,"","","","","","","","","","","",""}, { "02", "chk21" ,"","","","","","","","","","","",""}, { "03", "chk31" ,"rbtn311","rbtn312","SLP_SLPNumber1","","","","OP_VALUE_3W","OP_VALUE_3Y","OP_VALUE_3X","OP_VALUE_3Z","hiddenOPValueStatus3","" }, { "04", "chk41" ,"","","","","","","OP_VALUE_4W","OP_VALUE_4Y","OP_VALUE_4X","OP_VALUE_4Z","hiddenOPValueStatus4","" }, { "05", "chk51" ,"rbtn511","rbtn512","","rbtn521","rbtn522","SLP_SLPNumber2","OP_VALUE_5W","OP_VALUE_5Y","OP_VALUE_5X","OP_VALUE_5Z" ,"hiddenOPValueStatus5",""}, { "06", "chk61" ,"","","SLP_SLPNumber3","","","","OP_VALUE_6W","OP_VALUE_6Y","OP_VALUE_6X","OP_VALUE_6Z","hiddenOPValueStatus6","" }, { "07", "chk71" ,"","","SLP_SLPNumber4","rbtn721","rbtn722","SLP_SLPNumber5","OP_VALUE_7W","OP_VALUE_7Y","OP_VALUE_7X","OP_VALUE_7Z","hiddenOPValueStatus7","" }, { "08", "chk81" ,"","","","","","","OP_VALUE_8W","OP_VALUE_8Y","OP_VALUE_8X","OP_VALUE_8Z","hiddenOPValueStatus8",""} }; Int32 index_OPERATOR1, index_OPERATOR2, index_OP_VALUE1, index_OP_VALUE2, index_CHANGE_TYPE, index_CHANGE_RATE; if (dtMain != null && dtMain.Rows.Count > 0) { for (Int32 k = 0; k <= strAryAssistCode.GetUpperBound(0); k++) { ((CheckBox)this.TabContainer1.Tabs[1].FindControl(strAryAssistCode[k, 1])).Checked = false; } for (Int32 i = 0; i <= dtMain.Rows.Count - 1; i++) { for (Int32 k = 0; k <= strAryAssistCode.GetUpperBound(0); k++) { //default index index_OPERATOR1 = 2;//RadioButton index_OP_VALUE1 = 4;//SLP_Number index_OPERATOR2 = 5;//RadioButton index_OP_VALUE2 = 7;//SLP_Number index_CHANGE_TYPE = 8;//RadioButton index_CHANGE_RATE = 10;//SLP_Number if (dtMain.Rows[i]["ASSIST_CODE"].ToString() == strAryAssistCode[k, 0]) { ((CheckBox)this.TabContainer1.Tabs[1].FindControl(strAryAssistCode[k, 1])).Checked = true; #region if (dtMain.Rows[i]["OPERATOR1"].ToString().Trim() == "1")// 大於等於(及) { index_OPERATOR1 = 2; } else if (dtMain.Rows[i]["OPERATOR1"].ToString().Trim() == "2")// 小於等於(或) { index_OPERATOR1 = 3; } else { index_OPERATOR1 = 13;//指定到空白控制項 } if (dtMain.Rows[i]["OPERATOR2"].ToString().Trim() == "1")// 大於等於(及) { index_OPERATOR2 = 5; } else if (dtMain.Rows[i]["OPERATOR2"].ToString().Trim() == "2")// 小於等於(或) { index_OPERATOR2 = 6; } else { index_OPERATOR2 = 13;//指定到空白控制項 } if (dtMain.Rows[i]["CHANGE_TYPE"].ToString().Trim() == "0")// 比例 { index_CHANGE_TYPE = 8; if (strAryAssistCode[k, 11] != "") ((Button)this.TabContainer1.Tabs[1].FindControl(strAryAssistCode[k, 11])).Enabled = false; if (strAryAssistCode[k, 12] != "") ((System.Web.UI.HtmlControls.HtmlInputHidden)this.TabContainer1.Tabs[1].FindControl(strAryAssistCode[k, 12])).Value = "0"; } else if (dtMain.Rows[i]["CHANGE_TYPE"].ToString().Trim() == "1")// 數量 { index_CHANGE_TYPE = 9; if (strAryAssistCode[k, 10] != "") ((WUI.SLP.SLPNumber)this.TabContainer1.Tabs[1].FindControl(strAryAssistCode[k, 10])).ReadOnly = true; if (strAryAssistCode[k, 11] != "") ((Button)this.TabContainer1.Tabs[1].FindControl(strAryAssistCode[k, 11])).Enabled = true; if (strAryAssistCode[k, 12] != "") ((System.Web.UI.HtmlControls.HtmlInputHidden)this.TabContainer1.Tabs[1].FindControl(strAryAssistCode[k, 12])).Value = "1"; } else { index_CHANGE_TYPE = 13;//指定到空白控制項 } #endregion if (strAryAssistCode[k, index_OPERATOR1] != "") ((RadioButton)this.TabContainer1.Tabs[1].FindControl(strAryAssistCode[k, index_OPERATOR1])).Checked = true; if (strAryAssistCode[k, index_OP_VALUE1] != "") ((WUI.SLP.SLPNumber)this.TabContainer1.Tabs[1].FindControl(strAryAssistCode[k, index_OP_VALUE1])).Text = dtMain.Rows[i]["OP_VALUE1"].ToString().Trim(); if (strAryAssistCode[k, index_OPERATOR2] != "") ((RadioButton)this.TabContainer1.Tabs[1].FindControl(strAryAssistCode[k, index_OPERATOR2])).Checked = true; if (strAryAssistCode[k, index_OP_VALUE2] != "") ((WUI.SLP.SLPNumber)this.TabContainer1.Tabs[1].FindControl(strAryAssistCode[k, index_OP_VALUE2])).Text = dtMain.Rows[i]["OP_VALUE2"].ToString().Trim(); if (strAryAssistCode[k, index_CHANGE_TYPE] != "") ((RadioButton)this.TabContainer1.Tabs[1].FindControl(strAryAssistCode[k, index_CHANGE_TYPE])).Checked = true; if (strAryAssistCode[k, index_CHANGE_RATE] != "") ((WUI.SLP.SLPNumber)this.TabContainer1.Tabs[1].FindControl(strAryAssistCode[k, index_CHANGE_RATE])).Text = dtMain.Rows[i]["CHANGE_RATE"].ToString().Trim(); break; } } } } if (dtDetl != null && dtDetl.Rows.Count > 0) { dtDisAssistDetlAll = dtDetl.Copy(); } #endregion #region ALOModel.MaintainDisAssist BCO2 = new ALOModel.MaintainDisAssist(ConnectionDB); ParameterList.Clear(); ParameterList.Add(Request.QueryString["DIS_NO"]); ParameterList.Add(Request.QueryString["ITEM"]); ParameterList.Add(Request.QueryString["PERIOD"]); ParameterList.Add(null); dtDisAssistMainALO131 = BCO2.QueryDisAssistMain(ParameterList); #endregion } catch (Exception ex) { ErrorMsgLabel.Text = ex.Message; } #endregion }
public void QueryDisAssistInfoByDisNo(ArrayList ParameterList, out DataTable dtAssistMain, out DataTable dtAssistDetl) { #region try { MaintainDisAssist BCO = new MaintainDisAssist(ConnectionDB); dtAssistMain = BCO.QueryDisAssistMain(ParameterList); dtAssistDetl = BCO.QueryDisAssistDetl(ParameterList); } catch (Exception ex) { throw GetNewException(ex); } #endregion }
private void GetAllOriginalDatatables() { #region try { #region ArrayList ParameterList1 = new ArrayList(); ParameterList1.Clear(); ParameterList1.Add(s_DISNO); ParameterList1.Add(s_ITEM); ParameterList1.Add(s_PERIOD); ParameterList1.Add(null);//CHAN_NO #region DIS_MAIN ALOModel.MaintainDisMain BCO1 = new ALOModel.MaintainDisMain(ConnectionDB); dtDisMainOld = BCO1.QueryByDisNo(ParameterList1); dtDisMain = dtDisMainOld.Copy(); //DataColumn[] PrimaryKeys11 = new DataColumn[1]; //PrimaryKeys11[0] = dtDisMainOld.Columns["DIS_NO"]; //dtDisMainOld.PrimaryKey = PrimaryKeys11; //DataColumn[] PrimaryKeys12 = new DataColumn[1]; //PrimaryKeys12[0] = dtDisMain.Columns["DIS_NO"]; //dtDisMain.PrimaryKey = PrimaryKeys12; #endregion #region DIS_ITEM ALOModel.MaintainDisItem BCO2 = new ALOModel.MaintainDisItem(ConnectionDB); dtDisItemOld = BCO2.QueryByDisNo(ParameterList1); dtDisItem = dtDisItemOld.Copy(); //DataColumn[] PrimaryKeys21 = new DataColumn[3]; //PrimaryKeys21[0] = dtDisItemOld.Columns["DIS_NO"]; //PrimaryKeys21[1] = dtDisItemOld.Columns["ITEM"]; //PrimaryKeys21[2] = dtDisItemOld.Columns["PERIOD"]; //dtDisItemOld.PrimaryKey = PrimaryKeys21; //DataColumn[] PrimaryKeys22 = new DataColumn[3]; //PrimaryKeys22[0] = dtDisItem.Columns["DIS_NO"]; //PrimaryKeys22[1] = dtDisItem.Columns["ITEM"]; //PrimaryKeys22[2] = dtDisItem.Columns["PERIOD"]; //dtDisItem.PrimaryKey = PrimaryKeys22; #endregion #region DIS_CHAN ALOModel.MaintainDisChan BCO3 = new ALOModel.MaintainDisChan(ConnectionDB); dtDisChanOld= BCO3.QueryDisChanFor111(ParameterList1); dtDisChan = dtDisChanOld.Copy(); //DataColumn[] PrimaryKeys31 = new DataColumn[4]; //PrimaryKeys31[0] = dtDisChanOld.Columns["DIS_NO"]; //PrimaryKeys31[1] = dtDisChanOld.Columns["ITEM"]; //PrimaryKeys31[2] = dtDisChanOld.Columns["PERIOD"]; //PrimaryKeys31[3] = dtDisChanOld.Columns["CHAN_NO"]; //dtDisChanOld.PrimaryKey = PrimaryKeys31; //DataColumn[] PrimaryKeys32 = new DataColumn[4]; //PrimaryKeys32[0] = dtDisChan.Columns["DIS_NO"]; //PrimaryKeys32[1] = dtDisChan.Columns["ITEM"]; //PrimaryKeys32[2] = dtDisChan.Columns["PERIOD"]; //PrimaryKeys32[3] = dtDisChan.Columns["CHAN_NO"]; //dtDisChan.PrimaryKey = PrimaryKeys32; #endregion #region DIS_ITEM_REFER ALOModel.MaintainDisItemRefer BCO4 = new ALOModel.MaintainDisItemRefer(ConnectionDB); dtDisItemReferOld = BCO4.QueryDisItemReferFor111(ParameterList1); dtDisItemRefer = dtDisItemReferOld.Copy(); //DataColumn[] PrimaryKeys41 = new DataColumn[5]; //PrimaryKeys41[0] = dtDisItemReferOld.Columns["DIS_NO"]; //PrimaryKeys41[1] = dtDisItemReferOld.Columns["ITEM"]; //PrimaryKeys41[2] = dtDisItemReferOld.Columns["PERIOD"]; //PrimaryKeys41[3] = dtDisItemReferOld.Columns["RITEM"]; //PrimaryKeys41[4] = dtDisItemReferOld.Columns["RPERIOD"]; //dtDisItemReferOld.PrimaryKey = PrimaryKeys41; //DataColumn[] PrimaryKeys42 = new DataColumn[5]; //PrimaryKeys42[0] = dtDisItemRefer.Columns["DIS_NO"]; //PrimaryKeys42[1] = dtDisItemRefer.Columns["ITEM"]; //PrimaryKeys42[2] = dtDisItemRefer.Columns["PERIOD"]; //PrimaryKeys42[3] = dtDisItemRefer.Columns["RITEM"]; //PrimaryKeys42[4] = dtDisItemRefer.Columns["RPERIOD"]; //dtDisItemRefer.PrimaryKey = PrimaryKeys42; #region gv_ItemRefer.DataSource = dtDisItemRefer; gv_ItemRefer.DataBind(); #endregion #endregion #region DIS_TYPE_TMP ALOModel.MaintainDisTypeTmp BCO5 = new ALOModel.MaintainDisTypeTmp(ConnectionDB); dtDisTypeTmpOld = BCO5.QueryDisTypeTmp(ParameterList1); dtDisTypeTmp = dtDisTypeTmpOld.Copy(); //DataColumn[] PrimaryKeys51 = new DataColumn[4]; //PrimaryKeys51[0] = dtDisTypeTmpOld.Columns["DIS_NO"]; //PrimaryKeys51[1] = dtDisTypeTmpOld.Columns["ITEM"]; //PrimaryKeys51[2] = dtDisTypeTmpOld.Columns["PERIOD"]; //PrimaryKeys51[3] = dtDisTypeTmpOld.Columns["DIS_TYPE"]; //dtDisTypeTmpOld.PrimaryKey = PrimaryKeys51; //DataColumn[] PrimaryKeys52 = new DataColumn[4]; //PrimaryKeys52[0] = dtDisTypeTmp.Columns["DIS_NO"]; //PrimaryKeys52[1] = dtDisTypeTmp.Columns["ITEM"]; //PrimaryKeys52[2] = dtDisTypeTmp.Columns["PERIOD"]; //PrimaryKeys52[3] = dtDisTypeTmp.Columns["DIS_TYPE"]; //dtDisTypeTmp.PrimaryKey = PrimaryKeys52; #endregion #region DIS_TYPE_109_TMP ALOModel.MaintainDisType109Tmp BCO6 = new ALOModel.MaintainDisType109Tmp(ConnectionDB); dtDisType109TmpOld = BCO6.QueryDisType109Tmp(ParameterList1); dtDisTypeTmp109 = dtDisType109TmpOld.Copy(); //DataColumn[] PrimaryKeys61 = new DataColumn[6]; //PrimaryKeys61[0] = dtDisType109TmpOld.Columns["DIS_NO"]; //PrimaryKeys61[1] = dtDisType109TmpOld.Columns["ITEM"]; //PrimaryKeys61[2] = dtDisType109TmpOld.Columns["PERIOD"]; //PrimaryKeys61[3] = dtDisType109TmpOld.Columns["RANK_CODE"]; //PrimaryKeys61[4] = dtDisType109TmpOld.Columns["RANK_LEVEL"]; ////PrimaryKeys61[5] = dtDisType109TmpOld.Columns["VENDOR"]; //PrimaryKeys61[5] = dtDisType109TmpOld.Columns["PATTERN_NO"]; //dtDisType109TmpOld.PrimaryKey = PrimaryKeys61; //DataColumn[] PrimaryKeys62 = new DataColumn[6]; //PrimaryKeys62[0] = dtDisTypeTmp109.Columns["DIS_NO"]; //PrimaryKeys62[1] = dtDisTypeTmp109.Columns["ITEM"]; //PrimaryKeys62[2] = dtDisTypeTmp109.Columns["PERIOD"]; //PrimaryKeys62[3] = dtDisTypeTmp109.Columns["RANK_CODE"]; //PrimaryKeys62[4] = dtDisTypeTmp109.Columns["RANK_LEVEL"]; ////PrimaryKeys62[5] = dtDisTypeTmp109.Columns["VENDOR"]; //PrimaryKeys62[5] = dtDisTypeTmp109.Columns["PATTERN_NO"]; //dtDisTypeTmp109.PrimaryKey = PrimaryKeys62; #endregion #region DIS_ASSIST ALOModel.MaintainDisAssist BCO7 = new ALOModel.MaintainDisAssist(ConnectionDB); dtDisAssistMainOld = BCO7.QueryDisAssistMain(ParameterList1); dtDisAssistMain = dtDisAssistMainOld.Copy(); //DataColumn[] PrimaryKeys71 = new DataColumn[4]; //PrimaryKeys71[0] = dtDisAssistMainOld.Columns["DIS_NO"]; //PrimaryKeys71[1] = dtDisAssistMainOld.Columns["ITEM"]; //PrimaryKeys71[2] = dtDisAssistMainOld.Columns["PERIOD"]; //PrimaryKeys71[3] = dtDisAssistMainOld.Columns["ASSIST_CODE"]; //dtDisAssistMainOld.PrimaryKey = PrimaryKeys71; //DataColumn[] PrimaryKeys72 = new DataColumn[4]; //PrimaryKeys72[0] = dtDisAssistMain.Columns["DIS_NO"]; //PrimaryKeys72[1] = dtDisAssistMain.Columns["ITEM"]; //PrimaryKeys72[2] = dtDisAssistMain.Columns["PERIOD"]; //PrimaryKeys72[3] = dtDisAssistMain.Columns["ASSIST_CODE"]; //dtDisAssistMain.PrimaryKey = PrimaryKeys72; #endregion #region DIS_REC ALOModel.MaintainDisTmpRec BCO8 = new ALOModel.MaintainDisTmpRec(ConnectionDB); ParameterList1.Clear(); ParameterList1.Add(s_ID); dtDisTmpRecOld = BCO8.QueryById(ParameterList1); dtDisTmpRec = dtDisTmpRecOld.Copy(); //DataColumn[] PrimaryKeys81 = new DataColumn[2]; //PrimaryKeys81[0] = dtDisTmpRecOld.Columns["ID"]; //PrimaryKeys81[1] = dtDisTmpRecOld.Columns["CODE"]; //dtDisTmpRecOld.PrimaryKey = PrimaryKeys81; //DataColumn[] PrimaryKeys82 = new DataColumn[2]; //PrimaryKeys82[0] = dtDisTmpRec.Columns["ID"]; //PrimaryKeys82[1] = dtDisTmpRec.Columns["CODE"]; //dtDisTmpRec.PrimaryKey = PrimaryKeys82; #endregion SetPrimaryKeyForDataTable(); #endregion } catch (Exception ex) { ErrorMsgLabel.Text = ex.Message; } #endregion }