예제 #1
0
    //顯示GridView1
    private void ShowGrid(string chain_no, string store, string boxcorde, out string msg)
    {
        string pick_no = "";//理貨單號

        CGDModel.ProcessPickQualityCheck BCO = new CGDModel.ProcessPickQualityCheck(ConntionDB);

        DataTable Dt = null;
        ParameterList.Clear();

        ParameterList.Add(SLP_StAcceptDate.Text.Trim());//門市進貨日
        ParameterList.Add(txtPickBatch.Text.Trim());//理貨批次
        ParameterList.Add(chain_no);//通路
        ParameterList.Add(store);//門市
        ParameterList.Add(boxcorde);//箱號

        string errMsg = "", checkBatch = "";
        msg = "";
        Dt = BCO.QuerySwitch(CGDModel.CGDCommon.QueryType.GetStoreInfo, ParameterList, out errMsg);

        if (errMsg.Length == 0)
        {
            if (Dt.Rows.Count == 0)
            {
                ErrorMsgLabel.Text = "查無該箱條碼相關資料";
                //ScriptManager.RegisterStartupScript(Page, this.GetType(), "CGD231.aspx", "alert(' 查無該箱條碼相關資料 ');", true);
                msg = "查無該箱條碼相關資料";

                txtItemBarcode.CssClass = "readtxtbox";
                txtItemBarcode.Enabled = false;

                clearTxtBox1();

                if (txtBoxBarcode.Text.Length > 0)
                {
                    SetClinetFocus(txtBoxBarcode.ClientID);
                }
                else
                {
                    SetClinetFocus(txtBoxNumber.ClientID);
                }

                return;
            }
            else //依理貨單號擷取單號的所以品項
            {
                SLP_ChanNo.Text = Dt.Rows[0]["CHAN_NO"].ToString();
                SLP_Store.Text = Dt.Rows[0]["STORE"].ToString();
                txtRoute.Text = Dt.Rows[0]["ROUTE"].ToString();
                txtStep.Text = Dt.Rows[0]["STEP"].ToString();

                pick_no = Dt.Rows[0]["PICK_NO"].ToString();//理貨單號
                txtGoodsWeigth.Text = Dt.Rows[0]["GOODS_WEIGTH"].ToString();
                ViewState["PICK_NO"] = Dt.Rows[0]["PICK_NO"].ToString();
                //txtPickNo.Text = Dt.Rows[0]["PICK_NO"].ToString();

                //先取得檢核批次
                ParameterList.Clear();

                ParameterList.Add(SLP_StAcceptDate.Text.Trim());//門市進貨日
                ParameterList.Add(txtPickBatch.Text.Trim());//理貨批次
                ParameterList.Add(txtBoxNumber.Text.Trim());//箱號
                checkBatch = BCO.StQuerySwitch(CGDModel.CGDCommon.QueryType.GetCheckBatch, ParameterList, out errMsg);

                //取得其餘GRID上所需資料
                Dt = null;
                ParameterList.Clear();

                ParameterList.Add(pick_no);//門市進貨日
                ParameterList.Add(checkBatch);//檢核批次,直接帶給SQL值

                Dt = BCO.QuerySwitch(CGDModel.CGDCommon.QueryType.GetStoreBoxItem, ParameterList, out errMsg);

                if (errMsg.Length != 0)
                {
                    ErrorMsgLabel.Text = "查無該理貨單貨單號的品項資料";
                    //ScriptManager.RegisterStartupScript(Page, this.GetType(), "CGD231.aspx", "alert(' 查無該理貨單貨單號的品項資料 ');", true);
                    msg = "查無該理貨單貨單號的品項資料";

                    DataTable DtNull = null;
                    GridView1.DataSource = DtNull;
                    GridView1.DataBind();

                    if (txtBoxBarcode.Text.Length > 0)
                    {
                        SetClinetFocus(txtBoxBarcode.ClientID);
                    }
                    else
                    {
                        SetClinetFocus(txtBoxNumber.ClientID);
                    }

                    return;
                }
                else
                {
                    string SessionIDName = "CGD231_" + PageTimeStamp.Value;
                    Session[SessionIDName] = Dt;
                    GridView1.Visible = true;
                    GridView1.DataSource = Dt;
                    //設定分頁大小
                    GridView1.PageIndex = 0;
                    GridView1.DataBind();
                    btnEndBox.Enabled = true;
                    btnEndCheck.Enabled = false;

                    //使用XML放置到前端資料
                    //xmlVDS_CGD_PICK_ITEM.InnerHtml = Dt.DataSet.GetXml();
                }

                txtItemBarcode.CssClass = "";
                txtItemBarcode.Enabled = true;

                SetClinetFocus(txtItemBarcode.ClientID);
            }
        }
        else
        {
            ErrorMsgLabel.Text = "查無該箱條碼相關資料";
            //ScriptManager.RegisterStartupScript(Page, this.GetType(), "CGD231.aspx", "alert(' 查無該箱條碼相關資料 ');", true);
            msg = "查無該箱條碼相關資料";

            txtItemBarcode.CssClass = "readtxtbox";
            txtItemBarcode.Enabled = false;

            clearTxtBox1();

            if (txtBoxBarcode.Text.Length > 0)
            {
                SetClinetFocus(txtBoxBarcode.ClientID);
            }
            else
            {
                SetClinetFocus(txtBoxNumber.ClientID);
            }

            return;
        }
    }
예제 #2
0
    // 商品條碼處的ENTER事件
    protected void btnHideEnter_Click(object sender, EventArgs e)
    {
        if (txtItemBarcode.Text.Trim().Length != 0)
        {
            string barcode_type = "";
            if (txtItemBarcode.Text.Trim().Length <= 13)
                barcode_type = "1";
            else barcode_type = "2";


            //查巡該商品條碼,條碼類別的品號,期別資料
            ParameterList.Clear();

            CGDModel.ProcessPickQualityCheck BCO = new CGDModel.ProcessPickQualityCheck(ConntionDB);
            DataTable Dt = null;
            DataTable DtQty = null;
            string errMsg = "";

            ParameterList.Add(barcode_type);//條碼類別
            ParameterList.Add(txtItemBarcode.Text);//商品條碼
            ParameterList.Add(SLP_StAcceptDate.Text);//門市進貨日
            ParameterList.Add(txtPickBatch.Text);//理貨批次
            ParameterList.Add(txtBoxNumber.Text);//箱號

            Dt = BCO.QuerySwitch(CGDModel.CGDCommon.QueryType.GetCheckItem, ParameterList, out errMsg);

            if (errMsg.Length != 0)
            {
                ErrorMsgLabel.Text = "查無該商品條碼,條碼類別的品號,期別資料";

                //ScriptManager.RegisterStartupScript(Page, this.GetType(), "CGD231.aspx", "alert(' 查無該商品條碼,條碼類別的品號,期別資料 ');", true);

                clearTxtBox2();

                if (txtItemBarcode.ReadOnly == true)
                    SetClinetFocus(txtItemBarcode.ClientID);

                return;
            }
            else
            {
                if (Dt.Rows.Count > 1)
                {
                    ErrorMsgLabel.Text = "輸入的「商品條碼」資料無效(傳回多筆品號資料";

                    //ScriptManager.RegisterStartupScript(Page, this.GetType(), "CGD231.aspx", "alert(' 輸入的「商品條碼」資料無效(傳回多筆品號資料) ');", true);

                    clearTxtBox2();

                    if (txtItemBarcode.ReadOnly == true)
                        SetClinetFocus(txtItemBarcode.ClientID);

                    return;
                }
                else if (Dt.Rows.Count == 0)
                {
                    ErrorMsgLabel.Text = "查無該品號期別理貨單號的理貨數量";

                    //ScriptManager.RegisterStartupScript(Page, this.GetType(), "CGD231.aspx", "alert(' 查無該品號期別理貨單號的理貨數量 ');", true);

                    clearTxtBox2();

                    if (txtItemBarcode.ReadOnly == true)
                        SetClinetFocus(txtItemBarcode.ClientID);

                    return;
                }

                ParameterList.Clear();
                ParameterList.Add(Dt.Rows[0]["ITEM"].ToString());//品號
                ParameterList.Add(Dt.Rows[0]["PERIOD"].ToString());//期別
                ParameterList.Add(ViewState["PICK_NO"].ToString());//理貨單號(隱藏欄位)

                DtQty = BCO.GetCheckItemPickQty(ParameterList, out errMsg);

                if (errMsg.Length != 0)
                {
                    ErrorMsgLabel.Text = "查無該品號期別理貨單號的理貨數量";

                    //ScriptManager.RegisterStartupScript(Page, this.GetType(), "CGD231.aspx", "alert(' 查無該品號期別理貨單號的理貨數量 ');", true);

                    clearTxtBox2();

                    if (txtItemBarcode.ReadOnly == true)
                        SetClinetFocus(txtItemBarcode.ClientID);

                    return;
                }
                else
                {
                    txtPickQty.Text = DtQty.Rows[0]["PICK_QTY"].ToString();
                    txtItem.Text = DtQty.Rows[0]["ITEM"].ToString();
                    txtVirtualCode.Text = DtQty.Rows[0]["VIRTUAL_CODE"].ToString();
                    txtPeriod.Text = DtQty.Rows[0]["PERIOD"].ToString();
                }
            }


            //檢查商品條碼是否重覆
            if (ViewState["RCCheckState"].ToString() == "N")
            {
                if (haChkQty.Count == 0)
                {
                    haChkQty.Add(txtItemBarcode.Text.Trim(), 1);
                    txtCheckQty.Text = "1";
                }
                else
                {
                    haChkQty[txtItemBarcode.Text.Trim()] = Convert.ToInt32(haChkQty[txtItemBarcode.Text.Trim()]) + 1;
                    txtCheckQty.Text = haChkQty[txtItemBarcode.Text.Trim()].ToString();
                }

                ViewState["CheckQty_Hide"] = txtCheckQty.Text;

                ViewState["RCCheckState"] = "N";
                ViewState["RCBoxEndState"] = "N";
                btnEndBox.Enabled = false;
                btnEndCheck.Enabled = true;
            }
            else
            {
                if (haModQty.Count == 0)
                {
                    haModQty.Add(txtItemBarcode.Text.Trim(), 1);
                    txtModifyQty.Text = "1";
                }
                else
                {
                    haModQty[txtItemBarcode.Text.Trim()] = Convert.ToInt32(haModQty[txtItemBarcode.Text.Trim()]) + 1;
                    txtModifyQty.Text = haModQty[txtItemBarcode.Text.Trim()].ToString();
                }

                ViewState["ModifyQty"] = txtModifyQty.Text;

            }


            //算品檢數
            string SessionIDName = "CGD231_" + PageTimeStamp.Value;
            DataTable _Dt = (DataTable)Session[SessionIDName];

            if (ViewState["RCCheckState"].ToString() == "N")
            {
                foreach (DataRow dr in _Dt.Rows)
                {
                    if ((dr["ITEM"].ToString() == txtItem.Text.Trim()) && (dr["VIRTUAL_CODE"].ToString() == txtVirtualCode.Text.Trim()) && (dr["PERIOD"].ToString() == txtPeriod.Text.Trim()))
                    {
                        dr["CHECK_QTY"] = Int32.Parse(dr["CHECK_QTY"].ToString()) + 1;
                        dr["DIFF_QTY"] = Int32.Parse(dr["CHECK_QTY"].ToString()) - Int32.Parse(dr["PICK_QTY"].ToString());
                    }
                }
            }
            else
            {
                foreach (DataRow dr in _Dt.Rows)
                {
                    if ((dr["ITEM"].ToString() == txtItem.Text.Trim()) && (dr["VIRTUAL_CODE"].ToString() == txtVirtualCode.Text.Trim()) && (dr["PERIOD"].ToString() == txtPeriod.Text.Trim()))
                    {
                        dr["MODIFY_QTY"] = Int32.Parse(dr["MODIFY_QTY"].ToString()) + 1;
                        dr["DIFF_QTY"] = Int32.Parse(dr["MODIFY_QTY"].ToString()) + Int32.Parse(dr["CHECK_QTY"].ToString()) - Int32.Parse(dr["PICK_QTY"].ToString());
                    }
                }
            }

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

            //if (txtItemBarcode.ReadOnly == true)
                SetClinetFocus(txtItemBarcode.ClientID);
        }

    }