Exemplo n.º 1
0
    private void GetDetlData(object sender)
    {
        try
        {
            VGIModel.MaintainAccept dbo = new VGIModel.MaintainAccept(ConntionDB);
            LinkButton lbtnEdit = (LinkButton)sender;
            Label lblBarcode = (Label)lbtnEdit.Parent.FindControl("lblBarcode");

            string ItemCode = string.Empty;
            string PeriodCode = string.Empty;
            string Item = string.Empty;
            string Period = string.Empty;
            string Cost = string.Empty;
            string Price = string.Empty;
            string TaxType = string.Empty;
            string PURCHASE_QTY = string.Empty;
            string PLAN_ACCEPT_DATE = string.Empty;
            string accept_qty = string.Empty;
            string Qty = string.Empty;
            string DIS_Qty = string.Empty;

            #region 根據不同BARCODE長度,取得ITEMCODE

            switch (lblBarcode.Text.Length)
            {
                case 8:
                    ItemCode = lblBarcode.Text;
                    break;
                case 13:
                    ItemCode = lblBarcode.Text;
                    break;
                case 15:
                    ItemCode = lblBarcode.Text.Substring(0, 13);
                    break;
                case 18:
                    ItemCode = lblBarcode.Text.Substring(0, 13);
                    break;
                case 10:
                    ItemCode = lblBarcode.Text.Substring(0, 8);
                    break;
                case 12:
                    ItemCode = lblBarcode.Text;
                    break;
                case 26:
                    ItemCode = lblBarcode.Text.Substring(0, 13);
                    break;
            }

            #endregion

            PeriodCode = GetPeriodCode(lblBarcode.Text);

            DataTable dt = null;
            DataTable dtGift = null;

            if (Session["MasterOLDData_" + PageTimeStamp.Value] != null)
            {
                dt = (DataTable)Session["MasterOLDData_" + PageTimeStamp.Value];
            }

            if (Session["GiftOLDData_" + PageTimeStamp.Value] != null)
            {
                dtGift = (DataTable)Session["GiftOLDData_" + PageTimeStamp.Value];
            }
            else
            {
                dtGift = GIftDetl();
            }

            Session["GiftOLDData_" + PageTimeStamp.Value] = dtGift;

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                if (dt.Rows[i]["barcode"].ToString() == lblBarcode.Text)
                {
                    this.txtBarCode.Text = lblBarcode.Text;
                    this.txtItemCode.Text = ItemCode;
                    this.txtPeriodCode.Text = dt.Rows[i]["PeriodCode"].ToString();
                    this.SLP_SKU.Text = dt.Rows[i]["Item"].ToString();
                    this.txtPeriod.Text = dt.Rows[i]["Period"].ToString();
                    this.txtPurQty.Text = dt.Rows[i]["purchase_qty"].ToString();
                    if (dt.Rows[i]["In_Date"] == "NULL")
                        this.SLP_InDate.Text = "";
                    else
                        this.SLP_InDate.Text = dt.Rows[i]["In_Date"].ToString();
                    this.txtSellPrice.Text = dt.Rows[i]["price"].ToString();
                    this.SLPAcceNum.Text = dt.Rows[i]["Acc_Qty"].ToString();
                    this.AcceNum_Old.Value = dt.Rows[i]["Acc_Qty"].ToString();

                    this.SLP_SWeight.Text = dt.Rows[i]["s_weight"].ToString();
                    this.SLP_SLength.Text = dt.Rows[i]["s_length"].ToString();
                    this.SLP_SWidth.Text = dt.Rows[i]["s_width"].ToString();
                    this.SLP_SHeigh.Text = dt.Rows[i]["s_height"].ToString();

                    this.SLP_PackNum.Text = dt.Rows[i]["package_unit"].ToString();

                    this.SLP_PWeight.Text = dt.Rows[i]["p_weight"].ToString();
                    this.SLP_PLength.Text = dt.Rows[i]["p_length"].ToString();
                    this.SLP_PWidth.Text = dt.Rows[i]["p_width"].ToString();
                    this.SLP_PHeigh.Text = dt.Rows[i]["p_height"].ToString();
                    if (dt.Rows[i]["product_source"].ToString() != "")
                    {
                        this.rbtSource.SelectedValue = dt.Rows[i]["product_source"].ToString();
                    }
                    RadioButtonList rbtReceive = (RadioButtonList)SLP_Receive.FindControl("R1");
                    rbtReceive.SelectedIndex = 0;
                    this.SLP_ReceiveDate.Text = dt.Rows[i]["allowaccept_date"].ToString();
                    this.SLP_MadeDate.Text = dt.Rows[i]["produce_date"].ToString();
                    this.SLP_Days.Text = dt.Rows[i]["reserved_period"].ToString();
                    this.SLP_EndDate.Text = dt.Rows[i]["valid_date"].ToString();

                    dbo.QueryItemData(this.txtItemCode.Text, this.txtPeriodCode.Text, this.txtPurNo.Text, out Item, out Period, out Cost,
                         out Price, out TaxType, out PURCHASE_QTY, out PLAN_ACCEPT_DATE, out accept_qty,
                         out Qty, out DIS_Qty);

                    //取得累積總驗收數和
                    if (accept_qty == "")
                    {
                        accept_qty = "0";
                    }

                    if (Qty == "")
                    {
                        Qty = "0";
                    }

                    if (DIS_Qty == "")
                    {
                        DIS_Qty = "0";
                    }
                    this.hid_TaxType.Value = TaxType;
                    if (Cost == "")
                    {
                        Cost = "0";
                    }
                    this.hid_Cost.Value = Cost;
                    this.txtTAccQty.Text = accept_qty;
                    this.txtTQty.Text = Qty;
                    this.txtDisQty.Text = DIS_Qty;
                    if (txtPurQty.Text == "")
                    {
                        txtPurQty.Text = "0";
                    }
                    this.txtTSQty.Text = (int.Parse(txtPurQty.Text) - int.Parse(txtTAccQty.Text)).ToString();

                    if (txtDisQty.Text == "")
                    {
                        txtDisQty.Text = "0";
                    }
                    this.txtLessQty.Text = (int.Parse(txtTQty.Text) - int.Parse(txtDisQty.Text)).ToString();
                }
            }

            string expression = "Item ='" + Item + "' AND period='" + Period + "'";
            DataTable dtTemp = dtGift.Clone();
            DataRow[] drs = dtGift.Select(expression);

            for (int i = 0; i < drs.Length; i++)
            {
                DataRow drtemp = dtTemp.NewRow();
                for (int j = 0; j < drs[i].ItemArray.Length; j++)
                {
                    drtemp[j] = drs[i][j];
                }
                dtTemp.Rows.Add(drtemp);
            }

            dtTemp.DefaultView.Sort = "VIRTUAL_CODE asc";
            dlGift.DataSource = dtTemp.DefaultView;
            dlGift.DataBind();

            for (int i = 0; i < dlGift.Items.Count; i++)
            {
                Label lblItem = (Label)dlGift.Items[i].FindControl("lblItem");
                Label lblPeriod = (Label)dlGift.Items[i].FindControl("lblPeriod");
                Label lblVirtualCode = (Label)dlGift.Items[i].FindControl("lblVirtualCode");
                Label lblGiftAccQty = (Label)dlGift.Items[i].FindControl("lblGiftAccQty");
                Label lblPurchase_Qty = (Label)dlGift.Items[i].FindControl("lblPurchase_Qty");
                Label lblGiftSQty = (Label)dlGift.Items[i].FindControl("lblGiftSQty");
                TextBox txtAccQty = (TextBox)dlGift.Items[i].FindControl("SLP_GiftAccQty").FindControl("TextBoxCode");
                TextBox txtPackUnit = (TextBox)dlGift.Items[i].FindControl("txt_GiftPack");

                Button btnS = (Button)dlGift.Items[i].FindControl("btnGiftS");
                TextBox txtSWe = (TextBox)dlGift.Items[i].FindControl("txt_GiftSWe");
                TextBox txtSL = (TextBox)dlGift.Items[i].FindControl("txt_GiftSL");
                TextBox txtSWi = (TextBox)dlGift.Items[i].FindControl("txt_GiftSWi");
                TextBox txtSH = (TextBox)dlGift.Items[i].FindControl("txt_GiftSH");

                Button btnP = (Button)dlGift.Items[i].FindControl("btnGiftP");
                TextBox txtPWe = (TextBox)dlGift.Items[i].FindControl("txt_GiftPWe");
                TextBox txtPL = (TextBox)dlGift.Items[i].FindControl("txt_GiftPL");
                TextBox txtPWi = (TextBox)dlGift.Items[i].FindControl("txt_GiftPWi");
                TextBox txtPH = (TextBox)dlGift.Items[i].FindControl("txt_GiftPH");

                #region 取得贈品總驗收量

                ParameterList.Clear();
                ParameterList.Add(lblItem.Text);
                ParameterList.Add(lblPeriod.Text);
                ParameterList.Add(lblVirtualCode.Text);
                ParameterList.Add(txtPurNo.Text);
                DataTable Dt_temp = dbo.GetTotalGiftPurQty(ParameterList);
                lblGiftAccQty.Text = Dt_temp.Rows[0]["accept_qty"].ToString();

                #endregion

                #region 取得贈品短缺數

                lblGiftSQty.Text = Convert.ToString(int.Parse(lblPurchase_Qty.Text) - int.Parse(lblGiftAccQty.Text));

                #endregion

                for (int j = 0; j < dtTemp.Rows.Count; j++)
                {
                    if (lblVirtualCode.Text == dtTemp.Rows[j]["VIRTUAL_CODE"].ToString())
                    {
                        txtAccQty.Text = dtTemp.Rows[j]["accept_qty"].ToString();
                        ((HiddenField)dlGift.Items[i].FindControl("GiftAccQty_Old")).Value = dtTemp.Rows[j]["Old_Qty"].ToString();
                        txtPackUnit.Text = dtTemp.Rows[j]["package_unit"].ToString();

                        txtSWe.Text = dtTemp.Rows[j]["s_weight"].ToString();
                        txtSL.Text = dtTemp.Rows[j]["s_length"].ToString();
                        txtSWi.Text = dtTemp.Rows[j]["s_width"].ToString();
                        txtSH.Text = dtTemp.Rows[j]["s_height"].ToString();

                        txtPWe.Text = dtTemp.Rows[j]["p_weight"].ToString();
                        txtPL.Text = dtTemp.Rows[j]["p_length"].ToString();
                        txtPWi.Text = dtTemp.Rows[j]["p_width"].ToString();
                        txtPH.Text = dtTemp.Rows[j]["p_height"].ToString();
                    }
                }

                if (PageMode == "0")
                {
                    txtAccQty.ReadOnly = true;
                    txtAccQty.CssClass = "readtxtbox";
                    txtPackUnit.ReadOnly = true;
                    txtPackUnit.CssClass = "readtxtbox";

                    txtSWe.ReadOnly = true;
                    txtSWe.CssClass = "readtxtbox";
                    txtSL.ReadOnly = true;
                    txtSL.CssClass = "readtxtbox";
                    txtSWi.ReadOnly = true;
                    txtSWi.CssClass = "readtxtbox";
                    txtSH.ReadOnly = true;
                    txtSH.CssClass = "readtxtbox";

                    txtPWe.ReadOnly = true;
                    txtPWe.CssClass = "readtxtbox";
                    txtPL.ReadOnly = true;
                    txtPL.CssClass = "readtxtbox";
                    txtPWi.ReadOnly = true;
                    txtPWi.CssClass = "readtxtbox";
                    txtPH.ReadOnly = true;
                    txtPH.CssClass = "readtxtbox";
                }

                string strAcceptDate = SLP_AccDate.Text.Substring(0, 4) + SLP_AccDate.Text.Substring(5, 2) + SLP_AccDate.Text.Substring(8, 2);
                string strNow = DateTime.Now.ToString("yyyyMMdd");

                if (int.Parse(strNow) > int.Parse(strAcceptDate))
                {
                    txtAccQty.ReadOnly = true;
                    txtAccQty.CssClass = "readtxtbox";

                    //btnS.Enabled = false;
                    //btnP.Enabled = false;
                }
                else
                {
                    //btnS.Enabled = true;
                    //btnP.Enabled = true;
                }
            }
        }
        catch (Exception ex)
        {
            ErrorMsgLabel.Text = ex.Message;
        }
    }