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_MODEL.Page; using GThinking.N_MISPRO.Data; using GThinking.N_MISPRO; using GThinking.N_MISPRO.Utility; using System.Text; using GThinking.N_CONTROL; namespace GThinking.N_XLXSBJ { public partial class JGBPZ_HQFZList : SingleGridBase { JGBPZ_HQFZ entity = new JGBPZ_HQFZ(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860036; this.UMName = "线缆销售报价价格目录配置"; this.CurMaster = Master; this.ModuleGV = grdHQFZ; this.CurEntity = entity; this.PageHeight = 600; this.PageWidth = 750; base.DataKeyNames = new string[] { "XLXSJGBPZJGB_CLHQZH", "XLXSJGBPZJGB_JGBID", "XLXSJGBPZJGB_JGBMC" }; Master.EnableQueryBtn = false; Master.EnableNewBtn = false; Master.EnableCopyBtn = false; Master.EnableEditBtn = false; Master.EnableViewBtn = false; Master.EnableDeleteBtn = false; base.InitPage(); this.ModuleGV.OnClientDblClick = "return false;"; if (!IsPostBack) { Master_OnStandardQuery(null, null); } } #region 模板事件 protected override void Master_OnStandardQuery(object sender, EventArgs e) { InitGridView(); entity.EntityTable.QuerySelSql = GetSql(); base.Master_OnStandardQuery(sender, e); entity.GridDataBind(grdHQFZ, tSession); } protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e) { InitGridView(); entity.EntityTable.QuerySelSql = GetSql(); base.moduleGV_PageIndexChanging(sender, e); grdHQFZ.SelectedIndex = -1; } #endregion #region 自定义函数 private string GetSql() { //需要将BJCLIDS重新按BJCLID排序 TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select XLXSBJCL_BJCLID, XLXSBJCL_BJCLMC "); SQL.Add(" from XLXSBJCL"); SQL.Add(" where " + CMISproDataBase.GetWhereEqual("XLXSBJCL_BJCLID", PageParam.GetRTrimString("BJCLIDS"))); SQL.Add(" order by XLXSBJCL_BJCLID"); DataSet dsBJCL = dberp.OpenDataSet(SQL); StringBuilder strSQL = new StringBuilder(); strSQL.AppendLine(" select XLXSJGBPZJGB_CLHQZH,XLXSJGBPZJGB_JGBID,XLXSJGBPZJGB_JGBMC,"); for (int i = 0; i < dsBJCL.Tables[0].Rows.Count; i++) { strSQL.AppendLine(string.Format("bjcl{0}.XLXSJGBPZCLHQFD_CLHQDH as CLHQDH{0},", Convert.ToString(i + 1))); strSQL.AppendLine(string.Format("clhqfd{0}.XLXSCLHQFD_HSJGS as HSJGS{0},clhqfd{0}.XLXSCLHQFD_HSJGZ as HSJGZ{0},", Convert.ToString(i + 1))); strSQL.AppendLine(string.Format("clhqfd{0}.XLXSCLHQFD_CLJGS as CLJGS{0},clhqfd{0}.XLXSCLHQFD_CLJGZ as CLJGZ{0},", Convert.ToString(i + 1))); } strSQL.AppendLine(" XLXSJGBPZJGB_BZ,XLXSJGBPZJGB_WHR,XLXSJGBPZJGB_WHRID,XLXSJGBPZJGB_WHSJ"); strSQL.AppendLine(" from XLXSJGBPZJGB"); for (int i = 0; i < dsBJCL.Tables[0].Rows.Count; i++) { strSQL.AppendLine(string.Format(",XLXSJGBPZCLHQFD bjcl{0},XLXSCLHQFD clhqfd{0}", Convert.ToString(i + 1))); } strSQL.AppendLine(" where XLXSJGBPZJGB_JGBPZDH=:pJGBPZDH"); for (int i = 0; i < dsBJCL.Tables[0].Rows.Count; i++) { strSQL.AppendLine(string.Format(" and bjcl{0}.XLXSJGBPZCLHQFD_JGBPZDH=:pJGBPZDH", Convert.ToString(i + 1))); strSQL.AppendLine(string.Format(" and bjcl{0}.XLXSJGBPZCLHQFD_CLHQZH=XLXSJGBPZJGB_CLHQZH", Convert.ToString(i + 1))); strSQL.AppendLine(string.Format(" and bjcl{0}.XLXSJGBPZCLHQFD_BJCLID='{1}'", Convert.ToString(i + 1), dsBJCL.Tables[0].Rows[i]["XLXSBJCL_BJCLID"].ToString().Trim())); strSQL.AppendLine(string.Format(" and clhqfd{0}.XLXSCLHQFD_BJCLID='{1}'", Convert.ToString(i + 1), dsBJCL.Tables[0].Rows[i]["XLXSBJCL_BJCLID"].ToString().Trim())); strSQL.AppendLine(string.Format(" and clhqfd{0}.XLXSCLHQFD_CLHQDH=bjcl{0}.XLXSJGBPZCLHQFD_CLHQDH", Convert.ToString(i + 1))); } if (dsBJCL.Tables[0].Rows.Count > 0) { strSQL.AppendLine(" order by "); for (int i = 0; i < dsBJCL.Tables[0].Rows.Count - 1; i++) { strSQL.AppendLine(string.Format(" HSJGS{0}, ", Convert.ToString(i + 1))); } strSQL.AppendLine(string.Format(" HSJGS{0} ", Convert.ToString(dsBJCL.Tables[0].Rows.Count))); } else { strSQL.AppendLine(" order by XLXSJGBPZJGB_CLHQZH"); } entity.Param.Add("pJGBPZDH", PageParam.GetRTrimString("JGBPZDH")); return strSQL.ToString(); } private void InitGridView() { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select XLXSBJCL_BJCLID, XLXSBJCL_BJCLMC "); SQL.Add(" from XLXSBJCL"); SQL.Add(" where " + CMISproDataBase.GetWhereEqual("XLXSBJCL_BJCLID", PageParam.GetRTrimString("BJCLIDS"))); SQL.Add(" order by XLXSBJCL_BJCLID"); DataSet ds = dberp.OpenDataSet(SQL); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { AddColumn("CLHQDH" + Convert.ToString(i + 1), ds.Tables[0].Rows[i]["XLXSBJCL_BJCLMC"].ToString().Trim() + "段号", 150); AddColumn("HSJGS" + Convert.ToString(i + 1), "含税价格始", XLBJDUtils.BJCLPriceDecimal, 80); AddColumn("HSJGZ" + Convert.ToString(i + 1), "含税价格终", XLBJDUtils.BJCLPriceDecimal, 80); AddColumn("CLJGS" + Convert.ToString(i + 1), "无税价格始", XLBJDUtils.BJCLPriceDecimal, 80); AddColumn("CLJGZ" + Convert.ToString(i + 1), "无税价格终", XLBJDUtils.BJCLPriceDecimal, 80); } AddColumn("XLXSJGBPZJGB_BZ", "备注", 150); AddColumn("XLXSJGBPZJGB_WHR", "维护人", 72); AddColumn("XLXSJGBPZJGB_WHSJ", "维护时间", TDateTimeEditKinds.dtDateTime); } #region GridView增加列 /// /// 设置etString列的属性 /// /// /// /// private void AddColumn(string sDataField, string HeadText, int Width) { BoundField Column = new BoundField(); Column.DataField = sDataField; Column.HeaderText = HeadText; Column.ItemStyle.Width = (Unit)Width; Column.HeaderStyle.Width = (Unit)Width; grdHQFZ.Columns.Add(Column); gtGridView_Column ColumnEx = new gtGridView_Column(); ColumnEx.DataField = sDataField; ColumnEx.EditType = TEditType.etString; ColumnEx.ShowHint = true; grdHQFZ.ColumnsEx.Insert(0, ColumnEx); } /// /// 设置etNumber列的属 /// /// /// /// /// private void AddColumn(string sDataField, string HeadText, int NumberDecimalPlace, int Width) { BoundField Column = new BoundField(); Column.DataField = sDataField; Column.HeaderText = HeadText; Column.ItemStyle.Width = (Unit)Width; Column.HeaderStyle.Width = (Unit)Width; Column.ItemStyle.HorizontalAlign = HorizontalAlign.Right; grdHQFZ.Columns.Add(Column); gtGridView_Column ColumnEx = new gtGridView_Column(); ColumnEx.DataField = sDataField; ColumnEx.EditType = TEditType.etNumber; ColumnEx.ShowHint = true; ColumnEx.NumberDecimalPlace = NumberDecimalPlace; grdHQFZ.ColumnsEx.Insert(0, ColumnEx); } /// /// 设置etDateTime列的属性 /// /// /// /// /// private void AddColumn(string sDataField, string HeadText, TDateTimeEditKinds DateTimeKind) { BoundField Column = new BoundField(); Column.DataField = sDataField; Column.HeaderText = HeadText; Column.ItemStyle.Width = (Unit)(DateTimeKind == TDateTimeEditKinds.dtDateTime ? 125 : 72); Column.HeaderStyle.Width = (Unit)(DateTimeKind == TDateTimeEditKinds.dtDateTime ? 125 : 72); grdHQFZ.Columns.Add(Column); gtGridView_Column ColumnEx = new gtGridView_Column(); ColumnEx.DataField = sDataField; ColumnEx.EditType = TEditType.etDateTime; ColumnEx.DateTimeEditKins = DateTimeKind; grdHQFZ.ColumnsEx.Insert(0, ColumnEx); } #endregion private string GetBJCLMC(string sBJCLID) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Add("select XLXSBJCL_BJCLMC "); SQL.Add("from XLXSBJCL "); SQL.Add("where XLXSBJCL_BJCLID=:pBJCLID"); SQL.ParamByName("pBJCLID").Value = sBJCLID; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) return ds.Tables[0].Rows[0][0].ToString().Trim(); else return ""; } #endregion #region 控件事件 //派生价格表 protected void btnPSJGB_Click(object sender, EventArgs e) { if (grdHQFZ.SelectedIndex < 0) { ShowMessage("请选择处理记录!"); return; } //原逻辑- 单一价格表和组合价格表的价格表列为空,允许打开 //增加支持单一价格表价格表列不为空,允许打开 //组合价格表价格表列不为空,不允许打开 if (!grdHQFZ.DataKeys[grdHQFZ.SelectedIndex]["XLXSJGBPZJGB_JGBID"].ToString().Trim().Equals("")) { if (PageParam.GetRTrimString("CPMLLX").Equals("Y")) { return; } } TPageParams param = new TPageParams(); param.UrlPath = "JGBPZ_HQFZJGBInfo.aspx"; param.CallAction = TPageCallAction.pcaInsert; param.AddString("JGBPZDH", PageParam.GetRTrimString("JGBPZDH")); param.AddString("CPMLID", PageParam.GetRTrimString("CPMLID")); param.AddString("CLHQZH", grdHQFZ.DataKeys[grdHQFZ.SelectedIndex]["XLXSJGBPZJGB_CLHQZH"].ToString().Trim()); param.AddString("CPMLLX", PageParam.GetRTrimString("CPMLLX")); param.AddString("CPMLIDS", PageParam.GetRTrimString("CPMLIDS")); param.AddString("BJCLIDS", PageParam.GetRTrimString("BJCLIDS")); param.AddString("MXBH", PageParam.GetRTrimString("MXBH")); param.AddString("TJYS", PageParam.GetRTrimString("TJYS")); param.AddString("JGBID", grdHQFZ.DataKeys[grdHQFZ.SelectedIndex]["XLXSJGBPZJGB_JGBID"].ToString().Trim()); param.AddString("JGBMC", grdHQFZ.DataKeys[grdHQFZ.SelectedIndex]["XLXSJGBPZJGB_JGBMC"].ToString().Trim()); param.AddString("btnRefresh1CID", btnRefresh.ClientID); OpenDialog(param); } //引用非产品目录价格表 protected void btnYYJGB_Click(object sender, EventArgs e) { if (grdHQFZ.SelectedIndex < 0) { ShowMessage("请选择处理记录!"); return; } //2、支持一键更换单一产品目录下的价格表,同步更新引用到该价格表的JGB价格表。 //“100860036|线缆销售报价价格目录配置”模块对单一产品目录进行“派生价格表”操作改进: //点击“引用非产品目录价格表”按钮,若当前选择的价格目录配置的产品目录为单一目录,且选中的行记录已存在价格表(比如A),则允许弹出“引用非产品目录价格表”页面(JGBPZ_HQFZJGBList.aspx), //组合目录 if (PageParam.GetRTrimString("CPMLLX").Equals("Y")) { if (!grdHQFZ.DataKeys[grdHQFZ.SelectedIndex]["XLXSJGBPZJGB_JGBID"].ToString().Trim().Equals("")) { ShowMessage("所选材料行情分组已存在价格表!"); return; } } TPageParams param = new TPageParams(); param.UrlPath = "JGBPZ_HQFZJGBList.aspx"; param.AddString("JGBPZDH", PageParam.GetRTrimString("JGBPZDH")); param.AddString("CPMLID", PageParam.GetRTrimString("CPMLID")); param.AddString("CLHQZH", grdHQFZ.DataKeys[grdHQFZ.SelectedIndex]["XLXSJGBPZJGB_CLHQZH"].ToString().Trim()); param.AddString("CPMLLX", PageParam.GetRTrimString("CPMLLX")); param.AddString("CPMLIDS", PageParam.GetRTrimString("CPMLIDS")); param.AddString("BJCLIDS", PageParam.GetRTrimString("BJCLIDS")); param.AddString("MXBH", PageParam.GetRTrimString("MXBH")); param.AddString("TJYS", PageParam.GetRTrimString("TJYS")); param.AddString("JGBID", grdHQFZ.DataKeys[grdHQFZ.SelectedIndex]["XLXSJGBPZJGB_JGBID"].ToString().Trim()); param.AddString("JGBMC", grdHQFZ.DataKeys[grdHQFZ.SelectedIndex]["XLXSJGBPZJGB_JGBMC"].ToString().Trim()); param.AddString("btnRefresh1CID", btnRefresh.ClientID); OpenDialog(param); } //调整产品目录价格表材料行情范围 protected void btnCLHQTZ_DropDown(object sender, EventArgs e) { btnCLHQTZ.Nodes.Clear(); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Add("select XLXSBJCL_BJCLID,XLXSBJCL_BJCLMC "); SQL.Add("from XLXSBJCL "); SQL.Add("where " + CMISproDataBase.GetWhereEqual("XLXSBJCL_BJCLID", PageParam.GetRTrimString("BJCLIDS"))); SQL.Add("order by XLXSBJCL_BJCLID"); DataSet ds = dberp.OpenDataSet(SQL); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { btnCLHQTZ.Nodes.Add(new gtTreeNode(ds.Tables[0].Rows[i]["XLXSBJCL_BJCLID"].ToString().Trim(), ds.Tables[0].Rows[i]["XLXSBJCL_BJCLID"].ToString().Trim() + "|" + ds.Tables[0].Rows[i]["XLXSBJCL_BJCLMC"].ToString().Trim())); } MenuAreaUpdate(); } protected void btnCLHQTZ_MenuItemClick(object sender, string ItemIndex) { string sBJCLID = ItemIndex; string sBJCLMC = GetBJCLMC(sBJCLID); TPageParams param = new TPageParams(); param.UrlPath = "JGBPZ_CLHQTZList.aspx"; param.Title = "调整【" + sBJCLID + "|" + sBJCLMC + "】材料行情范围"; param.AddString("JGBPZDH", PageParam.GetRTrimString("JGBPZDH")); param.AddString("CPMLID", PageParam.GetRTrimString("CPMLID")); //param.AddString("CLHQZH", grdHQFZ.DataKeys[grdHQFZ.SelectedIndex]["XLXSJGBPZJGB_CLHQZH"].ToString().Trim()); param.AddString("CPMLLX", PageParam.GetRTrimString("CPMLLX")); param.AddString("CPMLIDS", PageParam.GetRTrimString("CPMLIDS")); param.AddString("BJCLIDS", PageParam.GetRTrimString("BJCLIDS")); param.AddString("MXBH", PageParam.GetRTrimString("MXBH")); param.AddString("TJYS", PageParam.GetRTrimString("TJYS")); //param.AddString("JGBID", grdHQFZ.DataKeys[grdHQFZ.SelectedIndex]["XLXSJGBPZJGB_JGBID"].ToString().Trim()); //param.AddString("JGBMC", grdHQFZ.DataKeys[grdHQFZ.SelectedIndex]["XLXSJGBPZJGB_JGBMC"].ToString().Trim()); param.AddString("SelBJCLID", sBJCLID); OpenDialogClickBtn(param, btnRefresh.ClientID); } protected void btnRefresh_Click(object sender, EventArgs e) { moduleGV_PageIndexChanging(null, null); } #endregion } }