protected void btnSave_Click(object sender, EventArgs e) { STMModel.MaintainPromoteExhibition STM = new STMModel.MaintainPromoteExhibition(ConntionDB); //檢核必輸入欄位 TextBox ACCEPT_DATE_START = ((TextBox)((ASP.wui_slp_slp_slpdate_ascx)SLP_ACCEPT_DATE_START).FindControl("TextBoxCode")); TextBox ACCEPT_DATE_END = ((TextBox)((ASP.wui_slp_slp_slpdate_ascx)SLP_ACCEPT_DATE_END).FindControl("TextBoxCode")); TextBox ACCEPT_FIRST_DATE = ((TextBox)((ASP.wui_slp_slp_slpdate_ascx)SLP_ACCEPT_FIRST_DATE).FindControl("TextBoxCode")); TextBox RETURN_DATE_START = ((TextBox)((ASP.wui_slp_slp_slpdate_ascx)SLP_RETURN_DATE_START).FindControl("TextBoxCode")); TextBox RETURN_DATE_END = ((TextBox)((ASP.wui_slp_slp_slpdate_ascx)SLP_RETURN_DATE_END).FindControl("TextBoxCode")); TextBox txtPROMOTE = (TextBox)(txtPROMOTE_MONTH.TextBoxCode_Object); TextBox txtACCT = (TextBox)(txtACCT_MONTH.TextBoxCode_Object); TextBox txtCOL_DAYS = (TextBox)(SLP_COL_DAYS.TextBox_Code); // // TextBox[] FieldIDs ={ txtPROMOTE_ID, txtPROMOTE_NAME, txtPROMOTE_MONTH.TextBoxCode_Object, txtACCT_MONTH.TextBoxCode_Object, ACCEPT_DATE_START, ACCEPT_DATE_END, ACCEPT_FIRST_DATE, RETURN_DATE_START, RETURN_DATE_END, txtCOL_DAYS }; string[] FieldNames ={ "檔期編號", "檔期名稱", "活動月份", "結帳月份", "進貨開始日", "進貨結束日", "首次出貨日", "退貨開始日", "退貨結束日", "收款天數" }; int i = 0; foreach (TextBox FieldName in FieldIDs) { if (FieldName.Text.Trim().Length == 0) { ErrorMsgLabel.Text = "必須輸入「" + FieldNames[i] + "」欄位"; return; } i++; } if (Request[SLP_COL_DAYS.TextBox_Name.UniqueID].ToString() == "查無資料") { ErrorMsgLabel.Text = "查無收款天數資料"; return; } if (SLP_NOTES.Text != "" && Request[SLP_NOTES.TextBox_Name.UniqueID].ToString() == "查無資料") { ErrorMsgLabel.Text = "查無檔期備註資料"; return; } //簡化至check_date ////進貨開始日須小於進貨結束日 //if ((SLP_ACCEPT_DATE_START.Text != "") || (SLP_ACCEPT_DATE_END.Text != "")) //{ // if (DateTime.Parse(SLP_ACCEPT_DATE_START.Text) >= DateTime.Parse(SLP_ACCEPT_DATE_END.Text)) // { // ErrorMsgLabel.Text = "進貨開始日須小於進貨結束日 !!"; // return; // } //} //日期條件檢查 if (!check_date()) { return; } DataSet ds1 = (DataSet)Session["STM272_" + PageTimeStamp.Value]; DataTable dtSTORE = ds1.Tables[0].DefaultView.ToTable(true, "STORE"); foreach (DataRow dr in dtSTORE.Rows) { DataRow[] drNoItem = (DataRow[])ds1.Tables[0].Select("STORE='" + dr["STORE"].ToString() + "' AND (ITEM='NOITEM' OR ITEM IS NULL)"); if (drNoItem.Length > 0) { ErrorMsgLabel.Text = "尚有門市未新增商品資料 !!"; return; } if (!(STM.CheckDcDate(dr["STORE"].ToString(), ACCEPT_FIRST_DATE.Text))) { ErrorMsgLabel.Text = "檔期首次進貨日不在門市" + dr["STORE"].ToString()+"適用日期區間中!!"; return; } } if (this.SLP_PRICE_SUBSIDY_PERCENT.Text.Length > 0) { if (Convert.ToDecimal(this.SLP_PRICE_SUBSIDY_PERCENT.Text.Trim()) > 100 || Convert.ToDecimal(this.SLP_PRICE_SUBSIDY_PERCENT.Text.Trim()) < 0) { ErrorMsgLabel.Text = "[門市補貼%]欄位請輸入100>門市補貼>0值<br/>"; return; } } if (this.SLP_COST_SUBSIDY_PERCENT.Text.Length > 0) { if (Convert.ToDecimal(this.SLP_COST_SUBSIDY_PERCENT.Text.Trim()) > 100 || Convert.ToDecimal(this.SLP_COST_SUBSIDY_PERCENT.Text.Trim()) < 0) { ErrorMsgLabel.Text = "[出版社補貼%]欄位請輸入100>出版社補貼>0值<br/>"; return; } } STMModel.VDS_STM37_BCO bco37 = new STMModel.VDS_STM37_BCO(ConnectionDB); string ProID = txtPROMOTE_ID.Text; int N_CNT_M; int N_CNT_N; DataTable dt_s = bco37.QueryPromoteS(ProID, out N_CNT_M, out N_CNT_N); if (N_CNT_M > 0) { this.ErrorMsgLabel.Text = "與特殊書展編號重複"; return; } //儲存作業 string v_ID = ""; #region try { #region 取得畫面元件的值 DateTime processtime = DateTime.Now; #endregion #region 檔期活動 ParameterList.Clear(); ParameterList.Add(GetValueSetParameter(this.txtPROMOTE_NAME.Text, "string", false)); //V_PROMOTE_NAME ParameterList.Add(GetValueSetParameter(this.txtPROMOTE_MONTH.Text, "string", false)); //V_PROMOTE_MONTH ParameterList.Add(GetValueSetParameter(this.txtACCT_MONTH.Text, "string", false)); //V_ACCT_MONTH ParameterList.Add(GetValueSetParameter(this.SLP_COL_DAYS.Text, "string", false)); //V_COL_DAYS ParameterList.Add(GetValueSetParameter(this.SLP_ACCEPT_DATE_START.Text, "date", false)); //D_ACCEPT_DATE_START ParameterList.Add(GetValueSetParameter(this.SLP_ACCEPT_DATE_END.Text, "date", false)); //D_ACCEPT_DATE_END ParameterList.Add(GetValueSetParameter(this.SLP_ACCEPT_FIRST_DATE.Text, "date", false)); //D_ACCPET_FIRST_DATE ParameterList.Add(GetValueSetParameter(this.SLP_RETURN_DATE_START.Text, "date", false)); //D_RETURN_DATE_START ParameterList.Add(GetValueSetParameter(this.SLP_RETURN_DATE_END.Text, "date", false)); //D_RETURN_DATE_END ParameterList.Add(GetValueSetParameter(this.ddlPROMOTE_TYPE.SelectedValue.ToString(), "int", false)); //N_PROMOTE_TYPE ParameterList.Add(GetValueSetParameter(this.ddlDISCOUNT_TYPE.SelectedValue.ToString(), "string", false)); //V_DISCOUNT_TYPE ParameterList.Add(GetValueSetParameter(this.SLP_NOTES.Text, "string", false)); //N_NOTES ParameterList.Add(GetValueSetParameter(this.SLP_PRICE_SUBSIDY_PERCENT.Text, "Decimal", false)); //N_PRICE_SUBSIDY_PERCENT ParameterList.Add(GetValueSetParameter(this.SLP_COST_SUBSIDY_PERCENT.Text, "Decimal", false)); //N_COST_SUBSIDY_PERCENT ParameterList.Add(GetValueSetParameter(Session["UID"].ToString(), "string", false)); //V_AC_UID if (this.txtCONFIRM_CODE.Text == "已審核") ParameterList.Add(1); //N_CONFIRM_CODE else ParameterList.Add(0); //N_CONFIRM_CODE ParameterList.Add(64); //N_DISCOUNT_KIND固定 ParameterList.Add(processtime); ParameterList.Add(GetValueSetParameter(Session["UID"].ToString(), "string", false)); ParameterList.Add(processtime); ParameterList.Add(GetValueSetParameter(Session["UID"].ToString(), "string", false)); ParameterList.Add(GetValueSetParameter(this.txtPROMOTE_ID.Text, "string", false)); #endregion #region 商品 DataSet ds = (DataSet)Session["STM272_" + PageTimeStamp.Value]; #endregion STMModel.MaintainPromoteExhibition BCO = new STMModel.MaintainPromoteExhibition(ConnectionDB); v_ID = BCO.CreateStoreBase(ParameterList, null, ds.Tables[0]); if ((v_ID == "") || (v_ID == null)) { throw new Exception("新增0筆資料!"); } else { QueryData(v_ID); txtPROMOTE_ID.ReadOnly = true; txtPROMOTE_ID.CssClass = "readtxtbox"; btnSave.Visible = false; //確定新增 btnAddCancle.Visible = false; //取消(回查詢頁) btnEdt.Visible = CanUpdate; //確定更新 btnUpdateCancel.Visible = true; //取消 btnAdd.Visible = CanUpdate; //新增門市 btnAddItem.Visible = CanUpdate; //新增商品 btnUpdateItem.Visible = false; GridView1.Columns[4].Visible = CanDelete; //商品 GRID "刪除"欄位 GridView2.Columns[8].Visible = CanDelete; //門市 GRID "刪除"欄位 GMToolbar1.ButtonEnableControl(WUI_GMToolbarV.ButtonType.Save, true, string.Empty, this.btnEdt, WUI_GMToolbarV.ClickAction.ButtonClick); ScriptManager.RegisterStartupScript(UpdatePanel11, this.GetType(), "ClientScript", "alert('新增完成');", true); } } catch (Exception ex) { ErrorMsgLabel.Text = ex.Message.Split(Environment.NewLine.Replace(Environment.NewLine, "~").ToCharArray())[0]; //直接取第一個 } #endregion }
private void ClientFileToServerTemp() { #region try { this.ErrorMsgLabel.Text = ""; this.up_ErrorMsg.Update(); ClearUploadStatus(); if (this.ErrorMsgLabel.Text != "") return; this.hid_FrmStatus.Value = "fmProcess"; //LockPage(); string s_UploadPath = string.Empty; string s_BackPath = string.Empty; string s_LoginUser = string.Empty; ArrayList arl_FileUpload_ReturnS = null;//門市檔案 ArrayList arl_FileUpload_ReturnI = null;//商品檔案 System.Text.StringBuilder sb = new System.Text.StringBuilder(); STMModel.VDS_STM37_BCO bco = new STMModel.VDS_STM37_BCO(ConnectionDB); string ProID = txtPROMOTE_ID.Text; int proType; int N_CNT_M; int N_CNT_N; DataTable dt_s = bco.QueryPromoteS(ProID, out N_CNT_M, out N_CNT_N); if (N_CNT_M == 0) { this.ErrorMsgLabel.Text = "找不到特殊書展主檔"; return; } else { proType = Convert.ToInt16(dt_s.Rows[0]["PROMOTE_TYPE"]); } #region 上傳檔案到AP端 //取得要上傳的路徑 s_UploadPath = Server.MapPath("..\\") + System.Configuration.ConfigurationManager.AppSettings["UploadPath"] + "\\STM\\"; s_LoginUser = Session["UID"].ToString(); arl_FileUpload_ReturnS = bco.FileUpload(s_UploadPath, this.FileUploadS, s_LoginUser); arl_FileUpload_ReturnI = bco.FileUpload(s_UploadPath, this.FileUploadI, s_LoginUser); #endregion if (arl_FileUpload_ReturnS[0].ToString() == "FALSE")//檔案上傳至AP端錯誤 { sb.Append("門市檔案上傳至AP端錯誤<br/>"); } if (arl_FileUpload_ReturnI[0].ToString() == "FALSE")//檔案上傳至AP端錯誤 { sb.Append("商品檔案上傳至AP端錯誤<br/>"); } if (sb.ToString() != "") { this.ErrorMsgLabel.Text = sb.ToString(); ClearUploadStatus(); return; } else //檔案上傳至AP端正常 { #region #region 讀取 Excel 資料 // 讀取 Excel 資料(門市) DataSet ds_S = Load_Excel(arl_FileUpload_ReturnS[1].ToString()); DataTable dtTemp_S = ExcelToTemp(ds_S.Tables[0], arl_FileUpload_ReturnS[4].ToString(), 1); // 讀取 Excel 資料(商品) DataSet ds_I = Load_Excel(arl_FileUpload_ReturnI[1].ToString()); DataTable dtTemp_I = ExcelToTemp(ds_I.Tables[0], arl_FileUpload_ReturnI[4].ToString(), 2); DateTime dCreateTime = DateTime.Now; string strCreateTime = dCreateTime.ToString("yyyy/MM/dd HH:mm:ss"); if (dtTemp_S.Rows.Count == 0 || dtTemp_I.Rows.Count == 0) { this.ErrorMsgLabel.Text = "匯入檔案沒有資料"; } if (this.ErrorMsgLabel.Text != "") { up_ErrorMsg.Update(); return; } int N_UPLOAD_STORE = dtTemp_S.Rows.Count; int N_UPLOAD_ITEM = dtTemp_I.Rows.Count; #endregion #region 將檔案匯入TmpTable int N_STORE_OK = 0; int N_STORE_NG = 0; int N_ITEM_OK = 0; int N_ITEM_NG = 0; string ErrorMsg = ""; bco.FileToTmp(1, proType, ProID, dtTemp_S, null, Session["UID"].ToString(), out ErrorMsg); bco.FileToTmp(2, proType, ProID, dtTemp_I, null, Session["UID"].ToString(), out ErrorMsg); //門市 DataTable dtResultA = bco.QueryErrorByFind(1, 0, Session["UID"].ToString(), dCreateTime, dCreateTime); N_STORE_OK = dtResultA.Select("DATATYPE=1").Length; N_STORE_NG = dtResultA.Select("DATATYPE=2").Length; //商品 DataTable dtResultB = bco.QueryErrorByFind(2, 0, Session["UID"].ToString(), dCreateTime, dCreateTime); N_ITEM_OK = dtResultB.Select("DATATYPE=1").Length; N_ITEM_NG = dtResultB.Select("DATATYPE=2").Length; ErrorMsgLabel.Text = ErrorMsg; #endregion //上傳結果(門市) this.UploadStatusPanelS.UploadSum = N_UPLOAD_STORE ; this.UploadStatusPanelS.UploadOK = N_STORE_OK; this.UploadStatusPanelS.UploadNG = N_STORE_NG; //上傳結果(商品) this.UploadStatusPanelI.UploadSum = N_UPLOAD_ITEM ; this.UploadStatusPanelI.UploadOK = N_ITEM_OK; this.UploadStatusPanelI.UploadNG = N_ITEM_NG; if ((N_STORE_OK > 0) && (N_ITEM_OK > 0) && (N_STORE_NG == 0) && (N_ITEM_NG == 0)) { bco.TmpToDB(null, Session["UID"].ToString(), 1, out ErrorMsg); dtResultA = bco.QueryErrorByFind(1, 0, Session["UID"].ToString(), dCreateTime, dCreateTime); N_STORE_OK = dtResultA.Select("DATATYPE=1").Length; N_STORE_NG = dtResultA.Select("DATATYPE=2").Length; dtResultB = bco.QueryErrorByFind(2, 0, Session["UID"].ToString(), dCreateTime, dCreateTime); N_ITEM_OK = dtResultB.Select("DATATYPE=1").Length; N_ITEM_NG = dtResultB.Select("DATATYPE=2").Length; //匯入結果(門市) this.UploadStatusPanelS.ImportSum = N_UPLOAD_STORE ; this.UploadStatusPanelS.ImportOK = N_STORE_OK; this.UploadStatusPanelS.ImportNG = N_STORE_NG; //匯入結果(商品) this.UploadStatusPanelI.ImportSum = N_UPLOAD_ITEM ; this.UploadStatusPanelI.ImportOK = N_ITEM_OK; this.UploadStatusPanelI.ImportNG = N_ITEM_NG; } if ((N_STORE_NG != 0) || (N_ITEM_NG != 0)) { this.ErrorMsgLabel.Text = "匯入失敗,請查詢異常報表"; } else { this.ErrorMsgLabel.Text = "匯入完成"; } up_ErrorMsg.Update(); #endregion } unLockPage(); this.hid_FrmStatus.Value = "fmBroswe"; } catch (Exception ex) { this.ErrorMsgLabel.Text = ex.Message.Split(Environment.NewLine.Replace(Environment.NewLine, "~").ToCharArray())[0]; //直接取第一個 unLockPage(); this.hid_FrmStatus.Value = "fmBroswe"; } #endregion }