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_WORKFLOW; using GThinking.N_MISPRO; using GThinking.N_MISPRO.Data; using GThinking.N_MISPRO.Utility; using System.Text; using System.Collections.Generic; using GThinking.N_CONTROL; using System.Drawing; using GThinking.N_MISPRO.TableCache; using GThinking.N_PUBLIC; namespace GThinking.N_XLXSBJ { public partial class XLBJDDBList : SingleGridBase { XLBJDDB entity = new XLBJDDB(); XLBJDDB_M queryentity = new XLBJDDB_M(); Dictionary dicColoum = new Dictionary(); int iXSWS = 5; #region 页面事件 protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860042; this.UMName = "报价单对比分析"; this.CurMaster = Master; this.ModuleGV = grdGrid; this.CurEntity = entity; this.CurQueryEntity = queryentity; this.sQueryURLTarget = "XLBJDDBQuery.aspx"; this.PageHeight = 500; this.PageWidth = 700; base.DataKeyNames = new string[] { "XLXSBJDMX_XLXHID", "XLXSBJDMX_XLGGID", "XLXSBJDMX_DYDJID" }; SetControlState(); iXSWS = string.IsNullOrEmpty(GetOption(100860001, "BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption(100860001, "BJU002")); if (iXSWS < 0) iXSWS = 0; else if (iXSWS > 8) iXSWS = 8; if (!IsPostBack) { //CurQueryEntity.FieldByName("PXFS").Value = "0"; } base.InitPage(); this.ModuleGV.OnClientDblClick = "return false;"; if (!IsPostBack) { if (base.IsDefaultExecute) { Master_OnStandardQuery(null, null); } else { if (!PageParam.GetRTrimString("CXBJDID").Equals("")) { Master_OnStandardQuery(null, null); } } //设置隐藏控件IsXJY、IsSJY、IsHJY IsXJY.Value = "N"; IsSJY.Value = "N"; IsHJY.Value = "N"; TYGXX tRYXX = TRYXX.GetRYXXByGH(tSession.UserId); string sXJYROLEID = string.Empty; string sSJYROLEID = string.Empty; string sHJYROLEID = string.Empty; XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000); if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_XJYROLEID)) sXJYROLEID = pzxx.XLXSBJPZ_XJYROLEID; if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_SJYROLEID)) sSJYROLEID = pzxx.XLXSBJPZ_SJYROLEID; if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_HJYROLEID)) sHJYROLEID = pzxx.XLXSBJPZ_HJYROLEID; if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from USERROLE where URUSERID='{0}' and " + CMISproDataBase.GetWhereEqual("URROLEID", sXJYROLEID), tRYXX.RYID))) { IsXJY.Value = "Y"; } if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from USERROLE where URUSERID='{0}' and " + CMISproDataBase.GetWhereEqual("URROLEID", sSJYROLEID), tRYXX.RYID))) { IsSJY.Value = "Y"; } if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from USERROLE where URUSERID='{0}' and " + CMISproDataBase.GetWhereEqual("URROLEID", sHJYROLEID), tRYXX.RYID))) { IsHJY.Value = "Y"; } if (!PageParam.GetRTrimString("CXBJDID").Equals("")) { string sBJDHQLJBM = GetBJDHQLJBM(PageParam.GetRTrimString("CXBJDID")); if (!sBJDHQLJBM.Equals("")) { sBJDHQLJBM = sBJDHQLJBM + "追溯"; btnLJZS.Width = XLBJDUtils.GetBtnLength(ref sBJDHQLJBM, false); btnLJZS.Caption = sBJDHQLJBM; } } } } #endregion #region 模板继承事件 protected override void Master_OnStandardQuery(object sender, EventArgs e) { entity.EntityTable.QuerySelSql = "select TOP 1 XLXSBJDMX_BJDID from XLXSBJDMX where 1<>1"; base.Master_OnStandardQuery(sender, e); DataSet ds = GetDBMXDataSet(); entity.GridDataBind(grdGrid, tSession); if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) entity.GridDataBind(grdGrid, ds.Tables[0], ds.Tables[0].Rows.Count); grdGrid.DataSource = ds; } protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e) { string sBJSL = ""; string sBiaoJ = ""; string sBaoJ = ""; string sBJJE = ""; int totalColumns = grdGrid.Columns.Count; sBJSL = CurQueryEntity.FieldByName("BJSL").Value.Trim().Replace("\n", "").Replace(" ", "").Replace("\t", "").Replace("\r", ""); sBiaoJ = CurQueryEntity.FieldByName("BiaoJ").Value.Trim().Replace("\n", "").Replace(" ", "").Replace("\t", "").Replace("\r", ""); sBaoJ = CurQueryEntity.FieldByName("BaoJ").Value.Trim().Replace("\n", "").Replace(" ", "").Replace("\t", "").Replace("\r", ""); sBJJE = CurQueryEntity.FieldByName("BJJE").Value.Trim().Replace("\n", "").Replace(" ", "").Replace("\t", "").Replace("\r", ""); if (e.Row.RowType == DataControlRowType.DataRow) { for (int i = 10; i < totalColumns; i++) { if (((i - 3) % 5) == 2) { if (sBJSL == "相同") { if (e.Row.Cells[i].Text.Trim() == e.Row.Cells[5].Text.Trim()) { e.Row.Cells[i].Style.Add(HtmlTextWriterStyle.Color, "#ff0000"); } } else if (sBJSL == "不同") { if (e.Row.Cells[i].Text.Trim() != e.Row.Cells[5].Text.Trim()) { e.Row.Cells[i].Style.Add(HtmlTextWriterStyle.Color, "#ff0000"); } } } else if (((i - 3) % 5) == 3) { if (sBiaoJ == "相同") { if (e.Row.Cells[i].Text.Trim() == e.Row.Cells[6].Text.Trim()) { e.Row.Cells[i].Style.Add(HtmlTextWriterStyle.Color, "#ff0000"); } } else if (sBiaoJ == "不同") { if (e.Row.Cells[i].Text.Trim() != e.Row.Cells[6].Text.Trim()) { e.Row.Cells[i].Style.Add(HtmlTextWriterStyle.Color, "#ff0000"); } } } else if (((i - 3) % 5) == 4) { if (sBaoJ == "相同") { if (e.Row.Cells[i].Text.Trim() == e.Row.Cells[7].Text.Trim()) { e.Row.Cells[i].Style.Add(HtmlTextWriterStyle.Color, "#ff0000"); } } else if (sBaoJ == "不同") { if (e.Row.Cells[i].Text.Trim() != e.Row.Cells[7].Text.Trim()) { e.Row.Cells[i].Style.Add(HtmlTextWriterStyle.Color, "#ff0000"); } } } else if (((i - 3) % 5) == 0) { if (sBJJE == "相同") { if (e.Row.Cells[i].Text.Trim() == e.Row.Cells[8].Text.Trim()) { e.Row.Cells[i].Style.Add(HtmlTextWriterStyle.Color, "#ff0000"); } } else if (sBJJE == "不同") { if (e.Row.Cells[i].Text.Trim() != e.Row.Cells[8].Text.Trim()) { e.Row.Cells[i].Style.Add(HtmlTextWriterStyle.Color, "#ff0000"); } } } } } base.moduleGV_RowDataBound(sender, e); } protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e) { entity.EntityTable.QuerySelSql = "select TOP 1 XLXSBJDMX_BJDID from XLXSBJDMX where 1<>1"; grdGrid.SelectedIndex = -1; base.moduleGV_PageIndexChanging(sender, e); DataSet ds = GetDBMXDataSet(); entity.GridDataBind(grdGrid, tSession); if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) entity.GridDataBind(grdGrid, ds.Tables[0], ds.Tables[0].Rows.Count); grdGrid.DataSource = ds; } protected override void ReportRecordSetAdd() { DataSet ds = GetDBMXDataSet(); AddUserReportDataSet("CX_XLXSBJDMX", ds); DataSet DBBJDLIST = new DataSet("DBBJDLIST"); AddUserReportDataSet("DBBJDLIST", DBBJDLIST); DataTable table = new DataTable("table"); table.Columns.Add("DBBJDID", typeof(string)); DBBJDLIST.Tables.Add(table); DataRow row = table.NewRow(); if (txtDBBJDIDJL.Value.Equals("")) { row["DBBJDID"] = txtZBJDIDJL.Value; } else { row["DBBJDID"] = txtZBJDIDJL.Value + "," + txtDBBJDIDJL.Value; } table.Rows.Add(row); base.ReportRecordSetAdd(); } protected override void ReportDataSetAdd() { DataSet ds = GetDBMXDataSet(); for (int i = 0; i < grdGrid.Columns.Count; i++) { string sDataField = ((System.Web.UI.WebControls.BoundField)(grdGrid.Columns[i])).DataField.ToString().Trim(); string sHeaderText = grdGrid.Columns[i].HeaderText; AddUserReportField("CX_XLXSBJDMX", sDataField, sHeaderText, "S"); } AddUserReportField("DBBJDLIST", "DBBJDID", "对比报价单清单", "S"); base.ReportDataSetAdd(); } #endregion #region 自定义函数 private string GetBJDHQLJBM(string sCurBJDID) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("SELECT XLXSBJFL_BJDHQLJBM FROM XLXSBJFL LEFT JOIN XLXSBJD ON XLXSBJD_BJFLID = XLXSBJFL_BJFLID AND XLXSBJD_BJDID=:pBJDID "); SQL.ParamByName("pBJDID").Value = sCurBJDID; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { return ds.Tables[0].Rows[0]["XLXSBJFL_BJDHQLJBM"].ToString().Trim(); } return ""; } private void SetControlState() { this.CurMaster.EnableNewBtn = false; this.CurMaster.EnableCopyBtn = false; this.CurMaster.EnableEditBtn = false; this.CurMaster.EnableDeleteBtn = false; this.CurMaster.EnableWorkflowBtn = false; this.CurMaster.EnableViewBtn = false; if (!PageParam.GetRTrimString("CXBJDID").Equals("")) { btnZJEDB.Visible = true; } else { btnZJEDB.Visible = false; } btnLJZS.Visible = GetbtnLJZSXS(); if (!IsPostBack) { if (!PageParam.GetRTrimString("CXBJDID").Equals("")) { string[] arrList = PageParam.GetRTrimString("CXBJDID").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); txtZBJDIDJL.Value = arrList[0]; txtDBBJDIDJL.Value = string.Join(",", arrList, 1, arrList.Length - 1) ; } } } private bool GetbtnLJZSXS() { if (!PageParam.GetRTrimString("CXBJDID").Equals("")) { string sCurBJDID = ""; string sBJFLID = ""; string sWPID = ""; string sSQRID = ""; string[] sTemp = PageParam.GetRTrimString("CXBJDID").Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (sTemp.Length > 0) { sCurBJDID = sTemp[0].ToString().Trim(); } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("SELECT XLXSBJD_BJFLID,XLXSBJD_WPID,XLXSBJD_SQRID FROM XLXSBJD WHERE XLXSBJD_BJDID=:pBJDID "); SQL.ParamByName("pBJDID").Value = sCurBJDID; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sBJFLID = ds.Tables[0].Rows[0]["XLXSBJD_BJFLID"].ToString().Trim(); sWPID = ds.Tables[0].Rows[0]["XLXSBJD_WPID"].ToString().Trim(); sSQRID = ds.Tables[0].Rows[0]["XLXSBJD_SQRID"].ToString().Trim(); } BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID); string sJLRBJCP = bjflxx.XLXSBJFL_JLRBJCP; string sHidJSLMList = XLBJDUtils.GetHidJSLMList(sBJFLID, IsXJY.Value.Equals("Y"), IsSJY.Value.Equals("Y"),IsHJY.Value.Equals("Y")); if (bjflxx.XSBJDHQLJ() && CheckModule("100860044")) { if (sWPID.Equals(""))//新建 { if (sJLRBJCP.Equals("Y")) { return false; } } else { string sBZSW = TWorkflow.Utils.WFGetBZSWID("XLXSBJ_BJD", sWPID); if (sBZSW.Equals("0010")) { if (sJLRBJCP.Equals("Y")) { return false; } } else { if (sSQRID.Equals(tSession.RYID.Trim())) { //单据不在第一步0010环节,报价申请人只允许比第一步时多看到“报价”、“报价金额”两个栏目,“报价数量”至“备注”之间的其他栏目仍然控制隐藏。 if (sJLRBJCP.Equals("Y")) { return false; } } } } if (!sJLRBJCP.Equals("Y")) { if (bjflxx.XSBJDHQLJ()) { return true; } else { return false; } } #region 按角色隐藏栏目 //获取需要按角色隐藏的栏目ID列表 if (!sHidJSLMList.Trim().Equals("")) { string[] sHidJSLMs = sHidJSLMList.Split(','); for (int i = 0; i < sHidJSLMs.Length; i++) { string sLMID = sHidJSLMs[i].Trim(); if (sLMID.Equals("btnLJ")) return false; } } #endregion return true; } else { return false; } } else { return false; } } private DataSet GetDBMXDataSet() { base.InitEntityByCondition(); string sData = ""; string BJD = ""; string BJDLIST = ""; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); string temp = ""; if (txtZBJDIDJL.Value.Equals("")) { ShowMessage("请选择主报价单后再查询!"); return new DataSet(); } if (txtDBBJDIDJL.Value.Equals("")) { temp = txtZBJDIDJL.Value; } else { temp = txtZBJDIDJL.Value + "," + txtDBBJDIDJL.Value; } string[] arr = temp.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); string queryBJD = @" select b.XH,b.XLXSBJDMX_XLXHID,b.XLXSBJDMX_XLGGID, rtrim(b.XLXSBJDMX_XLBZID)+'|'+rtrim(XLBZ_XLBZLXMC) as XLBZID, case when b.ID=1 then b.XLXSBJDMX_DYDJID when b.ID=2 then '合计' end as XLXSBJDMX_DYDJID, b.BJSL,b.JGBBJ,b.CPBJ,b.BJJE "; string queryBJDtemp = ""; for (int i = 1; i < arr.Length; i++) { queryBJDtemp = " ,b.XH0{0},b.BJSL0{0},b.JGBBJ0{0},b.CPBJ0{0},b.BJJE0{0} "; queryBJDtemp = string.Format(queryBJDtemp, i.ToString()); queryBJD = queryBJD + queryBJDtemp; } queryBJD = queryBJD + " from (select IDX_ID as ID, "; queryBJDtemp = @" case when IDX_ID=1 then a.XH when IDX_ID=2 then 0 end as XH, case when IDX_ID=1 then a.XLXSBJDMX_XLXHID when IDX_ID=2 then '' end as XLXSBJDMX_XLXHID, case when IDX_ID=1 then a.XLXSBJDMX_XLGGID when IDX_ID=2 then '' end as XLXSBJDMX_XLGGID, case when IDX_ID=1 then a.XLXSBJDMX_DYDJID when IDX_ID=2 then '' end as XLXSBJDMX_DYDJID, case when IDX_ID=1 then a.XLXSBJDMX_XLBZID when IDX_ID=2 then '' end as XLXSBJDMX_XLBZID, sum(a.BJSL) as BJSL, sum(case when IDX_ID=1 then a.JGBBJ else 0 end) as JGBBJ, sum(case when IDX_ID=1 then a.CPBJ else 0 end) as CPBJ, sum(a.BJJE) as BJJE "; queryBJD = queryBJD + queryBJDtemp; for (int i = 1; i < arr.Length; i++) { queryBJDtemp = @" ,case when IDX_ID=1 then a.XH0{0} when IDX_ID=2 then 0 end as XH0{0}, sum(a.BJSL0{0}) as BJSL0{0}, sum(case when IDX_ID=1 then a.JGBBJ0{0} else 0 end) as JGBBJ0{0}, sum(case when IDX_ID=1 then a.CPBJ0{0} else 0 end) as CPBJ0{0}, sum(a.BJJE0{0}) as BJJE0{0} "; queryBJDtemp = string.Format(queryBJDtemp, i.ToString()); queryBJD = queryBJD + queryBJDtemp; } queryBJD = queryBJD + @" from ( select a0.XLXSBJDMX_XH as XH, a0.XLXSBJDMX_XLXHID , a0.XLXSBJDMX_XLGGID , a0.XLXSBJDMX_DYDJID , a0.XLXSBJDMX_XLBZID , a0.XLXSBJDMX_BJSL as BJSL, a0.XLXSBJDMX_JGBBJ as JGBBJ, a0.XLXSBJDMX_CPBJ as CPBJ, a0.XLXSBJDMX_BJJE as BJJE "; for (int i = 1; i < arr.Length; i++) { queryBJDtemp = @" ,isnull(a{0}.XLXSBJDMX_XH,0) as XH0{0}, isnull(a{0}.XLXSBJDMX_BJSL,0) as BJSL0{0}, isnull(a{0}.XLXSBJDMX_JGBBJ,0) as JGBBJ0{0}, isnull(a{0}.XLXSBJDMX_CPBJ,0) as CPBJ0{0}, isnull(a{0}.XLXSBJDMX_BJJE,0) as BJJE0{0} "; queryBJDtemp = string.Format(queryBJDtemp, i.ToString()); queryBJD = queryBJD + queryBJDtemp; } queryBJD = queryBJD + " from ( "; BJD = @"SELECT XLXSBJDMX_XH, XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID, XLXSBJDMX_DYDJID, XLXSBJDMX_XLBZID, XLXSBJDMX_BJSL, XLXSBJDMX_JGBBJ, XLXSBJDMX_CPBJ, XLXSBJDMX_BJJE, ROW_NUMBER() OVER(PARTITION BY XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_DYDJID,XLXSBJDMX_XLBZID ORDER BY XLXSBJDMX_XH) AS XH FROM XLXSBJDMX WHERE XLXSBJDMX_BJDID = '{0}' ) a0"; BJDLIST = BJDLIST + string.Format(BJD, arr[0]); for (int i = 1; i < arr.Length; i++) { BJD = @" left join ( SELECT XLXSBJDMX_XH, XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID, XLXSBJDMX_DYDJID, XLXSBJDMX_XLBZID, XLXSBJDMX_BJSL, XLXSBJDMX_JGBBJ, XLXSBJDMX_CPBJ, XLXSBJDMX_BJJE, ROW_NUMBER() OVER( PARTITION BY XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_DYDJID,XLXSBJDMX_XLBZID ORDER BY XLXSBJDMX_XH) AS XH FROM XLXSBJDMX WHERE XLXSBJDMX_BJDID = '{0}' ) a{1} ON a{1}.XLXSBJDMX_XLXHID =a0.XLXSBJDMX_XLXHID and a{1}.XLXSBJDMX_XLGGID=a0.XLXSBJDMX_XLGGID and a{1}.XLXSBJDMX_DYDJID=a0.XLXSBJDMX_DYDJID and a{1}.XLXSBJDMX_XLBZID=a0.XLXSBJDMX_XLBZID AND a{1}.XH = a0.XH"; BJDLIST = BJDLIST + string.Format(BJD, arr[i], i.ToString()); } BJDLIST = BJDLIST + " ) a,IDX where IDX_ID>=1 and IDX_ID<=2 group by IDX_ID, "; BJDLIST= BJDLIST+@"case when IDX_ID=1 then a.XH when IDX_ID=2 then 0 end, case when IDX_ID=1 then a.XLXSBJDMX_XLXHID when IDX_ID=2 then '' end, case when IDX_ID=1 then a.XLXSBJDMX_XLGGID when IDX_ID=2 then '' end, case when IDX_ID=1 then a.XLXSBJDMX_DYDJID when IDX_ID=2 then '' end, case when IDX_ID=1 then a.XLXSBJDMX_XLBZID when IDX_ID=2 then '' end "; for (int i = 1; i < arr.Length; i++) { BJD = " ,case when IDX_ID=1 then a.XH0{0} when IDX_ID=2 then 0 end "; BJD = string.Format(BJD, i.ToString()); BJDLIST = BJDLIST + BJD; } BJDLIST = BJDLIST + " ) b left join XLBZ on XLBZ_XLBZID=b.XLXSBJDMX_XLBZID order by ID,XH "; queryBJD = queryBJD + BJDLIST; SQL.Add(queryBJD); DataSet dsQry = dberp.OpenDataSet(SQL); string sKHMsg = ""; sData = "XH"; AddColumn(sData, arr[0], 0, 80, true, false, sKHMsg); sData = "BJSL"; AddColumn(sData, "报价数量", 3, 80, true, false, sKHMsg); sData = "JGBBJ"; AddColumn(sData, "表价", iXSWS, 80, true, false, sKHMsg); sData = "CPBJ"; AddColumn(sData, "报价", iXSWS, 80, true, false, sKHMsg); sData = "BJJE"; AddColumn(sData, "报价金额", iXSWS, 80, true, false, sKHMsg); for (int i = 1; i < arr.Length; i++) { sData = "XH0{0}"; sData = string.Format(sData, i.ToString()); AddColumn(sData, arr[i], 0, 80, true, false, sKHMsg); sData = "BJSL0{0}"; sData = string.Format(sData, i.ToString()); AddColumn(sData, "报价数量", 3, 80, true, false, sKHMsg); sData = "JGBBJ0{0}"; sData = string.Format(sData, i.ToString()); AddColumn(sData, "表价", iXSWS, 80, true, false, sKHMsg); sData = "CPBJ0{0}"; sData = string.Format(sData, i.ToString()); AddColumn(sData, "报价", iXSWS, 80, true, false, sKHMsg); sData = "BJJE0{0}"; sData = string.Format(sData, i.ToString()); AddColumn(sData, "报价金额", iXSWS, 80, true, false, sKHMsg); } return dsQry; } private DataSet GetSQLDataSet() { base.InitEntityByCondition(); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); string sXLXHID = ""; string sXLGGID = ""; string sXLBZID = ""; string sDYDJID = ""; Dictionary dicBJDHQCLCB = new Dictionary(); Dictionary dicCLCBJCL = new Dictionary(); //因子值拼接列10个因子+调整报价% string sYZZList = ""; //存储查询调价的报价单/参数传过来的报价单 string temp = ""; dicColoum.Clear(); dicBJDHQCLCB.Clear(); dicCLCBJCL.Clear(); //比对报价单按钮过来的当前报价单 //用于匹配时,固定当前报价单ID string sCurBJDID = ""; //比对报价单按钮过来的除当前报价单之外的报价单 string sLevBJDID = ""; //比对报价单按钮过来的单独处理 if (!PageParam.GetRTrimString("CXBJDID").Equals("")) { string[] sTemp = PageParam.GetRTrimString("CXBJDID").Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (sTemp.Length > 0) { sCurBJDID = sTemp[0].ToString().Trim(); for (int i = 1; i < sTemp.Length; i++) { sLevBJDID += sTemp[i].ToString().Trim() + ","; } sLevBJDID = sLevBJDID.TrimEnd(','); } } temp = CurQueryEntity.FieldByName("DBBJDID").Value.Trim().Replace("\n", "").Replace(" ", "").Replace("\t", "").Replace("\r", ""); //构建基本的dsQry----型号,规格,标准,电压等级 SQL.Clear(); SQL.Add(" select '1' AS PX,XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID, RTRIM(XLXSBJDMX_XLBZID) || '|' || RTRIM(XLBZ_XLBZLXMC) AS XLBZID,XLXSBJDMX_DYDJID,min(XLGGB_XH) as minXH "); SQL.Add(" from XLXSBJDMX "); SQL.Add(" left join XLXSBJD on XLXSBJD_BJDID = XLXSBJDMX_BJDID "); SQL.Add(" left join XLBZ on XLBZ_XLBZID = XLXSBJDMX_XLBZID "); SQL.Add(" left join XLXHB on XLXHB_XLXHID=XLXSBJDMX_XLXHID "); SQL.Add(" left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSBJDMX_XLGGID "); SQL.Add(" left join XLGGB on XLGGB_XLGGID = XLXSBJXLGGTHB_XLGGIDCH and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') "); SQL.Add(" where 1 =1 "); //SQL.Add(" and isnull(XLXSBJD_KH, ' ') <> ' ' "); if (temp != "") { SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJDMX_BJDID", temp)); } SQL.Add(" group by XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,XLBZ_XLBZLXMC "); SQL.Add(" UNION ALL "); SQL.Add(" select '2' AS PX,' ' AS XLXSBJDMX_XLXHID,' ' AS XLXSBJDMX_XLGGID,' ' AS XLXSBJDMX_XLBZID, ' ' AS XLBZID,' ' AS XLXSBJDMX_DYDJID,0 as minXH "); SQL.Add(" order by PX,XLXSBJDMX_XLXHID,minXH,XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID "); string s = SQL.Text; DataSet dsQry = dberp.OpenDataSet(SQL); //添加序号栏 dsQry.Tables[0].Columns.Add("XLXSBJDMX_XH"); //添加维度 string sData = ""; string sKHMsg = ""; if (!sCurBJDID.Equals("")) { SQL.Clear(); SQL.Add(" select XLXSBJD_KH,XLXSBJD_BJDID,XLXSBJD_BZ,XLXSBJD_BJFLID,XLXSBJD_WPID,XLXSBJD_SQRID from XLXSBJD "); SQL.Add(" where 1 =1 "); //SQL.Add(" and isnull(XLXSBJD_KH, ' ') <> ' ' "); //temp = CurQueryEntity.FieldByName("DBBJDID").Value.Trim(); if (temp != "") { SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_BJDID", sCurBJDID)); } SQL.Add(" order by XLXSBJD_BJRQ desc,XLXSBJD_BJDID desc "); DataSet dsKH = dberp.OpenDataSet(SQL); if (dsKH.Tables[0].Rows.Count > 0) { for (int i = 0; i < dsKH.Tables[0].Rows.Count; i++) { if (!dicColoum.ContainsKey(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim())) { dicColoum.Add(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim(), i.ToString().Trim()); } //添加客户列 sData = "KH_" + i.ToString().Trim(); //添加悬浮提示信息 sKHMsg = dsKH.Tables[0].Rows[i]["XLXSBJD_KH"].ToString().Trim() + "|" + dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim() + "|" + dsKH.Tables[0].Rows[i]["XLXSBJD_BZ"].ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); AddColumn(sData, sKHMsg, 100, false); Dictionary dicXSCLCB = XSCLCB(dsKH.Tables[0].Rows[i]["XLXSBJD_BJFLID"].ToString().Trim(), dsKH.Tables[0].Rows[i]["XLXSBJD_WPID"].ToString().Trim(), dsKH.Tables[0].Rows[i]["XLXSBJD_SQRID"].ToString().Trim()); BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(dsKH.Tables[0].Rows[i]["XLXSBJD_BJFLID"].ToString().Trim()); if (!dicBJDHQCLCB.ContainsKey(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim())) { dicBJDHQCLCB.Add(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim(), dicXSCLCB["XLXSBJDMX_BJDHQCLCB"].Trim()); } if (!dicCLCBJCL.ContainsKey(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim())) { dicCLCBJCL.Add(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim(), dicXSCLCB["XLXSBJDMX_CLCBJCL"].Trim()); } sData = "XLXSBJDMX_XSSX_" + i.ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); AddColumn(sData, dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim(), 0, 80, true, false, sKHMsg); sData = "XLXSBJDMX_BJSL_" + i.ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); //报价数量小数位数不确定 AddColumn(sData, "报价数量", 3, 80, true, false, sKHMsg); if (dicXSCLCB["XLXSBJDMX_BJDHQCLCB"].Trim().Equals("Y")) { sData = "XLXSBJDMX_BJDHQCLCB_" + i.ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); if (!bjflxx.XLXSBJFL_BJDHQLJBM.Equals("")) AddColumn(sData, bjflxx.XLXSBJFL_BJDHQLJBM, iXSWS, 120, true, false, sKHMsg); else AddColumn(sData, "报价单行情料价", iXSWS, 120, true, false, sKHMsg); } sData = "XLXSBJDMX_JGBBJ_" + i.ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); if (!bjflxx.XLXSBJFL_JGBBJBM.Equals("")) AddColumn(sData, bjflxx.XLXSBJFL_JGBBJBM, iXSWS, 120, true, false, sKHMsg); else AddColumn(sData, "表价", iXSWS, 120, true, false, sKHMsg); sData = "YZZ_List_" + i.ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); AddColumn(sData, "报价单因子&调整报价", 170, true); sData = "XLXSBJDMX_CPBJ_" + i.ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); if (!bjflxx.XLXSBJFL_BJBM.Equals("")) AddColumn(sData, bjflxx.XLXSBJFL_BJBM, iXSWS, 120, true, false, sKHMsg); else AddColumn(sData, "报价", iXSWS, 120, true, false, sKHMsg); sData = "XLXSBJDMX_BJJE_" + i.ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); if (!bjflxx.XLXSBJFL_BJBM.Equals("")) AddColumn(sData, bjflxx.XLXSBJFL_BJBM + "金额", iXSWS, 120, true, false, sKHMsg); else AddColumn(sData, "报价金额", iXSWS, 120, true, false, sKHMsg); if (dicXSCLCB["XLXSBJDMX_CLCBJCL"].Trim().Equals("Y")) { sData = "XLXSBJDMX_CLCBJCL_" + i.ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); AddColumn(sData, "料价价差率(%)", 2, 120, true, false, sKHMsg); } } } //处理其他 SQL.Clear(); SQL.Add(" select XLXSBJD_KH,XLXSBJD_BJDID,XLXSBJD_BZ,XLXSBJD_BJFLID,XLXSBJD_WPID,XLXSBJD_SQRID from XLXSBJD "); SQL.Add(" where 1 =1 "); //SQL.Add(" and isnull(XLXSBJD_KH, ' ') <> ' ' "); //temp = CurQueryEntity.FieldByName("DBBJDID").Value.Trim(); if (temp != "") { SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_BJDID", sLevBJDID)); } SQL.Add(" order by XLXSBJD_BJRQ desc,XLXSBJD_BJDID desc "); dsKH = dberp.OpenDataSet(SQL); if (dsKH.Tables[0].Rows.Count > 0) { for (int i = 0; i < dsKH.Tables[0].Rows.Count; i++) { if (!dicColoum.ContainsKey(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim())) { dicColoum.Add(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim(), (i+1).ToString().Trim()); } //添加客户列 sData = "KH_" + (i + 1).ToString().Trim(); sKHMsg = dsKH.Tables[0].Rows[i]["XLXSBJD_KH"].ToString().Trim() + "|" + dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim() + "|" + dsKH.Tables[0].Rows[i]["XLXSBJD_BZ"].ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); AddColumn(sData, sKHMsg, 100, false); Dictionary dicXSCLCB = XSCLCB(dsKH.Tables[0].Rows[i]["XLXSBJD_BJFLID"].ToString().Trim(), dsKH.Tables[0].Rows[i]["XLXSBJD_WPID"].ToString().Trim(), dsKH.Tables[0].Rows[i]["XLXSBJD_SQRID"].ToString().Trim()); BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(dsKH.Tables[0].Rows[i]["XLXSBJD_BJFLID"].ToString().Trim()); if (!dicBJDHQCLCB.ContainsKey(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim())) { dicBJDHQCLCB.Add(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim(), dicXSCLCB["XLXSBJDMX_BJDHQCLCB"].Trim()); } if (!dicCLCBJCL.ContainsKey(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim())) { dicCLCBJCL.Add(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim(), dicXSCLCB["XLXSBJDMX_CLCBJCL"].Trim()); } sData = "XLXSBJDMX_XSSX_" + (i + 1).ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); AddColumn(sData, dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim(), 0, 80, true, false, sKHMsg); sData = "XLXSBJDMX_BJSL_" + (i + 1).ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); //报价数量小数位数不确定 AddColumn(sData, "报价数量", 3, 80, true, false, sKHMsg); if (dicXSCLCB["XLXSBJDMX_BJDHQCLCB"].Trim().Equals("Y")) { sData = "XLXSBJDMX_BJDHQCLCB_" + (i + 1).ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); if (!bjflxx.XLXSBJFL_BJDHQLJBM.Equals("")) AddColumn(sData, bjflxx.XLXSBJFL_BJDHQLJBM, iXSWS, 120, true, false, sKHMsg); else AddColumn(sData, "报价单行情料价", iXSWS, 120, true, false, sKHMsg); } sData = "XLXSBJDMX_JGBBJ_" + (i + 1).ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); if (!bjflxx.XLXSBJFL_JGBBJBM.Equals("")) AddColumn(sData, bjflxx.XLXSBJFL_JGBBJBM, iXSWS, 120, true, false, sKHMsg); else AddColumn(sData, "表价", iXSWS, 120, true, false, sKHMsg); sData = "XLXSBJDMX_CPBJ_" + (i + 1).ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); if (!bjflxx.XLXSBJFL_BJBM.Equals("")) AddColumn(sData, bjflxx.XLXSBJFL_BJBM, iXSWS, 120, true, false, sKHMsg); else AddColumn(sData, "报价", iXSWS, 120, true, false, sKHMsg); sData = "XLXSBJDMX_BJJE_" + (i + 1).ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); if (!bjflxx.XLXSBJFL_BJBM.Equals("")) AddColumn(sData, bjflxx.XLXSBJFL_BJBM + "金额", iXSWS, 120, true, false, sKHMsg); else AddColumn(sData, "报价金额", iXSWS, 120, true, false, sKHMsg); if (dicXSCLCB["XLXSBJDMX_CLCBJCL"].Trim().Equals("Y")) { sData = "XLXSBJDMX_CLCBJCL_" + (i + 1).ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); AddColumn(sData, "料价价差率(%)", 2, 120, true, false, sKHMsg); } sData = "XLXSBJDMX_CPBJJCL_" + (i + 1).ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); AddColumn(sData, "报价价差率(%)", 2, 120, true, false, sKHMsg); } } } else { SQL.Clear(); SQL.Add(" select XLXSBJD_KH,XLXSBJD_BJDID,XLXSBJD_BZ,XLXSBJD_BJFLID,XLXSBJD_WPID,XLXSBJD_SQRID from XLXSBJD "); SQL.Add(" where 1 =1 "); //SQL.Add(" and isnull(XLXSBJD_KH, ' ') <> ' ' "); //temp = CurQueryEntity.FieldByName("DBBJDID").Value.Trim(); if (temp != "") { SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_BJDID", temp)); } SQL.Add(" order by XLXSBJD_BJRQ desc,XLXSBJD_BJDID desc "); DataSet dsKH = dberp.OpenDataSet(SQL); for (int i = 0; i < dsKH.Tables[0].Rows.Count; i++) { if (!dicColoum.ContainsKey(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim())) { dicColoum.Add(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim(), i.ToString().Trim()); } //添加客户列 sData = "KH_" + i.ToString().Trim(); sKHMsg = dsKH.Tables[0].Rows[i]["XLXSBJD_KH"].ToString().Trim() + "|" + dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim() + "|" + dsKH.Tables[0].Rows[i]["XLXSBJD_BZ"].ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); AddColumn(sData, sKHMsg, 100, false); Dictionary dicXSCLCB = XSCLCB(dsKH.Tables[0].Rows[i]["XLXSBJD_BJFLID"].ToString().Trim(), dsKH.Tables[0].Rows[i]["XLXSBJD_WPID"].ToString().Trim(), dsKH.Tables[0].Rows[i]["XLXSBJD_SQRID"].ToString().Trim()); BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(dsKH.Tables[0].Rows[i]["XLXSBJD_BJFLID"].ToString().Trim()); if (!dicBJDHQCLCB.ContainsKey(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim())) { dicBJDHQCLCB.Add(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim(), dicXSCLCB["XLXSBJDMX_BJDHQCLCB"].Trim()); } if (!dicCLCBJCL.ContainsKey(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim())) { dicCLCBJCL.Add(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim(), dicXSCLCB["XLXSBJDMX_CLCBJCL"].Trim()); } sData = "XLXSBJDMX_XSSX_" + i.ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); AddColumn(sData, dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim(), 0, 80, true, false, sKHMsg); sData = "XLXSBJDMX_BJSL_" + i.ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); //报价数量小数位数不确定 AddColumn(sData, "报价数量", 3, 80, true, false, sKHMsg); if (dicXSCLCB["XLXSBJDMX_BJDHQCLCB"].Trim().Equals("Y")) { sData = "XLXSBJDMX_BJDHQCLCB_" + i.ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); if (!bjflxx.XLXSBJFL_BJDHQLJBM.Equals("")) AddColumn(sData, bjflxx.XLXSBJFL_BJDHQLJBM, iXSWS, 120, true, false, sKHMsg); else AddColumn(sData, "报价单行情料价", iXSWS, 120, true, false, sKHMsg); } sData = "XLXSBJDMX_JGBBJ_" + i.ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); if (!bjflxx.XLXSBJFL_JGBBJBM.Equals("")) AddColumn(sData, bjflxx.XLXSBJFL_JGBBJBM, iXSWS, 120, true, false, sKHMsg); else AddColumn(sData, "表价", iXSWS, 120, true, false, sKHMsg); sData = "XLXSBJDMX_CPBJ_" + i.ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); if (!bjflxx.XLXSBJFL_BJBM.Equals("")) AddColumn(sData, bjflxx.XLXSBJFL_BJBM, iXSWS, 120, true, false, sKHMsg); else AddColumn(sData, "报价", iXSWS, 120, true, false, sKHMsg); sData = "XLXSBJDMX_BJJE_" + i.ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); if (!bjflxx.XLXSBJFL_BJBM.Equals("")) AddColumn(sData, bjflxx.XLXSBJFL_BJBM + "金额", iXSWS, 120, true, false, sKHMsg); else AddColumn(sData, "报价金额", iXSWS, 120, true, false, sKHMsg); if (dicXSCLCB["XLXSBJDMX_CLCBJCL"].Trim().Equals("Y")) { sData = "XLXSBJDMX_CLCBJCL_" + i.ToString().Trim(); dsQry.Tables[0].Columns.Add(sData); AddColumn(sData, "料价价差率(%)", 2, 120, true, false, sKHMsg); } } } //添加数据信息 //double sBJDHQCLCB = 0; //double sCPBJ = 0; //double sCLCBJCL = 0; //string sKH = ""; SQL.Clear(); SQL.Add(" select XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CPBJ,XLXSBJDMX_BJSL,XLXSBJDMX_JGBBJ,XLXSBJDMX_BJJE,XLXSBJDMX_CLCBJCL,"); SQL.Add(" XLXSBJDMX_BJDID,XLXSBJD_KH,"); SQL.Add(" XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID, "); SQL.Add(" XLXSBJDYZZ0_YZZ01, XLXSBJDYZZ0_YZZ02, XLXSBJDYZZ0_YZZ03, XLXSBJDYZZ0_YZZ04, XLXSBJDYZZ0_YZZ05, "); SQL.Add(" XLXSBJDYZZ0_YZZ06, XLXSBJDYZZ0_YZZ07, XLXSBJDYZZ0_YZZ08, XLXSBJDYZZ0_YZZ09, XLXSBJDYZZ0_YZZ10, "); SQL.Add(" XLXSBJDYZZ0_YZZ11, XLXSBJDYZZ0_YZZ12, XLXSBJDYZZ0_YZZ13, XLXSBJDYZZ0_YZZ14, XLXSBJDYZZ0_YZZ15, "); SQL.Add(" XLXSBJDYZZ0_YZZ16, XLXSBJDYZZ0_YZZ17, XLXSBJDYZZ0_YZZ18, XLXSBJDYZZ0_YZZ19, XLXSBJDYZZ0_YZZ20, "); SQL.Add(" XLXSBJDMX_TZCPBJ,XLXSBJDMX_XH,XLXSBJDMX_XSSX "); SQL.Add(" from XLXSBJDMX "); //SQL.Add(" from XLXSBJDMX "); SQL.Add(" left join XLXSBJD on XLXSBJD_BJDID = XLXSBJDMX_BJDID "); SQL.Add(" left join XLXSBJDYZZ0 ON XLXSBJDYZZ0_BJDID = XLXSBJDMX_BJDID AND XLXSBJDYZZ0_XH = XLXSBJDMX_XH "); SQL.Add(" where 1 =1 "); //SQL.Add(" and isnull(XLXSBJD_KH, ' ') <> ' ' "); //temp = CurQueryEntity.FieldByName("DBBJDID").Value.Trim(); if (temp != "") { SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJDMX_BJDID", temp)); } DataSet dsData = dberp.OpenDataSet(SQL); int len = dsQry.Tables[0].Rows.Count - 1; dsQry.Tables[0].Rows[len]["XLXSBJDMX_DYDJID"] = "合计"; //循环dsQry,从dsData中匹配数据进行添加 for (int k = 0; k < dsQry.Tables[0].Rows.Count-1; k++) { sXLXHID = dsQry.Tables[0].Rows[k]["XLXSBJDMX_XLXHID"].ToString().Trim(); sXLGGID = dsQry.Tables[0].Rows[k]["XLXSBJDMX_XLGGID"].ToString().Trim(); sXLBZID = dsQry.Tables[0].Rows[k]["XLXSBJDMX_XLBZID"].ToString().Trim(); sDYDJID = dsQry.Tables[0].Rows[k]["XLXSBJDMX_DYDJID"].ToString().Trim(); //匹配数据 for (int i = 0; i < dsData.Tables[0].Rows.Count; i++) { if (sXLXHID.Equals(dsData.Tables[0].Rows[i]["XLXSBJDMX_XLXHID"].ToString().Trim()) && sXLGGID.Equals(dsData.Tables[0].Rows[i]["XLXSBJDMX_XLGGID"].ToString().Trim()) && sXLBZID.Equals(dsData.Tables[0].Rows[i]["XLXSBJDMX_XLBZID"].ToString().Trim()) && sDYDJID.Equals(dsData.Tables[0].Rows[i]["XLXSBJDMX_DYDJID"].ToString().Trim())) { if (dicColoum.ContainsKey(dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim())) { //dsQry.Tables[0].Rows[k]["KH_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]] = dsData.Tables[0].Rows[i]["XLXSBJD_KH"].ToString().Trim(); dsQry.Tables[0].Rows[k]["XLXSBJDMX_BJSL_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]] = (CMISproConvert.StrToFloat(dsQry.Tables[0].Rows[k]["XLXSBJDMX_BJSL_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]].ToString()) +CMISproConvert.StrToFloat(dsData.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim())).ToString(); dsQry.Tables[0].Rows[len]["XLXSBJDMX_BJSL_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]] = (CMISproConvert.StrToFloat(dsQry.Tables[0].Rows[len]["XLXSBJDMX_BJSL_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]].ToString()) + CMISproConvert.StrToFloat(dsData.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim())).ToString(); if (dicBJDHQCLCB[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()].Trim().Equals("Y")) dsQry.Tables[0].Rows[k]["XLXSBJDMX_BJDHQCLCB_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]] = dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDHQCLCB"].ToString().Trim(); dsQry.Tables[0].Rows[k]["XLXSBJDMX_JGBBJ_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]] = dsData.Tables[0].Rows[i]["XLXSBJDMX_JGBBJ"].ToString().Trim(); dsQry.Tables[0].Rows[k]["XLXSBJDMX_CPBJ_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]] = dsData.Tables[0].Rows[i]["XLXSBJDMX_CPBJ"].ToString().Trim(); dsQry.Tables[0].Rows[k]["XLXSBJDMX_BJJE_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]] = dsData.Tables[0].Rows[i]["XLXSBJDMX_BJJE"].ToString().Trim(); dsQry.Tables[0].Rows[k]["XLXSBJDMX_XSSX_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]] = dsData.Tables[0].Rows[i]["XLXSBJDMX_XSSX"].ToString().Trim(); dsQry.Tables[0].Rows[len]["XLXSBJDMX_BJJE_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]] = (CMISproConvert.StrToFloat(dsQry.Tables[0].Rows[len]["XLXSBJDMX_BJJE_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]].ToString()) + CMISproConvert.StrToFloat(dsData.Tables[0].Rows[i]["XLXSBJDMX_BJJE"].ToString().Trim())).ToString(); if (dicCLCBJCL[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()].Trim().Equals("Y")) dsQry.Tables[0].Rows[k]["XLXSBJDMX_CLCBJCL_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]] = dsData.Tables[0].Rows[i]["XLXSBJDMX_CLCBJCL"].ToString().Trim(); //增补当前报价单的因子 if (sCurBJDID.Equals(dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim())) { sYZZList = dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ01"].ToString().Trim() + "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ02"].ToString().Trim() + "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ03"].ToString().Trim() + "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ04"].ToString().Trim() + "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ05"].ToString().Trim() + "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ06"].ToString().Trim() + "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ07"].ToString().Trim() + "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ08"].ToString().Trim() + "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ09"].ToString().Trim() + "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ10"].ToString().Trim() + "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ11"].ToString().Trim() + "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ12"].ToString().Trim() + "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ13"].ToString().Trim() + "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ14"].ToString().Trim() + "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ15"].ToString().Trim() + "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ16"].ToString().Trim() + "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ17"].ToString().Trim() + "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ18"].ToString().Trim() + "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ19"].ToString().Trim() + "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ20"].ToString().Trim() + "&" + dsData.Tables[0].Rows[i]["XLXSBJDMX_TZCPBJ"].ToString().Trim(); dsQry.Tables[0].Rows[k]["YZZ_List_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]] = sYZZList; } } if (sCurBJDID.Equals(dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim())) { dsQry.Tables[0].Rows[k]["XLXSBJDMX_XH"] = dsData.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim(); } } } } if (!sCurBJDID.Equals("")) { double fCurCPBJ = 0.0; double fCPBJJCL = 0.0; //循环dsQry,处理报价单的对比报价价差率=(1-A报价/B报价)%; for (int i = 0; i < dsQry.Tables[0].Rows.Count; i++) { fCurCPBJ = CMISproConvert.StrToFloat(dsQry.Tables[0].Rows[i]["XLXSBJDMX_CPBJ_0"].ToString().Trim()); for (int j = 0; j < dsQry.Tables[0].Columns.Count; j++) { fCPBJJCL = 0; string SS = dsQry.Tables[0].Columns[j].ToString().Trim(); if (dsQry.Tables[0].Columns[j].ToString().Trim().IndexOf("XLXSBJDMX_CPBJ_") >= 0 && !dsQry.Tables[0].Columns[j].ToString().Trim().Equals("XLXSBJDMX_CPBJ_0")) { if(!dsQry.Tables[0].Rows[i][j].ToString().Trim().Equals("")) { fCPBJJCL = 1 - fCurCPBJ / (CMISproConvert.StrToFloat(dsQry.Tables[0].Rows[i][j].ToString())); } dsQry.Tables[0].Rows[i][dsQry.Tables[0].Columns[j].ToString().Trim().Replace("CPBJ", "CPBJJCL")] = fCPBJJCL * 100; } } } } return dsQry; } private Dictionary XSCLCB(string sBJFLID, string sWPID, string sSQRID) { BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID); string sXSBJDHQCLCB = ""; string sXSCLCBJCL = ""; string sJLRBJCP = bjflxx.XLXSBJFL_JLRBJCP; string sHidJSLMList = XLBJDUtils.GetHidJSLMList(sBJFLID, IsXJY.Value.Equals("Y"), IsSJY.Value.Equals("Y"),IsHJY.Value.Equals("Y")); if (bjflxx.XSBJDHQLJ()) { sXSBJDHQCLCB = "Y"; } else sXSBJDHQCLCB = "N"; //显示料价价差率 if (bjflxx.XSLJJCL()) { sXSCLCBJCL = "Y"; } else sXSCLCBJCL = "N"; if (sWPID.Equals(""))//新建 { if (sJLRBJCP.Equals("Y")) { sXSBJDHQCLCB = "N"; sXSCLCBJCL = "N"; } } else { string sBZSW = TWorkflow.Utils.WFGetBZSWID("XLXSBJ_BJD", sWPID); if (sBZSW.Equals("0010")) { if (sJLRBJCP.Equals("Y")) { sXSBJDHQCLCB = "N"; sXSCLCBJCL = "N"; } } else { if (sSQRID.Trim().Equals(tSession.RYID.Trim())) { //单据不在第一步0010环节,报价申请人只允许比第一步时多看到“报价”、“报价金额”两个栏目,“报价数量”至“备注”之间的其他栏目仍然控制隐藏。 if (sJLRBJCP.Equals("Y")) { sXSBJDHQCLCB = "N"; sXSCLCBJCL = "N"; } } } } #region 按角色隐藏栏目 //获取需要按角色隐藏的栏目ID列表 if (!sHidJSLMList.Trim().Equals("")) { string[] sHidJSLMs = sHidJSLMList.Split(','); for (int i = 0; i < sHidJSLMs.Length; i++) { string sLMID = sHidJSLMs[i].Trim(); switch (sLMID) { case "XLXSBJDMX_BJDHQCLCB": sXSBJDHQCLCB = "N"; break; case "XLXSBJDMX_CLCBJCL": sXSCLCBJCL = "N"; break; } } } #endregion Dictionary dicXSCLCB = new Dictionary(); dicXSCLCB.Clear(); dicXSCLCB.Add("XLXSBJDMX_BJDHQCLCB", sXSBJDHQCLCB); dicXSCLCB.Add("XLXSBJDMX_CLCBJCL", sXSCLCBJCL); return dicXSCLCB; } /// /// 设置etNumber列的属 /// /// /// /// /// private void AddColumn(string sDataField, string HeadText, int NumberDecimalPlace, int Width, bool ShowSubBit, bool ShowZero, string sHintTitle) { 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; grdGrid.Columns.Add(Column); gtGridView_Column ColumnEx = new gtGridView_Column(); ColumnEx.DataField = sDataField; ColumnEx.EditType = TEditType.etNumber; ColumnEx.NumberDecimalPlace = NumberDecimalPlace; ColumnEx.ShowSubBit = ShowSubBit; ColumnEx.ShowZero = ShowZero; ColumnEx.ShowHint = true; ColumnEx.HintTitle = sHintTitle; grdGrid.ColumnsEx.Insert(0, ColumnEx); } /// /// 设置etString列的属性 /// /// /// /// private void AddColumn(string sDataField, string HeadText, int Width, bool bVisible) { BoundField Column = new BoundField(); Column.DataField = sDataField; Column.HeaderText = HeadText; Column.ItemStyle.Width = (Unit)Width; Column.HeaderStyle.Width = (Unit)Width; Column.Visible = bVisible; grdGrid.Columns.Add(Column); gtGridView_Column ColumnEx = new gtGridView_Column(); ColumnEx.DataField = sDataField; ColumnEx.EditType = TEditType.etString; ColumnEx.ShowHint = true; grdGrid.ColumnsEx.Insert(0, ColumnEx); } //判断模块是否存在并且是否有权限 private bool CheckModule(string sUMID) { int iUMID = CMISproConvert.StrToInt(sUMID); UserRight UR = OpRightUtils.GetUserRight(tSession.UserId, iUMID); return (DSActiveModule.IsActiveModule(iUMID) && UR.Open); } #endregion #region 控件事件 protected void btnZJEDB_Click(object sender, EventArgs e) { //比对报价单按钮过来的当前报价单 //用于匹配时,固定当前报价单ID string sCurBJDID = ""; //比对报价单按钮过来的除当前报价单之外的报价单 string sLevBJDID = ""; //比对报价单按钮过来的单独处理 if (!PageParam.GetRTrimString("CXBJDID").Equals("")) { string[] sTemp = PageParam.GetRTrimString("CXBJDID").Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (sTemp.Length > 0) { sCurBJDID = sTemp[0].ToString().Trim(); for (int i = 1; i < sTemp.Length; i++) { sLevBJDID += sTemp[i].ToString().Trim() + ","; } sLevBJDID = sLevBJDID.TrimEnd(','); } } // SQL.Add(" order by XLXSBJD_BJRQ desc,XLXSBJD_BJDID desc "); TPageParams param = new TPageParams(); param.UrlPath = "XLBJDDB_ZJEList.aspx"; param.AddString("CurBJDID", sCurBJDID); param.AddString("LevBJDID", sLevBJDID); OpenDialog(param); } protected void btnZBJD_Click(object sender, EventArgs e) { TPageParams pageParams = new TPageParams(); pageParams.UrlPath = "XLBJD_BDBJSelList.aspx"; // 弹框页面 pageParams.Title = "选择主报价单"; pageParams.AddString("txtZBJDIDJL", txtZBJDIDJL.ClientID); pageParams.AddString("BJDLX", "ZBJD"); pageParams.AddString("txtBJFLID", txtBJFLID.ClientID); pageParams.AddString("txtKH", txtKH.ClientID); pageParams.AddString("txtXM", txtXM.ClientID); pageParams.AddString("txtOPEN", txtOPEN.ClientID); OpenFuncModuleDialog(100860000, pageParams, btnOPEN.ClientID); } protected void btnDBBJD_Click(object sender, EventArgs e) { string BJFLID=""; string KH=""; string XM=""; if (txtZBJDIDJL.Value.Equals("")) { ShowMessage("请先选择主报价单!"); return; } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("SELECT XLXSBJD_BJFLID, XLXSBJD_KH, XLXSBJD_XMMC "); SQL.Add("FROM XLXSBJD "); SQL.Add("WHERE XLXSBJD_BJDID = :pBJDID"); SQL.ParamByName("pBJDID").Value = txtZBJDIDJL.Value; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { BJFLID = ds.Tables[0].Rows[0]["XLXSBJD_BJFLID"].ToString().Trim(); KH = ds.Tables[0].Rows[0]["XLXSBJD_KH"].ToString().Trim(); XM = ds.Tables[0].Rows[0]["XLXSBJD_XMMC"].ToString().Trim(); } TPageParams pageParams = new TPageParams(); pageParams.UrlPath = "XLBJD_BDBJSelList.aspx"; // 弹框页面 pageParams.Title = "选择对比报价单"; pageParams.AddString("txtDBBJDIDJL", txtDBBJDIDJL.ClientID); pageParams.AddString("BJDLX", "DBBJD"); pageParams.AddString("txtBJFLID", BJFLID); pageParams.AddString("txtKH", KH); pageParams.AddString("txtXM", XM); pageParams.AddString("txtOPEN", txtOPEN.ClientID); OpenFuncModuleDialog(100860000, pageParams, btnOPEN.ClientID); } protected void btnZBJD_DropDown(object sender, EventArgs e) { string zbjdList = ""; btnZBJD.Nodes.Clear(); zbjdList = txtZBJDIDJL.Value; if (zbjdList!="") btnZBJD.Nodes.Add(new GThinking.N_CONTROL.gtTreeNode(zbjdList, zbjdList)); MenuAreaUpdate(); } protected void btnDBBJD_DropDown(object sender, EventArgs e) { string dbbjdList=""; btnDBBJD.Nodes.Clear(); dbbjdList = txtDBBJDIDJL.Value; string[] arrList = dbbjdList.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < arrList.Length; i++) { btnDBBJD.Nodes.Add(new GThinking.N_CONTROL.gtTreeNode(arrList[i], arrList[i])); btnDBBJD.Nodes.Add(new GThinking.N_CONTROL.gtTreeNode(i.ToString(),"切换为主报价单", arrList[i])); } MenuAreaUpdate(); } protected void btnZBJD_MenuItemClick(object sender, string sValue) { string sBJDID = sValue.Trim(); string sWFID = ""; string sWFINST = ""; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" SELECT XLXSBJD_BJDID,XLXSBJD_WFID,XLXSBJD_WFINST FROM XLXSBJD WHERE XLXSBJD_BJDID = :pBJDID "); SQL.ParamByName("pBJDID").Value = sBJDID; DataSet ds = dberp.OpenDataSet(SQL); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { sWFID = ds.Tables[0].Rows[0]["XLXSBJD_WFID"].ToString().Trim(); sWFINST = ds.Tables[0].Rows[0]["XLXSBJD_WFINST"].ToString().Trim(); } TPageParams tpp = new TPageParams(); tpp.UrlPath = "XLBJDInfo.aspx"; tpp.AddString("XLXSBJD_BJDID", sBJDID); tpp.AddString("WFID", sWFID); tpp.AddString("WFINST", sWFINST); tpp.CallAction = TPageCallAction.pcaBrowse; OpenFuncModuleDialog(100860000, tpp); } protected void btnDBBJD_MenuItemClick(object sender, string sValue) { if (sValue.Trim() == "0" || sValue.Trim() =="1"|| sValue.Trim() == "2" || sValue.Trim() == "3") { string zbVal = txtZBJDIDJL.Value.Trim(); string dbVal = txtDBBJDIDJL.Value.Trim(); string[] dbList =dbVal.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); string temp = dbList[int.Parse(sValue.Trim())]; dbList[int.Parse(sValue.Trim())] = zbVal; txtZBJDIDJL.Value = temp; txtDBBJDIDJL.Value = string.Join(",", dbList); moduleGV_PageIndexChanging(null, null); } else{ string sBJDID = sValue.Trim(); string sWFID = ""; string sWFINST = ""; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" SELECT XLXSBJD_BJDID,XLXSBJD_WFID,XLXSBJD_WFINST FROM XLXSBJD WHERE XLXSBJD_BJDID = :pBJDID "); SQL.ParamByName("pBJDID").Value = sBJDID; DataSet ds = dberp.OpenDataSet(SQL); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { sWFID = ds.Tables[0].Rows[0]["XLXSBJD_WFID"].ToString().Trim(); sWFINST = ds.Tables[0].Rows[0]["XLXSBJD_WFINST"].ToString().Trim(); } TPageParams tpp = new TPageParams(); tpp.UrlPath = "XLBJDInfo.aspx"; tpp.AddString("XLXSBJD_BJDID", sBJDID); tpp.AddString("WFID", sWFID); tpp.AddString("WFINST", sWFINST); tpp.CallAction = TPageCallAction.pcaBrowse; OpenFuncModuleDialog(100860000,tpp); } } protected void btnOPEN_Click(object sender, EventArgs e) { if (txtOPEN.Value == "run") { moduleGV_PageIndexChanging(null, null); txtOPEN.Value = "norun"; } } protected void btnLJZS_Click(object sender, EventArgs e) { if (grdGrid.SelectedIndex < 0) { ShowMessage("请选择一条需要追溯的报价产品!"); return; } string sXLXHID = grdGrid.DataKeys[grdGrid.SelectedIndex]["XLXSBJDMX_XLXHID"].ToString().Trim(); string sXLGGID = grdGrid.DataKeys[grdGrid.SelectedIndex]["XLXSBJDMX_XLGGID"].ToString().Trim(); string sXLBZID = grdGrid.DataKeys[grdGrid.SelectedIndex]["XLXSBJDMX_XLBZID"].ToString().Trim(); string sDYDJID = grdGrid.DataKeys[grdGrid.SelectedIndex]["XLXSBJDMX_DYDJID"].ToString().Trim(); string sXH = grdGrid.DataKeys[grdGrid.SelectedIndex]["XLXSBJDMX_XH"].ToString().Trim(); string sCurBJDID = ""; if (!PageParam.GetRTrimString("CXBJDID").Equals("")) { string[] sTemp = PageParam.GetRTrimString("CXBJDID").Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (sTemp.Length > 0) { sCurBJDID = sTemp[0].ToString().Trim(); } } if (sXH.Equals("0") || sXH.Equals("")) { ShowMessage(sCurBJDID + "报价单明细不存在当前报价产品!"); return; } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("SELECT XLXSBJD_JZBJHS,XLXSJGB_TJYS,XLXSBJD_GYSID,XLXSBJD_YSJDID,XLXSJGB_BJLY,XLXSBJD_TJ,XLXSBJD_LJ, "); SQL.Add(" XLXSJGB_JGBIDS,XLXSJGB_JSBLFS,XLXSJGB_MXBH,XLXSBJD_JGBID,XLXSBJD_BJRQ,XLXSBJD_BJFLID FROM XLXSBJD "); SQL.Add(" LEFT JOIN XLXSJGB ON XLXSJGB_JGBID=XLXSBJD_JGBID "); SQL.Add(" WHERE XLXSBJD_BJDID=:pBJDID "); SQL.ParamByName("pBJDID").Value = sCurBJDID; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(ds.Tables[0].Rows[0]["XLXSBJD_BJFLID"].ToString().Trim()); TPageParams tpp = new TPageParams(); if (XLBJDUtils.IsJGEJGB(ds.Tables[0].Rows[0]["XLXSBJD_JGBID"].ToString().Trim())) tpp.UrlPath = "XLBJD_JGECBZSList.aspx"; else tpp.UrlPath = "XLBJD_CBZSList.aspx"; tpp.Title = "报价单行情料价追溯"; tpp.AddString("BJDID", sCurBJDID); tpp.AddString("XH", sXH); tpp.AddString("BJRQ", ds.Tables[0].Rows[0]["XLXSBJD_BJRQ"].ToString().Trim()); tpp.AddString("BJFLID", ds.Tables[0].Rows[0]["XLXSBJD_BJFLID"].ToString().Trim()); tpp.AddString("JGBID", ds.Tables[0].Rows[0]["XLXSBJD_JGBID"].ToString().Trim()); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { if (ds.Tables[0].Rows[0]["XLXSJGB_MXBH"].ToString().Trim().Equals("JGB")) { tpp.AddString("JGBIDS", ds.Tables[0].Rows[i]["XLXSJGB_JGBIDS"].ToString().Trim()); tpp.AddString("JSBLFS", ds.Tables[0].Rows[i]["XLXSJGB_JSBLFS"].ToString().Trim()); tpp.AddString("JGBTJYS", ds.Tables[0].Rows[i]["XLXSJGB_TJYS"].ToString().Trim()); tpp.AddString("BJLY", ds.Tables[0].Rows[i]["XLXSJGB_BJLY"].ToString().Trim()); break; } else { tpp.AddString("JGBIDS", ""); tpp.AddString("JSBLFS", ""); tpp.AddString("JGBTJYS", ""); tpp.AddString("BJLY", ""); } } tpp.AddString("HSBZ", ds.Tables[0].Rows[0]["XLXSBJD_JZBJHS"].ToString().Trim()); tpp.AddString("XLXHID", sXLXHID); tpp.AddString("XLGGID", sXLGGID); tpp.AddString("XLBZID", sXLBZID); tpp.AddString("DYDJID", sDYDJID); tpp.AddString("BJDHQLY", bjflxx.XLXSBJFL_BJDHQLY); tpp.AddString("TBJCLID", bjflxx.XLXSBJFL_TBJCLID); tpp.AddString("LBJCLID", bjflxx.XLXSBJFL_LBJCLID); tpp.AddString("TJ", ds.Tables[0].Rows[0]["XLXSBJD_TJ"].ToString().Trim()); tpp.AddString("LJ", ds.Tables[0].Rows[0]["XLXSBJD_LJ"].ToString().Trim()); tpp.AddString("JCLLX", bjflxx.XLXSBJFL_BJJCLLX); tpp.AddString("LJJCLLX", bjflxx.XLXSBJFL_LJJCLLX); if (bjflxx.XLXSBJFL_CPBJMRXSWS.Equals("")) bjflxx.XLXSBJFL_CPBJMRXSWS = GetOption(100860000, "BJU002"); tpp.AddString("CPBJMRXSWS", bjflxx.XLXSBJFL_CPBJMRXSWS); tpp.AddString("TZCLHQ", bjflxx.XLXSBJFL_TZCLHQ);//是否允许调整材料行情 tpp.AddString("CANEDIT", "N");//报价单是否允许编辑 tpp.AddString("ZDXJJCLLX", bjflxx.XLXSBJFL_ZDXJJCLLX); tpp.AddString("JYF", bjflxx.XLXSBJFL_JYF);//计运费 tpp.AddString("YSJDID", ds.Tables[0].Rows[0]["XLXSBJD_YSJDID"].ToString().Trim());//运输节点 tpp.AddString("GYSID", ds.Tables[0].Rows[0]["XLXSBJD_GYSID"].ToString().Trim());//运输单位 tpp.AddString("YFWLID", bjflxx.XLXSBJFL_YFWLID);//运费物料 tpp.AddString("BJHYF", bjflxx.XLXSBJFL_BJHYF);//报价含运费 OpenModuleDialog(100860044, tpp); } } #endregion #region 栏目颜色 protected void grdGrid_GetCellParams(object sender, TableCell Cell, string FieldName) { if (FieldName.Split('_').Length >= 3) { if (CMISproConvert.StrToFloat(FieldName.Split('_')[2]) % 2 == 0) { grdGrid.ImportCellColor = Color.LightGray; } } if (FieldName.Split('0').Length == 2) { if (CMISproConvert.StrToFloat(FieldName.Split('0')[1]) % 2 == 0) { grdGrid.ImportCellColor = Color.LightGray; } } if (FieldName.ToString() == "XH" || FieldName.ToString() == "BJSL" || FieldName.ToString() == "JGBBJ" || FieldName.ToString() == "CPBJ" || FieldName.ToString() == "BJJE") { grdGrid.ImportCellColor = Color.LightGray; } } #endregion } }