예제 #1
0
    private void databind()
    {
        #region

        ErrorMsgLabel.Text = "";

        string TOTAL_DIS_QTY = "";

        string SessionIDName = string.Format("{0}", PAGE_DT_01);

        PURModel.PUR09_BCO BCO = new PURModel.PUR09_BCO(ConnectionDB);
        ParameterList.Clear();
        ParameterList.Add(this.SLP_ACCEPT_DATE.Text);
        ParameterList.Add(this.SLP_ITEM.Text);
        ParameterList.Add(this.SLP_PERIOD.Text);

        DataTable Dt = BCO.QueryAloItemNum(ParameterList, out TOTAL_DIS_QTY);  

        LabelQueryRecordCount.Text = "合計:" + TOTAL_DIS_QTY; 

        GridView1.DataSource = Dt;
        Session[SessionIDName] = Dt;
        GridView1.DataBind();

        if (Dt == null || (Dt != null && Dt.Rows.Count <= 0))
        {
            ErrorMsgLabel.Text = "查無資料";            
        }
        #endregion
    }
예제 #2
0
        /// <summary>
        /// PIU08_1報表(列印鈕)
        /// </summary>
        /// <param name="ParameterList">變數清單</param>        
        /// <returns>回傳查詢結果</returns>
        public DataTable PUR09_1(ArrayList ParameterList)
        {

            #region

            PURModel.PUR09_BCO BCO = new PURModel.PUR09_BCO(ConntionDB);
            DataTable Dt = BCO.QuerySwitch(PURModel.PUR09_BCO.QueryType.QueryByPrint,ParameterList);

            if (Dt.Rows.Count == 0)
            {
                throw new Exception("查無資料");
            }
            else
            {
                return Dt;
            }

            #endregion
        }
예제 #3
0
 /// <summary>
 /// 異動VDS_PUR_PICK_CONTROL_CHK,變更使用者鎖定編輯(為了保原使用者資訊)
 /// </summary>
 /// <param name="UID">原始使用者</param>
 /// <param name="oldTime">原始異動時間</param>
 /// <param name="newTime">建立時間</param>
 private void UpdateControlChk(string UID, string oldTime, string newTime)
 {
     try
     {
         ParameterList.Clear();
         ParameterList.Add(txtPLAN_ACCEPT_DATE.Text);
         ParameterList.Add(txtPICK_BATCH.Text);
         ParameterList.Add(UID);
         ParameterList.Add(oldTime);
         ParameterList.Add(Session["UID"].ToString());
         ParameterList.Add(newTime);
         PURModel.PUR09_BCO BCO = new PURModel.PUR09_BCO(ConntionDB);
         BCO.UpdateControlChk(ParameterList, null);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #4
0
 /// <summary>
 /// 新增VDS_PUR_PICK_CONTROL_CHK,鎖定編輯
 /// </summary>
 /// <param name="newTime">建立時間</param>
 private void InsertControlChk(string strLockTime)
 {
     try
     {
         ParameterList.Clear();
         ParameterList.Add(txtPLAN_ACCEPT_DATE.Text);
         ParameterList.Add(txtPICK_BATCH.Text);
         ParameterList.Add(Session["UID"].ToString());
         ParameterList.Add(strLockTime);
         PURModel.PUR09_BCO BCO = new PURModel.PUR09_BCO(ConntionDB);
         BCO.InsertControlChk(ParameterList, null);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #5
0
 /// 取得該日期、批號是否有人在編輯
 /// <returns>false:無人使用、true:使用中,不可編輯</returns>
 private DataTable getControlChk()
 {
     try
     {
         ParameterList.Clear();
         ParameterList.Add(txtPLAN_ACCEPT_DATE.Text);
         ParameterList.Add(txtPICK_BATCH.Text);
         PURModel.PUR09_BCO BCO = new PURModel.PUR09_BCO(ConntionDB);
         return BCO.QueryControlChk(ParameterList);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #6
0
    // 存檔
    protected void btnSave_Click(object sender, EventArgs e)
    {
        panAdd.Visible = false;
        btnInsertItem.Enabled = true;
        GridView1.AllowSorting = true; //解除新增狀態時禁止排序

        try
        {
            WriteCache();
            if (GridView1.Rows.Count <= 0)
            {
                ErrorMsgLabel.Text = "請輸入資料";
                return;
            }
            else
            {
                if (Session["PUR091_MST" + PageTimeStamp.Value] == null | Session["PUR091_MST" + PageTimeStamp.Value] == "")
                    return;

                DataTable dtMST = (DataTable)Session["PUR091_MST" + PageTimeStamp.Value];

                if (this.CheckDetailData(dtMST))   //判斷Grid資料是否有重覆
                {
                    try
                    {
                        DeleteControlChk(Session["UID"].ToString(), Session["LockTime" + PageTimeStamp.Value].ToString());//取消對ControlChk的鎖定編輯                        
                    }
                    catch (Exception Ex)
                    {
                        DataTable dtCheck = getControlChk();
                        if (dtCheck.Rows.Count > 0)
                        {
                            if (Ex.Message.IndexOf("刪除資料失敗") > 0)
                            {
                                ErrorMsgLabel.Text = "資料已被" + dtCheck.Rows[0]["UPDATEUID"].ToString() + "鎖定,請按「取消」後重新操作";
                                return;
                            }
                        }
                        else
                            if (Ex.Message.IndexOf("刪除資料失敗") > 0)
                            {
                                ErrorMsgLabel.Text = "資料已被他人異動過,請按「取消」後重新操作";
                                return;
                            }
                    }

                    Session["LockTime" + PageTimeStamp.Value] = "";
                    DataTable dtPick = (DataTable)Session["PUR091_Pick" + PageTimeStamp.Value];

                    string strPLAN_ACCEPT_DATE = this.txtPLAN_ACCEPT_DATE.Text;
                    string strPICK_BATCH = this.txtPICK_BATCH.Text;

                    PURModel.PUR09_BCO BCO = new PURModel.PUR09_BCO(ConntionDB);
                    ParameterList.Clear();
                    ParameterList.Add(strPLAN_ACCEPT_DATE);
                    ParameterList.Add(strPICK_BATCH);
                    ParameterList.Add(Session["UID"].ToString());
                    ParameterList.Add(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));

                    BCO.SaveData(ParameterList, dtMST, dtPick, ViewState["DelDataType"].ToString());
                }
                else
                {
                    return;
                }

                ViewState["ChkAll"] = "0"; //解除刪除全選狀態

                this.hid_PageStatus.Text = "VIEW";
                Session["PageStatus" + PageTimeStamp.Value] = hid_PageStatus.Text;

                SLP_ItemFilter.Text = "";
                lblFilter.Text = "";
                //重新查詢
                ShowData();
            }
        }
        catch (Exception ex)
        {
            if (ex.Message.IndexOf("資料已被他人異動") > 0)
                ErrorMsgLabel.Text = "資料已被他人異動,請重新查詢";
            else
                ErrorMsgLabel.Text = ex.Message;
        }
    }
예제 #7
0
    //檢查輸入的日期是否可用,配本後即不可編輯及新增
    private bool CheckDateValid()
    {
        bool bResult = true;
        PURModel.PUR09_BCO PUR = new PURModel.PUR09_BCO(ConntionDB);

        //判斷
        ParameterList.Clear();
        ParameterList.Add(GetValueSetParameter(this.txtPLAN_ACCEPT_DATE.Text, "string", false));
        ParameterList.Add(GetValueSetParameter(this.txtPICK_BATCH.Text, "string", false));
        if (PUR.CheckStAcceptData(ParameterList) == "0")
        {
            ErrorMsgLabel.Text = "門市進貨日及批次已轉門市進貨單,不可修改出貨品項明細資料 !!";
            bResult = false;
        }
        return bResult;
    }
예제 #8
0
    // 列印
    protected void btnPrint_Click(object sender, EventArgs e)
    {
        ErrorMsgLabel.Text = "";

        try
        {
            PURModel.PUR09_BCO BCO = new PURModel.PUR09_BCO(ConntionDB);

            string vPICK_SELECT_1 = "0";
            string vPICK_SELECT_2 = "0";

            //固定傳 1
            vPICK_SELECT_1 = "1";
            vPICK_SELECT_2 = "1";

            ParameterList.Clear();
            ParameterList.Add(GetValueSetParameter(this.txtPLAN_ACCEPT_DATE.Text, "string", false));
            ParameterList.Add(GetValueSetParameter(this.txtPICK_BATCH.Text, "string", false));
            ParameterList.Add(GetValueSetParameter(vPICK_SELECT_1, "int", false));
            ParameterList.Add(GetValueSetParameter(vPICK_SELECT_2, "int", false));

            DataTable Dt_Print = BCO.QuerySwitch(PURModel.PUR09_BCO.QueryType.QueryByPrint, ParameterList);

            if (Dt_Print.Rows.Count == 0)
            {
                ScriptManager.RegisterStartupScript(Page, this.GetType(), "PUR091.aspx", "alert(' 查無資料 ');", true);

                return;
            }
            ShowReport(Dt_Print);
        }
        catch (Exception ex)
        {
            ErrorMsgLabel.Text = ex.Message;
        }
        finally { }
    }
예제 #9
0
    //指定日期匯入(續)
    private void LoadFromDate1(string importDate)
    {
        string vPICK_SELECT_1 = "0";
        string vPICK_SELECT_2 = "0";

        if (this.chkPICK_SELECT_1.Checked == true) //正常品
            vPICK_SELECT_1 = "1";
        if (this.chkPICK_SELECT_2.Checked == true) //客服查補
            vPICK_SELECT_2 = "1";

        DataTable dtMST = new DataTable();

        //第一次查詢,為了餵給BCO.InsertMaster Dt資料
        ParameterList.Clear();
        ParameterList.Add(GetValueSetParameter(importDate, "string", false));
        ParameterList.Add(GetValueSetParameter("1", "int", false)); //只取得正常品的資料
        ParameterList.Add(GetValueSetParameter("0", "int", false));
        ParameterList.Add(GetValueSetParameter(Session["UID"].ToString(), "string", false));
        ParameterList.Add(GetValueSetParameter(DateTime.Now.ToString(), "datetime", false));
        PURModel.PUR09_BCO BCO = new PURModel.PUR09_BCO(ConntionDB);
        DataTable dtQuery = BCO.QuerySwitch(PURModel.PUR09_BCO.QueryType.QueryByLOAD, ParameterList);//PKG_VDS_PUR_PUR09.LoadDeliveryGoods

        if (Session["PUR091_MST" + PageTimeStamp.Value] != null && Session["PUR091_MST" + PageTimeStamp.Value] != "")
            dtMST = (DataTable)Session["PUR091_MST" + PageTimeStamp.Value];

        string msg = "";
        bool bDel = false;
        //已存在的資料就不再寫入了

        for (int i = 0; i < dtQuery.Rows.Count; i++)
        {
            bDel = false;
            dtQuery.Rows[i]["ST_ACCEPT_DATE"] = txtPLAN_ACCEPT_DATE.Text;

            if (dtMST.Rows.Count > 0)
            {
                DataRow[] FindExists = dtMST.Select("VIRTUAL_CODE = '" + dtQuery.Rows[i]["VIRTUAL_CODE"].ToString() + "' and PERIOD = '" + dtQuery.Rows[i]["PERIOD"].ToString() + "'");
                if (FindExists.Length > 0)
                {
                    msg += "品號: " + dtQuery.Rows[i]["VIRTUAL_CODE"].ToString() + " 期別:" + dtQuery.Rows[i]["PERIOD"].ToString() + " 已存在門市進貨日:" + txtPLAN_ACCEPT_DATE.Text + " 同批次中 <br \\>";
                    dtQuery.Rows[i].Delete();
                    bDel = true;
                }
            }
            if (bDel == false)
            {
                string strCheckMsg = ChkDupData(txtPLAN_ACCEPT_DATE.Text, dtQuery.Rows[i]["VIRTUAL_CODE"].ToString(), dtQuery.Rows[i]["PERIOD"].ToString(), txtPICK_BATCH.Text.Trim(), ViewState["DelDataType"].ToString());
                if (strCheckMsg != "")
                {
                    msg += strCheckMsg;
                    dtQuery.Rows[i].Delete();
                }
            }
        }

        dtQuery.AcceptChanges();

        if (msg != "") ErrorMsgLabel.Text = msg;

        if (dtQuery.Rows.Count > 0)
        {
            if (hid_PageStatus.Text == "EMPTY")
                hid_PageStatus.Text = "EDIT";

            LoadFromDate2(dtQuery);
        }
        else
        {
            if (msg == "") ErrorMsgLabel.Text = "無資料可載入 !!";
        }
    }
예제 #10
0
    //加入新增明細的通路管制明細資料
    //bNew為完全新增
    private void AddNewChannel(string strVirtualCode, string strPERIOD, string strPLAN_ACCEPT_DATE, string strPICK_BATCH, string strFrom_DB, string strPICK_SELECT)
    {
        ParameterList.Clear();
        ParameterList.Add(strVirtualCode);
        ParameterList.Add(strPERIOD);
        ParameterList.Add(strPLAN_ACCEPT_DATE);
        ParameterList.Add(strPICK_BATCH);

        DataTable dtNew = new DataTable();
        PURModel.PUR09_BCO BCO = new PURModel.PUR09_BCO(ConntionDB);

        dtNew = BCO.LoadChannelPickNew(ParameterList);

        if (strFrom_DB != "")
        {
            foreach (DataRow dr in dtNew.Rows)
            {
                dr["From_DB"] = strFrom_DB;
            }
        }
        if (strPICK_SELECT != "")
        {
            foreach (DataRow dr in dtNew.Rows)
            {
                dr["PICK_SELECT"] = strPICK_SELECT;
            }
        }
        if (Session["PUR091_Pick" + PageTimeStamp.Value] == null)
        {
            Session["PUR091_Pick" + PageTimeStamp.Value] = dtNew;
        }
        else
        {
            DataTable dt = (DataTable)Session["PUR091_Pick" + PageTimeStamp.Value];
            dt.Merge(dtNew);
            dtNew.AcceptChanges();
        }
    }
예제 #11
0
    private DataTable GetErrorData(string strDate, string strUID)
    {
        DataTable dtResult = new DataTable();

        ArrayList ParameterList = new ArrayList();
        ParameterList.Clear();
        ParameterList.Add(strUID);
        ParameterList.Add(strDate);
        ParameterList.Add("2");

        BSM_PUR.PUR09_BCO BCO = new BSM_PUR.PUR09_BCO(ConnectionDB);

        dtResult = BCO.QueryTemp(ParameterList);

        return dtResult;
    }
예제 #12
0
    private void TempToSession()
    {
        //從TMP取出放在Session內,等關掉視窗時在丟給PUR091_MST的SESSION
        Session["PUR095_" + Request["PageTimeStamp"].ToString()] = null;
        ErrorMsgLabel.Text = "";

        DataTable dt = new DataTable();

        ArrayList ParameterList = new ArrayList();
        ParameterList.Clear();
        ParameterList.Add(Session["UID"].ToString());
        ParameterList.Add("");
        ParameterList.Add("");

        BSM_PUR.PUR09_BCO BCO = new BSM_PUR.PUR09_BCO(ConnectionDB);

        dt = BCO.QueryTemp(ParameterList);

        ArrayList arl_Return = new ArrayList();

        arl_Return.Add(dt.Rows.Count.ToString());

        DataRow[] FindRows = dt.Select("DATATYPE=1");
        arl_Return.Add(FindRows.Length);

        FindRows = dt.Select("DATATYPE=2");
        arl_Return.Add(FindRows.Length);


        //上傳結果
        this.UploadStatusPanel1.UploadSum = 0;
        this.UploadStatusPanel1.UploadOK = 0;
        this.UploadStatusPanel1.UploadNG = 0;
        //匯入結果
        this.UploadStatusPanel1.ImportSum = int.Parse(arl_Return[0].ToString());
        this.UploadStatusPanel1.ImportOK = int.Parse(arl_Return[1].ToString());
        this.UploadStatusPanel1.ImportNG = int.Parse(arl_Return[2].ToString());

        if (int.Parse(arl_Return[0].ToString()) == int.Parse(arl_Return[1].ToString()))
        {
            Session["PUR095_" + Request["PageTimeStamp"].ToString()] = dt;
            ErrorMsgLabel.Text = "[執行匯入]成功,資料已匯入。";
        }
        else if (int.Parse(arl_Return[0].ToString()) != int.Parse(arl_Return[1].ToString()))
        {
            ErrorMsgLabel.Text = "[執行匯入]失敗,請檢視異常報表!";
        }
        this.btn_File_To_Temp.Enabled = true;
        this.btn_Unusual_Report.Enabled = true;
        this.btnQuery.Enabled = true;

    }
예제 #13
0
    private void ClientFileToServerTemp()
    {
        #region
        ErrorMsgLabel.Text = "";
        if (FileUpload1.FileName != "")
        {
            try
            {
                this.ErrorMsgLabel.Text = "";
                //LockPage();
                System.Threading.Thread.Sleep(2000);
                string s_UploadPath = string.Empty;
                string s_BackPath = string.Empty;

                ArrayList arl_FileUpload_Return = null;
                ArrayList arl_FileToTmp_Return = null;
                System.Text.StringBuilder sb = new System.Text.StringBuilder();
                BSM_PUR.PUR09_BCO BCO = new BSM_PUR.PUR09_BCO(ConnectionDB);

                #region 上傳檔案到AP端
                //取得要上傳的路徑
                s_UploadPath = Server.MapPath("..\\..\\") + System.Configuration.ConfigurationManager.AppSettings["UploadPath"] + "\\PUR\\";

                string strOrg_FileName = FileUpload1.FileName;//原始的檔名

                arl_FileUpload_Return = BCO.FileUpload(s_UploadPath, this.FileUpload1, Session["UID"].ToString());
                #endregion

                if (arl_FileUpload_Return[0].ToString() == "FALSE")//檔案上傳至AP端錯誤
                {
                    sb.Append("檔案上傳至AP端錯誤<br/>");
                    this.ErrorMsgLabel.Text = sb.ToString();
                    #region 清空 UploadStatusPanel 的值
                    //上傳結果
                    this.UploadStatusPanel1.UploadSum = 0;
                    this.UploadStatusPanel1.UploadOK = 0;
                    this.UploadStatusPanel1.UploadNG = 0;
                    //匯入結果
                    this.UploadStatusPanel1.ImportSum = 0;
                    this.UploadStatusPanel1.ImportOK = 0;
                    this.UploadStatusPanel1.ImportNG = 0;
                    #endregion
                    return;
                }
                else if (arl_FileUpload_Return[0].ToString() == "TRUE")//檔案上傳至AP端正常
                {
                    #region
                    #region 讀取 Excel 資料
                    OleDbConnection oleConnection = null;
                    DataSet ds_Excel = new DataSet();

                    try
                    {
                        String connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + arl_FileUpload_Return[1].ToString() + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";
                        oleConnection = new OleDbConnection(connString);
                        oleConnection.Open();
                        OleDbCommand oleCommand = new OleDbCommand("SELECT * FROM [Sheet1$]", oleConnection);
                        OleDbDataAdapter oleAdapter = new OleDbDataAdapter(oleCommand);
                        oleAdapter.Fill(ds_Excel);

                        #region 請注意如果EXCEL檔欄位有值,但到DB卻沒有資料
                        //請修改,機碼 HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\Engines\Excel\TypeGuessRows 值
                        //預設是 8, 表示會先讀取前 8 列來決定每一個欄位的型態, 所以如果前 8 列的資料都是數字, 到了第 9 列以後出現的文字資料都會變成 null
                        //如果要解決這個問題, 只要把 TypeGuessRows 機碼值改成 0
                        #endregion
                    }
                    catch (Exception ex)
                    {
                        this.ErrorMsgLabel.Text = ex.Message;
                    }
                    finally
                    {
                        if (oleConnection != null)
                        {
                            oleConnection.Close();
                            oleConnection.Dispose();
                        }
                    }
                    #endregion

                    #region 將檔案匯入TmpTable
                    DateTime d_CreateDate = Convert.ToDateTime(arl_FileUpload_Return[2]);
                    s_AP_FileName = string.Empty;
                    s_AP_FileName = arl_FileUpload_Return[3].ToString();

                    string strKind = "0";

                    if (this.chkPICK_SELECT_1.Checked == true) //正常品
                        strKind = "1";
                    else if (this.chkPICK_SELECT_2.Checked == true) //客服查補
                        strKind = "2";

                    DataTable dtExist = new DataTable();
                    if ((Session["PUR091_MST" + Request["PageTimeStamp"].ToString()] == null) || (Session["PUR091_MST" + Request["PageTimeStamp"].ToString()] == ""))
                        dtExist = null;
                    else
                        dtExist = (DataTable)Session["PUR091_MST" + Request["PageTimeStamp"].ToString()];

                    arl_FileToTmp_Return = BCO.FileToTmp(ds_Excel, Session["UID"].ToString(), txtPLAN_ACCEPT_DATE.Text, strKind, txtPICK_BATCH.Text, ConnectionDB, strOrg_FileName, dtExist);

                    if (arl_FileToTmp_Return[0].ToString() == "TRUE")
                    {
                        #region 將資料從 UploadPath 移至 BackPath
                        s_BackPath = Server.MapPath("..\\..\\") + System.Configuration.ConfigurationManager.AppSettings["BackPath"] + "\\PUR\\";

                        # region 檢查檔案路徑是否存在,如不存在新增相關路徑
                        if (Directory.Exists(s_BackPath) == false)
                        {
                            try
                            {
                                Directory.CreateDirectory(s_BackPath);
                            }
                            catch (Exception except)
                            {
                                throw new System.Exception(String.Format("不能建立文件目錄{0},錯誤訊息為{1}", s_BackPath, except.Message));
                            }
                        }
                        #endregion

                        s_UploadPath += s_AP_FileName;
                        s_BackPath += s_AP_FileName;
                        System.IO.File.Copy(s_UploadPath, s_BackPath);
                        System.IO.File.Delete(s_UploadPath);
                        #endregion

                        this.btn_Unusual_Report.Enabled = true;

                    }
                    #endregion
                    #endregion
                }
                #region 將結果顯示在 UploadStatusPanel 中

                if (arl_FileToTmp_Return[0].ToString() == "ERROR")
                {
                    this.UploadStatusPanel1.UploadSum = 0;
                    this.UploadStatusPanel1.UploadOK = 0;
                    this.UploadStatusPanel1.UploadNG = 0;
                    ErrorMsgLabel.Text = arl_FileToTmp_Return[1].ToString();
                }
                else //FALSE TRUE
                {
                    //上傳結果
                    this.UploadStatusPanel1.UploadSum = ((int)arl_FileToTmp_Return[1]);
                    this.UploadStatusPanel1.UploadOK = ((int)arl_FileToTmp_Return[2]);
                    this.UploadStatusPanel1.UploadNG = ((int)arl_FileToTmp_Return[3]);
                    if ((int)arl_FileToTmp_Return[1] == 0)
                    {
                        ErrorMsgLabel.Text = "[匯入]失敗,請檢查匯入檔案是否為空檔!";
                    }
                    else if ((int)arl_FileToTmp_Return[1] == (int)arl_FileToTmp_Return[2])
                    {
                        //ErrorMsgLabel.Text = "[匯入]成功,請繼續[執行匯入]的功能。";
                        TempToSession();
                    }
                    else if ((int)arl_FileToTmp_Return[1] != (int)arl_FileToTmp_Return[2])
                    {
                        ErrorMsgLabel.Text = "[匯入]失敗,請檢視異常報表!";
                    }
                #endregion
                }

            }
            catch (Exception ex)
            {
                this.ErrorMsgLabel.Text = ex.Message;
            }
        }
        #endregion
    }
예제 #14
0
 /// <summary>
 /// 刪除VDS_PUR_PICK_CONTROL_CHK,取消鎖定編輯
 /// </summary>
 /// <param name="oldUID">原始使用者</param>
 /// <param name="oldTime">原始異動時間</param>
 private void DeleteControlChk(string oldUID, string oldTime)
 {
     try
     {
         ParameterList.Clear();
         ParameterList.Add(txtPLAN_ACCEPT_DATE.Text);
         ParameterList.Add(txtPICK_BATCH.Text);
         ParameterList.Add(oldUID);
         ParameterList.Add(oldTime);
         PURModel.PUR09_BCO BCO = new PURModel.PUR09_BCO(ConntionDB);
         BCO.DeleteControlChk(ParameterList, null);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #15
0
    // 檢核資料是否已存在DB 
    private string ChkDupData(string strST_ACCEPT_DATE, string strVIRTUAL_CODE, string strPeriod, string strPick_Batch, string strDelDataType)
    {
        string strResult = string.Empty;
        PURModel.PUR09_BCO BCO = new PURModel.PUR09_BCO(ConntionDB);
        ParameterList.Clear();
        ParameterList.Add(strST_ACCEPT_DATE); //門市進貨日
        ParameterList.Add(strVIRTUAL_CODE);   //虛擬品號
        ParameterList.Add(strPeriod);         //期別        
        string V_PICK_BATCH = "";
        string V_DATATYPE = ""; //空的 0,1,2,3(包含1和2)

        //strDelDataType 為要刪除的類別 只有1跟2需要判斷
        BCO.ChkDupData(ParameterList, out V_PICK_BATCH, out V_DATATYPE);
        if (V_PICK_BATCH != "")
        {
            if (V_PICK_BATCH == strPick_Batch)
            {
                if ((strDelDataType == "0") || (strDelDataType == "") || (V_DATATYPE == "0"))
                {
                    strResult = "品號: " + strVIRTUAL_CODE + " 期別:" + strPeriod + " 已存在門市進貨日:" + strST_ACCEPT_DATE + " 同批次中 <br \\>";
                }
                else
                {
                    if (!((strDelDataType == V_DATATYPE) || (strDelDataType == "3")))
                        strResult = "品號: " + strVIRTUAL_CODE + " 期別:" + strPeriod + " 已存在門市進貨日:" + strST_ACCEPT_DATE + " 同批次中 <br \\>";
                }
            }
            else
            {
                strResult = "品號: " + strVIRTUAL_CODE + " 期別:" + strPeriod + " 已存在門市進貨日:" + strST_ACCEPT_DATE + " 批次: " + V_PICK_BATCH + " 中 <br \\>";
            }

        }
        else
        {
            //進行品項載入和資料匯入時,初始SESSION是空的,所以應該不會檢查到有重覆
            //檢核Session重複
            if (Session["PUR091_MST" + PageTimeStamp.Value] != "" && Session["PUR091_MST" + PageTimeStamp.Value] != null)
            {
                DataTable dtMST = (DataTable)Session["PUR091_MST" + PageTimeStamp.Value];
                DataRow[] FindRows = dtMST.Select("VIRTUAL_CODE = '" + strVIRTUAL_CODE + "' and PERIOD = '" + strPeriod + "'");
                if (FindRows.Length > 0)
                {
                    strResult = "品號: " + strVIRTUAL_CODE + " 期別:" + strPeriod + " 已存在門市進貨日:" + strST_ACCEPT_DATE + " 同批次中 <br \\>";
                }
            }
        }


        return strResult;
    }
예제 #16
0
    private void ShowData()
    {
        ErrorMsgLabel.Text = "";


        //抓取本頁初次登記的時間            
        Session["PUR091_MST" + PageTimeStamp.Value] = null;
        Session["PUR091_Pick" + PageTimeStamp.Value] = null;

        PURModel.PUR09_BCO BCO = new PURModel.PUR09_BCO(ConntionDB);

        string v_PICK_CNT = "0";
        string v_RESTRAIN_CNT = "0";
        string vPICK_SELECT_1 = "0";
        string vPICK_SELECT_2 = "0";

        //固定傳 1
        vPICK_SELECT_1 = "1";
        vPICK_SELECT_2 = "1";

        ParameterList.Clear();
        ParameterList.Add(GetValueSetParameter(this.txtPLAN_ACCEPT_DATE.Text, "string", false));
        ParameterList.Add(GetValueSetParameter(this.txtPICK_BATCH.Text, "string", false));
        ParameterList.Add(GetValueSetParameter(vPICK_SELECT_1, "int", false));
        ParameterList.Add(GetValueSetParameter(vPICK_SELECT_2, "int", false));
        ParameterList.Add(getDataType());
        //QueryByFind
        DataTable Dt = BCO.QueryDeliveryGoodsByFind(ParameterList, out v_PICK_CNT, out v_RESTRAIN_CNT);

        Session["PUR091_MST" + PageTimeStamp.Value] = Dt;

        if (Dt == null || (Dt != null && Dt.Rows.Count <= 0))
        {
            GridView1.DataSource = null;
            ErrorMsgLabel.Text = "查無資料";
            LabelQueryRecordCount.Text = "";
            hid_PageStatus.Text = "EMPTY";
            SetToolBar(true, false, false, false, false);
        }
        else
        {
            GridView1.DataSource = Dt;
            hid_PageStatus.Text = "VIEW";
            SetToolBar(true, false, false, true, false);
        }
        GridView1.DataBind();

        string outPick = "", outRestrain = "";

        getGridPickCnt(out outPick, out outRestrain);

        LabelQueryRecordCount.Text = "品項數:理貨品:" + outPick + " 筆 管制品:" + outRestrain + " 筆";

        this.hid_PICK_CNT.Value = v_PICK_CNT;

        this.hid_RESTRAIN_CNT.Value = v_RESTRAIN_CNT;

        SetPageStatus();
        UpdatePanel1.Update();
    }
예제 #17
0
    //GridView管制/理貨鈕
    protected void rdoPICK_SELECT_CheckedChanged(object sender, EventArgs e)
    {
        RadioButton btn = sender as RadioButton;
        GridViewRow gr = (btn.BindingContainer as GridViewRow);
        int i = gr.RowIndex;

        string Item_Name = ((TextBox)GridView1.Rows[i].FindControl("txtVIRTUAL_NAME")).Text;

        ParameterList.Clear();
        ParameterList.Add(((TextBox)GridView1.Rows[i].FindControl("txtVIRTUAL_CODE")).Text);
        ParameterList.Add(((TextBox)GridView1.Rows[i].FindControl("txt_PERIOD")).Text);
        ParameterList.Add(txtPLAN_ACCEPT_DATE.Text);
        ParameterList.Add(txtPICK_BATCH.Text);

        PURModel.PUR09_BCO BCO = new PURModel.PUR09_BCO(ConntionDB);
        DataTable Dt = BCO.LoadChannelPick(ParameterList);

        DataTable dt = (DataTable)Session["PUR091_Pick" + PageTimeStamp.Value];
        if (dt != null)
            if (dt.Rows.Count > 0)
            {
                DataRow[] drs = dt.Select("VIRTUAL_CODE='" + ((TextBox)GridView1.Rows[i].FindControl("txtVIRTUAL_CODE")).Text + "' and PERIOD='" + ((TextBox)GridView1.Rows[i].FindControl("txt_PERIOD")).Text + "'");
                if (drs.Length != 0)
                    foreach (DataRow dr in drs)
                        dr["PICK_SELECT"] = ((RadioButton)GridView1.Rows[i].FindControl("rdoPICK_SELECT1")).Checked ? "2" : "1";
                else
                {
                    foreach (DataRow dr in Dt.Rows)
                        dr["PICK_SELECT"] = ((RadioButton)GridView1.Rows[i].FindControl("rdoPICK_SELECT1")).Checked ? "2" : "1";
                    dt.Merge(Dt);
                }
                Session["PUR091_Pick" + PageTimeStamp.Value] = dt;
            }
            else
            {
                foreach (DataRow dr in Dt.Rows)
                    dr["PICK_SELECT"] = ((RadioButton)GridView1.Rows[i].FindControl("rdoPICK_SELECT1")).Checked ? "2" : "1";
                Session["PUR091_Pick" + PageTimeStamp.Value] = Dt;
            }
        else
        {
            foreach (DataRow dr in Dt.Rows)
                dr["PICK_SELECT"] = ((RadioButton)GridView1.Rows[i].FindControl("rdoPICK_SELECT1")).Checked ? "2" : "1";
            Session["PUR091_Pick" + PageTimeStamp.Value] = Dt;
        }

        if (((RadioButton)GridView1.Rows[i].FindControl("rdoPICK_SELECT1")).Checked)
        {
            ((Button)GridView1.Rows[i].FindControl("btn_GV2_Set")).Enabled = true;
            ((Label)GridView1.Rows[i].FindControl("PICK_SELECT")).Text = "2";
        }
        else if (((RadioButton)GridView1.Rows[i].FindControl("rdoPICK_SELECT2")).Checked)
        {
            ((Button)GridView1.Rows[i].FindControl("btn_GV2_Set")).Enabled = true;
            ((Label)GridView1.Rows[i].FindControl("PICK_SELECT")).Text = "1";
        }
        DataTable DetailDt = (DataTable)Session["PUR091_MST" + PageTimeStamp.Value];
        DataRow[] Drs;
        if (panAdd.Visible == true)
            Drs = DetailDt.Select("VIRTUAL_CODE=''");
        else
            Drs = DetailDt.Select("VIRTUAL_CODE='" + ((TextBox)GridView1.Rows[i].FindControl("txtVIRTUAL_CODE")).Text + "' and PERIOD='" + ((TextBox)GridView1.Rows[i].FindControl("txt_PERIOD")).Text + "'");

        Drs[0]["PICK_SELECT"] = ((RadioButton)GridView1.Rows[i].FindControl("rdoPICK_SELECT1")).Checked ? "2" : "1";
        Session["PUR091_MST" + PageTimeStamp.Value] = DetailDt;

        string outPick = "", outRestrain = "";
        getGridPickCnt(out outPick, out outRestrain);
        LabelQueryRecordCount.Text = "品項數:理貨品:" + outPick + " 筆 管制品:" + outRestrain + " 筆";
    }
예제 #18
0
    // 品項載入(續)
    private void Item_Load2()
    {
        string vPICK_SELECT_1 = "0";
        string vPICK_SELECT_2 = "0";

        if (this.chkPICK_SELECT_1.Checked == true) //正常品
        {
            vPICK_SELECT_1 = "1";
            ViewState["DelDataType"] = "1";
        }
        if (this.chkPICK_SELECT_2.Checked == true) //客服查補
        {
            vPICK_SELECT_2 = "1";
            ViewState["DelDataType"] = "2";
        }

        if ((vPICK_SELECT_1 == "1") && (vPICK_SELECT_2 == "1"))
            ViewState["DelDataType"] = "3";

        Session["PUR091_Pick" + PageTimeStamp.Value] = null;

        //第一次查詢,PKG_VDS_PUR_PUR09.LoadDeliveryGoods
        ParameterList.Clear();
        ParameterList.Add(GetValueSetParameter(this.txtPLAN_ACCEPT_DATE.Text, "string", false));
        ParameterList.Add(GetValueSetParameter(vPICK_SELECT_1, "int", false));
        ParameterList.Add(GetValueSetParameter(vPICK_SELECT_2, "int", false));
        ParameterList.Add(GetValueSetParameter(Session["UID"].ToString(), "string", false));
        ParameterList.Add(GetValueSetParameter(DateTime.Now.ToString(), "datetime", false));
        PURModel.PUR09_BCO BCO = new PURModel.PUR09_BCO(ConntionDB);
        DataTable Dt = BCO.QuerySwitch(PURModel.PUR09_BCO.QueryType.QueryByLOAD, ParameterList);

        string msg = "";
        for (int i = 0; i < Dt.Rows.Count; i++)
        {
            string strCheckMsg = ChkDupData(Dt.Rows[i]["ST_ACCEPT_DATE"].ToString(), Dt.Rows[i]["VIRTUAL_CODE"].ToString(), Dt.Rows[i]["PERIOD"].ToString(), txtPICK_BATCH.Text.Trim(), ViewState["DelDataType"].ToString());

            if (strCheckMsg != "")
            {
                msg += strCheckMsg;
                Dt.Rows[i].Delete();
            }

        }
        Dt.AcceptChanges();
        Session["PUR091_MST" + PageTimeStamp.Value] = Dt;

        if (msg != "") ErrorMsgLabel.Text = msg;



        if (Dt == null || Dt.Rows.Count == 0)
        {
            LabelQueryRecordCount.Text = "";
            this.hid_PICK_CNT.Value = "0";
            this.hid_RESTRAIN_CNT.Value = "0";

            if (msg == "")
                ErrorMsgLabel.Text = "查無資料";

            this.hid_PageStatus.Text = "EMPTY";
            GridView1.DataSource = null;
            GridView1.DataBind();
            SetToolBar(true, false, false, false, false);
        }
        else
        {
            LabelQueryRecordCount.Text = "品項數:理貨品:" + Dt.Rows.Count + "筆 管制品:0筆";
            this.hid_PICK_CNT.Value = Dt.Rows.Count.ToString();
            this.hid_RESTRAIN_CNT.Value = "0";

            this.hid_PageStatus.Text = "EDIT";

            GridView1.DataSource = Dt;
            GridView1.DataBind();

            foreach (DataRow dr in Dt.Rows)
            {
                AddNewChannel(dr["VIRTUAL_CODE"].ToString(), dr["PERIOD"].ToString(), txtPLAN_ACCEPT_DATE.Text, txtPICK_BATCH.Text, "0", "");
            }

            SetToolBar(true, false, true, false, false);
        }

        SetPageStatus();


    }
예제 #19
0
    private void txtPERIOD_Blur()
    {
        radPICK_SELECT1.Enabled = false;
        radPICK_SELECT2.Enabled = false;
        btn_GV_Set.Enabled = false;
        btn_GV_Find.Enabled = false;
        string Item_Name = Request.Form[SLP_VIRTUAL_CODE.TextBox_Name.UniqueID];

        if (SLP_VIRTUAL_CODE.Text != "")
        {
            try
            {
                if (SLP_VIRTUAL_CODE.Text.Length < 6)
                {
                    ErrorMsgLabel.Text = "品號長度小於六碼";
                    return;
                }


                string Msg = "";
                ViewState["NoPeriod"] = "1"; //預設會存在該期別
                string v_PLAN_ACCEPT_DATE = txtPLAN_ACCEPT_DATE.Text;
                string v_ITEM = SLP_VIRTUAL_CODE.Text;
                string v_PERIOD = txtPERIOD.Text;

                ParameterList.Clear();
                ParameterList.Add(v_ITEM);
                ParameterList.Add(v_PERIOD);
                PURModel.PUR09_BCO BCO = new PURModel.PUR09_BCO(ConntionDB);
                if (SLP_VIRTUAL_CODE.Text.Length > 6)
                {
                    if (!BCO.QueryPeriod(ParameterList))
                    {
                        ViewState["NoPeriod"] = "0"; //期別不存在於該品號
                        throw new Exception("期別不存在於該品號");
                    }
                }
                else
                {
                    BCO.CheckItemData(ParameterList, out Msg);
                    if (Msg != "")
                    {
                        ViewState["NoPeriod"] = "0"; //期別不存在於該品號
                        throw new Exception(Msg);
                    }
                }

                if (txtPERIOD.Text != "" && Item_Name != "" && Item_Name != "查無資料" && txtPERIOD.Text != "")
                {
                    string strCheckMsg = ChkDupData(txtPLAN_ACCEPT_DATE.Text, SLP_VIRTUAL_CODE.Text, txtPERIOD.Text, txtPICK_BATCH.Text, ViewState["DelDataType"].ToString());
                    if (strCheckMsg != "")
                    {
                        ErrorMsgLabel.Text = strCheckMsg;
                        hidVIRTUAL_CODE.Value = SLP_VIRTUAL_CODE.Text;
                        return;
                    }
                }

                getQTY_Data();
                AddNewChannel(SLP_VIRTUAL_CODE.Text, txtPERIOD.Text, txtPLAN_ACCEPT_DATE.Text, txtPICK_BATCH.Text, "3", "");
                btn_GV_Set.Enabled = true;
                btn_GV_Find.Enabled = true;
                radPICK_SELECT1.Enabled = true;
                radPICK_SELECT2.Enabled = true;
            }
            catch (Exception ex)
            {
                ErrorMsgLabel.Text = ex.Message;
            }
        }
        if (SLP_VIRTUAL_CODE.Text == "" || txtPERIOD.Text == "")
        {
            lblONWAY_QTY.Text = "";
            lblONHD_QTY.Text = "";
            lblDIS_QTY.Text = "";
            lblDIFF_QTY.Text = "";
        }
        hidPERIOD.Value = txtPERIOD.Text;
    }
예제 #20
0
    private bool CheckDetailData(DataTable dt)
    {
        string iDray = "";
        string iDray_PERIOD = "";
        string Msg = "";

        bool checkFlag = true;

        try
        {
            foreach (DataRow dr in dt.Rows)
                if (dr["ITEM"].ToString() == "")
                    throw new Exception("品號、期別資料重複,請確認");

            for (Int32 i = 0; i < dt.Rows.Count; i++)
            {
                iDray = dt.Rows[i]["VIRTUAL_CODE"].ToString();
                iDray_PERIOD = dt.Rows[i]["PERIOD"].ToString();
                if (dt.Rows[i]["GV_DEL"].ToString() == "" || dt.Rows[i]["GV_DEL"].ToString() == "1")
                {
                    if (iDray == null || iDray == "")
                    {
                        ErrorMsgLabel.Text = " 品號資料不可空白,請確認";
                        checkFlag = false;
                        break;
                    }


                    if (iDray_PERIOD == null || iDray_PERIOD == "")
                    {
                        ErrorMsgLabel.Text = iDray + " 期別資料不可空白,請確認";
                        checkFlag = false;
                        break;
                    }

                    PURModel.PUR09_BCO BCO = new PURModel.PUR09_BCO(ConntionDB);

                    ParameterList.Clear();
                    ParameterList.Add(iDray);
                    ParameterList.Add(null);

                    BCO.CheckItemData(ParameterList, out Msg);
                    if (Msg != "")
                    {
                        ErrorMsgLabel.Text = iDray + " " + Msg + ",請確認";
                        checkFlag = false;
                        break;
                    }

                    ParameterList.Clear();
                    ParameterList.Add(iDray);
                    ParameterList.Add(iDray_PERIOD);

                    BCO.CheckItemData(ParameterList, out Msg);
                    if (Msg != "")
                    {
                        ErrorMsgLabel.Text = iDray + " " + Msg + ",請確認";
                        checkFlag = false;
                        break;
                    }
                }
            }
            return checkFlag;
        }
        catch (Exception ex) { return checkFlag; ErrorMsgLabel.Text = ex.Message; }
    }
예제 #21
0
    private void getQTY_Data()
    {
        ParameterList.Clear();
        ParameterList.Add(txtPLAN_ACCEPT_DATE.Text);
        ParameterList.Add(SLP_VIRTUAL_CODE.Text);
        ParameterList.Add(txtPERIOD.Text);
        PURModel.PUR09_BCO BCO = new PURModel.PUR09_BCO(ConntionDB);
        DataTable Dt_Find = BCO.GetPurchaseItemInfo(ParameterList);

        if (Dt_Find != null && Dt_Find.Rows.Count > 0)
        {
            lblONWAY_QTY.Text = Dt_Find.Rows[0]["ONWAY_QTY"].ToString();
            lblONHD_QTY.Text = Dt_Find.Rows[0]["ONHD_QTY"].ToString();
            lblDIS_QTY.Text = Dt_Find.Rows[0]["DIS_QTY"].ToString();
            lblDIFF_QTY.Text = Dt_Find.Rows[0]["DIFF_QTY"].ToString();
        }
        else
        {
            lblONWAY_QTY.Text = "";
            lblONHD_QTY.Text = "";
            lblDIS_QTY.Text = "";
            lblDIFF_QTY.Text = "";
        }

        //品號或期別變更時,清除PickControl裏的值        
        DataTable dt = (DataTable)Session["PUR091_Pick" + PageTimeStamp.Value]; //通路管制設定
        if (dt != null)
        {
            DataRow[] drs = dt.Select("VIRTUAL_CODE = '" + SLP_VIRTUAL_CODE.Text + "' and PERIOD = '" + txtPERIOD.Text + "'");
            if (drs.Length > 0)
                foreach (DataRow dr in drs)
                    dt.Rows.Remove(dr);
        }
        if (hidPERIOD.Value != txtPERIOD.Text)
        {
            radPICK_SELECT1.Checked = false;
            radPICK_SELECT2.Checked = true;
            btn_GV_Set.Enabled = false;
            btn_GV_Find.Enabled = false;
        }
        string Item_Name = ((TextBox)((PIC.VDS2G.WebUI.SLP.MKT_SLP_GiftItem)SLP_VIRTUAL_CODE).FindControl("TextBoxName")).Text;
        if (Item_Name != "" && Item_Name != "查無資料" && txtPERIOD.Text != "")
        {
            SLP_VIRTUAL_CODE.ReadOnly = true;
            txtPERIOD.ReadOnly = true;
            txtPERIOD.CssClass = "readtxtbox";
        }


    }
예제 #22
0
    //箱數計算
    protected void Btn_Count_Click(object sender, EventArgs e)
    {
        #region

        ErrorMsgLabel.Text = "";
        string CountQty = "0";

        if (txtPLAN_ACCEPT_DATE.Text == "")
        {
            ErrorMsgLabel.Text = "門市進貨日不可空白";
            return;
        }
        if (txtPICK_BATCH.Text == "")
        {
            ErrorMsgLabel.Text = "理貨批次不可空白";
            return;
        }

        PURModel.PUR09_BCO BCO = new PURModel.PUR09_BCO(ConntionDB);

        ParameterList.Clear();
        ParameterList.Add(GetValueSetParameter(this.txtPLAN_ACCEPT_DATE.Text, "string", false));
        ParameterList.Add(GetValueSetParameter(this.txtPICK_BATCH.Text, "string", false));

        BCO.CalBoxNum(ParameterList, out CountQty);
        if (CountQty == "")
            this.txtCount.Text = "0";
        else
            this.txtCount.Text = CountQty;

        #endregion
    }
예제 #23
0
    private DataTable LoadChannelData()
    {
        ParameterList.Clear();
        ParameterList.Add(this.SLP_ITEM.Text);
        ParameterList.Add(this.SLP_PERIOD.Text);
        ParameterList.Add(vACCEPT_DATE);
        ParameterList.Add(vPICK_BATCH);

        PURModel.PUR09_BCO BCO = new PURModel.PUR09_BCO(ConnectionDB);
        DataTable dt = BCO.LoadChannelPick(ParameterList);

        return dt;
    }