//期別主檔、期別屬性檔、期別帳務資料 -> EditItemTemplate -> 儲存<編輯模式> protected void btnPeriodEditCommit_Click(object sender, EventArgs e) { #region 檢查欄位[期別結束日] //20100208新增條件,編輯模式下,欄位[期別結束日]如有異動,必須大於或等於生活日(sysdate) if (((ASP.wui_slp_slp_slpdate_ascx)this.FormView1.FindControl("txtPERIOD_END_DATE")).Text != ((ASP.wui_slp_slp_slpdate_ascx)this.FormView1.FindControl("txtPERIOD_END_DATE_Original")).Text) { if (((ASP.wui_slp_slp_slpdate_ascx)this.FormView1.FindControl("txtPERIOD_END_DATE")).Text != string.Empty) { DateTime d_PERIOD_END_DATE = DateTime.Parse(((ASP.wui_slp_slp_slpdate_ascx)this.FormView1.FindControl("txtPERIOD_END_DATE")).Text); if (d_PERIOD_END_DATE < DateTime.Now.Date) { Alert("欄位[期別結束日]必須大於或等於生活日"); return; } } } #endregion #region 檢查[品號][供應商]是否輸入正確的值 #region 設定變數 int i_ITEM_Count = 0; int i_VENDOR_Count = 0; string s_ErrorMsg = string.Empty; TextBox txt_ITEM = ((WUI.SLP.SLP_SKU)this.FormView1.FindControl("txtITEM")).TextBox_Code;//商品 TextBox txt_VENDOR = ((WUI.SLP.SLP_VendorBase)this.FormView1.FindControl("txtVENDOR")).TextBox_Code;//供應商 STMModel.ITMPublic BCO_Public = new STMModel.ITMPublic(ConntionDB); #endregion #region 檢查[品號] ParameterList.Clear(); ParameterList.Add(txt_ITEM.Text.Trim()); ParameterList.Add(Session["UID"].ToString()); i_ITEM_Count = BCO_Public.QUERY_ITME_COUNT(ParameterList); #endregion #region 檢查[供應商] ParameterList.Clear(); ParameterList.Add(txt_VENDOR.Text.Trim()); ParameterList.Add(Session["UID"].ToString()); i_VENDOR_Count = BCO_Public.QUERY_VENDOR_COUNT(ParameterList); #endregion #region 檢查回傳資料 if (i_ITEM_Count != 1) { s_ErrorMsg += "期別主檔頁籤的品號欄位,輸入正確的品號\\r\\n"; } if (i_VENDOR_Count != 1) { s_ErrorMsg += "期別主檔頁籤的供應商欄位,請輸入正確的供應商\\r\\n"; } if (s_ErrorMsg != string.Empty) { Alert(s_ErrorMsg); return; } #endregion #endregion DbConnection con; DbTransaction transaction = bco.GetTransaction(out con); if (Save_Data(true, DateTime.Now, ((TextBox)FormView1.FindControl("txtEDIT_NO")).Text.Trim(), transaction, con) == true) //因「產生異動序號」也會用到同樣的程序,所以另寫一個Save_Data函式共用 { Response.Redirect(string.Format("ITM022.aspx?Code=ITM02&arl_Key={0}&isToolBar=N&ID={1}&mode={2}&finish={3}", Request.QueryString["arl_Key"], ViewState["PID"].ToString(), "readonly", "Y"), false); } }
private string Check_Condition() { string s_ReturnMsg = string.Empty; #region 設定變數 int i_VENDOR_Count = 0;//[供應商]筆數 int i_ROOT_NO_Count = 0;//[群分類]筆數 int i_PMA_Count = 0;//[大分類]筆數 int i_CATEGORY_Count = 0;//[中分類]筆數 int i_SORTOUT_Count = 0;//[小分類]筆數 TextBox txt_VENDOR = ((WUI.SLP.SLP_VendorBase)this.FormView1.FindControl("txtMANUFACTURE")).TextBox_Code;//供應商 TextBox txt_ROOT_NO = ((WUI.SLP.SLP_RootNo)this.FormView1.FindControl("ddlROOT_NO")).TextBox_Code;//群分類 TextBox txt_PMA = ((WUI.SLP.SLP_PMA)this.FormView1.FindControl("txtPMA")).TextBox_Code;//大分類 TextBox txt_CATEGORY = ((WUI.SLP.SLP_Category)this.FormView1.FindControl("txtCATEGORY")).TextBox_Code;//中分類 TextBox txt_SORT_OUT = ((WUI.SLP.SLP_SortOut)this.FormView1.FindControl("txtSORT_OUT")).TextBox_Code;//小分類 PIC.VDS2G.GFM.ITM.ITMPublic BCO_Public = new PIC.VDS2G.GFM.ITM.ITMPublic(ConntionDB); #endregion #region 檢查[供應商] ParameterList.Clear(); ParameterList.Add(txt_VENDOR.Text.Trim()); ParameterList.Add(Session["UID"].ToString()); i_VENDOR_Count = BCO_Public.QUERY_VENDOR_COUNT(ParameterList); #endregion #region 檢查[群分類] ParameterList.Clear(); ParameterList.Add(txt_ROOT_NO.Text.Trim()); ParameterList.Add(Session["UID"].ToString()); i_ROOT_NO_Count = BCO_Public.QUERY_ROOT_NO_COUNT(ParameterList); #endregion #region 檢查[大分類] ParameterList.Clear(); ParameterList.Add(txt_ROOT_NO.Text.Trim()); ParameterList.Add(txt_PMA.Text.Trim()); ParameterList.Add(Session["UID"].ToString()); i_PMA_Count = BCO_Public.QUERY_PMA_COUNT(ParameterList); #endregion #region 檢查[中分類] ParameterList.Clear(); ParameterList.Add(txt_ROOT_NO.Text.Trim()); ParameterList.Add(txt_PMA.Text.Trim()); ParameterList.Add(txt_CATEGORY.Text.Trim()); ParameterList.Add(Session["UID"].ToString()); i_CATEGORY_Count = BCO_Public.QUERY_CATEGORY_COUNT(ParameterList); #endregion #region 檢查[小分類] ParameterList.Clear(); ParameterList.Add(txt_ROOT_NO.Text.Trim()); ParameterList.Add(txt_PMA.Text.Trim()); ParameterList.Add(txt_CATEGORY.Text.Trim()); ParameterList.Add(txt_SORT_OUT.Text.Trim()); ParameterList.Add(Session["UID"].ToString()); i_SORTOUT_Count = BCO_Public.QUERY_SORTOUT_COUNT(ParameterList); #endregion #region 檢查回傳資料 if (i_VENDOR_Count != 1) { s_ReturnMsg += "新品主檔頁籤的供應商欄位,請輸入正確的供應商\\r\\n"; } if (i_ROOT_NO_Count != 1) { s_ReturnMsg += "新品主檔頁籤的群分類欄位,請輸入正確的群分類\\r\\n"; } if (i_PMA_Count != 1) { s_ReturnMsg += "新品主檔頁籤的大分類欄位,請輸入正確的大分類\\r\\n"; } if (i_CATEGORY_Count != 1) { s_ReturnMsg += "新品主檔頁籤的中分類欄位,請輸入正確的中分類\\r\\n"; } if (i_SORTOUT_Count != 1) { s_ReturnMsg += "新品主檔頁籤的小分類欄位,請輸入正確的小分類\\r\\n"; } #endregion return s_ReturnMsg; }
//期別主檔、期別屬性檔、期別帳務資料 -> InsertItemTemplate -> 儲存<新增模式> protected void btnPeriodInsertButton_Click(object sender, EventArgs e) { #region 檢查欄位[期別結束日] //20100208新增條件,新增模式下,欄位[期別結束日]必須大於或等於生活日(sysdate) if (((ASP.wui_slp_slp_slpdate_ascx)this.FormView1.FindControl("txtPERIOD_END_DATE")).Text != string.Empty) { DateTime d_PERIOD_END_DATE = DateTime.Parse(((ASP.wui_slp_slp_slpdate_ascx)this.FormView1.FindControl("txtPERIOD_END_DATE")).Text); if (d_PERIOD_END_DATE < DateTime.Now.Date) { Alert("欄位[期別結束日]必須大於或等於生活日"); return; } } #endregion #region 檢查[品號][供應商]是否輸入正確的值 #region 設定變數 int i_ITEM_Count = 0; int i_VENDOR_Count = 0; string s_ErrorMsg = string.Empty; TextBox txt_ITEM = ((WUI.SLP.SLP_SKU)this.FormView1.FindControl("txtITEM")).TextBox_Code;//商品 TextBox txt_VENDOR = ((WUI.SLP.SLP_VendorBase)this.FormView1.FindControl("txtVENDOR")).TextBox_Code;//供應商 STMModel.ITMPublic BCO_Public = new STMModel.ITMPublic(ConntionDB); #endregion #region 檢查[品號] ParameterList.Clear(); ParameterList.Add(txt_ITEM.Text.Trim()); ParameterList.Add(Session["UID"].ToString()); i_ITEM_Count = BCO_Public.QUERY_ITME_COUNT(ParameterList); #endregion #region 檢查[供應商] ParameterList.Clear(); ParameterList.Add(txt_VENDOR.Text.Trim()); ParameterList.Add(Session["UID"].ToString()); i_VENDOR_Count = BCO_Public.QUERY_VENDOR_COUNT(ParameterList); #endregion #region 檢查回傳資料 if (i_ITEM_Count != 1) { s_ErrorMsg += "期別主檔頁籤的品號欄位,輸入正確的品號\\r\\n"; } if (i_VENDOR_Count != 1) { s_ErrorMsg += "期別主檔頁籤的供應商欄位,請輸入正確的供應商\\r\\n"; } if (s_ErrorMsg != string.Empty) { Alert(s_ErrorMsg); return; } #endregion #endregion if (!chkItemPeriod('1')) { Alert("品號、期別重複,請重新輸入"); return; } if (chkFieldEmpty()) return; DbConnection con; DbTransaction transaction = bco.GetTransaction(out con); DateTime TimeNow = DateTime.Now; int v_ID = 0; try { #region 畫面取值 FormView fv = FormView1; string v_ITEM = ((WUI.SLP.SLP_SKU)fv.FindControl("txtITEM")).Text.Trim(); string v_PERIOD = ((TextBox)fv.FindControl("txtPERIOD")).Text.Trim(); //string v_EDIT_NO = string.Format("{0}001", DateTime.Today.ToString("yyyyMMdd")); string v_EDIT_NO = "0"; string v_PERIOD_START_DATE = ((WUI.SLP.SLPDate)fv.FindControl("txtPERIOD_START_DATE")).Text.Trim(); string v_PERIOD_END_DATE = ((WUI.SLP.SLPDate)fv.FindControl("txtPERIOD_END_DATE")).Text.Trim(); string v_CATEGORY = ((WUI.SLP.SLP_Category)fv.FindControl("txtCATEGORY")).Text.Trim(); string v_PUBLISH_TYPE = ((WUI.SLP.CodeFile)fv.FindControl("txtPUBLISH_TYPE")).Text.Trim(); string v_TAX_TYPE = ((WUI.SLP.EnumBase)fv.FindControl("txtTAX_TYPE")).Text.Trim(); string v_SPECIAL_TEXT = ((TextBox)fv.FindControl("txtSPECIAL_TEXT")).Text.Trim(); string v_ATTRIBUTE = ((((TextBox)fv.FindControl("txtACCT_VALIDATE")).Text.Trim() == "已審核") ? "1" : "0"); string v_VENDOR = ((WUI.SLP.SLP_VendorBase)fv.FindControl("txtVENDOR")).Text.Trim(); string v_BARCODE = ((TextBox)fv.FindControl("txtBARCODE")).Text.Trim(); string v_PERIOD_BARCODE = ((TextBox)fv.FindControl("txtPERIOD_BARCODE")).Text.Trim(); string v_COST = ((WUI.SLP.SLPNumber)fv.FindControl("txtCOST")).Text.Trim(); string v_PRICE = ((WUI.SLP.SLPNumber)fv.FindControl("txtPRICE")).Text.Trim(); string v_DISCOUNT_RATE; if (v_PRICE == "0") v_DISCOUNT_RATE = "0"; else v_DISCOUNT_RATE = Math.Round(Convert.ToDecimal(decimal.Parse(v_COST) / decimal.Parse(v_PRICE)), 2).ToString(); string v_PRINT_CNTY = ((WUI.SLP.CodeFile)fv.FindControl("txtPRINT_CNTY")).Text.Trim(); string v_LANGUAGE = ((WUI.SLP.CodeFile)fv.FindControl("txtLANGUAGE")).Text.Trim(); //string v_COVER_FILE = ((TextBox)fv.FindControl("txtCOVER_FILE")).Text.Trim(); string v_COVER_FILE = Page.Request.Form[((TextBox)fv.FindControl("txtCOVER_FILE")).UniqueID];//新增畫面,該欄位在前端組合產生 if (v_COVER_FILE == null) v_COVER_FILE = v_ITEM + "/" + v_ITEM + v_PERIOD + ".jpg";//預防畫面欄位未被javascript寫入 string v_DIS_RULE = ((WUI.SLP.CodeFile)fv.FindControl("txtDIS_RULE")).Text.Trim(); string v_DIS_ACCEPT_RATE = ((WUI.SLP.SLPNumber)fv.FindControl("txtDIS_ACCEPT_RATE")).Text.Trim(); string v_DIS_RETURN_RATE = ((WUI.SLP.SLPNumber)fv.FindControl("txtDIS_RETURN_RATE")).Text.Trim(); string v_DIS_ACCEPT_DOLLAR = ((WUI.SLP.SLPNumber)fv.FindControl("txtDIS_ACCEPT_DOLLAR")).Text.Trim(); string v_DIS_RETURN_DOLLAR = ((WUI.SLP.SLPNumber)fv.FindControl("txtDIS_RETURN_DOLLAR")).Text.Trim(); string v_EDIT_REASON = ((TextBox)fv.FindControl("txtEDIT_REASON")).Text.Trim(); string v_CODE = string.Format("{0}{1}{2}", v_ITEM, v_PERIOD, v_EDIT_NO); #endregion 畫面取值 #region 更新編輯後的資料 ParameterList.Clear(); SQLHelper.SQLWhere(ref ParameterList, DbType.String, "vCODE", v_CODE); //vCODE SQLHelper.SQLWhere(ref ParameterList, DbType.String, "vITEM", v_ITEM); //vITEM SQLHelper.SQLWhere(ref ParameterList, DbType.String, "vPERIOD", v_PERIOD); //vPERIOD SQLHelper.SQLWhere(ref ParameterList, DbType.String, "vEDIT_NO", v_EDIT_NO); //vEDIT_NO SQLHelper.SQLWhere(ref ParameterList, DbType.String, "vSPECIAL_TEXT", v_SPECIAL_TEXT); //vSPECIAL_TEXT SQLHelper.SQLWhere(ref ParameterList, DbType.VarNumeric, "vTAX_TYPE", v_TAX_TYPE); //vTAX_TYPE SQLHelper.SQLWhere(ref ParameterList, DbType.String, "vVENDOR", v_VENDOR); //vVENDOR SQLHelper.SQLWhere(ref ParameterList, DbType.VarNumeric, "vCOST", v_COST); //vCOST SQLHelper.SQLWhere(ref ParameterList, DbType.VarNumeric, "vPRICE", v_PRICE); //vPRICE SQLHelper.SQLWhere(ref ParameterList, DbType.String, "vFRONT_PERIOD", ""); //vFRONT_PERIOD SQLHelper.SQLWhere(ref ParameterList, DbType.String, "vBARCODE", v_BARCODE); //vBARCODE SQLHelper.SQLWhere(ref ParameterList, DbType.String, "vPUBLISH_TYPE", v_PUBLISH_TYPE); //vPUBLISH_TYPE SQLHelper.SQLWhere(ref ParameterList, DbType.DateTime, "vRETURN_DATE", null); //vRETURN_DATE SQLHelper.SQLWhere(ref ParameterList, DbType.String, "vCOVER_FILE", v_COVER_FILE); //vCOVER_FILE SQLHelper.SQLWhere(ref ParameterList, DbType.String, "vPERIOD_BARCODE", v_PERIOD_BARCODE); //vPERIOD_BARCODE SQLHelper.SQLWhere(ref ParameterList, DbType.String, "vDIS_BASE", ""); //vDIS_BASE SQLHelper.SQLWhere(ref ParameterList, DbType.VarNumeric, "vDIS_ACCEPT_DOLLAR", v_DIS_ACCEPT_DOLLAR); //vDIS_ACCEPT_DOLLAR SQLHelper.SQLWhere(ref ParameterList, DbType.VarNumeric, "vDIS_RETURN_DOLLAR", v_DIS_RETURN_DOLLAR); //vDIS_RETURN_DOLLAR SQLHelper.SQLWhere(ref ParameterList, DbType.VarNumeric, "vDIS_RULE", v_DIS_RULE); //vDIS_RULE SQLHelper.SQLWhere(ref ParameterList, DbType.VarNumeric, "vDIS_ACCEPT_RATE", v_DIS_ACCEPT_RATE); //vDIS_ACCEPT_RATE SQLHelper.SQLWhere(ref ParameterList, DbType.VarNumeric, "vDIS_RETURN_RATE", v_DIS_RETURN_RATE); //vDIS_RETURN_RATE SQLHelper.SQLWhere(ref ParameterList, DbType.VarNumeric, "vACCT_VALIDATE", "0"); //vACCT_VALIDATE SQLHelper.SQLWhere(ref ParameterList, DbType.DateTime, "vPERIOD_START_DATE", v_PERIOD_START_DATE); //vPERIOD_START_DATE SQLHelper.SQLWhere(ref ParameterList, DbType.DateTime, "vPERIOD_END_DATE", v_PERIOD_END_DATE); //vPERIOD_END_DATE SQLHelper.SQLWhere(ref ParameterList, DbType.String, "vRESEARCH_FREQUENCY", ""); //vRESEARCH_FREQUENCY SQLHelper.SQLWhere(ref ParameterList, DbType.String, "vRESEARCH_INTERVAL", ""); //vRESEARCH_INTERVAL SQLHelper.SQLWhere(ref ParameterList, DbType.VarNumeric, "vMARKET_RESEARCH", null); //vMARKET_RESEARCH SQLHelper.SQLWhere(ref ParameterList, DbType.String, "vPRINT_CNTY", v_PRINT_CNTY); //vPRINT_CNTY SQLHelper.SQLWhere(ref ParameterList, DbType.String, "vLANGUAGE", v_LANGUAGE); //vLANGUAGE SQLHelper.SQLWhere(ref ParameterList, DbType.String, "vRESEARCH_INTERVAL2", ""); //vRESEARCH_INTERVAL2 SQLHelper.SQLWhere(ref ParameterList, DbType.String, "vRESEARCH_INTERVAL3", ""); //vRESEARCH_INTERVAL3 SQLHelper.SQLWhere(ref ParameterList, DbType.String, "vEDIT_REASON", v_EDIT_REASON); //vEDIT_REASON SQLHelper.SQLWhere(ref ParameterList, DbType.VarNumeric, "vDISCOUNT_RATE", v_DISCOUNT_RATE); //vDISCOUNT_RATE SQLHelper.SQLWhere(ref ParameterList, DbType.DateTime, "vCREATEDATE", TimeNow); //vCREATEDATE SQLHelper.SQLWhere(ref ParameterList, DbType.String, "vCREATEUID", Session["UID"].ToString()); //vCREATEUID SQLHelper.SQLWhere(ref ParameterList, DbType.DateTime, "vUPDATEDATE", TimeNow); //vUPDATEDATE SQLHelper.SQLWhere(ref ParameterList, DbType.String, "vUPDATEUID", Session["UID"].ToString()); //vUPDATEUID SQLHelper.SQLWhere(ref ParameterList, DbType.String, "vSOURCE_PERIOD", "X"); SQLHelper.SQLWhere(ref ParameterList, DbType.String, "vSOURCE_EDIT_NO", "X"); #endregion //新增儲存期別屬性檔資料 #region 畫面取值 FormView fv2 = FormView2; string v_ISSUANCE_DATE = ((WUI.SLP.SLPDate)fv2.FindControl("txtISSUANCE_DATE")).Text.Trim(); string v_PLAN_ACCEPT_DATE = ((WUI.SLP.SLPDate)fv2.FindControl("txtPLAN_ACCEPT_DATE")).Text.Trim(); object v_PACKAGE_UNIT = ((WUI.SLP.SLPNumber)fv2.FindControl("txtPACKAGE_UNIT")).Text.Trim(); string v_ACCEPT_DATE = ((WUI.SLP.SLPDate)fv2.FindControl("txtACCEPT_DATE")).Text.Trim(); string v_FRONT_ACCEPT_DATE = ((WUI.SLP.SLPDate)fv2.FindControl("txtFRONT_ACCEPT_DATE")).Text.Trim(); string v_EOS_NO = ((TextBox)fv2.FindControl("txtEOS_NO")).Text.Trim(); string v_DIS_DATE = ((WUI.SLP.SLPDate)fv2.FindControl("txtDIS_DATE")).Text.Trim(); string v_DIS_NO = ((TextBox)fv2.FindControl("txtDIS_NO")).Text.Trim(); string v_PURCHASE_DATE = ((WUI.SLP.SLPDate)fv2.FindControl("txtPURCHASE_DATE")).Text.Trim(); object v_PURCHASE_QTY = ((WUI.SLP.SLPNumber)fv2.FindControl("txtPURCHASE_QTY")).Text.Trim(); string v_PURCHASE_NO = ((TextBox)fv2.FindControl("txtPURCHASE_NO")).Text.Trim(); string v_OUT_ST_ACCEPT_DATE = ((WUI.SLP.SLPDate)fv2.FindControl("txtOUT_ST_ACCEPT_DATE")).Text.Trim(); string v_ST_ACCEPT_DATE = ((WUI.SLP.SLPDate)fv2.FindControl("txtST_ACCEPT_DATE")).Text.Trim(); string v_RETURN_DATE = ((WUI.SLP.SLPDate)fv2.FindControl("txtRETURN_DATE")).Text.Trim(); object v_ACCEPT_QTY = ((WUI.SLP.SLPNumber)fv2.FindControl("txtACCEPT_QTY")).Text.Trim(); object v_ONWAY_QTY = ((WUI.SLP.SLPNumber)fv2.FindControl("txtONWAY_QTY")).Text.Trim(); object v_DIS_QTY = ((WUI.SLP.SLPNumber)fv2.FindControl("txtDIS_QTY")).Text.Trim(); object v_ACCEPT_DAYS = ((WUI.SLP.SLPNumber)fv2.FindControl("txtACCEPT_DAYS")).Text.Trim(); object v_OUT_DAYS = ((WUI.SLP.SLPNumber)fv2.FindControl("txtOUT_DAYS")).Text.Trim(); object v_S_WEIGHT = ((WUI.SLP.SLPNumber)fv2.FindControl("txtS_WEIGHT")).Text.Trim(); object v_S_WIDTH = ((WUI.SLP.SLPNumber)fv2.FindControl("txtS_WIDTH")).Text.Trim(); object v_S_LENGHT = ((WUI.SLP.SLPNumber)fv2.FindControl("txtS_LENGHT")).Text.Trim(); object v_S_HEIGHT = ((WUI.SLP.SLPNumber)fv2.FindControl("txtS_HEIGHT")).Text.Trim(); object v_W_WEIGHT = ((WUI.SLP.SLPNumber)fv2.FindControl("txtW_WEIGHT")).Text.Trim(); object v_W_WIDTH = ((WUI.SLP.SLPNumber)fv2.FindControl("txtW_WIDTH")).Text.Trim(); object v_W_LENGHT = ((WUI.SLP.SLPNumber)fv2.FindControl("txtW_LENGHT")).Text.Trim(); object v_W_HEIGHT = ((WUI.SLP.SLPNumber)fv2.FindControl("txtW_HEIGHT")).Text.Trim(); v_CODE = string.Format("{0}{1}{2}", v_ITEM, v_PERIOD, v_EDIT_NO); #endregion 畫面取值 #region 更新編輯後的資料 Array_List.Clear(); SQLHelper.SQLWhere(ref Array_List, DbType.String, "vCODE", v_CODE); //vCODE SQLHelper.SQLWhere(ref Array_List, DbType.String, "vITEM", v_ITEM); //vITEM SQLHelper.SQLWhere(ref Array_List, DbType.String, "vPERIOD", v_PERIOD); //vPERIOD SQLHelper.SQLWhere(ref Array_List, DbType.String, "vEDIT_NO", v_EDIT_NO); //vEDIT_NO SQLHelper.SQLWhere(ref Array_List, DbType.VarNumeric, "vPACKAGE_UNIT", v_PACKAGE_UNIT); //vPACKAGE_UNIT SQLHelper.SQLWhere(ref Array_List, DbType.VarNumeric, "vS_WEIGHT", v_S_WEIGHT); //vS_WEIGHT SQLHelper.SQLWhere(ref Array_List, DbType.VarNumeric, "vS_LENGTH", v_S_LENGHT); //vS_LENGTH SQLHelper.SQLWhere(ref Array_List, DbType.VarNumeric, "vS_WIDTH", v_S_WIDTH); //vS_WIDTH SQLHelper.SQLWhere(ref Array_List, DbType.VarNumeric, "vS_HEIGHT", v_S_HEIGHT); //vS_HEIGHT SQLHelper.SQLWhere(ref Array_List, DbType.VarNumeric, "vP_WEIGHT", v_W_WEIGHT); //vP_WEIGHT SQLHelper.SQLWhere(ref Array_List, DbType.VarNumeric, "vP_LENGTH", v_W_LENGHT); //vP_LENGTH SQLHelper.SQLWhere(ref Array_List, DbType.VarNumeric, "vP_WIDTH", v_W_WIDTH); //vP_WIDTH SQLHelper.SQLWhere(ref Array_List, DbType.VarNumeric, "vP_HEIGHT", v_W_HEIGHT); //vP_HEIGHT SQLHelper.SQLWhere(ref Array_List, DbType.DateTime, "vISSUANCE_DATE", v_ISSUANCE_DATE); //vISSUANCE_DATE SQLHelper.SQLWhere(ref Array_List, DbType.DateTime, "vPURCHASE_DATE", v_PURCHASE_DATE); //vPURCHASE_DATE SQLHelper.SQLWhere(ref Array_List, DbType.DateTime, "vPLAN_ACCEPT_DATE", v_PLAN_ACCEPT_DATE); //vPLAN_ACCEPT_DATE SQLHelper.SQLWhere(ref Array_List, DbType.DateTime, "vFRONT_ACCEPT_DATE", v_FRONT_ACCEPT_DATE); //vFRONT_ACCEPT_DATE SQLHelper.SQLWhere(ref Array_List, DbType.DateTime, "vACCEPT_DATE", v_ACCEPT_DATE); //vACCEPT_DATE SQLHelper.SQLWhere(ref Array_List, DbType.DateTime, "vDIS_DATE", v_DIS_DATE); //vDIS_DATE SQLHelper.SQLWhere(ref Array_List, DbType.DateTime, "vOUT_ST_ACCEPT_DATE", v_OUT_ST_ACCEPT_DATE); //vOUT_ST_ACCEPT_DATE SQLHelper.SQLWhere(ref Array_List, DbType.DateTime, "vST_ACCEPT_DATE", v_ST_ACCEPT_DATE); //vST_ACCEPT_DATE SQLHelper.SQLWhere(ref Array_List, DbType.DateTime, "vPICK_DATE", null); //vPICK_DATE SQLHelper.SQLWhere(ref Array_List, DbType.DateTime, "vRETURN_DATE", v_RETURN_DATE); //vRETURN_DATE SQLHelper.SQLWhere(ref Array_List, DbType.String, "vEOS_NO", v_EOS_NO); //vEOS_NO SQLHelper.SQLWhere(ref Array_List, DbType.VarNumeric, "vPURCHASE_QTY", v_PURCHASE_QTY); //vPURCHASE_QTY SQLHelper.SQLWhere(ref Array_List, DbType.String, "vPURCHASE_NO", v_PURCHASE_NO); //vPURCHASE_NO SQLHelper.SQLWhere(ref Array_List, DbType.String, "vDIS_NO", v_DIS_NO); //vDIS_NO SQLHelper.SQLWhere(ref Array_List, DbType.VarNumeric, "vACCEPT_QTY", v_ACCEPT_QTY); //vACCEPT_QTY SQLHelper.SQLWhere(ref Array_List, DbType.VarNumeric, "vONWAY_QTY", v_ONWAY_QTY); //vONWAY_QTY SQLHelper.SQLWhere(ref Array_List, DbType.VarNumeric, "vDIS_QTY", v_DIS_QTY); //vDIS_QTY SQLHelper.SQLWhere(ref Array_List, DbType.VarNumeric, "vACCETP_DAYS", v_ACCEPT_DAYS); //vACCETP_DAYS SQLHelper.SQLWhere(ref Array_List, DbType.VarNumeric, "vOUT_DAYS", v_OUT_DAYS); //vOUT_DAYS SQLHelper.SQLWhere(ref Array_List, DbType.DateTime, "vFIRST_VENDOR_RETURN_DATE", null); //vFIRST_VENDOR_RETURN_DATE SQLHelper.SQLWhere(ref Array_List, DbType.String, "vCREATEUID", Session["UID"].ToString()); //vCREATEUID SQLHelper.SQLWhere(ref Array_List, DbType.DateTime, "vCREATEDATE", TimeNow); //vCREATEDATE SQLHelper.SQLWhere(ref Array_List, DbType.DateTime, "vUPDATEDATE", TimeNow); //vUPDATEDATE SQLHelper.SQLWhere(ref Array_List, DbType.String, "vUPDATEUID", Session["UID"].ToString()); //vUPDATEUID #endregion //新增儲存期別屬性檔資料 #region 期別帳務資料 DataTable dtSubsidy_New = bcoSubsidy.ConvertXMLToDataTable(VDS_ITM_CHAN_SUBSIDY_NEW.InnerHtml); DataTable dtSubsidy_Old = bcoSubsidy.ConvertXMLToDataTable(VDS_ITM_CHAN_SUBSIDY.InnerHtml); string SessionIDName = "ITM022_" + PageTimeStamp.Value; DataTable dtOld = (DataTable)Session[SessionIDName + "_0"]; //店群門市原始資料 DataTable dtNew = (DataTable)Session[SessionIDName]; #region 掃瞄期別帳務資料並做檢核 ArrayList Array_L = new ArrayList(); for (int i = 0; i < ((Repeater)FormView4.FindControl("repTarget")).Items.Count; i++) { DataRow nRow = dtSubsidy_New.Rows[i]; RepeaterItem nItem = ((Repeater)FormView4.FindControl("repTarget")).Items[i]; TextBox Accept_Amt = (TextBox)nItem.FindControl("txtACCEPT_AMT"); TextBox Retrun_Amt = (TextBox)nItem.FindControl("txtRETURN_AMT"); TextBox Accept_Rate = (TextBox)nItem.FindControl("txtACCEPT_RATE"); TextBox Retrun_Rate = (TextBox)nItem.FindControl("txtRETURN_RATE"); TextBox Discount = (TextBox)nItem.FindControl("txtDISCOUNT_RATE"); TextBox Min_Amt = (TextBox)nItem.FindControl("txtMIN_AMT"); DropDownList SLP_NOTES = (DropDownList)((ASP.sys_slp_slp_codefile_ascx)nItem.FindControl("SLP_NOTES")).FindControl("D1"); Page currentPage = (Page)HttpContext.Current.Handler; string script = ""; string name = "PayTypeAlert"; if (Accept_Amt.Text.Length > 0) { if (decimal.Parse(Accept_Amt.Text) > 99999) { ScriptManager.RegisterStartupScript(currentPage, currentPage.GetType(), name, "alert('「" + ((TextBox)nItem.FindControl("txtSUBSIDY_TYPE")).Text + "」固定進貨金額欄位整數位數不可大於5位');", true); checkFormMode(); return; } //只有折扣補貼(VOTES=3)的資料才可輸入負數 20120529 rika if (decimal.Parse(Accept_Amt.Text) < 0 && SLP_NOTES.SelectedItem.Value != "3") { ScriptManager.RegisterStartupScript(currentPage, currentPage.GetType(), name, "alert('「" + SLP_NOTES.SelectedItem.Text + "」固定進貨金額欄位不可為負數');", true); checkFormMode(); return; } if (Accept_Amt.Text.IndexOf('.') != -1) if (Accept_Amt.Text.Length - Accept_Amt.Text.IndexOf('.') - 1 > 2) { ScriptManager.RegisterStartupScript(currentPage, currentPage.GetType(), name, "alert('「" + ((TextBox)nItem.FindControl("txtSUBSIDY_TYPE")).Text + "」固定進貨金額欄位小數位數不可大於2位');", true); checkFormMode(); return; } } if (Retrun_Amt.Text.Length > 0) { if (decimal.Parse(Retrun_Amt.Text) > 99999) { ScriptManager.RegisterStartupScript(currentPage, currentPage.GetType(), name, "alert('「" + ((TextBox)nItem.FindControl("txtSUBSIDY_TYPE")).Text + "」固定退貨金額欄位整數位數不可大於5位');", true); checkFormMode(); return; } //只有折扣補貼(VOTES=3)的資料才可輸入負數 20120529 rika if (decimal.Parse(Retrun_Amt.Text) < 0 && SLP_NOTES.SelectedItem.Value != "3") { ScriptManager.RegisterStartupScript(currentPage, currentPage.GetType(), name, "alert('「" + SLP_NOTES.SelectedItem.Text + "」固定退貨金額欄位不可為負數');", true); checkFormMode(); return; } if (Retrun_Amt.Text.IndexOf('.') != -1) if (Retrun_Amt.Text.Length - Retrun_Amt.Text.IndexOf('.') - 1 > 2) { ScriptManager.RegisterStartupScript(currentPage, currentPage.GetType(), name, "alert('「" + ((TextBox)nItem.FindControl("txtSUBSIDY_TYPE")).Text + "」固定退貨金額欄位小數位數不可大於2位');", true); checkFormMode(); return; } } if (Accept_Rate.Text.Length > 0) { if (decimal.Parse(Accept_Rate.Text) > 999) { ScriptManager.RegisterStartupScript(currentPage, currentPage.GetType(), name, "alert('「" + ((TextBox)nItem.FindControl("txtSUBSIDY_TYPE")).Text + "」固定進貨%欄位整數位數不可大於3位');", true); checkFormMode(); return; } //只有折扣補貼(VOTES=3)的資料才可輸入負數 20120529 rika if (decimal.Parse(Accept_Rate.Text) < 0 && SLP_NOTES.SelectedItem.Value != "3") { ScriptManager.RegisterStartupScript(currentPage, currentPage.GetType(), name, "alert('「" + SLP_NOTES.SelectedItem.Text + "」固定進貨%欄位不可為負數');", true); checkFormMode(); return; } if (Accept_Rate.Text.IndexOf('.') != -1) if (Accept_Rate.Text.Length - Accept_Rate.Text.IndexOf('.') - 1 > 3) { ScriptManager.RegisterStartupScript(currentPage, currentPage.GetType(), name, "alert('「" + ((TextBox)nItem.FindControl("txtSUBSIDY_TYPE")).Text + "」固定進貨%欄位小數位數不可大於3位');", true); checkFormMode(); return; } } if (Retrun_Rate.Text.Length > 0) { if (decimal.Parse(Retrun_Rate.Text) > 999) { ScriptManager.RegisterStartupScript(currentPage, currentPage.GetType(), name, "alert('「" + ((TextBox)nItem.FindControl("txtSUBSIDY_TYPE")).Text + "」固定退貨%欄位整數位數不可大於3位');", true); checkFormMode(); return; } //只有折扣補貼(VOTES=3)的資料才可輸入負數 20120529 rika if (decimal.Parse(Retrun_Rate.Text) < 0 && SLP_NOTES.SelectedItem.Value != "3") { ScriptManager.RegisterStartupScript(currentPage, currentPage.GetType(), name, "alert('「" + SLP_NOTES.SelectedItem.Text + "」固定退貨%欄位不可為負數');", true); checkFormMode(); return; } if (Retrun_Rate.Text.IndexOf('.') != -1) if (Retrun_Rate.Text.Length - Retrun_Rate.Text.IndexOf('.') - 1 > 3) { ScriptManager.RegisterStartupScript(currentPage, currentPage.GetType(), name, "alert('「" + ((TextBox)nItem.FindControl("txtSUBSIDY_TYPE")).Text + "」固定退貨%欄位小數位數不可大於3位');", true); checkFormMode(); return; } } if (Discount.Text.Length > 0) { if (decimal.Parse(Discount.Text) > 999) { ScriptManager.RegisterStartupScript(currentPage, currentPage.GetType(), name, "alert('「" + ((TextBox)nItem.FindControl("txtSUBSIDY_TYPE")).Text + "」費率%欄位整數位數不可大於3位');", true); checkFormMode(); return; } //只有折扣補貼(VOTES=3)的資料才可輸入負數 20120529 rika if (decimal.Parse(Discount.Text) < 0 && SLP_NOTES.SelectedItem.Value != "3") { ScriptManager.RegisterStartupScript(currentPage, currentPage.GetType(), name, "alert('「" + SLP_NOTES.SelectedItem.Text + "」費率%欄位不可為負數');", true); checkFormMode(); return; } if (Discount.Text.IndexOf('.') != -1) if (Discount.Text.Length - Discount.Text.IndexOf('.') - 1 > 3) { ScriptManager.RegisterStartupScript(currentPage, currentPage.GetType(), name, "alert('「" + ((TextBox)nItem.FindControl("txtSUBSIDY_TYPE")).Text + "」費率%欄位小數位數不可大於3位');", true); checkFormMode(); return; } } if (Discount.Text.Length == 0 && Retrun_Rate.Text.Length == 0 && Accept_Rate.Text.Length == 0 && Retrun_Amt.Text.Length == 0 && Accept_Amt.Text.Length == 0) { ScriptManager.RegisterStartupScript(currentPage, currentPage.GetType(), name, "alert('固定金額、固定%、費率%必須擇一輸入值');", true); checkFormMode(); return ; } if (Min_Amt.Text.Length > 0) { if (decimal.Parse(Min_Amt.Text) > 9999) { ScriptManager.RegisterStartupScript(currentPage, currentPage.GetType(), name, "alert('「" + ((TextBox)nItem.FindControl("txtSUBSIDY_TYPE")).Text + "」最低金額欄位整數位數不可大於7位');", true); checkFormMode(); return; } if (Min_Amt.Text.IndexOf('.') != -1) if (Min_Amt.Text.Length - Min_Amt.Text.IndexOf('.') - 1 > 3) { ScriptManager.RegisterStartupScript(currentPage, currentPage.GetType(), name, "alert('「" + ((TextBox)nItem.FindControl("txtSUBSIDY_TYPE")).Text + "」最低金額欄位小數位數不可大於3位');", true); checkFormMode(); return; } } //nRow["SUBSIDY_TYPE"] = Convert.ToString(i + 1); if ((Accept_Amt.Text != "")) { if (decimal.Parse(Accept_Amt.Text) == 0)nRow["ACCEPT_AMT"] = System.DBNull.Value; else nRow["ACCEPT_AMT"] = Convert.ToDecimal(Accept_Amt.Text); } else nRow["ACCEPT_AMT"] = System.DBNull.Value; if ((Retrun_Amt.Text != "")) { if (decimal.Parse(Retrun_Amt.Text) == 0)nRow["RETURN_AMT"] = System.DBNull.Value; else nRow["RETURN_AMT"] = Convert.ToDecimal(Retrun_Amt.Text); } else nRow["RETURN_AMT"] = System.DBNull.Value; if ((Accept_Rate.Text != "")) { if (decimal.Parse(Accept_Rate.Text) == 0)nRow["ACCEPT_RATE"] = System.DBNull.Value; else nRow["ACCEPT_RATE"] = Convert.ToDecimal(Accept_Rate.Text); } else nRow["ACCEPT_RATE"] = System.DBNull.Value; if ((Retrun_Rate.Text != "")) { if (decimal.Parse(Retrun_Rate.Text) == 0)nRow["RETURN_RATE"] = System.DBNull.Value; else nRow["RETURN_RATE"] = Convert.ToDecimal(Retrun_Rate.Text); } else nRow["RETURN_RATE"] = System.DBNull.Value; if ((Discount.Text != "")) { if (decimal.Parse(Discount.Text) == 0)nRow["DISCOUNT_RATE"] = System.DBNull.Value; else nRow["DISCOUNT_RATE"] = Convert.ToDecimal(Discount.Text); } else nRow["DISCOUNT_RATE"] = System.DBNull.Value; if ((((WUI.SLP.CodeFile)nItem.FindControl("txtPAY_TYPE")).Text != "")) nRow["PAY_TYPE"] = Convert.ToDecimal(((WUI.SLP.CodeFile)nItem.FindControl("txtPAY_TYPE")).Text); //固定金額、固定%、費率%只能擇一輸入值 script = string.Format("alert('{0}');", "「" + ((TextBox)nItem.FindControl("txtSUBSIDY_TYPE")).Text + "」固定金額、固定%、費率%只能擇一輸入值,請重新輸入"); if (((Accept_Amt.Text.Trim() != "" && Accept_Amt.Text.Replace(".", "").Trim('0') != "") || (Retrun_Amt.Text.Trim() != "" && Retrun_Amt.Text.Replace(".", "").Trim('0') != "")) && ((Accept_Rate.Text.Trim() != "" && Accept_Rate.Text.Replace(".", "").Trim('0') != "") || (Retrun_Rate.Text.Trim() != "" && Retrun_Rate.Text.Replace(".", "").Trim('0') != ""))) { script += @"window.setTimeout(function set_focus(){document.getElementById('" + Accept_Amt.ClientID + @"').focus();document.getElementById('" + Accept_Amt.ClientID + @"').select();}, 1800);"; ScriptManager.RegisterStartupScript(currentPage, currentPage.GetType(), name, script, true); checkFormMode(); return; } if (((Accept_Amt.Text.Trim() != "" && Accept_Amt.Text.Replace(".", "").Trim('0') != "") || (Retrun_Amt.Text.Trim() != "" && Retrun_Amt.Text.Replace(".", "").Trim('0') != "")) && (Discount.Text.Trim() != "" && Discount.Text.Replace(".", "").Trim('0') != "")) { script += @"window.setTimeout(function set_focus(){document.getElementById('" + Accept_Amt.ClientID + @"').focus();document.getElementById('" + Accept_Amt.ClientID + @"').select();}, 1800);"; ScriptManager.RegisterStartupScript(currentPage, currentPage.GetType(), name, script, true); checkFormMode(); return; } if (((Accept_Rate.Text != "" && Accept_Rate.Text.Replace(".", "").Trim('0') != "") || (Retrun_Rate.Text != "" && Retrun_Rate.Text.Replace(".", "").Trim('0') != "")) && (Discount.Text != "" && Discount.Text.Replace(".", "").Trim('0') != "")) { script += @"window.setTimeout(function set_focus(){document.getElementById('" + Accept_Rate.ClientID + @"').focus();document.getElementById('" + Accept_Rate.ClientID + @"').select();}, 1800);"; ScriptManager.RegisterStartupScript(currentPage, currentPage.GetType(), name, script, true); checkFormMode(); return; } //收取方式=牌價,卻沒有設定店群門市資料,顯示提醒《沒有設定店群,收取方式不能選擇牌價,請重新設定》 WUI.SLP.CodeFile txtPAY_TYPE = ((WUI.SLP.CodeFile)nItem.FindControl("txtPAY_TYPE")); if (txtPAY_TYPE.Text == "4") //收取方式=牌價 { //Array_L.Clear(); //SQLHelper.SQLWhere(ref Array_L, DbType.VarNumeric, "PID", nRow["ID"].ToString(), "=", "and"); //DataTable dtSubsidyStore = bcoSubsidyStore.QueryPeriodStoreGroupByFind_1(Array_L); //if (dtSubsidyStore.Rows.Count == 0) DataRow[] drs = dtNew.Select(string.Format("PID='{0}'", nRow["NEWID"].ToString())); if (drs.Length == 0) { script = string.Format("alert('{0}');", "沒有設定店群,收取方式不能選擇牌價,請重新設定"); DropDownList txt_PAY_TYPE = (DropDownList)((ASP.sys_slp_slp_codefile_ascx)nItem.FindControl("txtPAY_TYPE")).FindControl("D1"); //須加時間延遲,待該物件生成後才給focus() script += @"window.setTimeout(function set_focus(){document.getElementById('" + txt_PAY_TYPE.ClientID + @"').focus();}, 1800);"; ScriptManager.RegisterStartupScript(currentPage, currentPage.GetType(), name, script, true); checkFormMode(); return; } } nRow["TARGET_RULE"] = 0; if ((((WUI.SLP.CodeFile)nItem.FindControl("txtTARGET_RULE")).Text != "")) nRow["TARGET_RULE"] = Convert.ToDecimal(((WUI.SLP.CodeFile)nItem.FindControl("txtTARGET_RULE")).Text); nRow["NOTES"] = ((ASP.sys_slp_slp_codefile_ascx)nItem.FindControl("SLP_NOTES")).Text; if ((((TextBox)nItem.FindControl("txtMIN_AMT")).Text != "")) nRow["MIN_AMT"] = Convert.ToDecimal(((TextBox)nItem.FindControl("txtMIN_AMT")).Text); nRow["MONTHCOUNT_YN"] = int.Parse(((WUI.SLP.SLP_Boolean)nItem.FindControl("txtMONTHCOUNT_YN")).Text.Trim()); nRow["DISTRIBUTE_YN"] = int.Parse(((DropDownList)nItem.FindControl("txtDISTRIBUTE_YN")).Text.Trim()); nRow["CODE"] = string.Format("{0}{1}{2}", v_ITEM, v_PERIOD, v_EDIT_NO); nRow["ITEM"] = v_ITEM; nRow["PERIOD"] = v_PERIOD; nRow["EDIT_NO"] = v_EDIT_NO; } #endregion //Find Deleted Data foreach (DataRow dr1 in dtSubsidy_Old.Rows) { //準備刪除畫面上不存在的資料 DataRow[] drs = dtSubsidy_New.Select(string.Format("ID='{0}'", dr1["ID"].ToString())); //準備刪除畫面上固定金額、固定%、費率都為0或空值的資料 DataRow[] Drs = dtSubsidy_New.Select(string.Format("ID='{0}' and ((ACCEPT_AMT=0 or ACCEPT_AMT is null) and (RETURN_AMT=0 or RETURN_AMT is null) and (ACCEPT_RATE=0 or ACCEPT_RATE is null) and (RETURN_RATE=0 or RETURN_RATE is null) and (DISCOUNT_RATE=0 or DISCOUNT_RATE is null))", dr1["ID"].ToString())); if (drs.Length == 0 || Drs.Length == 1) { #region 參數 Array_L.Clear(); SQLHelper.SQLWhere(ref Array_L, DbType.VarNumeric, "OLD_ID", dr1["ID"].ToString()); //OLD_ID SQLHelper.SQLWhere(ref Array_L, DbType.String, "OLD_CODE", dr1["CODE"].ToString()); //OLD_CODE SQLHelper.SQLWhere(ref Array_L, DbType.String, "OLD_ITEM", dr1["ITEM"].ToString()); //OLD_ITEM SQLHelper.SQLWhere(ref Array_L, DbType.String, "OLD_PERIOD", dr1["PERIOD"].ToString()); //OLD_PERIOD SQLHelper.SQLWhere(ref Array_L, DbType.String, "OLD_EDIT_NO", dr1["EDIT_NO"].ToString()); //OLD_EDIT_NO SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "OLD_SUBSIDY_TYPE", dr1["SUBSIDY_TYPE"].ToString()); //OLD_SUBSIDY_TYPE SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "OLD_ACCEPT_AMT", dr1["ACCEPT_AMT"].ToString()); //OLD_ACCEPT_AMT SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "OLD_RETURN_AMT", dr1["RETURN_AMT"].ToString()); //OLD_RETURN_AMT SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "OLD_ACCEPT_RATE", dr1["ACCEPT_RATE"].ToString()); //OLD_ACCEPT_RATE SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "OLD_RETURN_RATE", dr1["RETURN_RATE"].ToString()); //OLD_RETURN_RATE SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "OLD_DISCOUNT_RATE", dr1["DISCOUNT_RATE"].ToString()); //OLD_DISCOUNT_RATE SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "OLD_PAY_TYPE", dr1["PAY_TYPE"].ToString()); //OLD_PAY_TYPE SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "OLD_TARGET_RULE", dr1["TARGET_RULE"].ToString()); //OLD_TARGET_RULE SQLHelper.SQLWhere(ref Array_L, DbType.String, "OLD_NOTES", dr1["NOTES"].ToString()); //OLD_NOTES SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "OLD_MIN_AMT", dr1["MIN_AMT"].ToString()); //OLD_MIN_AMT SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "OLD_IN_STORE_FLAG", dr1["IN_STORE_FLAG"].ToString()); //OLD_IN_STORE_FLAG SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "OLD_PERIOD_PAY_TYPE", dr1["PERIOD_PAY_TYPE"].ToString()); //OLD_PERIOD_PAY_TYPE SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "OLD_MONTHCOUNT_YN", dr1["MONTHCOUNT_YN"].ToString()); //OLD_MONTHCOUNT_YN SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "OLD_DISTRIBUTE_YN", dr1["DISTRIBUTE_YN"].ToString()); //OLD_DISTRIBUTE_YN SQLHelper.SQLWhere(ref Array_L, DbType.DateTime, "OLD_CREATEDATE", dr1["CREATEDATE"].ToString()); //OLD_CREATEDATE SQLHelper.SQLWhere(ref Array_L, DbType.String, "OLD_CREATEUID", dr1["CREATEUID"].ToString()); //OLD_CREATEUID SQLHelper.SQLWhere(ref Array_L, DbType.String, "OLD_UPDATEUID", dr1["UPDATEUID"].ToString()); //OLD_UPDATEUID SQLHelper.SQLWhere(ref Array_L, DbType.DateTime, "OLD_UPDATEDATE", dr1["UPDATEDATE"].ToString()); //OLD_UPDATEDATE SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "OLD_ENABLE", dr1["ENABLE"].ToString()); //OLD_ENABLE SQLHelper.SQLWhere(ref Array_L, DbType.DateTime, "NEW_UPDATEDATE", TimeNow); //NEW_UPDATEDATE SQLHelper.SQLWhere(ref Array_L, DbType.String, "NEW_UPDATEUID", Session["UID"].ToString()); //NEW_UPDATEUID #endregion bcoSubsidy.DeletePeriodSubsidy(Array_L, transaction); //同步刪除VDS_ITM_CHAN_SUBSIDY_STORE的DataTable裏的資料(因為上一步的Package已刪除VDS_ITM_CHAN_SUBSIDY_STORE裏的資料了) DataRow[] DrsS = dtOld.Select("PID='" + dr1["ID"].ToString() + "'"); if (DrsS.Length > 0) foreach (DataRow DDR in DrsS) dtOld.Rows.Remove(DDR); DataRow[] DrsS1 = dtNew.Select("PID='" + dr1["ID"].ToString() + "'"); if (DrsS1.Length > 0) foreach (DataRow DDR in DrsS1) dtNew.Rows.Remove(DDR); } } //Find New Data foreach (DataRow dr1 in dtSubsidy_New.Rows) { if (dr1["ID"].ToString() == "" || dr1["ID"].ToString() == "0") { if ((dr1["ACCEPT_AMT"].ToString() == "" || dr1["ACCEPT_AMT"].ToString() == "0") && (dr1["RETURN_AMT"].ToString() == "" || dr1["RETURN_AMT"].ToString() == "0") && (dr1["ACCEPT_RATE"].ToString() == "" || dr1["ACCEPT_RATE"].ToString() == "0") && (dr1["RETURN_RATE"].ToString() == "" || dr1["RETURN_RATE"].ToString() == "0") && (dr1["DISCOUNT_RATE"].ToString() == "" || dr1["DISCOUNT_RATE"].ToString() == "0")) continue; #region 參數 Array_L.Clear(); SQLHelper.SQLWhere(ref Array_L, DbType.VarNumeric, "vID", dr1["NEWID"].ToString()); //vID SQLHelper.SQLWhere(ref Array_L, DbType.String, "vCODE", dr1["CODE"].ToString()); //vCODE SQLHelper.SQLWhere(ref Array_L, DbType.String, "vITEM", dr1["ITEM"].ToString()); //vITEM SQLHelper.SQLWhere(ref Array_L, DbType.String, "vPERIOD", dr1["PERIOD"].ToString()); //vPERIOD SQLHelper.SQLWhere(ref Array_L, DbType.String, "vEDIT_NO", dr1["EDIT_NO"].ToString()); //vEDIT_NO SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "vSUBSIDY_TYPE", dr1["SUBSIDY_TYPE"].ToString()); //vSUBSIDY_TYPE SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "vACCEPT_AMT", dr1["ACCEPT_AMT"].ToString()); //vACCEPT_AMT SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "vRETURN_AMT", dr1["RETURN_AMT"].ToString()); //vRETURN_AMT SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "vACCEPT_RATE", dr1["ACCEPT_RATE"].ToString()); //vACCEPT_RATE SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "vRETURN_RATE", dr1["RETURN_RATE"].ToString()); //vRETURN_RATE SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "vDISCOUNT_RATE", dr1["DISCOUNT_RATE"].ToString()); //vDISCOUNT_RATE SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "vPAY_TYPE", dr1["PAY_TYPE"].ToString()); //vPAY_TYPE SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "vTARGET_RULE", dr1["TARGET_RULE"].ToString()); //vTARGET_RULE SQLHelper.SQLWhere(ref Array_L, DbType.String, "vNOTES", dr1["NOTES"].ToString()); //vNOTES SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "vMIN_AMT", dr1["MIN_AMT"].ToString()); //vMIN_AMT SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "vIN_STORE_FLAG", dr1["IN_STORE_FLAG"].ToString()); //vIN_STORE_FLAG SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "vPERIOD_PAY_TYPE", dr1["PERIOD_PAY_TYPE"].ToString()); //vPERIOD_PAY_TYPE SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "vMONTHCOUNT_YN", dr1["MONTHCOUNT_YN"].ToString()); //vMONTHCOUNT_YN SQLHelper.SQLWhere(ref Array_L, DbType.Decimal, "vDISTRIBUTE_YN", dr1["DISTRIBUTE_YN"].ToString()); //vDISTRIBUTE_YN SQLHelper.SQLWhere(ref Array_L, DbType.DateTime, "vCREATEDATE", TimeNow); //vCREATEDATE SQLHelper.SQLWhere(ref Array_L, DbType.String, "vCREATEUID", Session["UID"].ToString()); //vCREATEUID SQLHelper.SQLWhere(ref Array_L, DbType.String, "vUPDATEUID", Session["UID"].ToString()); //vUPDATEUID SQLHelper.SQLWhere(ref Array_L, DbType.DateTime, "vUPDATEDATE", TimeNow); //vUPDATEDATE #endregion bcoSubsidy.CreatePeriodSubsidyWidthID(Array_L, transaction); } } if (((Repeater)FormView4.FindControl("repTarget")).Items.Count > 0) { //針對VDS_ITM_CHAN_SUBSIDY的SUBSIDY_TYPE在DB重新排序 Array_L.Clear(); Array_L.Add(v_ITEM); Array_L.Add(v_PERIOD); Array_L.Add(v_EDIT_NO); bcoSubsidy.ResortSubsidyType(Array_L, transaction); } #endregion #region 店群門市資料 foreach (DataRow Dr1 in dtOld.Rows)//刪除資料 { DataRow[] drs = dtNew.Select(string.Format("ID={0}", Dr1["ID"].ToString())); if (drs.Length == 0) { Array_L.Clear(); SQLHelper.SQLWhere(ref Array_L, DbType.VarNumeric, "OLD_ID", Dr1["ID"].ToString()); //OLD_ID SQLHelper.SQLWhere(ref Array_L, DbType.VarNumeric, "OLD_PID", Dr1["PID"].ToString()); //OLD_PID SQLHelper.SQLWhere(ref Array_L, DbType.VarNumeric, "OLD_SUBSIDY_TYPE", Dr1["SUBSIDY_TYPE"].ToString()); //OLD_SUBSIDY_TYPE SQLHelper.SQLWhere(ref Array_L, DbType.String, "OLD_STORE_GROUP", Dr1["STORE_GROUP"].ToString()); //OLD_STORE_GROUP SQLHelper.SQLWhere(ref Array_L, DbType.String, "OLD_STORE", Dr1["STORE"].ToString()); //OLD_STORE SQLHelper.SQLWhere(ref Array_L, DbType.DateTime, "OLD_CREATEDATE", Dr1["CREATEDATE"].ToString()); //OLD_CREATEDATE SQLHelper.SQLWhere(ref Array_L, DbType.String, "OLD_CREATEUID", Dr1["CREATEUID"].ToString()); //OLD_CREATEUID SQLHelper.SQLWhere(ref Array_L, DbType.String, "OLD_UPDATEUID", Dr1["UPDATEUID"].ToString()); //OLD_UPDATEUID SQLHelper.SQLWhere(ref Array_L, DbType.DateTime, "OLD_UPDATEDATE", Dr1["UPDATEDATE"].ToString()); //OLD_UPDATEDATE SQLHelper.SQLWhere(ref Array_L, DbType.DateTime, "NEW_UPDATEDATE", TimeNow); //NEW_UPDATEDATE SQLHelper.SQLWhere(ref Array_L, DbType.String, "NEW_UPDATEUID", Session["UID"].ToString()); //NEW_UPDATEUID bcoSubsidyStore.DeletePeriodStoreGroup(Array_L, transaction); } } foreach (DataRow drNew in dtNew.Rows)//新增資料 { if (drNew["ID"].ToString() == "" || drNew["ID"].ToString() == "0") { Array_L.Clear(); SQLHelper.SQLWhere(ref Array_L, DbType.VarNumeric, "vPID", drNew["PID"].ToString()); //vPID SQLHelper.SQLWhere(ref Array_L, DbType.VarNumeric, "vSUBSIDY_TYPE", drNew["SUBSIDY_TYPE"].ToString()); //vSUBSIDY_TYPE SQLHelper.SQLWhere(ref Array_L, DbType.String, "vSTORE_GROUP", drNew["STORE_GROUP"].ToString()); //vSTORE_GROUP SQLHelper.SQLWhere(ref Array_L, DbType.String, "vSTORE", drNew["STORE"].ToString()); //vSTORE SQLHelper.SQLWhere(ref Array_L, DbType.DateTime, "vCREATEDATE", TimeNow); //vCREATEDATE SQLHelper.SQLWhere(ref Array_L, DbType.String, "vCREATEUID", Session["UID"].ToString()); //vCREATEUID SQLHelper.SQLWhere(ref Array_L, DbType.String, "vUPDATEUID", Session["UID"].ToString()); //vUPDATEUID SQLHelper.SQLWhere(ref Array_L, DbType.DateTime, "vUPDATEDATE", TimeNow); //vUPDATEUID bcoSubsidyStore.CreatePeriodStoreGroup(Array_L, transaction); } } foreach (DataRow drOld in dtOld.Rows)//修改資料 { DataRow[] drs = dtNew.Select(string.Format("ID={0}", drOld["ID"].ToString())); if (drs.Length > 0) { DataRow drNew = drs[0]; Array_L.Clear(); SQLHelper.SQLWhere(ref Array_L, DbType.VarNumeric, "OLD_ID", drOld["ID"].ToString()); //OLD_ID SQLHelper.SQLWhere(ref Array_L, DbType.VarNumeric, "OLD_PID", drOld["PID"].ToString()); //OLD_PID SQLHelper.SQLWhere(ref Array_L, DbType.VarNumeric, "OLD_SUBSIDY_TYPE", drOld["SUBSIDY_TYPE"].ToString()); //OLD_SUBSIDY_TYPE SQLHelper.SQLWhere(ref Array_L, DbType.String, "OLD_STORE_GROUP", drOld["STORE_GROUP"].ToString()); //OLD_STORE_GROUP SQLHelper.SQLWhere(ref Array_L, DbType.String, "OLD_STORE", drOld["STORE"].ToString()); //OLD_STORE SQLHelper.SQLWhere(ref Array_L, DbType.DateTime, "OLD_CREATEDATE", drOld["CREATEDATE"].ToString()); //OLD_CREATEDATE SQLHelper.SQLWhere(ref Array_L, DbType.String, "OLD_CREATEUID", drOld["CREATEUID"].ToString()); //OLD_CREATEUID SQLHelper.SQLWhere(ref Array_L, DbType.String, "OLD_UPDATEUID", drOld["UPDATEUID"].ToString()); //OLD_UPDATEUID SQLHelper.SQLWhere(ref Array_L, DbType.DateTime, "OLD_UPDATEDATE", drOld["UPDATEDATE"].ToString()); //OLD_UPDATEDATE SQLHelper.SQLWhere(ref Array_L, DbType.VarNumeric, "NEW_PID", drNew["PID"].ToString()); //NEW_PID SQLHelper.SQLWhere(ref Array_L, DbType.VarNumeric, "NEW_SUBSIDY_TYPE", drNew["SUBSIDY_TYPE"].ToString()); //NEW_SUBSIDY_TYPE SQLHelper.SQLWhere(ref Array_L, DbType.String, "NEW_STORE_GROUP", drNew["STORE_GROUP"].ToString()); //NEW_STORE_GROUP SQLHelper.SQLWhere(ref Array_L, DbType.String, "NEW_STORE", drNew["STORE"].ToString()); //NEW_STORE SQLHelper.SQLWhere(ref Array_L, DbType.String, "NEW_UPDATEUID", Session["UID"].ToString()); //NEW_UPDATEUID SQLHelper.SQLWhere(ref Array_L, DbType.DateTime, "NEW_UPDATEDATE", TimeNow); //NEW_UPDATEDATE bcoSubsidyStore.UpdatePeriodStoreGroup(Array_L, transaction); } } #endregion v_ID = bco.CreateSKUPeriod(ParameterList, Array_List, transaction, true, con); ArrayList AL = (ArrayList)Session[Request.QueryString["arl_Key"]]; if (AL == null) AL = new ArrayList(); AL.Add(v_ID); Session[Request.QueryString["arl_Key"]] = AL; //Response.Write("<script>alert('新增完成');location.replace('ITM022.aspx?arl_Key=" + Request.QueryString["arl_Key"] + "&ID=" + v_ID.ToString() + "&mode=readonly');</script>"); ScriptManager.RegisterStartupScript(this, this.GetType(), "AddComplete", "alert('新增完成');location.replace('ITM022.aspx?Code=ITM02&arl_Key=" + Request.QueryString["arl_Key"] + "&isToolBar=N&ID=" + v_ID.ToString() + "&mode=readonly');", true); } catch (Exception ex) { ErrorMsgLabel.Text = ex.Message; if (transaction.Connection != null) transaction.Rollback(); } finally { } }//end InsertButton_Click