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; using GThinking.N_MODEL.Page; using GThinking.N_MISPRO.Data; using GThinking.N_PUBLIC; using System.Text; using GThinking.N_MISPRO.Utility; using GThinking.N_CONTROL; using GThinking.N_MISPRO.TableCache; namespace GThinking.N_XLXSBJ { public partial class CX_JGBMXList : SingleGridBase { CX_JGBMX entity = new CX_JGBMX(); CX_JGBMX_M qryEntity = new CX_JGBMX_M(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860009; this.UMName = "线缆销售报价价格表查询"; this.CurMaster = Master; this.ModuleGV = ContentGrid; this.CurEntity = entity; this.CurQueryEntity = qryEntity; this.sURLTarget = "CX_JGBMXInfo.aspx"; this.sQueryURLTarget = "CX_JGBMXQuery.aspx"; this.PageHeight = 600; this.PageWidth = 750; base.DataKeyNames = new string[] { "XLXSJGBMX_JGBID", "XLXSJGBMX_XH", "XLXSJGBMX_YXQS", "XLXSJGBMX_YXQZ" }; Master.EnableNewBtn = false; Master.EnableEditBtn = false; Master.EnableCopyBtn = false; Master.EnableDeleteBtn = false; Master.EnableViewBtn = false; if (!IsPostBack) { //查询条件赋初值 qryEntity.FieldByName("CKRQ").Value = DateTime.Now.Date.ToString(); } base.InitPage(); if (!IsPostBack) { if (base.IsDefaultExecute) { Master_OnStandardQuery(null, null); } else if (PageParam.ContainsKey("XLJGB_JGBMXList") || PageParam.ContainsKey("XLJGB_JGBMXList_JJ")) { Master.EnableQueryBtn = false; Master_OnStandardQuery(null, null); } } } #region 模板事件继承 protected override void Master_OnStandardQuery(object sender, EventArgs e) { InitGridView(); base.InitEntityByCondition(); entity.EntityTable.QuerySelSql = GetSQL(); base.Master_OnStandardQuery(sender, e); entity.GridDataBind(ContentGrid, tSession); } protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e) { InitGridView(); base.InitEntityByCondition(); entity.EntityTable.QuerySelSql = GetSQL(); ContentGrid.SelectedIndex = -1; base.moduleGV_PageIndexChanging(sender, e); } protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { LinkPageParam.AddString("XLXSJGBMX_JGBID", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGBMX_JGBID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBMX_XH", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGBMX_XH"].ToString().Trim()); LinkPageParam.AddString("YXQS", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGBMX_YXQS"].ToString().Trim()); LinkPageParam.AddString("YXQZ", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGBMX_YXQZ"].ToString().Trim()); LinkPageParam.AddString("CX", "True"); } base.moduleGV_RowDataBound(sender, e); } #endregion #region 自定义函数 private string GetSQL() { StringBuilder sSQL = new StringBuilder(); if (PageParam.ContainsKey("XLJGB_JGBMXList")) { string sJGBIDS = PageParam.GetRTrimString("JGBIDS"); sSQL.AppendLine(" select XLXSJGBMX_JGBID,XLXSJGBMX_XH,a.XLXSJGBMX_XLXHID,a.XLXSJGBMX_XLGGID,a.XLXSJGBMX_XLBZID,a.XLXSJGBMX_DYDJID, "); sSQL.AppendLine(" XLXSJGBMX_YXQS,XLXSJGBMX_YXQZ,XLXSJGBMX_HSJJ,XLXSJGBMX_HSBJ,XLXSJGBMX_WSBJ,XLXSJGBMX_BZ,XLXSJGBMX_WHR,XLXSJGBMX_WHRID,XLXSJGBMX_WHSJ,a.XLXSJGBMX_XLBZID || '|' || XLBZ_XLBZLXMC as XLBZ"); sSQL.AppendLine(" from XLXSJGBMX a, "); sSQL.AppendLine(" (select XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID,XLXSJGBMX_DYDJID "); sSQL.AppendLine(" from XLXSJGBMX "); sSQL.AppendLine(" where 1 = 1 AND " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBIDS)); sSQL.AppendLine(" group by XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID,XLXSJGBMX_DYDJID "); sSQL.AppendLine(" having count(XLXSJGBMX_XLXHID)>1 "); sSQL.AppendLine(" ) b "); sSQL.AppendLine(" left join XLBZ on XLBZ_XLBZID = XLXSJGBMX_XLBZID "); sSQL.AppendLine(" where 1 = 1 AND " + CMISproDataBase.GetWhereEqual("a.XLXSJGBMX_JGBID", sJGBIDS)); sSQL.AppendLine(" and a.XLXSJGBMX_XLXHID=b.XLXSJGBMX_XLXHID "); sSQL.AppendLine(" and a.XLXSJGBMX_XLGGID=b.XLXSJGBMX_XLGGID "); sSQL.AppendLine(" and a.XLXSJGBMX_XLBZID=b.XLXSJGBMX_XLBZID "); sSQL.AppendLine(" and a.XLXSJGBMX_DYDJID=b.XLXSJGBMX_DYDJID "); sSQL.AppendLine(" order by a.XLXSJGBMX_JGBID, a.XLXSJGBMX_XH "); } else if (PageParam.ContainsKey("XLJGB_JGBMXList_JJ")) { string sJGBIDS = PageParam.GetRTrimString("JGBIDS"); sSQL.AppendLine("select XLXSJGBMX_JGBID,XLXSJGBMX_XH,XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID,XLXSJGBMX_DYDJID,"); sSQL.AppendLine(" XLXSJGBMX_YXQS,XLXSJGBMX_YXQZ,XLXSJGBMX_HSJJ,XLXSJGBMX_HSBJ,XLXSJGBMX_WSBJ,XLXSJGBMX_BZ,XLXSJGBMX_WHR,XLXSJGBMX_WHRID,XLXSJGBMX_WHSJ,XLXSJGBMX_XLBZID || '|' || XLBZ_XLBZLXMC as XLBZ "); sSQL.AppendLine("from XLXSJGBMX "); sSQL.AppendLine(" left join XLBZ on XLBZ_XLBZID = XLXSJGBMX_XLBZID "); sSQL.AppendLine("where 1=1 "); sSQL.AppendLine(" AND " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBIDS)); } else { if (!CurQueryEntity.FieldByName("JGBID").Value.Trim().Equals("") && CheckRight())//有销售价格表模块权限的才能查看因子值 { sSQL.AppendLine("select XLXSJGBMX_JGBID,XLXSJGBMX_XH,XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID,XLXSJGBMX_DYDJID,"); sSQL.AppendLine(" XLXSJGBMX_YXQS,XLXSJGBMX_YXQZ,XLXSJGBMX_HSJJ,XLXSJGBMX_HSBJ,XLXSJGBMX_WSBJ,XLXSJGBMX_BZ,XLXSJGBMX_WHR,XLXSJGBMX_WHRID,XLXSJGBMX_WHSJ,XLXSJGBMX_XLBZID || '|' || XLBZ_XLBZLXMC as XLBZ "); for (int i = 1; i <= 20; i++) { string num = i.ToString("D2"); // 格式化为两位数字:01, 02, ... 20 sSQL.AppendFormat(",XLXSJGBYZZ0_YZZ{0} as TZYZ_JZ{0}", num); } sSQL.AppendLine(" from XLXSJGBMX "); sSQL.AppendLine(" left join XLXSJGBYZZ0 on XLXSJGBYZZ0_JGBID=XLXSJGBMX_JGBID and XLXSJGBYZZ0_XH=XLXSJGBMX_XH "); } else { sSQL.AppendLine("select XLXSJGBMX_JGBID,XLXSJGBMX_XH,XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID,XLXSJGBMX_DYDJID,"); sSQL.AppendLine(" XLXSJGBMX_YXQS,XLXSJGBMX_YXQZ,XLXSJGBMX_HSJJ,XLXSJGBMX_HSBJ,XLXSJGBMX_WSBJ,XLXSJGBMX_BZ,XLXSJGBMX_WHR,XLXSJGBMX_WHRID,XLXSJGBMX_WHSJ,XLXSJGBMX_XLBZID || '|' || XLBZ_XLBZLXMC as XLBZ "); sSQL.AppendLine(" from XLXSJGBMX "); } sSQL.AppendLine(" left join XLBZ on XLBZ_XLBZID = XLXSJGBMX_XLBZID "); sSQL.AppendLine("where 1=1 "); if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())) { sSQL.AppendLine(" and XLXSJGBMX_XLXHID like :pXLXHID "); entity.Param.Add("pXLXHID", string.Format("%{0}%", CurQueryEntity.FieldByName("XLXHID").Value.Trim())); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLGGID").Value.Trim())) { sSQL.AppendLine(" and XLXSJGBMX_XLGGID like :pXLGGID "); entity.Param.Add("pXLGGID", string.Format("%{0}%", CurQueryEntity.FieldByName("XLGGID").Value.Trim())); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ST").Value.Trim())) { sSQL.AppendLine(" and XLXSJGBMX_XLBZID = :pST "); entity.Param.Add("pST", CurQueryEntity.FieldByName("ST").Value.Trim()); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJ").Value.Trim())) { sSQL.AppendLine(" and XLXSJGBMX_DYDJID like :pDYDJ "); entity.Param.Add("pDYDJ", string.Format("%{0}%", CurQueryEntity.FieldByName("DYDJ").Value.Trim())); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("JGBID").Value.Trim())) { sSQL.AppendLine(" and XLXSJGBMX_JGBID = :pJGBID "); entity.Param.Add("pJGBID", CurQueryEntity.FieldByName("JGBID").Value.Trim()); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XH").Value.Trim()) && !CurQueryEntity.FieldByName("XH").Value.Trim().Equals("0")) { sSQL.AppendLine(" and XLXSJGBMX_XH = :pXH "); entity.Param.Add("pXH", CurQueryEntity.FieldByName("XH").Value.Trim()); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CKRQ").Value.Trim())) { sSQL.AppendLine(" and isnull(XLXSJGBMX_YXQS, convert(datetime, '1900-01-01')) <= :pCKRQ"); sSQL.AppendLine(" and isnull(XLXSJGBMX_YXQZ, convert(datetime, '2099-12-31')) >= :pCKRQ"); entity.Param.Add("pCKRQ", CurQueryEntity.FieldByName("CKRQ").Value); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("BZ").Value.Trim())) { sSQL.AppendLine(" and XLXSJGBMX_BZ like :pBZ "); entity.Param.Add("pBZ", string.Format("%{0}%", CurQueryEntity.FieldByName("BZ").Value.Trim())); } sSQL.AppendLine("order by XLXSJGBMX_JGBID, XLXSJGBMX_XH"); } return sSQL.ToString(); } private void InitGridView() { int iXSWS = string.IsNullOrEmpty(GetOption(100860001, "BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption(100860001, "BJU002")); if (iXSWS < 0) iXSWS = 0; else if (iXSWS > 8) iXSWS = 8; if (CheckRight())//有销售价格表模块权限的才能查看因子值 { base.InitEntityByCondition(); if (!CurQueryEntity.FieldByName("JGBID").Value.Trim().Equals("")) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select XLXSTZYZ_YZID, XLXSTZYZ_YZMC, XLXSTZYZ_JJFS "); SQL.Add(" from XLXSTZYZ"); SQL.Add(" where XLXSTZYZ_MXBH = 'JZJ' "); SQL.Add(" and exists(select 1 from XLXSJGBYZ where XLXSJGBYZ_JGBID=:pJGBID and XLXSJGBYZ_YZID=XLXSTZYZ_YZID)");//必须是当前价格表所用的调价因子 SQL.Add(" order by XLXSTZYZ_XSXH"); SQL.ParamByName("pJGBID").Value = CurQueryEntity.FieldByName("JGBID").Value.Trim(); DataSet ds = dberp.OpenDataSet(SQL); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { if (ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("JJ")) AddColumn("TZYZ_" + ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim(), ds.Tables[0].Rows[i]["XLXSTZYZ_YZMC"].ToString().Trim() + "(元)", iXSWS, 80); else AddColumn("TZYZ_" + ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim(), ds.Tables[0].Rows[i]["XLXSTZYZ_YZMC"].ToString().Trim() + "(%)", 2, 80); } } } AddColumn("XLXSJGBMX_WSBJ", "无税表价", iXSWS, 80); AddColumn("XLXSJGBMX_HSBJ", "含税表价", iXSWS, 80); AddColumn("XLXSJGBMX_BZ", "备注", 150); AddColumn("XLXSJGBMX_WHR", "维护人", 72); AddColumn("XLXSJGBMX_WHSJ", "维护时间", TDateTimeEditKinds.dtDateTime); } //是否有100860001模块权限 private bool CheckRight() { UserRight UR = OpRightUtils.GetUserRight(tSession.UserId, 100860001); return (DSActiveModule.IsActiveModule(100860001) && UR.Open); } #endregion #region GridView增加列 /// /// 设置etCheckBox列的属性 /// /// /// /// /// private void AddColumn(string sDataField, string HeadText, int Width, TEditType CheckBox) { BoundField Column = new BoundField(); Column.DataField = sDataField; Column.HeaderText = HeadText; Column.ItemStyle.Width = (Unit)Width; Column.HeaderStyle.Width = (Unit)Width; ContentGrid.Columns.Add(Column); gtGridView_Column ColumnEx = new gtGridView_Column(); ColumnEx.DataField = sDataField; ColumnEx.EditType = TEditType.etCheckBox; ContentGrid.ColumnsEx.Insert(0, ColumnEx); } /// /// 设置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; ContentGrid.Columns.Add(Column); gtGridView_Column ColumnEx = new gtGridView_Column(); ColumnEx.DataField = sDataField; ColumnEx.EditType = TEditType.etString; ColumnEx.ShowHint = true; ContentGrid.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; ContentGrid.Columns.Add(Column); gtGridView_Column ColumnEx = new gtGridView_Column(); ColumnEx.DataField = sDataField; ColumnEx.EditType = TEditType.etNumber; ColumnEx.ShowHint = true; ColumnEx.NumberDecimalPlace = NumberDecimalPlace; ContentGrid.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); ContentGrid.Columns.Add(Column); gtGridView_Column ColumnEx = new gtGridView_Column(); ColumnEx.DataField = sDataField; ColumnEx.EditType = TEditType.etDateTime; ColumnEx.DateTimeEditKins = DateTimeKind; ContentGrid.ColumnsEx.Insert(0, ColumnEx); } #endregion } }