/// <summary> /// 檢查條件 /// </summary> /// <param name="s_Type"></param> /// <returns></returns> private ArrayList Check_Condition(string s_Type) { #region 宣告 BCO.ITMCommon ITMComm = new BCO.ITMCommon(); ArrayList arl_Return = new ArrayList(); arl_Return.Add(string.Empty);//該欄位放Focus欄位之ClientID arl_Return.Add(string.Empty);//該欄位放錯誤訊息 #endregion #region SLP轉型 TextBox txt_DATE = (TextBox)this.slpT_DATE.FindControl("TextBoxCode");//[模板日期] #endregion #region BUTTON [查詢]鈕 if (s_Type == "BUTTON [查詢]鈕") { #region 檢查SLP日期格式 arl_Return = ITMComm.Check_Format_Date(this.slpT_DATE.Text, "欄位[模板日期]日期格式錯誤", "1", txt_DATE.ClientID, arl_Return); #endregion #region 檢查必填欄位 arl_Return = ITMComm.Check_MustFillin_Column(this.slpT_DATE.Text, "text", "欄位[模板日期]為必填欄位", "1", txt_DATE.ClientID, arl_Return); #endregion } #endregion #region BUTTON [模板設定查詢]鈕 else if (s_Type == "BUTTON [模板設定查詢]鈕") { #region 檢查SLP日期格式 arl_Return = ITMComm.Check_Format_Date(this.slpT_DATE.Text, "欄位[模板日期]日期格式錯誤", "1", txt_DATE.ClientID, arl_Return); #endregion #region 檢查必填欄位 arl_Return = ITMComm.Check_MustFillin_Column(this.slpT_DATE.Text, "text", "欄位[模板日期]為必填欄位", "1", txt_DATE.ClientID, arl_Return); #endregion #region 如果基本檢查有誤,則Return if (arl_Return[1].ToString() != string.Empty) { return arl_Return; } #endregion #region 檢查是否已做過退貨模板設定 #region 傳入參數 ParameterList.Clear(); ParameterList.Add(ITMComm.GetValueSetParameter(this.slpT_DATE.Text, "date", false));//[模板日期] ParameterList.Add(ITMComm.GetValueSetParameter(Session["UID"].ToString(), "string", false));//V_LOG_UID #endregion #region 連結資料庫 DataTable dt_Return = new DataTable(); BCO.MaintainReturnTemplate bco = new BCO.MaintainReturnTemplate(ConntionDB); dt_Return = bco.QUERY_ITM111_T_DATE(ParameterList); #endregion #region 檢查回傳資料 if (int.Parse(dt_Return.Rows[0]["count"].ToString()) > 0) { arl_Return = ITMComm.ToMakeUp_Err_ArrayList(arl_Return, this.slpT_DATE.Text + " 已做過退貨模板設定", "1", txt_DATE.ClientID); } #endregion #endregion } #endregion return arl_Return; }
/// <summary> /// 新增VDS_VAM_MONTH_STATUSL_CHK,鎖定編輯 /// </summary> private void InsertControlChk() { try { ParameterList.Clear(); ParameterList.Add(Session["UID"].ToString()); ParameterList.Add(ViewState["LockTime"].ToString()); BCO.MaintainReturnTemplate bco = new BCO.MaintainReturnTemplate(ConntionDB); bco.InsertControlChk(ParameterList, null); } catch (Exception ex) { throw ex; } }
/// <summary> /// 刪除VDS_VAM_MONTH_STATUSL_CHK,清除前一個編輯狀態 /// </summary> private void DeleteControlChk(string strUID, string strLockTime) { try { ParameterList.Clear(); ParameterList.Add(strUID); ParameterList.Add(strLockTime); BCO.MaintainReturnTemplate bco = new BCO.MaintainReturnTemplate(ConntionDB); bco.DeleteControlChk(ParameterList); } catch (Exception ex) { throw ex; } }
//檢查此功能是否已被其他人鎖定 //Retrun 0:無任何鎖定記錄 -1:有自己的鎖定記錄 1:有他人的鎖定記錄 private int QueryControlChk(out string strLockUID, out string strLockTime) { int iResult = 0; strLockUID = ""; strLockTime = ""; BCO.MaintainReturnTemplate bco = new BCO.MaintainReturnTemplate(ConntionDB); DataTable dt = bco.QueryControlChk(); if (dt.Rows.Count > 0) { strLockUID = dt.Rows[0]["CREATEUID"].ToString(); strLockTime = dt.Rows[0]["CREATEDATE"].ToString(); if ((strLockTime == ViewState["LockTime"].ToString()) && (strLockUID == Session["UID"].ToString())) { iResult = -1; } else { iResult = 1; } } else { iResult = 0; } return iResult; }
/// <summary> /// BUTTON [模板設定查詢]鈕 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnQUERY_Click(object sender, EventArgs e) { #region 檢查條件 BCO.ITMCommon ITMComm = new BCO.ITMCommon(); ArrayList arl_Check_Condition = Check_Condition("BUTTON [模板設定查詢]鈕"); #region 如果檢查有誤,則Return if (arl_Check_Condition[1].ToString() != string.Empty) { #region 錯誤訊息 this.ErrorMsgLabel.Text = arl_Check_Condition[1].ToString(); #endregion #region Focus欄位 if (arl_Check_Condition[0].ToString() != string.Empty) { string s_ScriptManager_Script = ITMComm.ToMakeUp_SetFocus_Script(arl_Check_Condition[0].ToString(), true); ScriptManager.RegisterStartupScript(this.up_Msg, typeof(UpdatePanel), "ITM111", s_ScriptManager_Script, true); } #endregion return; } #endregion #endregion ParameterList.Clear(); ParameterList.Add(slpCHAN_NO.Text); ParameterList.Add(slpT_DATE.Text); ParameterList.Add(Session["UID"].ToString()); DataTable dt_Return = new DataTable(); BCO.MaintainReturnTemplate bco = new BCO.MaintainReturnTemplate(ConntionDB); dt_Return = bco.QueryRegularReturnItem(ParameterList); string SessionIDName = "ITM111_StoreCount" + PageTimeStamp.Value; txtSTORE_COUNT.Text = Session[SessionIDName].ToString(); if (dt_Return.Rows.Count == 0) { txtSTORE_COUNT.Text = Page.Request.Form[txtSTORE_COUNT.UniqueID]; ErrorMsgLabel.Text = "模板日期 : " + slpT_DATE.Text + " 查無資料"; return; } string strLockUID = string.Empty; string strLockTime = string.Empty; int iChkResult = QueryControlChk(out strLockUID, out strLockTime); if (iChkResult == 1) { string script = "if(confirm('使用者:" + strLockUID + " 從 " + strLockTime.Substring(0, 16) + " 正在使用中,如果確定執行將中斷正在執行的作業?')==true){document.getElementById('" + btnEnter.ClientID + "').click();}"; ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "EXEC", script, true); } else { EnterResult(); } }
/// <summary> /// BUTTON [查詢]鈕 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void but_Query_Click(object sender, EventArgs e) { try { #region 檢查條件 BCO.ITMCommon ITMComm = new BCO.ITMCommon(); ArrayList arl_Check_Condition = Check_Condition("BUTTON [查詢]鈕"); #region 如果檢查有誤,則Return if (arl_Check_Condition[1].ToString() != string.Empty) { #region 錯誤訊息 this.ErrorMsgLabel.Text = arl_Check_Condition[1].ToString(); #endregion #region Focus欄位 if (arl_Check_Condition[0].ToString() != string.Empty) { string s_ScriptManager_Script = ITMComm.ToMakeUp_SetFocus_Script(arl_Check_Condition[0].ToString(), true); ScriptManager.RegisterStartupScript(this.up_Msg, typeof(UpdatePanel), "ITM111", s_ScriptManager_Script, true); } #endregion return; } #endregion #endregion #region 傳入參數 ParameterList.Clear(); ParameterList.Add(ITMComm.GetValueSetParameter(this.slpCHAN_NO.Text, "string", false)); //[通路] ParameterList.Add(ITMComm.GetValueSetParameter(this.slpT_DATE.Text, "date", false)); //[模板日期] ParameterList.Add(ITMComm.GetValueSetParameter(Session["UID"].ToString(), "string", false));//V_LOG_UPDATEUID #endregion #region 連結資料庫 DataTable dt_Return = new DataTable(); BCO.MaintainReturnTemplate bco = new BCO.MaintainReturnTemplate(ConntionDB); dt_Return = bco.QUERYSETTEMPLATEDATA(ParameterList); #endregion #region 資料與GridView繫結 //抓取本頁初次登記的時間 string SessionIDName = "ITM111_" + PageTimeStamp.Value; Session["SessionID"] = SessionIDName; Session[SessionIDName] = dt_Return; this.gv_QueryResult.DataSource = dt_Return; this.gv_QueryResult.DataBind(); #endregion #region 檢查回傳資料 if (dt_Return.Rows.Count == 0) { this.ErrorMsgLabel.Text = "查無資料"; } #endregion } catch (Exception ex) { WaringLogProcess(ex.Message); this.ErrorMsgLabel.Text = ex.Message; } }
//模板設定 protected void btnSet_Click(object sender, EventArgs e) { try { if (bStop == false) { ErrorMsgLabel.Text = ""; int i = 10 * gv_ITM11.PageIndex; foreach (GridViewRow gr in gv_ITM11.Rows) { if (((CheckBox)gr.FindControl("chkSet")).Checked) { ha[i] = true; } else { ha[i] = false; } i++; } DataTable dtM = new DataTable(); dtM = MakeDataTableForBCO(); DataTable dtM_ITM111 = new DataTable(); dtM_ITM111 = (DataTable)Session["ITM112_gv_ItemInfo" + PageTimeStamp.Value]; //計算勾選筆數 int iSetCnt = 0; for (int j = 0; j < dtM_ITM111.Rows.Count; j++) { DataRow drA = dtM.NewRow(); if ((System.Boolean)ha[j]) { drA["SEL_FLAG"] = 1; iSetCnt++; } else { drA["SEL_FLAG"] = 0; } drA["CHAN_NO"] = dtM_ITM111.Rows[j]["CHAN_NO"]; drA["ITEM"] = dtM_ITM111.Rows[j]["ITEM"]; drA["PERIOD"] = dtM_ITM111.Rows[j]["PERIOD"]; drA["ITEM_NAME"] = dtM_ITM111.Rows[j]["ITEM_NAME"]; drA["CATEGORY"] = dtM_ITM111.Rows[j]["CATEGORY"]; drA["TAX_TYPE"] = dtM_ITM111.Rows[j]["TAX_TYPE"]; drA["BARCODE"] = dtM_ITM111.Rows[j]["BARCODE"]; drA["T_DATE"] = dtM_ITM111.Rows[j]["PLAN_RETURN_DATE"].ToString(); drA["NEXT_PLAN_RETURN_DATE"] = dtM_ITM111.Rows[j]["NEXT_PLAN_RETURN_DATE"]; drA["ITEM_MAP"] = dtM_ITM111.Rows[j]["ITEM_MAP"]; drA["REMARK_CONTENT"] = this.txtREMARK_CONTENT.Text.Trim(); drA["CREATEDATE"] = System.DateTime.Now; drA["CREATEUID"] = Session["UID"].ToString(); drA["UPDATEDATE"] = System.DateTime.Now; drA["UPDATEUID"] = Session["UID"].ToString(); dtM.Rows.Add(drA); } BCO.MaintainReturnTemplate bco = new BCO.MaintainReturnTemplate(ConntionDB); bco.InsertITM112(dtM, null); LoadPageGrid(); ErrorMsgLabel.Text = "完成筆數:" + iSetCnt.ToString() + "筆"; btnSet.Enabled = false; btnSelectALL.Enabled = false; btnCancelALL.Enabled = false; GMToolbar1.ButtonEnableControl(WUI_GMToolbarV.ButtonType.Save, false, "", this.btnSet, WUI_GMToolbarV.ClickAction.ButtonClick); DeleteControlChk(Session["UID"].ToString(), ViewState["LockTime"].ToString()); } } catch (Exception ex) { ErrorMsgLabel.Text = ex.Message.Split(Environment.NewLine.Replace(Environment.NewLine, "~").ToCharArray())[0]; } }
private void LoadPageGrid() { #region 傳入參數 ParameterList.Clear(); ParameterList.Add(GetValueSetParameter(this.txtCHAN_NO.Text.Trim(), "string", false)); ParameterList.Add(GetValueSetParameter(this.txtT_DATE.Text.Trim(), "string", false)); ParameterList.Add(Session["UID"].ToString()); #endregion #region 取得資料 DataTable dt_Return = new DataTable(); BCO.MaintainReturnTemplate bco = new BCO.MaintainReturnTemplate(ConntionDB); dt_Return = bco.QueryRegularReturnItem(ParameterList); if (dt_Return.Rows.Count == 0) //預防設定完後,以滑鼠右鍵選擇重整後又可操作設定鈕,以使與原操作後的畫面狀態一致 { btnSet.Enabled = false; btnSelectALL.Enabled = false; btnCancelALL.Enabled = false; GMToolbar1.ButtonEnableControl(WUI_GMToolbarV.ButtonType.Save, false, "", this.btnSet, WUI_GMToolbarV.ClickAction.ButtonClick); } #endregion #region CHECKBOX LIST ha.Clear(); for (int i = 0; i < dt_Return.Rows.Count; i++) { ha.Add(i, false); } Session["ha"] = ha; #endregion #region 資料與GridView繫結 //抓取本頁初次登記的時間 string SessionIDName = "ITM112_gv_ItemInfo" + PageTimeStamp.Value; Session[SessionIDName] = dt_Return; this.gv_ITM11.DataSource = dt_Return; this.gv_ITM11.PageSize = 10; this.gv_ITM11.PageIndex = 0; this.gv_ITM11.DataBind(); this.gv_ITM11.Visible = true; #endregion }