using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using GThinking.N_MISPRO.Data; using GThinking.N_MODEL.Page; using GThinking.N_MISPRO; using GThinking.N_CONTROL; using GThinking.N_MISPRO.Utility; using GThinking.N_MISPROAS.Services; using System.Collections.Generic; using GThinking.N_MISPRO.Caching; using GThinking.N_MISPRO.TableCache; namespace GThinking.N_XLXSBJ { public partial class JGBMLList : SingleGridBase { #region Page类事件继承 JGBML entity = new JGBML(); JGBML_M queryentity = new JGBML_M(); static string sTZYZList = ""; protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860018; this.UMName = "线缆销售报价价格目录"; this.CurMaster = Master; this.ModuleGV = ContentGrid; this.CurEntity = entity; this.CurQueryEntity = queryentity; this.PageHeight = 600; this.PageWidth = 750; this.sURLTarget = "JGBMLInfo.aspx"; this.sQueryURLTarget = "JGBMLQuery.aspx"; base.DataKeyNames = new string[] { "XLXSJGB_MXBH", "XLXSJGB_JGBID", "XLXSJGB_TJYS", "XLXSJGB_BJLY", "XLXSJGB_JJLY", "XLXSJGB_JGBMC", "XLXSJGB_YXQS", "XLXSJGB_YXQZ" }; if (!IsPostBack) { CurQueryEntity.FieldByName("FLID").Value = "JGB"; CurQueryEntity.FieldByName("CKRQ").Value = DateTime.Now.Date.ToString(); } ContentGrid.FindColumnExByFieldName("TBJCLID").NumberDecimalPlace = XLBJDUtils.BJCLPriceDecimal; ContentGrid.FindColumnExByFieldName("LBJCLID").NumberDecimalPlace = XLBJDUtils.BJCLPriceDecimal; base.InitPage(); base.InitEntityByCondition(); if (CurQueryEntity.FieldByName("FLID").Value.Equals("JGB") || CurQueryEntity.FieldByName("FLID").Value.Equals("JGC")) { ContentGrid.FindColumnByFieldName("XLXSJGB_JJLY").Visible = true; ContentGrid.FindColumnByFieldName("XLXSJGB_BJLY").Visible = true; ContentGrid.FindColumnByFieldName("XLXSJGB_JSBLFS").Visible = true; ContentGrid.FindColumnByFieldName("CPML").Visible = true; //if (CurQueryEntity.FieldByName("FLID").Value.Equals("JGB")) //{ // ContentGrid.FindColumnByFieldName("TBJCLID").Visible = true; // ContentGrid.FindColumnByFieldName("LBJCLID").Visible = true; //} //else //{ // ContentGrid.FindColumnByFieldName("TBJCLID").Visible = false; // ContentGrid.FindColumnByFieldName("LBJCLID").Visible = false; //} } else { ContentGrid.FindColumnByFieldName("XLXSJGB_JJLY").Visible = false; ContentGrid.FindColumnByFieldName("XLXSJGB_BJLY").Visible = false; ContentGrid.FindColumnByFieldName("XLXSJGB_JSBLFS").Visible = false; ContentGrid.FindColumnByFieldName("CPML").Visible = false; ContentGrid.FindColumnByFieldName("TBJCLID").Visible = false; ContentGrid.FindColumnByFieldName("LBJCLID").Visible = false; } if (DSMAC.IsRegMAC("S_XLXSBJ8")) { btnFBZWX.Visible = true; ContentGrid.FindColumnByFieldName("WXYKJ").Visible = true; ContentGrid.FindColumnByFieldName("WXHYJ").Visible = true; } else { btnFBZWX.Visible = false; ContentGrid.FindColumnByFieldName("WXYKJ").Visible = false; ContentGrid.FindColumnByFieldName("WXHYJ").Visible = false; } if (CurQueryEntity.FieldByName("FLID").Value.Equals("JGB")) btnFBZWX.Enabled = true; else btnFBZWX.Enabled = false; if ((CurQueryEntity.FieldByName("FLID").Value.Equals("JGB") || CurQueryEntity.FieldByName("FLID").Value.Equals("JGC")) && CheckXSJGB()) btnTBZXSJGB.Visible = true; else btnTBZXSJGB.Visible = false; if (!IsPostBack) { Master_OnStandardQuery(null, null); } } #endregion #region 模板继承事件 protected override bool Master_BeforeDeleteAction(object sender, EventArgs e) { string sMXBH = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_MXBH"].ToString().Trim(); if (ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim().Equals("00000000")) { ShowMessage("价格表编号为'00000000'为系统价格表,不允许删除!"); return false; } if (sMXBH.Equals("JGB") || sMXBH.Equals("JGC") || sMXBH.Equals("JGE") || sMXBH.Equals("JGF")) { if (sMXBH.Equals("JGB") || sMXBH.Equals("JGE")) { if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSBJD where XLXSBJD_JGBID='{0}'", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim()))) { ShowMessage("已被报价单使用,不允许删除!"); return false; } } if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select top 1 XLXSJGB_JGBID from XLXSJGB where ','||rtrim(isnull(XLXSJGB_JGBIDS,' '))||',' like '{0}'", "%," + ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim() + ",%"))) { ShowMessage("已被其他价格表作为所依出厂价,不允许删除!"); return false; } if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGB where ','||rtrim(isnull(XLXSJGB_JGCIDS,' '))||',' like '{0}'", "%," + ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim() + ",%"))) { ShowMessage("已被报价价格表引用,不允许删除!"); return false; } if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGBMX where XLXSJGBMX_JGBID='{0}' ", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim()))) { Confirm.Register("CheckDel", "存在价格表明细记录,确定删除?"); if (Confirm.GetValue("CheckDel").Trim().Equals("")) { Confirm.Ask("CheckDel"); return false; } else if (Confirm.GetValue("CheckDel").Trim().Equals("N")) { //表示进行了提示并选择了取消,直接返回或其他处理 Confirm.Clear(); return false; } else if (Confirm.GetValue("CheckDel").Trim().Equals("Y")) { //表示进行了提示并选择了确认 Confirm.Clear(); } } } else if (sMXBH.Equals("JZJ")) { Dictionary dic = XLBJDUtils.GetALLYZIDDic(); foreach (string sYZID in dic.Keys) { TZYZXX yzxx = XLBJDUtils.GetYZXXByYZID(sYZID); if (!string.IsNullOrEmpty(yzxx.XLXSTZYZ_JGBID) && yzxx.XLXSTZYZ_JGBID.Equals(ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim()) && yzxx.XLXSTZYZ_MXBH == "JZJ") { ShowMessage("被价格表调价因子使用,不允许删除!"); return false; } } Confirm.Register("CheckDel", "将同步删除当前调价表设置的因子值记录,是否继续?"); if (Confirm.GetValue("CheckDel").Trim().Equals("")) { Confirm.Ask("CheckDel"); return false; } else if (Confirm.GetValue("CheckDel").Trim().Equals("N")) { //表示进行了提示并选择了取消,直接返回或其他处理 Confirm.Clear(); return false; } else if (Confirm.GetValue("CheckDel").Trim().Equals("Y")) { //表示进行了提示并选择了确认 Confirm.Clear(); } } else if (sMXBH.Equals("BJD")) { Dictionary dic = XLBJDUtils.GetALLYZIDDic(); foreach (string sYZID in dic.Keys) { TZYZXX yzxx = XLBJDUtils.GetYZXXByYZID(sYZID); if (!string.IsNullOrEmpty(yzxx.XLXSTZYZ_JGBID) && yzxx.XLXSTZYZ_JGBID.Equals(ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim()) && yzxx.XLXSTZYZ_MXBH == "BJD") { ShowMessage("被报价单调价因子使用,不允许删除!"); return false; } } Confirm.Register("CheckDel", "将同步删除当前调价表设置的因子值记录,是否继续?"); if (Confirm.GetValue("CheckDel").Trim().Equals("")) { Confirm.Ask("CheckDel"); return false; } else if (Confirm.GetValue("CheckDel").Trim().Equals("N")) { //表示进行了提示并选择了取消,直接返回或其他处理 Confirm.Clear(); return false; } else if (Confirm.GetValue("CheckDel").Trim().Equals("Y")) { //表示进行了提示并选择了确认 Confirm.Clear(); } } CurEntity.Param.Add("XLXSJGB_MXBH", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_MXBH"].ToString().Trim()); CurEntity.Param.Add("XLXSJGB_JGBID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim()); return base.Master_BeforeDeleteAction(sender, e); } protected override void AfterDelete(TDatabase db, ref bool ActionIsDone) { base.AfterDelete(db, ref ActionIsDone); string sMXBH = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_MXBH"].ToString().Trim(); string sJGBID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim(); if (sMXBH.Equals("JGB") || sMXBH.Equals("JGC") || sMXBH.Equals("JGE") || sMXBH.Equals("JGF")) { TSQL tSQL = new TSQL(db); tSQL.Clear(); tSQL.Add("delete from XLXSJGBMX where XLXSJGBMX_JGBID = :XLXSJGBMX_JGBID "); tSQL.ParamByName("XLXSJGBMX_JGBID").Value = sJGBID; db.ExecSQL(tSQL); tSQL.Clear(); tSQL.Add("delete from XLXSJGBYZZ0 where XLXSJGBYZZ0_JGBID = :XLXSJGBYZZ0_JGBID "); tSQL.ParamByName("XLXSJGBYZZ0_JGBID").Value = sJGBID; db.ExecSQL(tSQL); tSQL.Clear(); tSQL.Add("delete from XLXSJGBYZ where XLXSJGBYZ_JGBID = :XLXSJGBYZ_JGBID "); tSQL.ParamByName("XLXSJGBYZ_JGBID").Value = sJGBID; db.ExecSQL(tSQL); tSQL.Clear(); tSQL.Add("delete from XLXSCLHQ where XLXSCLHQ_JGBID = :XLXSCLHQ_JGBID "); tSQL.ParamByName("XLXSCLHQ_JGBID").Value = sJGBID; db.ExecSQL(tSQL); tSQL.Clear(); tSQL.Add("delete from XLXSWLHQ where XLXSWLHQ_JGBID = :XLXSWLHQ_JGBID "); tSQL.ParamByName("XLXSWLHQ_JGBID").Value = sJGBID; db.ExecSQL(tSQL); tSQL.Clear(); tSQL.Add("update XLXSJGBPZJGB set XLXSJGBPZJGB_JGBID=null,XLXSJGBPZJGB_JGBMC=null where XLXSJGBPZJGB_JGBID=:pJGBID"); tSQL.ParamByName("pJGBID").Value = sJGBID; db.ExecSQL(tSQL); tSQL.Clear(); tSQL.Add("delete from XLXSJGBCLHQFD where XLXSJGBCLHQFD_MXBH=:pMXBH and XLXSJGBCLHQFD_JGBID=:pJGBID"); tSQL.ParamByName("pMXBH").Value = sMXBH; tSQL.ParamByName("pJGBID").Value = sJGBID; db.ExecSQL(tSQL); tSQL.Clear(); tSQL.Add("delete from XLXSJGBCLQD where XLXSJGBCLQD_JGBID = :XLXSJGBCLQD_JGBID "); tSQL.ParamByName("XLXSJGBCLQD_JGBID").Value = sJGBID; db.ExecSQL(tSQL); tSQL.Clear(); tSQL.Add("delete from XLXSJGBCLQDWL where XLXSJGBCLQDWL_JGBID = :XLXSJGBCLQDWL_JGBID "); tSQL.ParamByName("XLXSJGBCLQDWL_JGBID").Value = sJGBID; db.ExecSQL(tSQL); tSQL.Clear(); tSQL.Add("delete from XLXSJGBYLLM where XLXSJGBYLLM_JGBID = :XLXSJGBYLLM_JGBID "); tSQL.ParamByName("XLXSJGBYLLM_JGBID").Value = sJGBID; db.ExecSQL(tSQL); CacheNotify.TableIsUpdated("DBERP", "XLXSJGBYZ"); } if (sMXBH.Equals("JZJ")) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(db); for (int i = 1; i <= 7; i++) { sSQL.Clear(); sSQL.Add(string.Format("delete from XLXSJGBYZZ{0} where XLXSJGBYZZ{0}_JGBID = :pJGBID ", i.ToString().Trim())); sSQL.ParamByName("pJGBID").Value = sJGBID; dberp.ExecSQL(sSQL); } } if (sMXBH.Equals("BJD")) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(db); for (int i = 1; i <= 14; i++) { string sHZ = i.ToString().Trim(); switch (i) { case 10: sHZ = "A"; break; case 11: sHZ = "B"; break; case 12: sHZ = "C"; break; case 13: sHZ = "D"; break; case 14: sHZ = "E"; break; default: break; } sSQL.Clear(); sSQL.Add(string.Format("delete from XLXSBJDYZZ{0} where XLXSBJDYZZ{0}_JGBID = :pJGBID ", sHZ)); sSQL.ParamByName("pJGBID").Value = sJGBID; dberp.ExecSQL(sSQL); } } } protected override bool Master_AfterDeleteAction(object sender, EventArgs e) { if (!base.Master_AfterDeleteAction(sender, e)) return false; base.InitEntityByCondition(); entity.EntityTable.QuerySelSql = GetQuerySql(); entity.GridDataBind(ContentGrid, tSession); ContentGrid.SelectedIndex = -1; CacheNotify.TableIsUpdated("DBERP", "XLXSJGB"); return true; } protected override void Master_OnStandardQuery(object sender, EventArgs e) { base.InitEntityByCondition(); base.Master_OnStandardQuery(sender, e); entity.EntityTable.QuerySelSql = GetQuerySql(); entity.GridDataBind(ContentGrid, tSession); TPageParams pageParams = new TPageParams(); pageParams.AddString("FLID", CurQueryEntity.FieldByName("FLID").Value.Trim()); SetNewFormParam(pageParams); btnBJJGB.Visible = false; if (CurQueryEntity.FieldByName("FLID").Value.Trim().Equals("JGB")) { btnTJYZ.Enabled = true; btnJGB.Enabled = true; btnSYQY.Enabled = true; btnCLHQFD.Enabled = true; btnXLXSJGBMX.Enabled = true; Master.StandardNewButton.Enabled = true; Master.StandardCopyButton.Enabled = true; Master.StandardEditButton.Enabled = true; Master.StandardDeleteButton.Enabled = true; } else if (CurQueryEntity.FieldByName("FLID").Value.Trim().Equals("JGC")) { btnTJYZ.Enabled = true; btnJGB.Enabled = false; btnSYQY.Enabled = false; btnCLHQFD.Enabled = true; btnXLXSJGBMX.Enabled = true; btnBJJGB.Visible = true; //Master.StandardNewButton.Enabled = false; //Master.StandardCopyButton.Enabled = false; //Master.StandardEditButton.Enabled = true; //Master.StandardDeleteButton.Enabled = true; } else if (CurQueryEntity.FieldByName("FLID").Value.Trim().Equals("JGD")) { Master.StandardNewButton.Enabled = false; Master.StandardCopyButton.Enabled = false; Master.StandardEditButton.Enabled = false; Master.StandardDeleteButton.Enabled = false; btnTJYZ.Enabled = false; btnJGB.Enabled = false; btnSYQY.Enabled = false; btnCLHQFD.Enabled = false; btnXLXSJGBMX.Enabled = false; } else if (CurQueryEntity.FieldByName("FLID").Value.Trim().Equals("JGE")) { Master.StandardNewButton.Enabled = true; Master.StandardCopyButton.Enabled = true; Master.StandardEditButton.Enabled = true; Master.StandardDeleteButton.Enabled = true; btnTJYZ.Enabled = true; btnJGB.Enabled = false; btnSYQY.Enabled = false; btnCLHQFD.Enabled = false; btnXLXSJGBMX.Enabled = false; } else if (CurQueryEntity.FieldByName("FLID").Value.Trim().Equals("JGF")) { btnTJYZ.Enabled = false; btnJGB.Enabled = false; btnSYQY.Enabled = false; btnCLHQFD.Enabled = false; btnXLXSJGBMX.Enabled = true; Master.StandardNewButton.Enabled = true; Master.StandardCopyButton.Enabled = true; Master.StandardEditButton.Enabled = true; Master.StandardDeleteButton.Enabled = true; } else { btnTJYZ.Enabled = false; btnJGB.Enabled = false; btnSYQY.Enabled = false; btnCLHQFD.Enabled = false; btnXLXSJGBMX.Enabled = false; Master.StandardNewButton.Enabled = true; Master.StandardCopyButton.Enabled = true; Master.StandardEditButton.Enabled = true; Master.StandardDeleteButton.Enabled = true; } } protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e) { base.InitEntityByCondition(); entity.EntityTable.QuerySelSql = GetQuerySql(); ContentGrid.SelectedIndex = -1; base.moduleGV_PageIndexChanging(sender, e); } protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { int indexTJYS = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName("XLXSJGB_TJYS")); string sMXBH = ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGB_MXBH"].ToString().Trim(); if (sMXBH.Equals("JGB") || sMXBH.Equals("JGC")) { if (e.Row.Cells[indexTJYS].Text.Trim().Equals("1")) { e.Row.Cells[indexTJYS].Text = "1|表价(出厂价)=基价(材料价)&调价"; } else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("2")) { e.Row.Cells[indexTJYS].Text = "2|表价(区域价)=基价(出厂价)&调价"; } else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("3")) { e.Row.Cells[indexTJYS].Text = "3|表价(现行价)=基价(出厂价+材料价价差)&调价"; } } else if (sMXBH.Equals("JZJ")) { if (e.Row.Cells[indexTJYS].Text.Trim().Equals("1")) { e.Row.Cells[indexTJYS].Text = "1|型号&规格&电压&标准"; } else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("2")) { e.Row.Cells[indexTJYS].Text = "2|产品用途&电压等级分类&报价材料"; } else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("3")) { e.Row.Cells[indexTJYS].Text = "3|销售区域&导体材料&线缆型号&主芯截面"; } else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("4")) { e.Row.Cells[indexTJYS].Text = "4|型号&电压等级&芯线结构&主芯截面范围"; } else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("5")) { e.Row.Cells[indexTJYS].Text = "5|型号&电压等级&主芯截面范围&总芯数范围"; } else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("6")) { e.Row.Cells[indexTJYS].Text = "6|型号&电压等级&报价材料"; } else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("7")) { e.Row.Cells[indexTJYS].Text = "7|报价材料"; } else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("8")) { e.Row.Cells[indexTJYS].Text = "8|每吨加价*材料重量"; } } else if (sMXBH.Equals("BJD")) { if (e.Row.Cells[indexTJYS].Text.Trim().Equals("1")) { e.Row.Cells[indexTJYS].Text = "1|付款方式"; } else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("2")) { e.Row.Cells[indexTJYS].Text = "2|导体材料&电压区间&报价数量区间"; } else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("3")) { e.Row.Cells[indexTJYS].Text = "3|产品用途&电压等级分类&报价数量区间"; } else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("4")) { e.Row.Cells[indexTJYS].Text = "4|型号"; } else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("5")) { e.Row.Cells[indexTJYS].Text = "5|销售区域&型号&标准&电压等级&主芯截面范围"; } else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("6")) { e.Row.Cells[indexTJYS].Text = "6|报价数量区间调价米数/报价数量"; } else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("7")) { e.Row.Cells[indexTJYS].Text = "7|型号&电压等级&芯线结构&主芯截面范围"; } else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("8")) { e.Row.Cells[indexTJYS].Text = "8|付款期限"; } else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("9")) { e.Row.Cells[indexTJYS].Text = "9|导体材料&产品用途&电压等级分类&产品特性"; } else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("A")) { e.Row.Cells[indexTJYS].Text = "A|型号&规格&电压&标准"; } else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("B")) { e.Row.Cells[indexTJYS].Text = "B|销售单位"; } else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("C")) { e.Row.Cells[indexTJYS].Text = "C|产品目录&主芯截面范围&产品特性"; } else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("D")) { e.Row.Cells[indexTJYS].Text = "D|颜色&主芯截面范围"; } else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("E")) { e.Row.Cells[indexTJYS].Text = "E|型号&电压等级&主芯截面范围&报价数量区间"; } else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("F")) { e.Row.Cells[indexTJYS].Text = "F|电压等级&芯线结构&报价数量区间加价/报价数量"; } else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("G")) { e.Row.Cells[indexTJYS].Text = "G|电压等级&芯线结构&导体材料&主芯截面范围&报价数量区间"; } else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("H")) { e.Row.Cells[indexTJYS].Text = "H|型号&电压等级&颜色&主芯截面范围&报价数量区间加价/报价数量"; } } LinkPageParam.AddString("XLXSJGB_MXBH", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGB_MXBH"].ToString().Trim()); LinkPageParam.AddString("XLXSJGB_JGBID", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGB_JGBID"].ToString().Trim()); } base.moduleGV_RowDataBound(sender, e); } #endregion #region 自定义方法 private string GetQuerySql() { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); DataSet ds = new DataSet(); string sBJCLIDS = ""; if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGC")) { SQL.Clear(); SQL.Add("select distinct XLXSJGBPZ_BJCLIDS from XLXSJGB "); SQL.Add("left join XLXSJGBPZ on XLXSJGBPZ_MXBH='JGC' and XLXSJGBPZ_CPMLID=XLXSJGB_CPMLID "); SQL.Add("where XLXSJGB_MXBH='JGC' and isnull(XLXSJGBPZ_BJCLIDS,' ')<>' ' "); ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { sBJCLIDS = sBJCLIDS + ds.Tables[0].Rows[i][0].ToString().Trim() + ","; } } sBJCLIDS = sBJCLIDS.TrimEnd(','); } string sTBJCLID = ""; string sLBJCLID = ""; if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGB") || queryentity.FieldByName("FLID").Value.Trim().Equals("JGC")) { JGBMLInfo.GetTLBJCLID(dberp, SQL, ref sTBJCLID, ref sLBJCLID); } XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(102373000); string sSQL = " select XLXSJGB_MXBH,XLXSJGB_JGBID, XLXSJGB_JGBMC, XLXSJGB_YXQS, XLXSJGB_YXQZ,XLXSJGB_BZ, \r\n"; if (string.IsNullOrEmpty(pzxx.XLXSBJPZ_JGBID)) { sSQL += " 'N' as WXYKJ,"; } else { sSQL += string.Format("case when XLXSJGB_JGBID='{0}' then 'Y' else 'N' end as WXYKJ,", pzxx.XLXSBJPZ_JGBID); } if (string.IsNullOrEmpty(pzxx.XLXSBJPZ_WXHYJGBID)) { sSQL += " 'N' as WXHYJ,"; } else { sSQL += string.Format("case when XLXSJGB_JGBID='{0}' then 'Y' else 'N' end as WXHYJ,", pzxx.XLXSBJPZ_WXHYJGBID); } if (!sTBJCLID.Equals("")) { sSQL += "( SELECT XLXSCLHQ_HSJG FROM XLXSCLHQ where 1=1 and XLXSCLHQ_JGBID = XLXSJGB_JGBID and XLXSCLHQ_BJCLID = :pTBJCLID and XLXSCLHQ_YXQS = convert(datetime,'1900-01-01 00:00:00')) as TBJCLID,"; entity.Param.Add("pTBJCLID", sTBJCLID); } else { sSQL += " 0.0 as TBJCLID, "; } if (!sLBJCLID.Equals("")) { sSQL += "( SELECT XLXSCLHQ_HSJG FROM XLXSCLHQ where 1=1 and XLXSCLHQ_JGBID = XLXSJGB_JGBID and XLXSCLHQ_BJCLID = :pLBJCLID and XLXSCLHQ_YXQS = convert(datetime,'1900-01-01 00:00:00')) as LBJCLID,"; entity.Param.Add("pLBJCLID", sLBJCLID); } else { sSQL += " 0.0 as LBJCLID, "; } sSQL += " 1 as pCOUNT, XLXSJGB_WHR, XLXSJGB_WHRID, XLXSJGB_WHSJ,XLXSJGB_TJYS, XLXSJGB_JJLY, XLXSJGB_BJLY,XLXSJGB_JSBLFS, \r\n" + " case when isnull(XLXSJGB_CPMLID,' ')=' ' then ' ' else rtrim(XLXSJGB_CPMLID)||'|'||XLXSCPML_CPMLMC end as CPML \r\n" + " from XLXSJGB \r\n" + " left join XLXSCPML on XLXSCPML_CPMLID=XLXSJGB_CPMLID \r\n"; string[] sTmp = sBJCLIDS.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); for (int m = 0; m < sTmp.Length; m++) { sSQL += " left join XLXSJGBCLHQFD a" + m.ToString().Trim() + " on a" + m.ToString().Trim() + ".XLXSJGBCLHQFD_MXBH=XLXSJGB_MXBH and a" + m.ToString().Trim() + ".XLXSJGBCLHQFD_JGBID=XLXSJGB_JGBID and a" + m.ToString().Trim() + ".XLXSJGBCLHQFD_BJCLID='" + sTmp[m] + "' \r\n"; } sSQL += " where 1=1 \r\n"; if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGB")) { sSQL += " and XLXSJGB_MXBH='JGB' "; } else if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGC")) { sSQL += " and XLXSJGB_MXBH='JGC' "; } else if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGD")) { sSQL += " and XLXSJGB_MXBH='JGD' "; } else if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGE")) { sSQL += " and XLXSJGB_MXBH='JGE' "; } else if (queryentity.FieldByName("FLID").Value.Trim().Equals("JZJ")) { sSQL += " and XLXSJGB_MXBH='JZJ' "; } else if (queryentity.FieldByName("FLID").Value.Trim().Equals("BJD")) { sSQL += " and XLXSJGB_MXBH='BJD' "; } else if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGF")) { sSQL += " and XLXSJGB_MXBH='JGF' "; } else { sSQL += " and 1<>1 "; } if (!string.IsNullOrEmpty(queryentity.FieldByName("CKRQ").Value.Trim())) { sSQL += " and isnull(XLXSJGB_YXQS, convert(datetime, '1900-01-01')) <= :pCKRQ \r\n"; sSQL += " and isnull(XLXSJGB_YXQZ, convert(datetime, '2099-12-31')) >= :pCKRQ \r\n"; entity.Param.Add("pCKRQ", CurQueryEntity.FieldByName("CKRQ").Value); } if (!string.IsNullOrEmpty(queryentity.FieldByName("CPMLID").Value.Trim())) { sSQL += " and XLXSJGB_CPMLID=:pCPMLID \r\n"; entity.Param.Add("pCPMLID", CurQueryEntity.FieldByName("CPMLID").Value); } else if (!GetOption("BJU016").Equals("")) { sSQL += " and (isnull(XLXSJGB_CPMLID,' ')=' ' or " + CMISproDataBase.GetWhereEqual("XLXSJGB_CPMLID", GetOption("BJU016")) + ") "; } if (!GetOption("BJU053").Equals("")) { sSQL += " and " + CMISproDataBase.GetWhereEqual("XLXSJGB_JGBID", GetOption("BJU053")); } if (!string.IsNullOrEmpty(queryentity.FieldByName("SYCCJ").Value.Trim())) { sSQL += " and (','||XLXSJGB_JGBIDS||',') like :pJGBID "; entity.Param.Add("pJGBID", "%,"+CurQueryEntity.FieldByName("SYCCJ").Value.Trim()+",%"); } if (string.IsNullOrEmpty(queryentity.FieldByName("PXFS").Value.Trim())) { if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGB")) { sSQL += " order by isnull(XLXSJGB_CPMLID,' '),XLXSJGB_YXQS,ISNULL(XLXSJGB_YXQZ,'9999-12-31'),XLXSJGB_JGBID "; } else if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGC")) { sSQL += " order by isnull(XLXSJGB_CPMLID,' ') "; for (int m = 0; m < sTmp.Length; m++) { sSQL += ", a" + m.ToString().Trim() + ".XLXSJGBCLHQFD_HSJGS "; } sSQL += ", XLXSJGB_JGBID "; } else { sSQL += " order by isnull(XLXSJGB_CPMLID,' '),XLXSJGB_JGBID "; } } else if(queryentity.FieldByName("PXFS").Value.Trim().Equals("1")) { if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGB")) { sSQL += " order by XLXSJGB_JGBID,isnull(XLXSJGB_CPMLID,' '),XLXSJGB_YXQS,ISNULL(XLXSJGB_YXQZ,'9999-12-31') "; } else if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGC")) { sSQL += " order by XLXSJGB_JGBID,isnull(XLXSJGB_CPMLID,' ') "; for (int m = 0; m < sTmp.Length; m++) { sSQL += ", a" + m.ToString().Trim() + ".XLXSJGBCLHQFD_HSJGS "; } } else { sSQL += " order by XLXSJGB_JGBID,isnull(XLXSJGB_CPMLID,' ') "; } } else if (queryentity.FieldByName("PXFS").Value.Trim().Equals("0")) { if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGB")) { sSQL += " order by XLXSJGB_JGBID desc,isnull(XLXSJGB_CPMLID,' '),XLXSJGB_YXQS,ISNULL(XLXSJGB_YXQZ,'9999-12-31') "; } else if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGC")) { sSQL += " order by XLXSJGB_JGBID desc,isnull(XLXSJGB_CPMLID,' ') "; for (int m = 0; m < sTmp.Length; m++) { sSQL += ", a" + m.ToString().Trim() + ".XLXSJGBCLHQFD_HSJGS "; } } else { sSQL += " order by XLXSJGB_JGBID desc,isnull(XLXSJGB_CPMLID,' ') "; } } return sSQL; } private void TBCLCB_1(string sMXBH, string sJGBID, int iXSWS, string sJSBLFS, string sJJLY, string sJGBIDS) { if (sJGBID.Equals("")) { ShowMessage("请先查询价格表!"); return; } string sBJU003 = GetOption(100860000, "BJU003"); TDatabase DBERP = TContextDatabases.GetDatabase("DBERP"); if (sJGBIDS.Equals("")) { bool bUpdateByJCZB = false;//按尺重表同步 TSQL tmpSQL = new TSQL(DBERP); DataSet dsJGB2 = null; bool bNeedTB = false; tmpSQL.Clear(); tmpSQL.Add("select XLXSJGB_JGBID,XLXSJGB_JGBMC,XLXSJGB_JGBIDS from XLXSJGB where XLXSJGB_MXBH=:pMXBH and XLXSJGB_TJYS='2'"); tmpSQL.Add(" and isnull(XLXSJGB_JGBIDS,' ')<>' ' and ','||rtrim(isnull(XLXSJGB_JGBIDS,' '))||',' like :pJGBID"); tmpSQL.Add(" order by XLXSJGB_JGBID"); tmpSQL.ParamByName("pMXBH").Value = sMXBH; tmpSQL.ParamByName("pJGBID").Value = "%," + sJGBID + ",%"; dsJGB2 = DBERP.OpenDataSet(tmpSQL); //初始化调价人、起止调价时间 tmpSQL.Clear(); tmpSQL.Add("update XLXSJGB set "); tmpSQL.Add(" XLXSJGB_TJRGH=:pTJRGH,XLXSJGB_TJKSSJ=null,XLXSJGB_TJWCSJ=null,"); tmpSQL.Add(" XLXSJGB_TJZT=' '");//不设置为“W|等待”,以防计算异常或超时时,记录被锁无法编辑 tmpSQL.Add(" where XLXSJGB_MXBH=:pMXBH"); tmpSQL.Add(" and XLXSJGB_JGBID=:pJGBID"); tmpSQL.ParamByName("pMXBH").Value = sMXBH; tmpSQL.ParamByName("pJGBID").Value = sJGBID; tmpSQL.ParamByName("pTJRGH").Value = tSession.UserId; DBERP.ExecSQL(tmpSQL); CacheNotify.TableIsUpdated("DBERP", "XLXSJGB"); if (XLBJDUtils.CheckJGBTJServ()) { //使用异步服务计算 ServiceParams serviceParams = new ServiceParams(); JGBTJXX objJGB = new JGBTJXX(); objJGB.JGBID = sJGBID; objJGB.MXBH = sMXBH; objJGB.JJLY = sJJLY; objJGB.XSWS = iXSWS; objJGB.JGCZBID = ""; objJGB.JGCZBBBID = ""; objJGB.JSBLFS = sJSBLFS; Dictionary dicJGB2 = new Dictionary(); for (int i = 0; i < dsJGB2.Tables[0].Rows.Count; i++) { dicJGB2.Add(dsJGB2.Tables[0].Rows[i]["XLXSJGB_JGBID"].ToString().Trim(), dsJGB2.Tables[0].Rows[i]["XLXSJGB_JGBIDS"].ToString().Trim()); } objJGB.dicJGB2 = dicJGB2; objJGB.bUpdateByJCZB = bUpdateByJCZB; objJGB.bNeedTB = bNeedTB; objJGB.XLJGU007 = GetOption(102579000, "XLJGU007"); objJGB.sBJU003 = sBJU003; serviceParams.Add("objJGB", objJGB); ServiceProgress serviceProgress = AsyncService.Enqueue("N_XLXSBJ", 100860077, "AsyncDoJGBTJ", serviceParams); tmpSQL.Clear(); tmpSQL.Add("update XLXSJGB set "); tmpSQL.Add(" XLXSJGB_TJZT='W'");//W|等待 tmpSQL.Add(" where XLXSJGB_MXBH=:pMXBH"); tmpSQL.Add(" and XLXSJGB_JGBID=:pJGBID"); tmpSQL.ParamByName("pMXBH").Value = sMXBH; tmpSQL.ParamByName("pJGBID").Value = sJGBID; DBERP.ExecSQL(tmpSQL); CacheNotify.TableIsUpdated("DBERP", "XLXSJGB"); ShowMessage("正在同步,请稍后查看!"); } else { tmpSQL.Clear(); tmpSQL.Add("update XLXSJGB set XLXSJGB_TJZT='J',");//J|计算中 tmpSQL.Add(" XLXSJGB_TJKSSJ=:pTJKSSJ"); tmpSQL.Add(" where XLXSJGB_MXBH=:pMXBH"); tmpSQL.Add(" and XLXSJGB_JGBID=:pJGBID"); tmpSQL.ParamByName("pMXBH").Value = sMXBH; tmpSQL.ParamByName("pJGBID").Value = sJGBID; tmpSQL.ParamByName("pTJKSSJ").Value = MISproUtils.GetServerTime(); DBERP.ExecSQL(tmpSQL); string sMsgTB = ""; string sMessage = ""; try { DBERP.BeginTrans(); if (sJJLY.Equals("D")) { XLJGB_CLJGTZList.DoCPJJ(DBERP, sMXBH, sJGBID, false, iXSWS, sJSBLFS, tSession.UserId, tSession.UserName, sBJU003); } else { if (bUpdateByJCZB) XLJGB_CLJGTZList.DoCLCB(DBERP, sMXBH, sJGBID, tSession.UserId, tSession.UserName, "", "", iXSWS, sJSBLFS, sBJU003); else XLJGB_CLJGTZList.DoCLCB(DBERP, sMXBH, sJGBID, tSession.UserId, tSession.UserName, iXSWS, sJSBLFS, sBJU003); } if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGBMX where XLXSJGBMX_SYXH<>0 and XLXSJGBMX_JGBID={0}", sJGBID))) XLJGB_JGBMXList.XHJDDZKC_TJYS1(DBERP, tmpSQL, sJGBID, sJSBLFS, iXSWS.ToString(), tSession.UserName, tSession.UserId, ref sMessage, GetOption(102579000, "XLJGU007")); if (bNeedTB && dsJGB2 != null)//需要同步区域价 { for (int i = 0; i < dsJGB2.Tables[0].Rows.Count; i++) { if (XLJGB_CLJGTZList.TBCLCB_2(DBERP, sMXBH, dsJGB2.Tables[0].Rows[i]["XLXSJGB_JGBID"].ToString().Trim(), dsJGB2.Tables[0].Rows[i]["XLXSJGB_JGBIDS"].ToString().Trim(), iXSWS, sJSBLFS, tSession.UserId, tSession.UserName, sBJU003)) { sMsgTB += dsJGB2.Tables[0].Rows[i]["XLXSJGB_JGBID"].ToString().Trim() + "|" + dsJGB2.Tables[0].Rows[i]["XLXSJGB_JGBMC"].ToString().Trim() + "\r\n"; } } } DBERP.CommitTrans(); CacheNotify.TableIsUpdated("DBERP", "XLXSJGB"); } catch (Exception ex) { ShowMessage(ex.Message); DBERP.RollbackTrans(); tmpSQL.Clear(); tmpSQL.Add("update XLXSJGB set XLXSJGB_TJZT='F'");//F|失败 tmpSQL.Add(" where XLXSJGB_MXBH=:pMXBH"); tmpSQL.Add(" and XLXSJGB_JGBID=:pJGBID"); tmpSQL.ParamByName("pMXBH").Value = sMXBH; tmpSQL.ParamByName("pJGBID").Value = sJGBID; DBERP.ExecSQL(tmpSQL); CacheNotify.TableIsUpdated("DBERP", "XLXSJGB"); return; } tmpSQL.Clear(); tmpSQL.Add("update XLXSJGB set XLXSJGB_TJZT='S',");//S|完成 tmpSQL.Add(" XLXSJGB_TJWCSJ=:pTJWCSJ"); tmpSQL.Add(" where XLXSJGB_MXBH=:pMXBH"); tmpSQL.Add(" and XLXSJGB_JGBID=:pJGBID"); tmpSQL.ParamByName("pMXBH").Value = sMXBH; tmpSQL.ParamByName("pJGBID").Value = sJGBID; tmpSQL.ParamByName("pTJWCSJ").Value = MISproUtils.GetServerTime(); DBERP.ExecSQL(tmpSQL); CacheNotify.TableIsUpdated("DBERP", "XLXSJGB"); if (sMsgTB.Trim().Equals("")) ShowMessage("同步完成!" + sMessage); else ShowMessage("完成当前价格表同步,以及如下区域价的同步!" + "\r\n" + sMsgTB.Trim()); } } else { TSQL sSql = new TSQL(DBERP); string KZBJ = ""; if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGBMX where XLXSJGBMX_SYXH<>0 and XLXSJGBMX_JGBID={0}", sJGBID))) { KZBJ = "Y"; } else { KZBJ = "N"; } try { //导入:即将区域价所依的出厂价作为无税基价、含税基价导入区域价 DBERP.BeginTrans(); XLJGB_JGBMXList.TBCLCB_ClearJG(DBERP, sJGBID); XLJGB_JGBMXList.TBCLCB_CCJasJJ(DBERP, tSession, sJGBID, sJGBIDS); XLJGB_CLJGTZList.DoCPJJ(DBERP, sMXBH, sJGBID, true, iXSWS, sJSBLFS, tSession.UserId, tSession.UserName,sBJU003); if (KZBJ.Equals("Y")) { DataSet dsJGBMX = XLJGB_JGBMXList.CheckXHJDDZKC(sJGBID); if (dsJGBMX.Tables[0].Rows.Count == 0) { string sDXKCMessage = string.Empty; string sXHJDKCMessage = string.Empty; XLJGB_JGBMXList.DoXHJDDZKC(DBERP, sSql, sJGBID, sJSBLFS, iXSWS.ToString(), tSession.UserName, tSession.UserId, ref sDXKCMessage, ref sXHJDKCMessage,GetOption(102579000, "XLJGU007")); if (!string.IsNullOrEmpty(sXHJDKCMessage)) ShowMessage("同步完成!但按型号加点对照表扩充失败!原因如下:\r\n" + sXHJDKCMessage); else if (!string.IsNullOrEmpty(sDXKCMessage)) ShowMessage("同步完成!但按等芯扩充表扩充失败!原因如下:\r\n" + sDXKCMessage); else ShowMessage("同步完成!"); } else { string sWarnMsg = String.Format("若依{0}扩充{1},将会产生重复产品,比如:{1}、{2}、{3}、{4},操作终止!", dsJGBMX.Tables[0].Rows[0][0].ToString().Trim(), dsJGBMX.Tables[0].Rows[0][1].ToString().Trim(), dsJGBMX.Tables[0].Rows[0][2].ToString().Trim(), dsJGBMX.Tables[0].Rows[0][3].ToString().Trim(), dsJGBMX.Tables[0].Rows[0][4].ToString().Trim()); ShowMessage("同步完成!但按型号加点对照表扩充失败!原因如下:\r\n" + sWarnMsg); } } else ShowMessage("同步完成!"); DBERP.CommitTrans(); } catch (Exception ex) { ShowMessage(ex.Message); DBERP.RollbackTrans(); return; } } } //因素2导入/同步出厂价 private void TBCLCB_2(TDatabase dberp, string sMXBH, string sJGBID, string sJGBIDS, int iXSWS, string sJSBLFS) { try { string sBJU003 = GetOption(100860000, "BJU003"); //同步出厂价的无税表价、含税表价->区域价的无税基价、含税基价 dberp.BeginTrans(); if (!sJGBIDS.Equals("")) { XLJGB_JGBMXList.TBCLCB_ClearJG(dberp, sJGBID); } XLJGB_JGBMXList.TBCLCB_CCJasJJ(dberp, tSession, sJGBID, sJGBIDS); XLJGB_CLJGTZList.DoCPJJ(dberp, sMXBH, sJGBID, false, iXSWS, sJSBLFS, tSession.UserId, tSession.UserName, sBJU003); dberp.CommitTrans(); } catch (Exception ex) { ShowMessage(ex.Message); dberp.RollbackTrans(); return; } ShowMessage("同步出厂价完成!"); } //因素3现行价的处理 private void TBCLCB_3(TDatabase dberp, string sMXBH, string sJGBID, string sJGBIDS, int iXSWS, string sJSBLFS) { TSQL SQL = new TSQL(dberp); try { string sBJU003 = GetOption(100860000, "BJU003"); //现行价 dberp.BeginTrans(); if (!sJGBIDS.Equals("")) { XLJGB_JGBMXList.TBCLCB_ClearJG(dberp, sJGBID); } //sJGBIDS不为空,则XLXSCLQD_JGBHSCB、XLXSCLQD_JGBWSCB只用来记录材料价价差 XLBJDCalcUtils.UpdateJGBTJYS_3(dberp, SQL, sJGBID, iXSWS, sJSBLFS, tSession.UserId, tSession.UserName, sJGBIDS, "", 0); //XLJGB_CLJGTZList.UpdateCLCB(dberp, SQL, sJGBID, "", "", iXSWS, sJSBLFS, tSession.UserId, tSession.UserName, 0, sJGBIDS, "", "", 0, 0, "", 0); //sJGBIDS不为空,则利用XLXSCLQD_JGBHSCB、XLXSCLQD_JGBWSCB记录的材料价价差更新价格表基价、表价 //XLJGB_CLJGTZList.UpdateCLCB_TJYS(dberp, sMXBH, sJGBID, sJGBIDS, "3"); XLJGB_CLJGTZList.DoCPJJ(dberp, sMXBH, sJGBID, false, "", "", iXSWS, sJSBLFS, tSession.UserId, tSession.UserName, 0, sBJU003); dberp.CommitTrans(); } catch (Exception ex) { ShowMessage(ex.Message); dberp.RollbackTrans(); return; } ShowMessage("同步完成!"); } //是否有100458003模块权限 private bool CheckXSJGB() { UserRight UR = OpRightUtils.GetUserRight(tSession.UserId, 100458003); return (DSActiveModule.IsActiveModule(100458003) && UR.Open); } #endregion #region 控件事件 protected void btnTJYZ_Click(object sender, EventArgs e) { if (ContentGrid.SelectedIndex < 0) { ShowMessage("请选择处理记录!"); return; } string sMXBH = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_MXBH"].ToString().Trim(); string sJGBID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim(); string sBJLY = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_BJLY"].ToString().Trim(); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XLXSJGBYZ_YZID from XLXSJGBYZ where XLXSJGBYZ_JGBID = :pJGBID order by XLXSJGBYZ_YZID"); SQL.ParamByName("pJGBID").Value = sJGBID; DataSet ds = dberp.OpenDataSet(SQL); string sYZList = ""; if (ds.Tables[0].Rows.Count > 0) { foreach (DataRow trow in ds.Tables[0].Rows) { if (!sYZList.Equals("")) sYZList += ","; sYZList += trow["XLXSJGBYZ_YZID"].ToString().Trim(); } } sTZYZList = sYZList; if (sBJLY.Equals("D")) { ShowMessage("表价来源为直接导入,调价因子按钮不可用!"); return; } if (sMXBH.Equals("JGB") || sMXBH.Equals("JGE") || sMXBH.Equals("JGC")) { if (sMXBH.Equals("JGB")) { if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSCPML left join XLXSJGB on XLXSJGB_CPMLID=XLXSCPML_CPMLID where XLXSJGB_MXBH='{0}' and XLXSJGB_JGBID='{1}' and XLXSCPML_CPMLLX='Y'", sMXBH, sJGBID))) { ShowMessage("组合产品目录的价格表不允许进行调价,调价因子按钮不可用!"); return; } } TPageParams param = new TPageParams(); param.UrlPath = "JGBML_TJYZList.aspx"; param.AddString("JGBID", sJGBID); OpenDialogClickBtn(param, btnTB.ClientID); } } protected void btnJGB_MenuItemClick(object sender, string ItemIndex) { if (ContentGrid.SelectedIndex < 0) { ShowMessage("请选择处理记录!"); return; } string sMXBH = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_MXBH"].ToString().Trim(); string sJGBID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim(); string sTJYS = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_TJYS"].ToString().Trim().Equals("") ? ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_TJYS"].ToString().Trim() : ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_TJYS"].ToString().Trim().Split('|')[0]; string sJJLY = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JJLY"].ToString().Trim().Equals("") ? ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JJLY"].ToString().Trim() : ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JJLY"].ToString().Trim().Split('|')[0]; switch (ItemIndex) { case "JGBIDS"://出厂价 if (sTJYS.Equals("2") || sTJYS.Equals("3")) { TPageParams param = new TPageParams(); param.UrlPath = "JGBML_SelJGBInfo.aspx"; param.Title = "出厂价"; param.AddString("JGBID", sJGBID); param.AddString("MXBH", sMXBH); param.AddString("TJYS", sTJYS); param.AddString("JJLY", sJJLY); param.AddString("LX", "JGBIDS"); OpenDialog(param); } else if (sTJYS.Equals("1") && sJJLY.Equals("D")) { TPageParams param = new TPageParams(); param.UrlPath = "JGBML_SelJGBList.aspx"; param.Title = "出厂价"; param.AddString("JGBID", sJGBID); param.AddString("MXBH", sMXBH); OpenDialog(param); } else { ShowMessage("仅可以调整调价因素为2或3或者基价来源为“D|直接导入”的记录!"); return; } break; case "JGCIDS"://基价 TPageParams param2 = new TPageParams(); param2.UrlPath = "JGBML_SelJGBInfo.aspx"; param2.Title = "基价"; param2.AddString("JGBID", sJGBID); param2.AddString("MXBH", sMXBH); param2.AddString("LX", "JGCIDS"); OpenDialog(param2); break; } } //适用区域 protected void btnSYQY_Click(object sender, EventArgs e) { if (ContentGrid.SelectedIndex < 0) { ShowMessage("请选择处理记录!"); return; } string sMXBH = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_MXBH"].ToString().Trim(); string sJGBID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim(); string sTJYS = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_TJYS"].ToString().Trim().Equals("") ? ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_TJYS"].ToString().Trim() : ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_TJYS"].ToString().Trim().Split('|')[0]; if (sTJYS.Equals("2")) { TPageParams param = new TPageParams(); param.UrlPath = "JGBML_SelXSQYInfo.aspx"; param.AddString("JGBID", sJGBID); param.AddString("MXBH", sMXBH); //param.AddString("RefreshCtrlID", btnRefresh.ClientID.Trim()); OpenDialog(param); } else { ShowMessage("仅可以调整调价因素为2的记录!"); return; } } //材料行情范围 protected void btnCLHQFD_Click(object sender, EventArgs e) { if (ContentGrid.SelectedIndex < 0) { ShowMessage("请选择处理记录!"); return; } string sMXBH = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_MXBH"].ToString().Trim(); string sJGBID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim(); if (sMXBH.Equals("JGB") || sMXBH.Equals("JGC")) { TPageParams param = new TPageParams(); param.UrlPath = "JGBML_CLHQFDList.aspx"; param.AddString("JGBID", sJGBID); param.AddString("MXBH", sMXBH); OpenDialog(param); } } //销售价格表 protected void btnXLXSJGBMX_Click(object sender, EventArgs e) { if (ContentGrid.SelectedIndex < 0) { ShowMessage("请选择处理记录!"); return; } string sMXBH = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_MXBH"].ToString().Trim(); string sJGBID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim(); TPageParams param = new TPageParams(); param.UrlPath = "XLJGB_JGBMXList.aspx"; param.AddString("FromJGBML", "FromJGBML"); param.AddString("JGBID", sJGBID); param.AddString("MXBH", sMXBH); OpenFuncModuleDialog(100860001, param); } //报价价格表 protected void btnBJJGB_Click(object sender, EventArgs e) { if (ContentGrid.SelectedIndex < 0) { ShowMessage("请选择处理记录!"); return; } string sMXBH = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_MXBH"].ToString().Trim(); string sJGBID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim(); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XLXSJGB_CPMLID from XLXSJGB where XLXSJGB_JGBID = :pJGBID and XLXSJGB_MXBH= :pMXBH "); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pMXBH").Value = sMXBH; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { string sCPMLID = ds.Tables[0].Rows[0]["XLXSJGB_CPMLID"].ToString().Trim(); if (sCPMLID.Equals("")) { ShowMessage("请先维护产品目录!"); return; } SQL.Clear(); SQL.Add("select XLXSCPML_CPMLID from XLXSCPML where ','||rtrim(isnull(XLXSCPML_CPMLIDS,' '))||',' like :pCPMLID "); if (!GetOption("BJU016").Equals("")) { SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSCPML_CPMLID", GetOption("BJU016"))); } SQL.Add(" order by XLXSCPML_CPMLID"); SQL.ParamByName("pCPMLID").Value = "%," + sCPMLID + ",%"; DataSet dsML = dberp.OpenDataSet(SQL); string multiCPMLIDS = "";//组合产品目录 for (int i = 0; i < dsML.Tables[0].Rows.Count; i++) { multiCPMLIDS += dsML.Tables[0].Rows[i]["XLXSCPML_CPMLID"].ToString().Trim() + ","; } multiCPMLIDS = multiCPMLIDS.TrimEnd(','); if (!multiCPMLIDS.Equals("")) { TPageParams param = new TPageParams(); param.UrlPath = "JGBML_BJJGBList.aspx"; param.AddString("JGBID", sJGBID); param.AddString("MXBH", sMXBH); param.AddString("singleCPMLID", sCPMLID);//单一产品目录 param.AddString("multiCPMLIDS", multiCPMLIDS);//组合产品目录 OpenDialog(param); } else { ShowMessage("未找到包含当前产品目录的组合产品目录!"); return; } } else { ShowMessage("当前记录不存在,请刷新后重试!"); return; } } protected void btnRefresh_Click(object sender, EventArgs e) { moduleGV_PageIndexChanging(null, null); } protected void btnTB_Click(object sender, EventArgs e) { string sMXBH = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_MXBH"].ToString().Trim(); string sJGBID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim(); string sBJLY = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_BJLY"].ToString().Trim(); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XLXSJGBYZ_YZID from XLXSJGBYZ where XLXSJGBYZ_JGBID = :pJGBID order by XLXSJGBYZ_YZID"); SQL.ParamByName("pJGBID").Value = sJGBID; DataSet ds = dberp.OpenDataSet(SQL); string sYZList = ""; if (ds.Tables[0].Rows.Count > 0) { foreach (DataRow trow in ds.Tables[0].Rows) { if (!sYZList.Equals("")) sYZList += ","; sYZList += trow["XLXSJGBYZ_YZID"].ToString().Trim(); } } if (sYZList.Equals(sTZYZList)) return; //无明细无需执行 if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGBMX where XLXSJGBMX_JGBID = '{0}' ", sJGBID))) { return; } //正在同步,无需重复执行! if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGB where XLXSJGB_JGBID = '{0}' and XLXSJGB_MXBH ='{1}' and (isnull(XLXSJGB_TJZT,' ') = 'W' or isnull(XLXSJGB_TJZT,' ') = 'J') ", sJGBID, sMXBH))) { return; } //直接导入类型的价格表不允许同步! if (sBJLY.Equals("D")) { return; } int iXSWS = string.IsNullOrEmpty(GetOption(100860001, "BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption(100860001, "BJU002")); if (iXSWS < 0) iXSWS = 0; else if (iXSWS > 8) iXSWS = 8; SQL.Clear(); SQL.Add("select XLXSJGB_TJYS,XLXSJGB_JGBIDS,XLXSJGB_JSBLFS as JSBLFS,XLXSJGB_JJLY,XLXSJGB_JGCIDS from XLXSJGB where XLXSJGB_MXBH=:pMXBH and XLXSJGB_JGBID=:pJGBID "); SQL.ParamByName("pMXBH").Value = sMXBH; SQL.ParamByName("pJGBID").Value = sJGBID; ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { string sJGCIDS = ds.Tables[0].Rows[0]["XLXSJGB_JGCIDS"].ToString().Trim(); string sJJLY = ds.Tables[0].Rows[0]["XLXSJGB_JJLY"].ToString().Trim(); string sJGBIDS = ds.Tables[0].Rows[0]["XLXSJGB_JGBIDS"].ToString().Trim(); if (ds.Tables[0].Rows[0]["XLXSJGB_TJYS"].ToString().Trim().Equals("0") || ds.Tables[0].Rows[0]["XLXSJGB_TJYS"].ToString().Trim().Equals("1")) { TBCLCB_1(sMXBH, sJGBID, iXSWS, ds.Tables[0].Rows[0]["JSBLFS"].ToString().Trim(), sJJLY, sJGBIDS);//考虑到同步速度问题,支持分尺重表同步 if (sJJLY.Equals("D") && !sJGBIDS.Equals("") && !sJGBIDS.Contains(",")) XLJGB_JGBMXList.TBXLXSCLHQ(dberp, sJGBID, sJGBIDS); } else if (ds.Tables[0].Rows[0]["XLXSJGB_TJYS"].ToString().Trim().Equals("2")) { TBCLCB_2(dberp, sMXBH, sJGBID, sJGBIDS, iXSWS, ds.Tables[0].Rows[0]["JSBLFS"].ToString().Trim()); if (sJJLY.Equals("D") && !sJGBIDS.Equals("") && !sJGBIDS.Contains(",")) XLJGB_JGBMXList.TBXLXSCLHQ(dberp, sJGBID, sJGBIDS); } else if (ds.Tables[0].Rows[0]["XLXSJGB_TJYS"].ToString().Trim().Equals("3")) { TBCLCB_3(dberp, sMXBH, sJGBID, sJGBIDS, iXSWS, ds.Tables[0].Rows[0]["JSBLFS"].ToString().Trim()); if (sJJLY.Equals("D") && !sJGBIDS.Equals("") && !sJGBIDS.Contains(",")) XLJGB_JGBMXList.TBXLXSCLHQ(dberp, sJGBID, sJGBIDS); } } } protected void btnFBZWX_DropDown(object sender, EventArgs e) { if (ContentGrid.SelectedIndex < 0) { ShowMessage("请选择处理记录!"); return; } string sJGBID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim(); XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(102373000); btnFBZWX.Nodes.Clear(); if (string.IsNullOrEmpty(pzxx.XLXSBJPZ_JGBID) || !pzxx.XLXSBJPZ_JGBID.Equals(sJGBID)) { btnFBZWX.Nodes.Add(new gtTreeNode("Y", "游客价")); } else { btnFBZWX.Nodes.Add(new gtTreeNode("N", "游客价√")); } if (string.IsNullOrEmpty(pzxx.XLXSBJPZ_WXHYJGBID) || !pzxx.XLXSBJPZ_WXHYJGBID.Equals(sJGBID)) { btnFBZWX.Nodes.Add(new gtTreeNode("H", "会员价")); } else { btnFBZWX.Nodes.Add(new gtTreeNode("J", "会员价√")); } MenuAreaUpdate(); } protected void btnFBZWX_MenuItemClick(object sender, string value) { if (ContentGrid.SelectedIndex < 0) { ShowMessage("请选择处理记录!"); return; } string sJGBID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim(); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); if (value.Equals("Y")) { SQL.Clear(); SQL.Add("update XLXSBJPZ set XLXSBJPZ_JGBID=:pJGBID where XLXSBJPZ_MDID=102373000 "); SQL.ParamByName("pJGBID").Value = sJGBID; dberp.ExecSQL(SQL); } if (value.Equals("N")) { SQL.Clear(); SQL.Add("update XLXSBJPZ set XLXSBJPZ_JGBID='' where XLXSBJPZ_MDID=102373000 "); dberp.ExecSQL(SQL); } if (value.Equals("H")) { SQL.Clear(); SQL.Add("update XLXSBJPZ set XLXSBJPZ_WXHYJGBID=:pJGBID where XLXSBJPZ_MDID=102373000 "); SQL.ParamByName("pJGBID").Value = sJGBID; dberp.ExecSQL(SQL); } if (value.Equals("J")) { SQL.Clear(); SQL.Add("update XLXSBJPZ set XLXSBJPZ_WXHYJGBID='' where XLXSBJPZ_MDID=102373000 "); dberp.ExecSQL(SQL); } CacheNotify.TableIsUpdated("DBERP", "XLXSBJPZ"); ShowMessage("设置成功!"); btnRefresh_Click(null, null); } protected void btnTBZXSJGB_Click(object sender, EventArgs e) { if (ContentGrid.SelectedIndex < 0) { ShowMessage("请选择处理记录!"); return; } string sMXBH = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_MXBH"].ToString().Trim(); string sJGBID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim(); string sJGBMC = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBMC"].ToString().Trim(); string sYXQS = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_YXQS"].ToString().Trim(); string sYXQZ = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_YXQZ"].ToString().Trim(); TPageParams param = new TPageParams(); param.UrlPath = "JGBML_TBZXSJGBInfo.aspx"; param.AddString("JGBID", sJGBID); param.AddString("JGBMC", sJGBMC); param.AddString("MXBH", sMXBH); param.AddString("YXQS", sYXQS); param.AddString("YXQZ", sYXQZ); OpenDialog(param); } #endregion } }