Ejemplo n.º 1
0
        /// <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
        }
Ejemplo n.º 2
0
    /// <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
    }
Ejemplo n.º 3
0
        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
        }
Ejemplo n.º 4
0
    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
    }