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 GThinking.N_MISPRO.Utility; using GThinking.N_CONTROL; using System.Text; namespace GThinking.N_XLXSBJ { public partial class TZYZBJLList : SingleGridBase { TZYZBJL entity = new TZYZBJL(); TZYZBJL_M queryentity = new TZYZBJL_M(); DataSet dsTJYS1 = new DataSet(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860169; this.UMName = "按标准加报价数量区间调报价"; this.CurMaster = Master; this.ModuleGV = grdContentGrid; this.CurEntity = entity; this.CurQueryEntity = queryentity; this.sURLTarget = "TZYZBJLInfo.aspx"; this.sQueryURLTarget = "TZYZBJLQuery.aspx"; this.PageHeight = 600; this.PageWidth = 750; base.DataKeyNames = new string[] { "XLXSBJDYZZL_JGBID", "minYZID", "XLXSBJDYZZL_XLBZID", "XLXSBJDYZZL_BJSLS", "XLXSBJDYZZL_BJSLZ" }; grdContentGrid.FindColumnByFieldName("XLXSBJDYZZL_JGBID").Visible = false; if (!IsPostBack) { if (!PageParam.GetRTrimString("JGBID").Equals("")) CurQueryEntity.FieldByName("JGBID").Value = PageParam.GetRTrimString("JGBID"); else CurQueryEntity.FieldByName("JGBID").Value = GetDefaultJGBID(); } base.InitPage(); if (!IsPostBack) { if (!PageParam.GetRTrimString("JGBID").Equals("")) Master_OnStandardQuery(null, null); else if (IsDefaultExecute) Master_OnStandardQuery(null, null); else { this.Master.StandardNewButton.OnClientClick = "alert('请先查询调价表!');"; this.Master.StandardCopyButton.OnClientClick = "alert('请先查询调价表!');"; } } } protected override void Master_OnStandardQuery(object sender, EventArgs e) { base.InitEntityByCondition(); entity.EntityTable.QuerySelSql = GetSQL(); base.Master_OnStandardQuery(sender, e); entity.GridDataBind(grdContentGrid, tSession); if (CurQueryEntity.FieldByName("JGBID").Value.Trim().Equals("")) { this.Master.StandardNewButton.OnClientClick = "alert('请先查询调价表!');"; this.Master.StandardCopyButton.OnClientClick = "alert('请先查询调价表!');"; } else { this.Master.StandardNewButton.OnClientClick = "OpenCardForm('INSERT');return false;"; this.Master.StandardCopyButton.OnClientClick = "OpenCardForm('COPY');return false;"; } TPageParams pageParams = new TPageParams(); pageParams.AddString("XLXSBJDYZZL_JGBID", CurQueryEntity.FieldByName("JGBID").Value.Trim()); pageParams.AddString("TJYZList", txtTJYZList.Value.Trim()); pageParams.AddString("FirstYZID", txtFirstYZID.Value.Trim()); SetNewFormParam(pageParams); } protected override void BeforeDelete(TDatabase db, ref bool ActionIsDone) { string sYZIDlist = TZYZBJAInfo.GetYZIDList(txtTJYZList.Value.Trim()); entity.EntityTable.DeleteSql = " delete from XLXSBJDYZZL where XLXSBJDYZZL_JGBID=:XLXSBJDYZZL_JGBID and XLXSBJDYZZL_XLBZID=:XLXSBJDYZZL_XLBZID and XLXSBJDYZZL_BJSLS=:XLXSBJDYZZL_BJSLS and XLXSBJDYZZL_BJSLZ=:XLXSBJDYZZL_BJSLZ and " + CMISproDataBase.GetWhereEqual("XLXSBJDYZZL_YZID", sYZIDlist); entity.Param.Add("XLXSBJDYZZL_JGBID", this.grdContentGrid.SelectedDataKey["XLXSBJDYZZL_JGBID"].ToString().Trim()); entity.Param.Add("XLXSBJDYZZL_XLBZID", this.grdContentGrid.SelectedDataKey["XLXSBJDYZZL_XLBZID"].ToString().Trim()); entity.Param.Add("XLXSBJDYZZL_BJSLS", this.grdContentGrid.SelectedDataKey["XLXSBJDYZZL_BJSLS"].ToString().Trim()); entity.Param.Add("XLXSBJDYZZL_BJSLZ", this.grdContentGrid.SelectedDataKey["XLXSBJDYZZL_BJSLZ"].ToString().Trim()); base.BeforeDelete(db, ref ActionIsDone); } protected override bool Master_AfterDeleteAction(object sender, EventArgs e) { if (!base.Master_AfterDeleteAction(sender, e)) { return false; } base.InitEntityByCondition(); entity.EntityTable.QuerySelSql = GetSQL(); entity.GridDataBind(grdContentGrid, tSession); grdContentGrid.SelectedIndex = -1; return true; } protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { LinkPageParam.AddString("XLXSBJDYZZL_JGBID", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDYZZL_JGBID"].ToString().Trim()); LinkPageParam.AddString("XLXSBJDYZZL_YZID", grdContentGrid.DataKeys[e.Row.RowIndex]["minYZID"].ToString().Trim()); LinkPageParam.AddString("XLXSBJDYZZL_XLBZID", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDYZZL_XLBZID"].ToString().Trim()); LinkPageParam.AddString("XLXSBJDYZZL_BJSLS", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDYZZL_BJSLS"].ToString().Trim()); LinkPageParam.AddString("XLXSBJDYZZL_BJSLZ", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDYZZL_BJSLZ"].ToString().Trim()); LinkPageParam.AddString("TJYZList", txtTJYZList.Value.Trim()); LinkPageParam.AddString("FirstYZID", txtFirstYZID.Value.Trim()); } base.moduleGV_RowDataBound(sender, e); } protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e) { base.InitEntityByCondition(); entity.EntityTable.QuerySelSql = GetSQL(); grdContentGrid.SelectedIndex = -1; base.moduleGV_PageIndexChanging(sender, e); } private string GetSQL() { base.InitEntityByCondition(); InitGridView(); string sYZIDlist = TZYZBJAInfo.GetYZIDList(txtTJYZList.Value.Trim()); StringBuilder sSQL = new StringBuilder(); sSQL.AppendLine(" select :pJGBID as XLXSBJDYZZL_JGBID, XLXSBJDYZZL_XLBZID, "); sSQL.AppendLine(" rtrim(XLXSBJDYZZL_XLBZID)||'|'||isnull(XLBZ_XLBZLXMC,' ') as XLBZID, "); sSQL.AppendLine(" XLXSBJDYZZL_BJSLS, XLXSBJDYZZL_BJSLZ, min(XLXSBJDYZZL_YZID) as minYZID, "); sSQL.AppendLine(" max(XLXSBJDYZZL_WHR) as XLXSBJDYZZL_WHR, max(XLXSBJDYZZL_WHRID) as XLXSBJDYZZL_WHRID, max(XLXSBJDYZZL_WHSJ) as XLXSBJDYZZL_WHSJ "); for (int i = 0; i < dsTJYS1.Tables[0].Rows.Count; i++) { sSQL.AppendLine(string.Format(",sum(CASE XLXSBJDYZZL_YZID WHEN '{0}' THEN XLXSBJDYZZL_YZZ ELSE 0 END) as TZYZ_{0}", dsTJYS1.Tables[0].Rows[i][0].ToString().Trim())); } sSQL.AppendLine(" from XLXSBJDYZZL "); sSQL.AppendLine(" left join XLBZ on XLBZ_XLBZID=XLXSBJDYZZL_XLBZID "); if (string.IsNullOrEmpty(CurQueryEntity.FieldByName("JGBID").Value.Trim())) sSQL.AppendLine(" where 1<>1 "); else sSQL.AppendLine(" where XLXSBJDYZZL_JGBID=:pJGBID "); if (!string.IsNullOrEmpty(sYZIDlist)) sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("XLXSBJDYZZL_YZID", sYZIDlist)); if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLBZID").Value.Trim())) { sSQL.AppendLine(" and XLXSBJDYZZL_XLBZID=:pXLBZID "); entity.Param.Add("pXLBZID", CurQueryEntity.FieldByName("XLBZID").Value.Trim()); } AddNumberQueryCondition(sSQL, "BJSLSDY", "XLXSBJDYZZL_BJSLS", ">=", "pBJSLSDY"); AddNumberQueryCondition(sSQL, "BJSLSXY", "XLXSBJDYZZL_BJSLS", "<=", "pBJSLSXY"); AddNumberQueryCondition(sSQL, "BJSLZDY", "XLXSBJDYZZL_BJSLZ", ">=", "pBJSLZDY"); AddNumberQueryCondition(sSQL, "BJSLZXY", "XLXSBJDYZZL_BJSLZ", "<=", "pBJSLZXY"); sSQL.AppendLine(" group by XLXSBJDYZZL_XLBZID, XLBZ_XLBZLXMC, XLXSBJDYZZL_BJSLS, XLXSBJDYZZL_BJSLZ "); sSQL.AppendLine(" order by XLXSBJDYZZL_XLBZID, XLXSBJDYZZL_BJSLS, XLXSBJDYZZL_BJSLZ "); entity.Param.Add("pJGBID", CurQueryEntity.FieldByName("JGBID").Value.Trim()); return sSQL.ToString(); } private void AddNumberQueryCondition(StringBuilder sSQL, string sField, string sDbField, string sOperator, string sParam) { if (CurQueryEntity.FieldByName(sField).Value.ToString().Trim() != "0" && CurQueryEntity.FieldByName(sField).Value.ToString().Trim() != "") { sSQL.AppendLine(" and " + sDbField + " " + sOperator + " :" + sParam + " "); entity.Param.Add(sParam, CurQueryEntity.FieldByName(sField).Value.Trim()); } } private void InitGridView() { 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 = 'BJD' and XLXSTZYZ_TJYS='L' "); SQL.Add(" and XLXSTZYZ_JGBID = :pJGBID"); if (!string.IsNullOrEmpty(PageParam.GetRTrimString("TJYZID"))) SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSTZYZ_YZID", PageParam.GetRTrimString("TJYZID").Trim())); SQL.Add("order by XLXSTZYZ_YZID,XLXSTZYZ_XSXH"); SQL.ParamByName("pJGBID").Value = CurQueryEntity.FieldByName("JGBID").Value.Trim(); DataSet ds = dberp.OpenDataSet(SQL); dsTJYS1 = ds; txtFirstYZID.Value = ""; txtTJYZList.Value = ""; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { if (i == 0) txtFirstYZID.Value = ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim(); string sJJFSMC = ""; int iXSWS = 2; if (ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("JJ")) { sJJFSMC = "(元)"; iXSWS = 2; } else if (ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("MX") || ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("DX")) { sJJFSMC = "(X)"; iXSWS = 4; } else { sJJFSMC = "(%)"; iXSWS = 2; } AddColumn("TZYZ_" + ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim(), ds.Tables[0].Rows[i]["XLXSTZYZ_YZMC"].ToString().Trim() + sJJFSMC.Replace("(X)", ""), iXSWS, 80); txtTJYZList.Value += ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim() + "|" + ds.Tables[0].Rows[i]["XLXSTZYZ_YZMC"].ToString().Trim() + sJJFSMC + ","; } txtTJYZList.Value = txtTJYZList.Value.TrimEnd(','); } private string GetDefaultJGBID() { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Add("SELECT XLXSJGB_JGBID from XLXSJGB where XLXSJGB_MXBH='BJD' and XLXSJGB_TJYS='L' order by XLXSJGB_JGBID"); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) return ds.Tables[0].Rows[0][0].ToString().Trim(); else return ""; } 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; grdContentGrid.Columns.Add(Column); gtGridView_Column ColumnEx = new gtGridView_Column(); ColumnEx.DataField = sDataField; ColumnEx.EditType = TEditType.etNumber; ColumnEx.ShowHint = true; ColumnEx.NumberDecimalPlace = NumberDecimalPlace; grdContentGrid.ColumnsEx.Insert(0, ColumnEx); } } }