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; } }