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 }
/// <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 }
/// <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; } }
/// <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; } }
/// 取得該日期、批號是否有人在編輯 /// <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; } }
// 存檔 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; } }
//檢查輸入的日期是否可用,配本後即不可編輯及新增 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; }
// 列印 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 { } }
//指定日期匯入(續) 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 = "無資料可載入 !!"; } }
//加入新增明細的通路管制明細資料 //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(); } }
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; }
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; }
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 }
/// <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; } }
// 檢核資料是否已存在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; }
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(); }
//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 + " 筆"; }
// 品項載入(續) 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(); }
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; }
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; } }
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"; } }
//箱數計算 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 }
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; }