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.Utility; using GThinking.N_MISPRO.Data; using GThinking.N_CONTROL; using System.Collections.Generic; using System.Text; using GThinking.N_MISPRO.TableCache; using GThinking.N_MISPRO; using GThinking.N_MISPROAS.MISproAS; using GThinking.N_WORKFLOW; using GThinking.N_PUBLIC; namespace GThinking.N_XLXSBJ { public partial class XLXSBJCXList : SingleGridBase { XLXSBJCX entity = new XLXSBJCX(); XLXSBJCX_M queryentity = new XLXSBJCX_M(); static Dictionary dicBJDYZMC = new Dictionary(); static Dictionary dicBJDYZJJFS = new Dictionary(); static List lstTJYS = new List(); static string sCXDX = ""; static string sCurBJFLID = ""; static int iXSWS = 0; static bool JcModule = false; static string sTcpList = ""; static string sLcpList = ""; static string sTLcpList = ""; static bool bXSBJDHQLJ = false; static bool bXSLJ = false; static bool bXSJCL = false; static bool bXSLJJCL = false; static bool bXSJGBBJJCE = false; static bool bXSZDXJ = false; static bool bXSJSJG = false; static bool bXSTZJG = false; static bool bXSTZJE = false; static string sCPBJMRXSWS = ""; static string sMXBH = ""; static string sTBJCLID = ""; static string sLBJCLID = ""; static int iNumberDecimalPlace = 0; static string sKHLY = ""; static bool QYXZQH = false; private string sBJFLID = ""; private string sTXY = ""; private string sKH = ""; private string sKHLXR = ""; private string sBJDLX = ""; private string sBJDID = ""; private string sXSQYID = ""; private string sSYDWID = ""; private int tmpXSWS = 0; #region pageload 事件 protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860069; this.UMName = "线缆销售报价查询"; this.CurMaster = Master; this.ModuleGV = this.grdContentGrid; this.CurEntity = entity; this.CurQueryEntity = queryentity; this.sQueryURLTarget = "XLXSBJCXQuery.aspx"; this.sURLTarget = ""; this.PageHeight = 600; this.PageWidth = 750; if (!IsPostBack) { sBJDLX = PageParam.GetRTrimString("FromBJDINFO"); if (!sBJDLX.Equals("CFBJ")) { DateTime dtNow = DateTime.Now; string dateNow = dtNow.ToShortDateString().Trim(); string dateFirst = dateNow.Split('-')[0] + "-" + dateNow.Split('-')[1] + "-01"; CurQueryEntity.FieldByName("BJRQS").Value = dateFirst; CurQueryEntity.FieldByName("BJRQZ").Value = dateNow; } CurQueryEntity.FieldByName("PXFS").Value = "C"; } this.Master.EnableCopyBtn = false; this.Master.EnableDeleteBtn = false; this.Master.EnableNewBtn = false; this.Master.EnableEditBtn = false; this.Master.EnableViewBtn = false; base.DataKeyNames = new string[] { "XLXSBJD_BJDID","XLXSBJDMX_XH" }; InitToolBtn(); base.InitPage(); if (!IsPostBack) { //设置隐藏控件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"; } } InitGridView(); if (!IsPostBack) { if (!PageParam.GetRTrimString("FromBJDINFO").Trim().Equals("")) { Master_OnStandardQuery(null, null); } else { if (IsDefaultExecute) { Master_OnStandardQuery(null, null); } } } } #endregion #region 模板事件继承 protected override void Master_OnStandardQuery(object sender, EventArgs e) { base.InitEntityByCondition(); entity.EntityTable.QuerySelSql = GetQuerySQL().ToString(); base.Master_OnStandardQuery(sender, e); entity.GridDataBind(grdContentGrid, tSession); } protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e) { base.InitEntityByCondition(); entity.EntityTable.QuerySelSql = GetQuerySQL().ToString(); grdContentGrid.SelectedIndex = -1; base.moduleGV_PageIndexChanging(sender, e); } protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { string sBJDID = grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_BJDID"].ToString().Trim(); LinkPageParam.UMID = 100860000; LinkPageParam.UrlPath = "XLBJDInfo.aspx"; LinkPageParam.AddString("XLXSBJD_BJDID", sBJDID); // string sCXDX = CurQueryEntity.FieldByName("CXDX").Value.Trim(); } base.moduleGV_RowDataBound(sender, e); } #endregion #region 自定义函数 private string AddCondition_A(string sFrom) { StringBuilder sSQL = new StringBuilder(); sSQL.AppendLine(CMISproDataBase.GetTimeConditionSQL("XLXSBJD_BJRQ", CurQueryEntity.FieldByName("BJRQS").Value.ToString().Trim(), CurQueryEntity.FieldByName("BJRQZ").Value.ToString().Trim(), DateTimeType.dtDate, DateTimeType.dtDate)); if (!CurQueryEntity.FieldByName("BJFLID").Value.Trim().Equals("")) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_BJFLID", CurQueryEntity.FieldByName("BJFLID").Value.Trim())); } if (!CurQueryEntity.FieldByName("STATE").Value.Trim().Equals("")) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_WPID", CurQueryEntity.FieldByName("STATE").Value.Trim())); } if (!string.IsNullOrEmpty(GetOption("HJU006").Trim())) { sSQL.AppendLine(" and (" + CMISproDataBase.GetWhereEqual("XLXSBJD_XSBMID", GetOption("HJU006").Trim())); sSQL.AppendLine(" or isnull(XLXSBJD_XSBMID, ' ') = ' ')"); } sSQL.AppendLine(" and isnull(XLXSBJD_YWLX,' ') = ' ' "); return sSQL.ToString(); } //通用查询条件---查询语句调用是为1 private string AddCondition(string sFrom) { StringBuilder sSQL = new StringBuilder(); if (!CurQueryEntity.FieldByName("DCBJCXSY").Value.ToString().Trim().ToUpper().Equals("TRUE")) sSQL.AppendLine(" and ISNULL(XLXSBJD_TJBZ,'N') = 'Y' "); if (!CurQueryEntity.FieldByName("FKZT").Value.Trim().Equals("")) { if (CurQueryEntity.FieldByName("FKZT").Value.Trim().Equals("未反馈")) { sSQL.AppendLine(" and isnull(TBBJFK_TBID, ' ') = ' ' "); } else if (CurQueryEntity.FieldByName("FKZT").Value.Trim().Equals("已反馈")) { sSQL.AppendLine(" and isnull(TBBJFK_TBID, ' ') <> ' ' "); } } //反馈日期 sSQL.AppendLine(CMISproDataBase.GetTimeConditionSQL("TBBJFK_FKRQ", CurQueryEntity.FieldByName("FKRQS").Value.ToString().Trim(), CurQueryEntity.FieldByName("FKRQZ").Value.ToString().Trim(), DateTimeType.dtDate, DateTimeType.dtDate)); if (!CurQueryEntity.FieldByName("BJDID").Value.Trim().Equals("")) { if (CurQueryEntity.FieldByName("BJDIDJQPP").Value.ToString().Trim().ToUpper().Equals("TRUE")) { sSQL.AppendLine(" and XLXSBJD_BJDID = :pBJDIDJQ "); if (!entity.Param.ContainsKey("pBJDIDJQ")) { entity.Param.Add("pBJDIDJQ", CurQueryEntity.FieldByName("BJDID").Value.Trim()); } } else { sSQL.AppendLine(" and XLXSBJD_BJDID like :pBJDID "); if (!entity.Param.ContainsKey("pBJDID")) { entity.Param.Add("pBJDID", "%" + CurQueryEntity.FieldByName("BJDID").Value.Trim() + "%"); } } } if (!CurQueryEntity.FieldByName("XSDW").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJD_SYDWID = :pXSDWID "); entity.Param.Add("pXSDWID", CurQueryEntity.FieldByName("XSDW").Value.Trim()); } if (!CurQueryEntity.FieldByName("XSQY").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJD_XSQYID = :pXSQYID "); entity.Param.Add("pXSQYID", CurQueryEntity.FieldByName("XSQY").Value.Trim()); } if (!CurQueryEntity.FieldByName("XSBM").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJD_XSBMID = :pXSBMID "); entity.Param.Add("pXSBMID", CurQueryEntity.FieldByName("XSBM").Value.Trim()); } if (!CurQueryEntity.FieldByName("SQRGH").Value.Trim().Equals("")) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_SQRGH", CurQueryEntity.FieldByName("SQRGH").Value.Trim())); } if (!CurQueryEntity.FieldByName("TXY").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJD_TXY = :pTXY "); if (!entity.Param.ContainsKey("pTXY")) { entity.Param.Add("pTXY", CurQueryEntity.FieldByName("TXY").Value.Trim()); } } if (!CurQueryEntity.FieldByName("KH").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJD_KH like :pKH "); if (!entity.Param.ContainsKey("pKH")) { entity.Param.Add("pKH", "%" + CurQueryEntity.FieldByName("KH").Value.Trim() + "%"); } } if (!CurQueryEntity.FieldByName("KHLXR").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJD_KHLXR like :pKHLXR "); if (!entity.Param.ContainsKey("pKHLXR")) { entity.Param.Add("pKHLXR", "%" + CurQueryEntity.FieldByName("KHLXR").Value.Trim() + "%"); } } if (!CurQueryEntity.FieldByName("XM").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJD_XMMC like :pXM "); if (!entity.Param.ContainsKey("pXM")) { entity.Param.Add("pXM", "%" + CurQueryEntity.FieldByName("XM").Value.Trim() + "%"); } } if (!CurQueryEntity.FieldByName("FKQX").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJD_FKQXNR like :pFKQX "); if (!entity.Param.ContainsKey("pFKQX")) { entity.Param.Add("pFKQX", "%" + CurQueryEntity.FieldByName("FKQX").Value.Trim() + "%"); } } return sSQL.ToString(); } //主表相关限制条件---查询语句调用是为Qry private string AddConditionBJD(string sFrom) { //entity.Param.Clear(); StringBuilder sSQL = new StringBuilder(); if (!CurQueryEntity.FieldByName("ZB").Value.Trim().Equals("")) { sSQL.AppendLine(" and (1<>1 "); if (CurQueryEntity.FieldByName("ZB").Value.Trim().Contains("1")) { sSQL.AppendLine(" or isnull(XLXSBJD_ZB,'N') = 'Y' "); } else if (CurQueryEntity.FieldByName("ZB").Value.Trim().Contains("0")) { sSQL.AppendLine(" or (isnull(XLXSBJD_ZB,'N') = 'N' AND EXISTS(SELECT 1 FROM XLXSBJDMX WHERE XLXSBJDMX_BJDID=XLXSBJD_BJDID AND XLXSBJDMX_ZB = 'N')) "); } else if (CurQueryEntity.FieldByName("ZB").Value.Trim().Contains("2")) { sSQL.AppendLine(" or (isnull(XLXSBJD_ZB,'N') = 'N' AND NOT EXISTS(SELECT 1 FROM XLXSBJDMX WHERE XLXSBJDMX_BJDID=XLXSBJD_BJDID AND XLXSBJDMX_ZB IN ('N','Q'))) "); } else if (CurQueryEntity.FieldByName("ZB").Value.Trim().Contains("3")) { sSQL.AppendLine(" or (isnull(XLXSBJD_ZB,'N') = 'N' AND NOT EXISTS(SELECT 1 FROM XLXSBJDMX WHERE XLXSBJDMX_BJDID=XLXSBJD_BJDID AND XLXSBJDMX_ZB IN ('N','F')))"); } sSQL.AppendLine(" ) "); } //报价金额 if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("BJZJES").Value.Trim()) && !CurQueryEntity.FieldByName("BJZJES").Value.Trim().Equals("0")) { sSQL.AppendLine( string.Format(" and XLXSBJD_ZJE >={0} ", CurQueryEntity.FieldByName("BJZJES").Value.Trim())); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("BJZJEZ").Value.Trim()) && !CurQueryEntity.FieldByName("BJZJEZ").Value.Trim().Equals("0")) { sSQL.AppendLine(string.Format(" and XLXSBJD_ZJE <={0} ", CurQueryEntity.FieldByName("BJZJEZ").Value.Trim())); } //主表查询时按报价单明细调价因子平均值过滤 for (int i = 1; i <= 20; i++) { string sNo = i.ToString("00"); string sFieldS = "TJYZ" + sNo + "S"; string sFieldZ = "TJYZ" + sNo + "Z"; string sValueS = CurQueryEntity.FieldByName(sFieldS).Value.Trim(); string sValueZ = CurQueryEntity.FieldByName(sFieldZ).Value.Trim(); string sColumn = "TZYZ_BJ" + sNo; if (!string.IsNullOrEmpty(sValueS) && !sValueS.Equals("0")) { string sParam = "pBJD" + sFieldS; sSQL.AppendLine(" and isnull(" + sColumn + ",0) >= :" + sParam + " "); if (!entity.Param.ContainsKey(sParam)) { entity.Param.Add(sParam, sValueS); } } if (!string.IsNullOrEmpty(sValueZ) && !sValueZ.Equals("0")) { string sParam = "pBJD" + sFieldZ; sSQL.AppendLine(" and " + sColumn + " <= :" + sParam + " "); if (!entity.Param.ContainsKey(sParam)) { entity.Param.Add(sParam, sValueZ); } } } //增加限制,以防止明细数据为空 if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim()) || !string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLGGID").Value.Trim()) || !string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLBZID").Value.Trim()) || !string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJID").Value.Trim()) || !string.IsNullOrEmpty(CurQueryEntity.FieldByName("BJCP").Value.Trim()) || !CurQueryEntity.FieldByName("CPYT").Value.Trim().Equals("") || !CurQueryEntity.FieldByName("CPML").Value.Trim().Equals("") ) { sSQL.AppendLine(" and XLXSBJD_BJDID in ( "); sSQL.AppendLine(" select distinct XLXSBJDMX_BJDID from XLXSBJDMX "); sSQL.AppendLine(" left join XLXSBJD on XLXSBJD_BJDID = XLXSBJDMX_BJDID "); sSQL.AppendLine(" left join XLXSBJFL on XLXSBJFL_BJFLID = XLXSBJD_BJFLID "); sSQL.AppendLine(" left join TBBJFK on TBBJFK_BJDID=XLXSBJDMX_BJDID "); sSQL.AppendLine(" left join XLXHB on XLXHB_XLXHID = XLXSBJDMX_XLXHID "); sSQL.AppendLine(" left join XLCPYT on XLCPYT_CPYT = XLXHB_CPYT "); sSQL.AppendLine(" left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSBJDMX_XLGGID "); sSQL.AppendLine(" left join XLXSBJXHML A on A.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and A.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') "); sSQL.AppendLine(" left join XLXSBJXHML B on B.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and B.XLXSBJXHML_DYDJID = ' ' "); sSQL.AppendLine(" left join XLXSCPML on XLXSCPML_CPMLID = case when ISNULL(A.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(B.XLXSBJXHML_CPMLID,' ') else ISNULL(A.XLXSBJXHML_CPMLID,' ') end "); sSQL.AppendLine(" where 1=1"); sSQL.AppendLine(" and XLXSBJDMX_BJDID = XLXSBJD_BJDID "); sSQL.AppendLine(AddConditionBJDMX("BJD")); sSQL.AppendLine(" )"); } return sSQL.ToString(); } //明细表相关限制条件---查询语句调用是为Qry,主记录调用是BJD private string AddConditionBJDMX(string sFrom) { string sBJU003 = GetOption(100860000, "BJU003").Trim(); Dictionary dicLenJLDWTD = XLBJDUtils.GetLenJLDWTD(); //entity.Param.Clear(); StringBuilder sSQL = new StringBuilder(); if (!CurQueryEntity.FieldByName("ZB").Value.Trim().Equals("")) { sSQL.AppendLine(" and (1<>1 "); if (CurQueryEntity.FieldByName("ZB").Value.Trim().Contains("1")) { sSQL.AppendLine(" or isnull(XLXSBJDMX_ZB,' ') in ('Y','P')"); } else if (CurQueryEntity.FieldByName("ZB").Value.Trim().Contains("0")) { sSQL.AppendLine(" or isnull(XLXSBJDMX_ZB,' ') = 'N'"); } else if (CurQueryEntity.FieldByName("ZB").Value.Trim().Contains("2")) { sSQL.AppendLine(" or isnull(XLXSBJDMX_ZB,' ') = 'F'"); } else if (CurQueryEntity.FieldByName("ZB").Value.Trim().Contains("3")) { sSQL.AppendLine(" or isnull(XLXSBJDMX_ZB,' ') = 'Q' "); } sSQL.AppendLine(" ) "); } //型号模糊 if (!CurQueryEntity.FieldByName("XLXHIDJQPP").Value.ToString().Trim().ToUpper().Equals("TRUE")) { if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())) { sSQL.AppendLine(" \r\n and XLXSBJDMX_XLXHID like :pXLXHID "); if (!entity.Param.ContainsKey("pXLXHID")) { entity.Param.Add("pXLXHID", "%" + CurQueryEntity.FieldByName("XLXHID").Value.Trim() + "%"); } } } else { string sXLXHID = CurQueryEntity.FieldByName("XLXHID").Value.Trim(); if (!string.IsNullOrEmpty(sXLXHID)) { string[] sTemp = sXLXHID.Split(new Char[] { ',',',' }, StringSplitOptions.RemoveEmptyEntries); if (sTemp.Length >= 2) { sSQL.AppendLine(" \r\n and " + CMISproDataBase.GetWhereEqual("XLXSBJDMX_XLXHID", sXLXHID)); } else { sSQL.AppendLine(" \r\n and XLXSBJDMX_XLXHID = :pXLXHID "); if (!entity.Param.ContainsKey("pXLXHID")) { entity.Param.Add("pXLXHID", sXLXHID); } } } } //规格模糊 if (!CurQueryEntity.FieldByName("XLGGIDJQPP").Value.ToString().Trim().ToUpper().Equals("TRUE")) { if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLGGID").Value.Trim())) { sSQL.AppendLine(" and XLXSBJXLGGTHB_XLGGIDCH like :pXLGGID "); if (!entity.Param.ContainsKey("pXLGGID")) { entity.Param.Add("pXLGGID", "%" + CurQueryEntity.FieldByName("XLGGID").Value.Trim().Replace("*", "×") + "%"); } } } else { string sXLGGID = CurQueryEntity.FieldByName("XLGGID").Value.Trim(); if (!string.IsNullOrEmpty(sXLGGID)) { string[] sTemp = sXLGGID.Split(new Char[] { ',',',' }, StringSplitOptions.RemoveEmptyEntries); if (sTemp.Length >= 2) { sSQL.AppendLine(" and " + XLBJDUtils.GetWhereEqual(" XLXSBJXLGGTHB_XLGGIDCH", sXLGGID.Replace('*', '×'))); } else { sSQL.AppendLine(" and XLXSBJXLGGTHB_XLGGIDCH = :pXLGGID "); if (!entity.Param.ContainsKey("pXLGGID")) { entity.Param.Add("pXLGGID", CurQueryEntity.FieldByName("XLGGID").Value.Trim().Replace("*", "×")); } } } } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLBZID").Value.Trim())) { sSQL.AppendLine(" and XLXSBJDMX_XLBZID = :pXLBZID "); if (!entity.Param.ContainsKey("pXLBZID")) { entity.Param.Add("pXLBZID", CurQueryEntity.FieldByName("XLBZID").Value.Trim()); } } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJID").Value.Trim())) { sSQL.AppendLine(" and XLXSBJDMX_DYDJID = :pDYDJID "); if (!entity.Param.ContainsKey("pDYDJID")) { entity.Param.Add("pDYDJID", CurQueryEntity.FieldByName("DYDJID").Value.Trim()); } } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("BJCP").Value.Trim())) { sSQL.AppendLine(" \r\n and XLXSBJDMX_BJCP like :pBJCP "); if (!entity.Param.ContainsKey("pBJCP")) { entity.Param.Add("pBJCP", "%" + CurQueryEntity.FieldByName("BJCP").Value.Trim() + "%"); } } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DZSC").Value.Trim())) { if (CurQueryEntity.FieldByName("DZSC").Value.Trim().Equals("Y")) sSQL.AppendLine(" and isnull(XLXSBJDMX_DZSC,'N')='Y' "); else sSQL.AppendLine(" and isnull(XLXSBJDMX_DZSC,'N')='N' "); } if (!CurQueryEntity.FieldByName("CPYT").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXHB_CPYT = :pCPYT "); if (!entity.Param.ContainsKey("pCPYT")) { entity.Param.Add("pCPYT", CurQueryEntity.FieldByName("CPYT").Value.Trim()); } } if (!CurQueryEntity.FieldByName("CPML").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSCPML_CPMLID = :pCPMLID "); if (!entity.Param.ContainsKey("pCPMLID")) { entity.Param.Add("pCPMLID", CurQueryEntity.FieldByName("CPML").Value.Trim()); } } if (!CurQueryEntity.FieldByName("BJSLS").Value.Trim().Equals("") && !CurQueryEntity.FieldByName("BJSLS").Value.Trim().Equals("0")) { sSQL.AppendLine(" and (case "); sSQL.AppendLine(" when XLXSBJDMX_JLDW in ('Kg', '千克', '公斤') then (case when isnull(XLXSCLQD_CLZL,0.0)=0 then 0 else 1.0/RoundFix(isnull(XLXSCLQD_CLZL,0.0),6) end)"); sSQL.AppendLine(" when XLXSBJDMX_JLDW in ('T', '吨') then (case when isnull(XLXSCLQD_CLZL,0.0)=0 then 0 else 1.0/RoundFix(isnull(XLXSCLQD_CLZL,0.0),6)*1000 end)"); if (sBJU003.ToUpper().Equals("KM") || sBJU003.ToUpper().Equals("千米")) { sSQL.AppendLine(" when XLXSBJDMX_JLDW in ('M', '米') then 0.001"); sSQL.AppendLine(" when XLXSBJDMX_JLDW in ('Km', '千米') then 1.0"); foreach (string sKey in dicLenJLDWTD.Keys) { sSQL.AppendLine(string.Format(" when XLXSBJDMX_JLDW='{0}' then 0.001*{1} ", sKey, dicLenJLDWTD[sKey])); } } else if (sBJU003.ToUpper().Equals("米") || sBJU003.ToUpper().Equals("M")) { sSQL.AppendLine(" when XLXSBJDMX_JLDW in ('M', '米') then 1.0"); sSQL.AppendLine(" when XLXSBJDMX_JLDW in ('Km', '千米') then 1000.0"); foreach (string sKey in dicLenJLDWTD.Keys) { sSQL.AppendLine(string.Format(" when XLXSBJDMX_JLDW='{0}' then {1} ", sKey, dicLenJLDWTD[sKey])); } } sSQL.AppendLine(" else 1.0 end ) * XLXSBJDMX_BJSL >= :pBJSLS "); if (!entity.Param.ContainsKey("pBJSLS")) { entity.Param.Add("pBJSLS", CurQueryEntity.FieldByName("BJSLS").Value.Trim()); } } if (!CurQueryEntity.FieldByName("BJSLZ").Value.Trim().Equals("") && !CurQueryEntity.FieldByName("BJSLZ").Value.Trim().Equals("0")) { sSQL.AppendLine(" and (case "); sSQL.AppendLine(" when XLXSBJDMX_JLDW in ('Kg', '千克', '公斤') then (case when isnull(XLXSCLQD_CLZL,0.0)=0 then 0 else 1.0/RoundFix(isnull(XLXSCLQD_CLZL,0.0),6) end)"); sSQL.AppendLine(" when XLXSBJDMX_JLDW in ('T', '吨') then (case when isnull(XLXSCLQD_CLZL,0.0)=0 then 0 else 1.0/RoundFix(isnull(XLXSCLQD_CLZL,0.0),6)*1000 end)"); if (sBJU003.ToUpper().Equals("KM") || sBJU003.ToUpper().Equals("千米")) { sSQL.AppendLine(" when XLXSBJDMX_JLDW in ('M', '米') then 0.001"); sSQL.AppendLine(" when XLXSBJDMX_JLDW in ('Km', '千米') then 1.0"); foreach (string sKey in dicLenJLDWTD.Keys) { sSQL.AppendLine(string.Format(" when XLXSBJDMX_JLDW='{0}' then 0.001*{1} ", sKey, dicLenJLDWTD[sKey])); } } else if (sBJU003.ToUpper().Equals("米") || sBJU003.ToUpper().Equals("M")) { sSQL.AppendLine(" when XLXSBJDMX_JLDW in ('M', '米') then 1.0"); sSQL.AppendLine(" when XLXSBJDMX_JLDW in ('Km', '千米') then 1000.0"); foreach (string sKey in dicLenJLDWTD.Keys) { sSQL.AppendLine(string.Format(" when XLXSBJDMX_JLDW='{0}' then {1} ", sKey, dicLenJLDWTD[sKey])); } } sSQL.AppendLine(" else 1.0 end ) * XLXSBJDMX_BJSL <= :pBJSLZ "); if (!entity.Param.ContainsKey("pBJSLZ")) { entity.Param.Add("pBJSLZ", CurQueryEntity.FieldByName("BJSLZ").Value.Trim()); } } if (!sFrom.Equals("BJD")) { for (int i = 1; i <= 20; i++) { string sNo = i.ToString("00"); string sFieldS = "TJYZ" + sNo + "S"; string sFieldZ = "TJYZ" + sNo + "Z"; string sValueS = CurQueryEntity.FieldByName(sFieldS).Value.Trim(); string sValueZ = CurQueryEntity.FieldByName(sFieldZ).Value.Trim(); string sColumn = "XLXSBJDYZZ0_YZZ" + sNo; if (!string.IsNullOrEmpty(sValueS) && !sValueS.Equals("0")) { string sParam = "p" + sFieldS; sSQL.AppendLine(" and isnull(" + sColumn + ",0) >= :" + sParam + " "); if (!entity.Param.ContainsKey(sParam)) { entity.Param.Add(sParam, sValueS); } } if (!string.IsNullOrEmpty(sValueZ) && !sValueZ.Equals("0")) { string sParam = "p" + sFieldZ; sSQL.AppendLine(" and " + sColumn + " <= :" + sParam + " "); if (!entity.Param.ContainsKey(sParam)) { entity.Param.Add(sParam, sValueZ); } } } } return sSQL.ToString(); } private StringBuilder GetQuerySQL() { StringBuilder strSQL = new StringBuilder(); strSQL.Remove(0, strSQL.Length); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); InitGridView(); XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860063); string sZBLRGS = pzxx.XLXSBJPZ_ZBLRGS; #region 清空查询因子 entity.Param.Clear(); #endregion if (sCXDX.Equals("BJD")) { //查询主表的表价总金额、最低限价总金额、中标总金额、明细数量不受明细查询条件的限制 #region 查询主表记录 strSQL.AppendLine(" select XLXSBJD_BJDID,0.0 as XLXSBJDMX_XH,TBBJFK_FKRQ, "); strSQL.AppendLine(" case isnull(XLXSBJD_CLHQJGBID, ' ') when ' ' then ' ' "); strSQL.AppendLine(" when 'ZZZZZZZZ' then rtrim(XLXSBJD_JGBID)||'|'||rtrim(XLXSJGB_JGBMC)||',ZZZZZZZZ|基础材料行情' "); strSQL.AppendLine(" else rtrim(XLXSJGB_JGBID)||'|'||rtrim(XLXSJGB_JGBMC)||',YYYYYYYY|报价单材料行情' "); strSQL.AppendLine(" end as JGBID,XLXSBJD_JGBID, "); strSQL.AppendLine(" XLXSBJD_CLHQJGBID, "); if (sMXBH.Equals("JGE")) { strSQL.AppendLine(" XLXSBJD_TJ as TJJG, XLXSBJD_LJ as LJJG, "); } else { if (!sTBJCLID.Equals("")) { strSQL.AppendLine(" isnull(( "); strSQL.AppendLine(" select case when isnull(XLXSBJDCLHQ_BJCLID, ' ') <> ' 'then XLXSBJDCLHQ_HSJG else XLXSCLHQ_HSJG end as XLXSCLHQ_HSJG "); strSQL.AppendLine(" from XLXSCLHQ "); strSQL.AppendLine(" left join XLXSBJDCLHQ on "); strSQL.AppendLine(" XLXSBJDCLHQ_BJCLID=XLXSCLHQ_BJCLID "); strSQL.AppendLine(" and XLXSBJDCLHQ_BJDID = XLXSBJD_BJDID "); strSQL.AppendLine(" where XLXSCLHQ_JGBID=XLXSBJD_JGBID and XLXSCLHQ_BJCLID='" + sTBJCLID + "'"); strSQL.AppendLine(" ),0) as TJJG, "); } else { strSQL.AppendLine(" 0 as TJJG, "); } if (!sLBJCLID.Equals("")) { strSQL.AppendLine(" isnull(( "); strSQL.AppendLine(" select case when isnull(XLXSBJDCLHQ_BJCLID, ' ') <> ' ' then XLXSBJDCLHQ_HSJG else XLXSCLHQ_HSJG end as XLXSCLHQ_HSJG "); strSQL.AppendLine(" from XLXSCLHQ "); strSQL.AppendLine(" left join XLXSBJDCLHQ on "); strSQL.AppendLine(" XLXSBJDCLHQ_BJCLID=XLXSCLHQ_BJCLID "); strSQL.AppendLine(" and XLXSBJDCLHQ_BJDID = XLXSBJD_BJDID "); strSQL.AppendLine(" where XLXSCLHQ_JGBID=XLXSBJD_JGBID and XLXSCLHQ_BJCLID='" + sLBJCLID + "'"); strSQL.AppendLine(" ),0) as LJJG, "); } else { strSQL.AppendLine(" 0 as LJJG, "); } } strSQL.AppendLine(" case isnull(XLXSBJD_BJFLID, ' ') when ' ' then ' ' else rtrim(XLXSBJD_BJFLID)||'|'||rtrim(XLXSBJFL_BJFLMC) end as BJFLID, XLXSBJD_BJFLID, "); strSQL.AppendLine(" XLXSBJD_KHID, XLXSBJD_XSQYID, "); strSQL.AppendLine(" case isnull(XLXSBJD_SYDWID, ' ') when ' ' then ' ' else rtrim(XLXSBJD_SYDWID)||'|'||rtrim(GS_GSMC) end as SYDWID, XLXSBJD_SYDWID, "); strSQL.AppendLine(" case isnull(XLXSBJD_XSQYID, ' ') when ' ' then ' ' else rtrim(XLXSBJD_XSQYID)||'|'||rtrim(XSQY_XSQYMC) end as XSQY, XLXSBJD_XSQYID, "); strSQL.AppendLine(" case isnull(XLXSBJD_XSBMID, ' ') when ' ' then ' ' else rtrim(XLXSBJD_XSBMID)||'|'||rtrim(BM_MC) end as XSBM, XLXSBJD_XSBMID, "); strSQL.AppendLine(" XLXSBJD_BJRQ, XLXSBJD_XSJLMC, "); strSQL.AppendLine(" XLXSBJD_SQR, XLXSBJD_TXY, XLXSBJD_XSBMID, XLXSBJD_KH, XLXSBJD_KHLXR,XLXSBJD_LXDH,XLXSBJD_CZ, "); //客户分类 if(!sKHLY.Equals("")) strSQL.AppendLine(" case when ISNULL(KHFL_FLID,' ') = ' ' then ' ' else rtrim(KHFL_FLID) || '|' || rtrim(KHFL_FLMC) end as KHFL, "); else strSQL.AppendLine(" ' ' as KHFL, "); strSQL.AppendLine(" case isnull(XLXSBJD_PJLX, ' ') when ' ' then ' ' else rtrim(XLXSBJD_PJLX)||'|'||rtrim(SFPJ_PJMC) end as PJLX, XLXSBJD_PJLX, "); strSQL.AppendLine(" XLXSBJD_JZBJHS, XLXSBJD_XMMC, XLXSBJD_XXDZ, XLXSBJD_FKSM, XLXSBJD_BZ,"); //客户区划 if (QYXZQH) { strSQL.AppendLine(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then C.XZQH_PROVINCE else D.XZQH_PROVINCE end as XMSZDPRO,"); strSQL.AppendLine(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then ' ' else C.XZQH_CITY end as XMSZDCITY,"); } strSQL.AppendLine(" XLXSBJD_ZJE,XLXSBJD_ZZL,"); if (sCurBJFLID.Contains(","))//多选报价分类,需单独控制栏目值是否查询 { List ListBXS = new List(); #region 料价价差率 GetBXSLJJCL(sCurBJFLID, ref ListBXS); if (ListBXS.Count > 0) { strSQL.AppendLine(" case "); for (int i = 0; i < ListBXS.Count; i++) { strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 "); } strSQL.AppendLine(" else XLXSBJD_CLCBJCL end as XLXSBJD_CLCBJCL, "); } else { strSQL.AppendLine(" XLXSBJD_CLCBJCL, "); } #endregion #region 表价总金额 GetBXSJCL(sCurBJFLID, ref ListBXS); if (ListBXS.Count > 0) { strSQL.AppendLine(" case "); for (int i = 0; i < ListBXS.Count; i++) { strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 "); } strSQL.AppendLine(" else XLXSBJD_LRL end as XLXSBJD_LRL, "); strSQL.AppendLine(" case "); for (int i = 0; i < ListBXS.Count; i++) { strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 "); } strSQL.AppendLine(" else MXXX.BJZJE end as CPJJJE, "); } else { strSQL.AppendLine(" XLXSBJD_LRL,MXXX.BJZJE as CPJJJE ,"); } #endregion #region 最低限价总金额 GetBXSZDXJ(sCurBJFLID, ref ListBXS); if (ListBXS.Count > 0) { strSQL.AppendLine(" case "); for (int i = 0; i < ListBXS.Count; i++) { strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 "); } strSQL.AppendLine(" else XLXSBJD_ZDXJJCL end as XLXSBJD_ZDXJJCL, "); strSQL.AppendLine(" case "); for (int i = 0; i < ListBXS.Count; i++) { strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 "); } strSQL.AppendLine(" else MXXX.ZDXJZJE end as ZDXJZJE, "); } else { strSQL.AppendLine(" XLXSBJD_ZDXJJCL,MXXX.ZDXJZJE as ZDXJZJE , "); } #endregion } else { strSQL.AppendLine(" XLXSBJD_CLCBJCL, "); //表价总金额 strSQL.AppendLine(" XLXSBJD_LRL,MXXX.BJZJE as CPJJJE ,"); //最低限价总金额 strSQL.AppendLine(" XLXSBJD_ZDXJJCL,MXXX.ZDXJZJE as ZDXJZJE , "); } //中标总金额 strSQL.AppendLine(" XLXSBJD_ZBJE as ZBZJE , "); if (sZBLRGS.Equals("1")) strSQL.AppendLine(" XLXSBJD_ZBJE - ZDXJZJE as ZBZLR , "); else strSQL.AppendLine(" 0 as ZBZLR , "); strSQL.AppendLine(" MXJLS,XLXSBJD_FKQXNR,convert(varchar(250), XLXSBJD_BJSM) as XLXSBJD_BJSM,XLXSBJD_TJ,XLXSBJD_LJ,XLXSBJD_CZJSXY,XLXSBJD_KHDH,"); strSQL.AppendLine(" XLXSBJD_XZQHID,XLXSBJD_XMID,"); strSQL.AppendLine(" XLXSBJD_YSJDID,XLXSBJD_GYSID,XLXSBJD_YSFY,"); strSQL.AppendLine(" TZYZ_BJ01,TZYZ_BJ02,TZYZ_BJ03,TZYZ_BJ04,TZYZ_BJ05,"); strSQL.AppendLine(" TZYZ_BJ06,TZYZ_BJ07,TZYZ_BJ08,TZYZ_BJ09,TZYZ_BJ10,"); strSQL.AppendLine(" TZYZ_BJ11,TZYZ_BJ12,TZYZ_BJ13,TZYZ_BJ14,TZYZ_BJ15,"); strSQL.AppendLine(" TZYZ_BJ16,TZYZ_BJ17,TZYZ_BJ18,TZYZ_BJ19,TZYZ_BJ20,"); strSQL.AppendLine(" XLXSBJD_WHR, XLXSBJD_WHRID, XLXSBJD_WHSJ, XLXSBJD_DOCGRPID, XLXSBJD_FJS, XLXSBJD_WFID, XLXSBJD_WFINST, XLXSBJD_WPID, XLXSBJD_WFAWAITER, XLXSBJD_WFHANDLER, XLXSBJD_ACTNAME"); strSQL.AppendLine(" from XLXSBJD "); strSQL.AppendLine(" left join ( "); strSQL.AppendLine(" select XLXSBJDYZZ0_BJDID as BJDID,"); strSQL.AppendLine(" AVG(XLXSBJDYZZ0_YZZ01) as TZYZ_BJ01,AVG(XLXSBJDYZZ0_YZZ02) as TZYZ_BJ02,AVG(XLXSBJDYZZ0_YZZ03) as TZYZ_BJ03,AVG(XLXSBJDYZZ0_YZZ04) as TZYZ_BJ04,AVG(XLXSBJDYZZ0_YZZ05) as TZYZ_BJ05, "); strSQL.AppendLine(" AVG(XLXSBJDYZZ0_YZZ06) as TZYZ_BJ06,AVG(XLXSBJDYZZ0_YZZ07) as TZYZ_BJ07,AVG(XLXSBJDYZZ0_YZZ08) as TZYZ_BJ08,AVG(XLXSBJDYZZ0_YZZ09) as TZYZ_BJ09,AVG(XLXSBJDYZZ0_YZZ10) as TZYZ_BJ10, "); strSQL.AppendLine(" AVG(XLXSBJDYZZ0_YZZ11) as TZYZ_BJ11,AVG(XLXSBJDYZZ0_YZZ12) as TZYZ_BJ12,AVG(XLXSBJDYZZ0_YZZ13) as TZYZ_BJ13,AVG(XLXSBJDYZZ0_YZZ14) as TZYZ_BJ14,AVG(XLXSBJDYZZ0_YZZ15) as TZYZ_BJ15, "); strSQL.AppendLine(" AVG(XLXSBJDYZZ0_YZZ16) as TZYZ_BJ16,AVG(XLXSBJDYZZ0_YZZ17) as TZYZ_BJ17,AVG(XLXSBJDYZZ0_YZZ18) as TZYZ_BJ18,AVG(XLXSBJDYZZ0_YZZ19) as TZYZ_BJ19,AVG(XLXSBJDYZZ0_YZZ20) as TZYZ_BJ20 "); strSQL.AppendLine(" from XLXSBJDYZZ0 "); strSQL.AppendLine(" group by XLXSBJDYZZ0_BJDID "); strSQL.AppendLine(" ) YZZ0 on YZZ0.BJDID = XLXSBJD_BJDID "); strSQL.AppendLine(" left join XLXSBJFL on XLXSBJFL_BJFLID = XLXSBJD_BJFLID "); strSQL.AppendLine(" left join GS on GS_SYDWID=XLXSBJD_SYDWID "); strSQL.AppendLine(" left join XSQY on XSQY_XSQYID=XLXSBJD_XSQYID "); strSQL.AppendLine(" left join BM on BM_BMID=XLXSBJD_XSBMID "); strSQL.AppendLine(" left join XLXSJGB on XLXSJGB_JGBID=XLXSBJD_JGBID and XLXSJGB_MXBH in ('JGB','JGE') "); strSQL.AppendLine(" left join SFPJ on SFPJ_PJLX=XLXSBJD_PJLX "); strSQL.AppendLine(" left join TBBJFK on TBBJFK_BJDID=XLXSBJD_BJDID "); strSQL.AppendLine(" left join ( "); strSQL.AppendLine(" select XLXSBJDMX_BJDID,sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB) as BJZJE,sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) as ZDXJZJE,COUNT(1) as MXJLS "); strSQL.AppendLine(" from XLXSBJDMX "); strSQL.AppendLine(" left join XLXSBJD on XLXSBJD_BJDID = XLXSBJDMX_BJDID "); strSQL.AppendLine(" where 1=1 "); strSQL.AppendLine(AddCondition_A("Qry")); strSQL.AppendLine(" group by XLXSBJDMX_BJDID "); strSQL.AppendLine(" ) MXXX on MXXX.XLXSBJDMX_BJDID = XLXSBJD_BJDID "); if (sKHLY.Equals("KH")) { strSQL.AppendLine(" left join KH on isnull(KH_KHID,' ')=isnull(XLXSBJD_KHID,' ') "); strSQL.AppendLine(" left join KHFL on KHFL_FLID = KH_FL "); } else if (sKHLY.Equals("KHXX")) { strSQL.AppendLine(" left join KHXX on isnull(KHXX_MC,' ')=isnull(XLXSBJD_KH,' ') "); strSQL.AppendLine(" left join KHFL on KHFL_FLID = KHXX_FLID "); } if (QYXZQH) { strSQL.AppendLine(" left join XZQH C on C.XZQH_XZQHID = XLXSBJD_XZQHID "); strSQL.AppendLine(" left join XZQH D on D.XZQH_XZQHID = C.XZQH_FID "); } strSQL.AppendLine("where 1=1 "); strSQL.AppendLine(AddCondition("Qry")); strSQL.AppendLine(AddCondition_A("Qry")); strSQL.AppendLine(AddConditionBJD("Qry")); if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("A")) { strSQL.AppendLine(" order by XLXSBJD_BJDID desc "); } else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("B")) { strSQL.AppendLine(" order by XLXSBJD_BJDID "); } else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("C")) { strSQL.AppendLine(" order by XLXSBJD_BJRQ desc, XLXSBJD_BJDID desc "); } else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("D")) { strSQL.AppendLine(" order by XLXSBJD_BJRQ, XLXSBJD_BJDID "); } else { strSQL.AppendLine(" order by XLXSBJD_BJRQ desc, XLXSBJD_BJDID desc "); } #endregion } else { #region 查询明细 strSQL.AppendLine(" select XLXSBJD_BJDID,XLXSBJDMX_BJDID, XLXSBJDMX_XH, XLXSBJDMX_XH as OLD_XLXSBJDMX_XH,XLXSBJDMX_XSSX, "); //主表信息 strSQL.AppendLine(" XLXSBJD_BJRQ, case isnull(XLXSBJD_BJFLID, ' ') when ' ' then ' ' else rtrim(XLXSBJD_BJFLID)||'|'||rtrim(XLXSBJFL_BJFLMC) end as BJFLID, XLXSBJD_BJFLID, "); strSQL.AppendLine(" case isnull(XLXSBJD_CLHQJGBID, ' ') when ' ' then ' ' "); strSQL.AppendLine(" when 'ZZZZZZZZ' then rtrim(XLXSBJD_JGBID)||'|'||rtrim(XLXSJGB_JGBMC)||',ZZZZZZZZ|基础材料行情' "); strSQL.AppendLine(" else rtrim(XLXSJGB_JGBID)||'|'||rtrim(XLXSJGB_JGBMC)||',YYYYYYYY|报价单材料行情' "); strSQL.AppendLine(" end as JGBID,XLXSBJD_JGBID, "); strSQL.AppendLine(" TBBJFK_FKRQ,XLXSBJD_SQR,XLXSBJD_TXY,XLXSBJD_KH,XLXSBJD_XMMC, "); //客户分类 if (!sKHLY.Equals("")) strSQL.AppendLine(" case when ISNULL(KHFL_FLID,' ') = ' ' then ' ' else rtrim(KHFL_FLID) || '|' || rtrim(KHFL_FLMC) end as KHFL, "); else strSQL.AppendLine(" ' ' as KHFL, "); //行政区划 if (QYXZQH) { strSQL.AppendLine(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then C.XZQH_PROVINCE else D.XZQH_PROVINCE end as XMSZDPRO,"); strSQL.AppendLine(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then ' ' else C.XZQH_CITY end as XMSZDCITY,"); } if (sMXBH.Equals("JGE")) { strSQL.AppendLine(" XLXSBJD_TJ as TJJG, XLXSBJD_LJ as LJJG, "); } else { if (!sTBJCLID.Equals("")) { strSQL.AppendLine(" isnull(( "); strSQL.AppendLine(" select case when isnull(XLXSBJDCLHQ_BJCLID, ' ') <> ' 'then XLXSBJDCLHQ_HSJG else XLXSCLHQ_HSJG end as XLXSCLHQ_HSJG "); strSQL.AppendLine(" from XLXSCLHQ "); strSQL.AppendLine(" left join XLXSBJDCLHQ on "); strSQL.AppendLine(" XLXSBJDCLHQ_BJCLID=XLXSCLHQ_BJCLID "); strSQL.AppendLine(" and XLXSBJDCLHQ_BJDID = XLXSBJD_BJDID "); strSQL.AppendLine(" where XLXSCLHQ_JGBID=XLXSBJD_JGBID and XLXSCLHQ_BJCLID='" + sTBJCLID + "'"); strSQL.AppendLine(" ),0) as TJJG, "); } else { strSQL.AppendLine(" 0 as TJJG, "); } if (!sLBJCLID.Equals("")) { strSQL.AppendLine(" isnull(( "); strSQL.AppendLine(" select case when isnull(XLXSBJDCLHQ_BJCLID, ' ') <> ' ' then XLXSBJDCLHQ_HSJG else XLXSCLHQ_HSJG end as XLXSCLHQ_HSJG "); strSQL.AppendLine(" from XLXSCLHQ "); strSQL.AppendLine(" left join XLXSBJDCLHQ on "); strSQL.AppendLine(" XLXSBJDCLHQ_BJCLID=XLXSCLHQ_BJCLID "); strSQL.AppendLine(" and XLXSBJDCLHQ_BJDID = XLXSBJD_BJDID "); strSQL.AppendLine(" where XLXSCLHQ_JGBID=XLXSBJD_JGBID and XLXSCLHQ_BJCLID='" + sLBJCLID + "'"); strSQL.AppendLine(" ),0) as LJJG, "); } else { strSQL.AppendLine(" 0 as LJJG, "); } } strSQL.AppendLine(" XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID, XLXSBJDMX_DZSC, "); strSQL.AppendLine(" case isnull(XLXSBJDMX_XLBZID, ' ') when ' ' then ' ' else rtrim(XLXSBJDMX_XLBZID)||'|'||rtrim(XLBZ_XLBZLXMC) end as XLBZID, XLXSBJDMX_XLBZID, "); strSQL.AppendLine(" XLXSBJDMX_DYDJID,"); strSQL.AppendLine(" case isnull(XLXSBJDMX_XLYSID, ' ') when ' ' then ' ' else rtrim(XLXSBJDMX_XLYSID)||'|'||rtrim(XLYSB_XLYSMC) end as XLYSID, XLXSBJDMX_XLYSID, "); strSQL.AppendLine(" case "); strSQL.AppendLine(" (case when ISNULL(A.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(B.XLXSBJXHML_CPMLID,' ') else ISNULL(A.XLXSBJXHML_CPMLID,' ') end) "); strSQL.AppendLine(" when ' ' then ' ' else "); strSQL.AppendLine(" rtrim(case when ISNULL(A.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(B.XLXSBJXHML_CPMLID,' ') else ISNULL(A.XLXSBJXHML_CPMLID,' ') end) || '|'|| rtrim(XLXSCPML_CPMLMC) end as CPML, "); strSQL.AppendLine(" case isnull(XLXHB_CPYT, ' ') when ' ' then ' ' else rtrim(XLXHB_CPYT)||'|'||rtrim(XLCPYT_CPYTMC) end as CPYT, "); strSQL.AppendLine(" case when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sTcpList) + " then '铜产品' "); strSQL.AppendLine(" when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sLcpList) + " then '铝产品' else '其他产品' end as TLCP, "); strSQL.AppendLine(" XLDTJMZHB_DTJM1 as ZXJM, XLGGB_GGZJM as GGZJM, "); strSQL.AppendLine(" XLXSBJDMX_BJCP,' ' as XLWLXX,"); strSQL.AppendLine(" XLXSBJDMX_JLDW,XLXSBJDMX_BJSL,XLXSBJDMX_CLCB,XLXSBJDMX_JGBJJ,"); strSQL.AppendLine(" XLXSBJDJJYZ_YZZ01 as TZYZ_JZ01,XLXSBJDJJYZ_YZZ02 as TZYZ_JZ02,XLXSBJDJJYZ_YZZ03 as TZYZ_JZ03,XLXSBJDJJYZ_YZZ04 as TZYZ_JZ04,XLXSBJDJJYZ_YZZ05 as TZYZ_JZ05,"); strSQL.AppendLine(" XLXSBJDJJYZ_YZZ06 as TZYZ_JZ06,XLXSBJDJJYZ_YZZ07 as TZYZ_JZ07,XLXSBJDJJYZ_YZZ08 as TZYZ_JZ08,XLXSBJDJJYZ_YZZ09 as TZYZ_JZ09,XLXSBJDJJYZ_YZZ10 as TZYZ_JZ10,"); strSQL.AppendLine(" XLXSBJDMX_JGBBJ,"); strSQL.AppendLine(" XLXSBJDYZZ0_YZZ01 as TZYZ_BJ01,XLXSBJDYZZ0_YZZ02 as TZYZ_BJ02,XLXSBJDYZZ0_YZZ03 as TZYZ_BJ03,XLXSBJDYZZ0_YZZ04 as TZYZ_BJ04,XLXSBJDYZZ0_YZZ05 as TZYZ_BJ05,"); strSQL.AppendLine(" XLXSBJDYZZ0_YZZ06 as TZYZ_BJ06,XLXSBJDYZZ0_YZZ07 as TZYZ_BJ07,XLXSBJDYZZ0_YZZ08 as TZYZ_BJ08,XLXSBJDYZZ0_YZZ09 as TZYZ_BJ09,XLXSBJDYZZ0_YZZ10 as TZYZ_BJ10,"); strSQL.AppendLine(" XLXSBJDYZZ0_YZZ11 as TZYZ_BJ11,XLXSBJDYZZ0_YZZ12 as TZYZ_BJ12,XLXSBJDYZZ0_YZZ13 as TZYZ_BJ13,XLXSBJDYZZ0_YZZ14 as TZYZ_BJ14,XLXSBJDYZZ0_YZZ15 as TZYZ_BJ15,"); strSQL.AppendLine(" XLXSBJDYZZ0_YZZ16 as TZYZ_BJ16,XLXSBJDYZZ0_YZZ17 as TZYZ_BJ17,XLXSBJDYZZ0_YZZ18 as TZYZ_BJ18,XLXSBJDYZZ0_YZZ19 as TZYZ_BJ19,XLXSBJDYZZ0_YZZ20 as TZYZ_BJ20,"); strSQL.AppendLine(" XLXSBJDMX_TZQCPBJ,XLXSBJDMX_CPBJ,XLXSBJDMX_BJJE,"); strSQL.AppendLine(" XLXSBJDMX_CLZL,"); if (sCurBJFLID.Contains(","))//多选报价分类,需单独控制栏目值是否查询 { List ListBXS = new List(); #region 报价单行情料价 GetBXSBJDHQLJ(sCurBJFLID, ref ListBXS); if (ListBXS.Count > 0) { strSQL.AppendLine(" case "); for (int i = 0; i < ListBXS.Count; i++) { strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 "); } strSQL.AppendLine(" else XLXSBJDMX_BJDHQCLCB end as XLXSBJDMX_BJDHQCLCB, "); strSQL.AppendLine(" case "); for (int i = 0; i < ListBXS.Count; i++) { strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 'N' "); } strSQL.AppendLine(" else XLXSBJDMX_CLCBJCLSDBZ end as XLXSBJDMX_CLCBJCLSDBZ, "); strSQL.AppendLine(" case "); for (int i = 0; i < ListBXS.Count; i++) { strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 "); } strSQL.AppendLine(" else XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB end as BJDHQCLCBJE, "); } else { strSQL.AppendLine(" XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CLCBJCLSDBZ,XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB as BJDHQCLCBJE, "); } #endregion #region 调整产品报价 GetBXSTZJG(sCurBJFLID, ref ListBXS); if (ListBXS.Count > 0) { strSQL.AppendLine(" case "); for (int i = 0; i < ListBXS.Count; i++) { strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 "); } strSQL.AppendLine(" else XLXSBJDMX_TZCPBJ end as XLXSBJDMX_TZCPBJ, "); } else { strSQL.AppendLine(" XLXSBJDMX_TZCPBJ, "); } #endregion #region 调整金额 GetBXSTZJE(sCurBJFLID, ref ListBXS); if (ListBXS.Count > 0) { strSQL.AppendLine(" case "); for (int i = 0; i < ListBXS.Count; i++) { strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 "); } strSQL.AppendLine(" else XLXSBJDMX_TZQBJJE end as XLXSBJDMX_TZQBJJE, "); strSQL.AppendLine(" case "); for (int i = 0; i < ListBXS.Count; i++) { strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 "); } strSQL.AppendLine(" else XLXSBJDMX_TZBJJE end as XLXSBJDMX_TZBJJE, "); strSQL.AppendLine(" case "); for (int i = 0; i < ListBXS.Count; i++) { strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 "); } strSQL.AppendLine(" else case when XLXSBJDMX_BJSL=0 then 0 else RoundFix(XLXSBJDMX_BJJE/XLXSBJDMX_BJSL,14) end end as TZHDJ, "); } else { strSQL.AppendLine(" XLXSBJDMX_TZQBJJE,XLXSBJDMX_TZBJJE,case when XLXSBJDMX_BJSL=0 then 0 else RoundFix(XLXSBJDMX_BJJE/XLXSBJDMX_BJSL,14) end as TZHDJ, "); } #endregion #region 料价价差率 GetBXSLJJCL(sCurBJFLID, ref ListBXS); if (ListBXS.Count > 0) { strSQL.AppendLine(" case "); for (int i = 0; i < ListBXS.Count; i++) { strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 "); } strSQL.AppendLine(" else XLXSBJDMX_CLCBJCL end as XLXSBJDMX_CLCBJCL, "); } else { strSQL.AppendLine(" XLXSBJDMX_CLCBJCL, "); } #endregion #region 表价价差率 GetBXSJCL(sCurBJFLID, ref ListBXS); if (ListBXS.Count > 0) { strSQL.AppendLine(" case "); for (int i = 0; i < ListBXS.Count; i++) { strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 "); } strSQL.AppendLine(" else XLXSBJDMX_JGBBJJCL end as XLXSBJDMX_JGBBJJCL, "); } else { strSQL.AppendLine(" XLXSBJDMX_JGBBJJCL, "); } #endregion #region 表价价差额 GetBXSJGBBJJCE(sCurBJFLID, ref ListBXS); if (ListBXS.Count > 0) { strSQL.AppendLine(" case "); for (int i = 0; i < ListBXS.Count; i++) { strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 "); } strSQL.AppendLine(" else XLXSBJDMX_JGBBJJCE end as XLXSBJDMX_JGBBJJCE, "); } else { strSQL.AppendLine(" XLXSBJDMX_JGBBJJCE, "); } #endregion #region 最低限价 GetBXSZDXJ(sCurBJFLID, ref ListBXS); if (ListBXS.Count > 0) { strSQL.AppendLine(" case "); for (int i = 0; i < ListBXS.Count; i++) { strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 "); } strSQL.AppendLine(" else XLXSBJDMX_ZDXJ end as XLXSBJDMX_ZDXJ, "); strSQL.AppendLine(" case "); for (int i = 0; i < ListBXS.Count; i++) { strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 "); } strSQL.AppendLine(" else XLXSBJDMX_ZDXJJCL end as XLXSBJDMX_ZDXJJCL, "); } else { strSQL.AppendLine(" XLXSBJDMX_ZDXJ,XLXSBJDMX_ZDXJJCL,"); } #endregion #region 结算价格 GetBXSJSJG(sCurBJFLID, ref ListBXS); if (ListBXS.Count > 0) { strSQL.AppendLine(" case "); for (int i = 0; i < ListBXS.Count; i++) { strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 "); } strSQL.AppendLine(" else XLXSBJDMX_JSJG end as XLXSBJDMX_JSJG, "); } else { strSQL.AppendLine(" XLXSBJDMX_JSJG, "); } #endregion } else { strSQL.AppendLine(" XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CLCBJCLSDBZ,XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB as BJDHQCLCBJE, "); strSQL.AppendLine(" XLXSBJDMX_TZCPBJ, "); strSQL.AppendLine(" XLXSBJDMX_TZQBJJE,XLXSBJDMX_TZBJJE,case when XLXSBJDMX_BJSL=0 then 0 else RoundFix(XLXSBJDMX_BJJE/XLXSBJDMX_BJSL,14) end as TZHDJ, "); strSQL.AppendLine(" XLXSBJDMX_CLCBJCL, "); strSQL.AppendLine(" XLXSBJDMX_JGBBJJCL, "); strSQL.AppendLine(" XLXSBJDMX_JGBBJJCE, "); strSQL.AppendLine(" XLXSBJDMX_ZDXJ,XLXSBJDMX_ZDXJJCL,"); strSQL.AppendLine(" XLXSBJDMX_JSJG, "); } strSQL.AppendLine(" case when isnull(XLXSBJDMX_ZB,' ') = ' ' then ' '"); strSQL.AppendLine(" when isnull(XLXSBJDMX_ZB,' ') = 'Y' then 'Y|全部中标'"); strSQL.AppendLine(" when isnull(XLXSBJDMX_ZB,' ') = 'P' then 'P|部分中标'"); strSQL.AppendLine(" when isnull(XLXSBJDMX_ZB,' ') = 'N' then 'N|未中标'"); strSQL.AppendLine(" when isnull(XLXSBJDMX_ZB,' ') = 'F' then 'F|废标'"); strSQL.AppendLine(" when isnull(XLXSBJDMX_ZB,' ') = 'Q' then 'Q|弃标'"); strSQL.AppendLine(" else ' ' end as XLXSBJDMX_ZB, "); strSQL.AppendLine(" XLXSBJDMX_ZBSL,XLXSBJDMX_ZBJE,"); if (sZBLRGS.Equals("1")) strSQL.AppendLine(" XLXSBJDMX_ZBJE - RoundFix(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ,2) as XLXSBJDMX_ZBLR,"); else strSQL.AppendLine(" 0 as XLXSBJDMX_ZBLR,"); strSQL.AppendLine(" XLXSBJDMX_WLID as WLID, "); strSQL.AppendLine(" case when isnull(XLXSBJDMX_WLID,' ') = ' ' then ' ' "); strSQL.AppendLine(" else rtrim(rtrim(rtrim(rtrim(isnull(WL_MC,' '))||' '||rtrim(isnull(WL_GG,' ')))||' '||rtrim(isnull(WL_TZ,' ')))||' '||rtrim(isnull(WL_CL,' '))) "); strSQL.AppendLine(" end as WLXX, "); strSQL.AppendLine(" XLXSBJDMX_BZ,XLXSBJDMX_BJCPSD,XLXSBJDMX_BJSDBZ,XLXSBJDMX_WHRID,XLXSBJDMX_WHR,XLXSBJDMX_WHSJ, "); strSQL.AppendLine(" case when isnull(XLXSCLQD_WPID,' ')='ZZZZ' then 'Y' else 'N' end as HasCLQD, "); strSQL.AppendLine(" case when ((ISNULL(XLXSBJYLZD_WPID,' ')= '0060' or ISNULL(XLXSBJYLZD_WPID,' ')= 'ZZZZ') and isnull(XLXSBJYLZDMX_BZDBZ,'N') ='Y' and isnull(XLXSBJYLZDMX_BJDXH,0) <> 0) then 'N' "); strSQL.AppendLine(" when (ISNULL(XLXSBJYLZD_WPID,' ')<> ' ' and isnull(XLXSBJYLZDMX_BJDXH,0) <> 0) then 'Y' "); strSQL.AppendLine(" else 'N' end as HasYLDZSQ "); strSQL.AppendLine(" from XLXSBJDMX "); strSQL.AppendLine(" left join XLXSBJD on XLXSBJD_BJDID = XLXSBJDMX_BJDID "); strSQL.AppendLine(" left join XLXSBJFL on XLXSBJFL_BJFLID = XLXSBJD_BJFLID "); strSQL.AppendLine(" left join XLXSJGB on XLXSJGB_JGBID=XLXSBJD_JGBID and XLXSJGB_MXBH in ('JGB','JGE') "); strSQL.AppendLine(" left join TBBJFK on TBBJFK_BJDID=XLXSBJDMX_BJDID "); if (sKHLY.Equals("KH")) { strSQL.AppendLine(" left join KH on isnull(KH_KHID,' ')=isnull(XLXSBJD_KHID,' ') "); strSQL.AppendLine(" left join KHFL on KHFL_FLID = KH_FL "); } else if (sKHLY.Equals("KHXX")) { strSQL.AppendLine(" left join KHXX on isnull(KHXX_MC,' ')=isnull(XLXSBJD_KH,' ') "); strSQL.AppendLine(" left join KHFL on KHFL_FLID = KHXX_FLID "); } if (QYXZQH) { strSQL.AppendLine(" left join XZQH C on C.XZQH_XZQHID = XLXSBJD_XZQHID "); strSQL.AppendLine(" left join XZQH D on D.XZQH_XZQHID = C.XZQH_FID "); } strSQL.AppendLine(" left join XLBZ on XLBZ_XLBZID = XLXSBJDMX_XLBZID "); strSQL.AppendLine(" left join WL on WL_WLID = isnull(XLXSBJDMX_WLID, ' ') "); strSQL.AppendLine(" left join XLYSB on XLYSB_XLYSID = XLXSBJDMX_XLYSID "); strSQL.AppendLine(" left join XLXHB on XLXHB_XLXHID = XLXSBJDMX_XLXHID "); strSQL.AppendLine(" left join XLXSBJXLGGTHB XLXSBJXLGGTHB_A on XLXSBJXLGGTHB_A.XLXSBJXLGGTHB_XLGGID = XLXSBJDMX_XLGGID "); strSQL.AppendLine(" left join XLGGB on XLGGB_XLGGID=XLXSBJXLGGTHB_A.XLXSBJXLGGTHB_XLGGID and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') "); strSQL.AppendLine(" left join XLDTJMZHB on XLDTJMZHB_DTJMZHID=XLGGB_DTJMZHID "); strSQL.AppendLine(" left join XLCPYT on XLCPYT_CPYT = XLXHB_CPYT "); strSQL.AppendLine(" left join XLXSBJDYZZ0 on XLXSBJDYZZ0_BJDID=XLXSBJDMX_BJDID and XLXSBJDYZZ0_XH=XLXSBJDMX_XH "); strSQL.AppendLine(" left join XLXSBJDJJYZ on XLXSBJDJJYZ_BJDID=XLXSBJDMX_BJDID and XLXSBJDJJYZ_XH=XLXSBJDMX_XH "); strSQL.AppendLine(" left join XLXSCLQD on XLXSCLQD_XLXHID=XLXSBJDMX_XLXHID and XLXSCLQD_XLGGID=XLXSBJDMX_XLGGID and XLXSCLQD_XLBZID=XLXSBJDMX_XLBZID and XLXSCLQD_DYDJID=isnull(XLXSBJDMX_DYDJID,' ')"); strSQL.AppendLine(" left join ( select XLXSBJYLZD_BJDID,XLXSBJYLZD_SQDH,XLXSBJYLZD_WPID,XLXSBJYLZDMX_BJDXH,XLXSBJYLZDMX_BZDBZ "); strSQL.AppendLine(" from XLXSBJYLZDMX left join XLXSBJYLZD on XLXSBJYLZD_SQDH = XLXSBJYLZDMX_SQDH where 1=1 ) YLZDMX on XLXSBJYLZD_BJDID = XLXSBJDMX_BJDID and XLXSBJYLZDMX_BJDXH = XLXSBJDMX_XH "); strSQL.AppendLine(" left join XLXSBJXHML A on A.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and A.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') "); strSQL.AppendLine(" left join XLXSBJXHML B on B.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and B.XLXSBJXHML_DYDJID = ' ' "); strSQL.AppendLine(" left join XLXSCPML on XLXSCPML_CPMLID = case when ISNULL(A.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(B.XLXSBJXHML_CPMLID,' ') else ISNULL(A.XLXSBJXHML_CPMLID,' ') end "); //strSQL.AppendLine(" left join XLXSBJXLGGTHB XLXSBJXLGGTHB_B on XLXSBJXLGGTHB_B.XLXSBJXLGGTHB_XLGGID = XLXSBJDMX_XLGGID "); strSQL.AppendLine(" where 1=1 "); strSQL.AppendLine(AddCondition("Qry")); strSQL.AppendLine(AddCondition_A("Qry")); strSQL.AppendLine(AddConditionBJDMX("Qry")); if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("A")) { strSQL.AppendLine(" order by XLXSBJD_BJDID desc,XLXSBJDMX_XSSX,XLXSBJDMX_XH "); } else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("B")) { strSQL.AppendLine(" order by XLXSBJD_BJDID,XLXSBJDMX_XSSX,XLXSBJDMX_XH "); } else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("C")) { strSQL.AppendLine(" order by XLXSBJD_BJRQ desc, XLXSBJD_BJDID desc,XLXSBJDMX_XSSX,XLXSBJDMX_XH "); } else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("D")) { strSQL.AppendLine(" order by XLXSBJD_BJRQ, XLXSBJD_BJDID,XLXSBJDMX_XSSX,XLXSBJDMX_XH "); } else { strSQL.AppendLine(" order by XLXSBJD_BJRQ desc, XLXSBJD_BJDID desc, XLXSBJDMX_XSSX,XLXSBJDMX_XH"); } #endregion } return strSQL; } //判断模块是否存在并且是否有权限 private bool CheckModule(string sUMID) { int iUMID = CMISproConvert.StrToInt(sUMID); UserRight UR = OpRightUtils.GetUserRight(tSession.UserId, iUMID); return (DSActiveModule.IsActiveModule(iUMID) && UR.Open); } private void InitToolBtn() { if (!PageParam.GetRTrimString("FromBJDINFO").Trim().Equals("")) { sBJDLX = PageParam.GetRTrimString("FromBJDINFO"); sBJDID = PageParam.GetRTrimString("BJDID"); sBJFLID = PageParam.GetRTrimString("BJFLID"); sTXY = PageParam.GetRTrimString("TXY"); sKH = PageParam.GetRTrimString("KH"); sKHLXR = PageParam.GetRTrimString("KHLXR"); sSYDWID = PageParam.GetRTrimString("SYDWID"); grdContentGrid.CheckBox = true; if (sBJDLX.Equals("HBBJ")) { btnHBBJ.Visible = true; CurQueryEntity.FieldByName("CXDX").Value = "BJD"; CurQueryEntity.FieldByName("BJFLID").Value = sBJFLID; CurQueryEntity.FieldByName("FKZT").Value = "未反馈"; CurQueryEntity.FieldByName("TXY").Value = sTXY; CurQueryEntity.FieldByName("KH").Value = sKH; CurQueryEntity.FieldByName("KHLXR").Value = sKHLXR; } else if (sBJDLX.Equals("CFBJ")) { btnCFBJ.Visible = true; CurQueryEntity.FieldByName("CXDX").Value = "BJDMX"; CurQueryEntity.FieldByName("BJFLID").Value = sBJFLID; CurQueryEntity.FieldByName("BJDID").Value = sBJDID; CurQueryEntity.FieldByName("BJDIDJQPP").Value = "True"; } TPageParams tpp = new TPageParams(); tpp.AddString("BJDID", sBJDID); tpp.AddString("BJDLX", sBJDLX); QueryPageParam = tpp; } } private void InitGridView() { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); #region 查询条件相关初始化 grdContentGrid.Columns.Clear(); sCXDX = CurQueryEntity.FieldByName("CXDX").Value.Trim(); sCurBJFLID = CurQueryEntity.FieldByName("BJFLID").Value.Trim(); #endregion #region 因子、小数位数等初始化 iXSWS = string.IsNullOrEmpty(GetOption(100860000, "BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption(100860000, "BJU002")); if (iXSWS < 0) { iXSWS = 0; } else if (iXSWS > 8) { iXSWS = 8; } JcModule = CheckModule("100860008"); //因子名称后缀 string sStr = ""; //同产品所属,铝产品所属 sTcpList = ""; sLcpList = ""; sTLcpList = ""; XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860063); if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_TDTGSCLID)) sTcpList = pzxx.XLXSBJPZ_TDTGSCLID; if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_LDTGSCLID)) sLcpList = pzxx.XLXSBJPZ_LDTGSCLID; sTLcpList = sTcpList + "," + sLcpList; sTLcpList = sTLcpList.TrimStart(',').TrimEnd(','); string sZBLRGS = pzxx.XLXSBJPZ_ZBLRGS; #endregion #region 报价分类的设置 int iCPMRXSWS = 0; string sJGBBJBM = ""; string sBJDHQLJBM = ""; string sBJBM = ""; bXSBJDHQLJ = false; bXSLJ = false; bXSJCL = false; bXSLJJCL = false; bXSJGBBJJCE = false; bXSZDXJ = false; bXSJSJG = false; bXSTZJG = false; bXSTZJE = false; //表价-料价-最低限价=价差率 foreach (string sBJFLID in sCurBJFLID.Split(',')) { BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID); #region 按角色隐藏栏目 //获取需要按角色隐藏的栏目ID列表 string sHidJSLMList = XLBJDUtils.GetHidJSLMList(sCurBJFLID, IsXJY.Value.Equals("Y"), IsSJY.Value.Equals("Y"), IsHJY.Value.Equals("Y")); bool bJSYCBJDHQLJ = false; bool bJSYCZDXJ = false; bool bJSYCJSJG = false; 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": bJSYCBJDHQLJ = true; break; case "XLXSBJDMX_ZDXJ": bJSYCZDXJ = true; break; case "XLXSBJDMX_JSJG": bJSYCJSJG = true; break; } } } #endregion //显示报价单行情料价 if (bjflxx.XSBJDHQLJ() && !bJSYCBJDHQLJ) bXSBJDHQLJ = true; //显示结算价 if (bjflxx.XSJSJ() && !bJSYCJSJG) bXSJSJG = true; //显示价格表行情料价 if (bjflxx.XSLJ()) bXSLJ = true; //显示表价价差率 if (bjflxx.XSJCL()) bXSJCL = true; //显示价格表行情料价/显示料价价差率 if (bjflxx.XSLJJCL()) bXSLJJCL = true; //表价价差总额/表价价差额 if (bjflxx.XSJGBBJJCEChecked()) bXSJGBBJJCE = true; //最低限价 if (bjflxx.XSZDXJ() && !bJSYCZDXJ) bXSZDXJ = true; // if (bjflxx.XSTZCPBJChecked()) bXSTZJG = true; //显示调整总金额 if (bjflxx.XSTZBJJEChecked()) bXSTZJE = true; if ( CMISproConvert.StrToInt(bjflxx.XLXSBJFL_CPBJMRXSWS) > iCPMRXSWS) iCPMRXSWS = CMISproConvert.StrToInt(bjflxx.XLXSBJFL_CPBJMRXSWS); sMXBH = bjflxx.XLXSBJFL_MXBH; //别名 if (sJGBBJBM.Equals("")) sJGBBJBM = bjflxx.XLXSBJFL_JGBBJBM; if (sBJDHQLJBM.Equals("")) sBJDHQLJBM = bjflxx.XLXSBJFL_BJDHQLJBM; if (sBJBM.Equals("")) sBJBM = bjflxx.XLXSBJFL_BJBM; sTBJCLID = ""; sLBJCLID = ""; if (!sMXBH.Equals("JGE")) JGBMLInfo.GetTLBJCLID(dberp, SQL, ref sTBJCLID, ref sLBJCLID); } //小数位数 iNumberDecimalPlace = iCPMRXSWS > iXSWS ? iCPMRXSWS : iXSWS; #endregion #region 销售报价业务配置 sKHLY = ""; pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000); if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_KHJSLY)) sKHLY = pzxx.XLXSBJPZ_KHJSLY; # endregion QYXZQH = DSActiveModule.IsActiveModule(100956005);//是否启用行政区划 if (sCXDX.Equals("BJD")) { #region 构建因子列 dicBJDYZMC.Clear(); dicBJDYZJJFS.Clear(); lstTJYS.Clear(); SQL.Clear(); SQL.Add(" SELECT XLXSBJFLYZ_YZID,XLXSTZYZ_TJYS,XLXSTZYZ_YZMC,XLXSTZYZ_JJFS FROM XLXSBJFLYZ "); SQL.Add(" LEFT JOIN XLXSTZYZ on XLXSTZYZ_YZID = XLXSBJFLYZ_YZID and XLXSTZYZ_MXBH = 'BJD' "); SQL.Add(" where 1=1 "); SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJFLYZ_BJFLID", sCurBJFLID)); SQL.Add(" and (XLXSTZYZ_TJYS in('1','8','B') or isnull(XLXSTZYZ_TJYS,' ') = ' ' ) "); SQL.Add(" order by XLXSTZYZ_XSXH,XLXSBJFLYZ_YZID "); DataSet dsBJDYZZ = dberp.OpenDataSet(SQL); for (int i = 0; i < dsBJDYZZ.Tables[0].Rows.Count; i++) { if (!dicBJDYZMC.ContainsKey(dsBJDYZZ.Tables[0].Rows[i]["XLXSBJFLYZ_YZID"].ToString().Trim())) { if (dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("JD") || dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("KD") || dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("SX") ||dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("MD") ||dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("DD")) { sStr = "(%)"; } else if (dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("JJ")) { sStr = "(元)"; } else if (dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("XX")) { sStr = "(不参与调价)"; } dicBJDYZMC.Add(dsBJDYZZ.Tables[0].Rows[i]["XLXSBJFLYZ_YZID"].ToString().Trim(), dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_YZMC"].ToString().Trim() + sStr); dicBJDYZJJFS.Add(dsBJDYZZ.Tables[0].Rows[i]["XLXSBJFLYZ_YZID"].ToString().Trim(), dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim()); lstTJYS.Add(dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_TJYS"].ToString().Trim()); } } #endregion //sCXDX.Equals("BJD") #region 构建主表的列 AddColumn("XLXSBJD_BJDID", "报价单号", 80, true); AddColumn("BJFLID", "报价分类", 150, true); AddColumn("XLXSBJD_BJRQ", "报价日期", 72, TDateTimeEditKinds.dtDate, true); AddColumn("XLXSBJD_SQR", "申请人", 72, true); AddColumn("JGBID", "价格表", 160, true); AddColumn("TJJG", "铜价", 2, 72, true); AddColumn("LJJG", "铝价", 2, 72, true); AddColumn("SYDWID", "销售单位", 160, true); AddColumn("XSQY", "销售区域", 160, true); AddColumn("XSBM", "销售部门", 160, true); AddColumn("XLXSBJD_TXY", "销售员", 72, true); AddColumn("XLXSBJD_KH", "客户", 150, true); AddColumn("XLXSBJD_XMMC", "项目", 150, true); AddColumn("KHFL", "客户分类", 120, true); if (QYXZQH) { AddColumn("XMSZDPRO", "项目所在地(省/直辖市/自治区)", 180, true); AddColumn("XMSZDCITY", "项目所在地(市/区/盟/州)", 180, true); } AddColumn("MXJLS", "明细记录数", 0, 80, true); AddColumn("XLXSBJD_ZJE", "报价总金额", 2, 120, true); AddColumn("CPJJJE", "表价总金额", 2, 120, bXSJCL); AddColumn("ZDXJZJE", "最低限价总金额", 2, 120, bXSZDXJ); AddColumn("TBBJFK_FKRQ", "反馈日期", 72, TDateTimeEditKinds.dtDate, true); AddColumn("ZBZJE", "中标总金额", 2, 120, true); if (!sZBLRGS.Equals("")) AddColumn("ZBZLR", "中标总利润", 2, 120, true); AddColumn("XLXSBJD_BJSM", "报价说明", 120, true); AddColumn("XLXSBJD_FKQXNR", "付款期限", 120, true); if (lstTJYS.Contains("1")) { AddColumn("PJLX", "付款方式", 120, true); } else { AddColumn("XLXSBJD_FKSM", "付款说明", 120, true); } //通过报价分类构建因子顺序,仅构建主表相关的因子 foreach (KeyValuePair kvp in dicBJDYZMC) { if (dicBJDYZJJFS.ContainsKey(kvp.Key)) { if (dicBJDYZJJFS[kvp.Key].Equals("MX") || dicBJDYZJJFS[kvp.Key].Equals("DX")) { AddColumn("TZYZ_" + kvp.Key, kvp.Value, 4, 100, true); } else { AddColumn("TZYZ_" + kvp.Key, kvp.Value, 2, 100, true); } } } AddColumn("XLXSBJD_LRL", "表价价差率(%)", 2, 120, JcModule && bXSJCL); AddColumn("XLXSBJD_CLCBJCL", "料价价差率(%)", 2, 120, JcModule && bXSLJJCL); AddColumn("XLXSBJD_ZDXJJCL", "最低限价价差率(%)", 2, 120, JcModule && bXSZDXJ); AddColumn("XLXSBJD_BZ", "报价备注", 200, true); AddColumn("XLXSBJD_WHRID", "维护人工号", 70, false); AddColumn("XLXSBJD_WHR", "维护人", 72, true); AddColumn("XLXSBJD_WHSJ", "维护时间", 125, TDateTimeEditKinds.dtDateTime, true); #endregion } else { #region 构建因子列 dicBJDYZMC.Clear(); dicBJDYZJJFS.Clear(); lstTJYS.Clear(); SQL.Clear(); SQL.Add(" SELECT XLXSBJFLYZ_YZID,XLXSTZYZ_TJYS,XLXSTZYZ_YZMC,XLXSTZYZ_JJFS FROM XLXSBJFLYZ "); SQL.Add(" LEFT JOIN XLXSTZYZ on XLXSTZYZ_YZID = XLXSBJFLYZ_YZID and XLXSTZYZ_MXBH = 'BJD' "); SQL.Add(" where 1=1 "); SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJFLYZ_BJFLID", sCurBJFLID)); SQL.Add(" order by XLXSTZYZ_XSXH,XLXSBJFLYZ_YZID "); DataSet dsBJDYZZ = dberp.OpenDataSet(SQL); for (int i = 0; i < dsBJDYZZ.Tables[0].Rows.Count; i++) { if (!dicBJDYZMC.ContainsKey(dsBJDYZZ.Tables[0].Rows[i]["XLXSBJFLYZ_YZID"].ToString().Trim())) { if (dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("JD") || dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("KD") || dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("SX") ||dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("MD") ||dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("DD")) { sStr = "(%)"; } else if (dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("JJ")) { sStr = "(元)"; } else if (dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("XX")) { sStr = "(不参与调价)"; } dicBJDYZMC.Add(dsBJDYZZ.Tables[0].Rows[i]["XLXSBJFLYZ_YZID"].ToString().Trim(), dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_YZMC"].ToString().Trim() + sStr); dicBJDYZJJFS.Add(dsBJDYZZ.Tables[0].Rows[i]["XLXSBJFLYZ_YZID"].ToString().Trim(), dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim()); lstTJYS.Add(dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_TJYS"].ToString().Trim()); } } #endregion //sCXDX.Equals("BJDMX") string sJGBBJMC = sJGBBJBM.Equals("") ? "表价" : sJGBBJBM; string sBJMC = sBJBM.Equals("") ? "报价" : sBJBM; #region 构建明细的列 AddColumn("XLXSBJDMX_BJDID", "报价单号", 80, true); AddColumn("XLXSBJD_BJRQ", "报价日期", 72, TDateTimeEditKinds.dtDate, true); AddColumn("XLXSBJD_SQR", "申请人", 72, true); AddColumn("BJFLID", "报价分类", 150, true); AddColumn("JGBID", "价格表", 160, true); AddColumn("TBBJFK_FKRQ", "反馈日期", 72, TDateTimeEditKinds.dtDate, true); AddColumn("TJJG", "铜价", 2, 72, true); AddColumn("LJJG", "铝价", 2, 72, true); AddColumn("XLXSBJD_TXY", "销售员", 72, true); AddColumn("XLXSBJD_KH", "客户", 150, true); AddColumn("KHFL", "客户分类", 120, true); AddColumn("XLXSBJD_XMMC", "项目", 150, true); if (QYXZQH) { AddColumn("XMSZDPRO", "项目所在地(省/直辖市/自治区)", 180, true); AddColumn("XMSZDCITY", "项目所在地(市/区/盟/州)", 180, true); } AddColumn("XLXSBJDMX_XH", "序号", 0, 60, false); AddColumn("XLXSBJDMX_XSSX", "显示序号", 0, 100, true); AddColumn("XLXSBJDMX_XLXHID", "型号", 100, true); AddColumn("XLXSBJDMX_XLGGID", "规格", 100, true); AddColumn("XLBZID", "标准", 100, true); AddColumn("XLXSBJDMX_DYDJID", "电压等级", 100, true); AddColumn("XLYSID", "颜色", 100, true); AddColumn("XLXSBJDMX_BJCP", "报价产品", 150, true); AddColumn("TLCP", "铜铝产品", 100, true); AddColumn("CPML", "产品目录", 100, true); AddColumn("CPYT", "产品用途", 150, true); AddColumn("XLXSBJDMX_DZSC", "定制生产",72, TEditType.etCheckBox, true); AddColumn("ZXJM", "主芯截面", 72, true); AddColumn("GGZJM", "规格总截面", 2, 72, true); AddColumn("XLXSBJDMX_JLDW", "计量单位", 100, true); AddColumn("XLXSBJDMX_BJSL", "报价数量", true, 3, 100, true); AddColumn("XLXSBJDMX_CPBJ", sBJMC, iXSWS, 80, true); AddColumn("XLXSBJDMX_BJDHQCLCB", sBJDHQLJBM.Equals("") ? "报价单行情料价" : sBJDHQLJBM, iXSWS, 90, bXSBJDHQLJ); AddColumn("BJDHQCLCBJE", sBJDHQLJBM.Equals("") ? "报价单行情料价金额" : sBJDHQLJBM+"金额", iXSWS, 120, bXSBJDHQLJ); AddColumn("XLXSBJDMX_CLCB", "价格表行情料价", iXSWS, 80, bXSLJ); AddColumn("XLXSBJDMX_JGBJJ", "基价", iXSWS, 80, false); //若存在“线缆销售报价表价”模块的权限,则增加显示价格表调价因子 if (CheckModule("100860010")) { Dictionary dicJZJYZ = XLBJDUtils.GetJZJYZIDDic(); foreach (KeyValuePair kvp in dicJZJYZ) { string sJJFS = XLBJDUtils.GetYZXXByYZID(kvp.Key).XLXSTZYZ_JJFS.Trim(); string sYZMC = kvp.Value; if (sJJFS.Equals("JD") || sJJFS.Equals("KD") || sJJFS.Equals("SX")) sYZMC += "(%)"; else sYZMC += "(元)"; AddColumn("TZYZ_" + kvp.Key, sYZMC, 2, 100, true); } } AddColumn("XLXSBJDMX_JGBBJ", sJGBBJMC, iXSWS, 80, true); //通过报价分类构建因子顺序,构建明细因子 foreach (KeyValuePair kvp in dicBJDYZMC) { if (dicBJDYZJJFS.ContainsKey(kvp.Key)) { if (dicBJDYZJJFS[kvp.Key].Equals("MX") || dicBJDYZJJFS[kvp.Key].Equals("DX")) { AddColumn("TZYZ_" + kvp.Key, kvp.Value, 4, 100, true); } else { AddColumn("TZYZ_" + kvp.Key, kvp.Value, 2, 100, true); } } } AddColumn("XLXSBJDMX_TZQCPBJ", "调整前" + sBJMC, iNumberDecimalPlace, 80, false); AddColumn("XLXSBJDMX_TZCPBJ", "调整" + sBJMC + "(%)", 6, 80, bXSTZJG); AddColumn("XLXSBJDMX_TZQBJJE", sBJMC + "金额", 2, 80, bXSTZJE); AddColumn("XLXSBJDMX_TZBJJE", "调整金额(元)", 2, 80, bXSTZJE); if (bXSTZJE) { AddColumn("XLXSBJDMX_BJJE", string.Format("调整后{0}金额",sBJMC), 2, 90, true); } else { AddColumn("XLXSBJDMX_BJJE", sBJMC + "金额", 2, 90, true); } AddColumn("XLXSBJDMX_ZB", "中标", 72, true); AddColumn("XLXSBJDMX_ZBSL", "中标数量", 3, 72, true); AddColumn("XLXSBJDMX_ZBJE", "中标金额", 2, 72, true); if (!sZBLRGS.Equals("")) AddColumn("XLXSBJDMX_ZBLR", "中标利润", 2, 72, true,true); AddColumn("WLID", "物料编码", 72, true); AddColumn("WLXX", "物料信息", 150, true); AddColumn("TZHDJ", "调整后单价", iXSWS, 90, bXSTZJE); AddColumn("XLXSBJDMX_CLZL", "材料重量(Kg)", 3, 80, true); AddColumn("XLXSBJDMX_CLCBJCL", "料价价差率(%)", 2, 120, bXSLJJCL); AddColumn("XLXSBJDMX_JGBBJJCL", sJGBBJMC + "价差率(%)", 2, 120, bXSJCL); AddColumn("XLXSBJDMX_JGBBJJCE", sJGBBJMC+"价差额", 2, 80, bXSJGBBJJCE); AddColumn("XLXSBJDMX_ZDXJ", "最低限价", iXSWS, 80, bXSZDXJ); AddColumn("XLXSBJDMX_ZDXJJCL", "最低限价价差率(%)", 2, 120, bXSZDXJ); AddColumn("XLXSBJDMX_JSJG", "结算价", iXSWS, 80, bXSJSJG); AddColumn("XLXSBJDMX_BZ", "备注", 200, true); AddColumn("XLXSBJDMX_BJCPSD", "报价产品锁定", 60, TEditType.etCheckBox, false); AddColumn("XLXSBJDMX_BJSDBZ",sBJMC+ "锁定", 60, TEditType.etCheckBox, true); AddColumn("XLXSBJDMX_CLCBJCLSDBZ", "按料价价差率算报价", 60, TEditType.etCheckBox, bXSBJDHQLJ); AddColumn("XLXSBJDMX_WHRID", "维护人工号", 70, false); AddColumn("XLXSBJDMX_WHR", "维护人", 72, true); AddColumn("XLXSBJDMX_WHSJ", "维护时间", 125, TDateTimeEditKinds.dtDateTime, true); AddColumn("HasCLQD", "有无清单", 72, false); AddColumn("HasYLDZSQ", "有无用量制定申请", 72, false); #endregion } } /// /// 获取文档组号 /// /// /// /// private double[] GetFileIDArray(string sBJDIDList, out double dFJS) { dFJS = 0; List fFileIDList = new List(); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select XLXSBJD_FJS, XLXSBJD_DOCGRPID from XLXSBJD "); SQL.Add("where 1 = 1"); SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_BJDID", sBJDIDList)); SQL.Add("order by XLXSBJD_BJDID"); DataSet ds = dberp.OpenDataSet(SQL); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { dFJS += CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["XLXSBJD_FJS"].ToString()); fFileIDList.Add(CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["XLXSBJD_DOCGRPID"].ToString())); } return fFileIDList.ToArray(); } /// /// 复制附件 /// /// /// /// private double CopyAttach(double[] dGroupIdArray, out double dNewFjs) { //获取文件编号 List fileIdList = new List(); for (int i = 0; i < dGroupIdArray.Length; i++) { DocFileInfo[] docFileInfo = FileService.GetFilesInfo(dGroupIdArray[i]); for (int j = 0; j < docFileInfo.Length; j++) fileIdList.Add(docFileInfo[j].FileId); } //获取新文件组号和附件数 DocFileResult DocFiRe = FileService.CopyFiles(fileIdList.ToArray(), 0); dNewFjs = DocFiRe.FileCount; return DocFiRe.GroupId; } /// /// 更新主记录附件 /// /// /// /// /// private void UpdateDocOfBJD(TDatabase dberp, TSQL SQL, string sBJDID, double dFJS, double dDOCGRPID) { SQL.Clear(); SQL.Add(" update XLXSBJD "); SQL.Add(" set XLXSBJD_FJS= :pFJS, "); SQL.Add(" XLXSBJD_DOCGRPID=:pDOCGRPID "); SQL.Add(" where XLXSBJD_BJDID=:pBJDID "); SQL.ParamByName("pFJS").Value = dFJS; SQL.ParamByName("pDOCGRPID").Value = dDOCGRPID; SQL.ParamByName("pBJDID").Value = sBJDID; dberp.ExecSQL(SQL); } private void GetBXSJCL(string sBJFL, ref List ListBXS) { ListBXS.Clear(); foreach (string sBJFLID in sBJFL.Split(',')) { BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID); //显示表价价差率 if (!bjflxx.XSJCL()) { if (!ListBXS.Contains(sBJFLID)) ListBXS.Add(sBJFLID); } } } private void GetBXSZDXJ(string sBJFL, ref List ListBXS) { ListBXS.Clear(); foreach (string sBJFLID in sBJFL.Split(',')) { BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID); #region 按角色隐藏栏目 //获取需要按角色隐藏的栏目ID列表 string sHidJSLMList = XLBJDUtils.GetHidJSLMList(sBJFLID, IsXJY.Value.Equals("Y"), IsSJY.Value.Equals("Y"), IsHJY.Value.Equals("Y")); bool bJSYCZDXJ = false; 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_ZDXJ": bJSYCZDXJ = true; break; } } } #endregion //最低限价 if (!bjflxx.XSZDXJ() || bJSYCZDXJ) { if (!ListBXS.Contains(sBJFLID)) ListBXS.Add(sBJFLID); } } } private void GetBXSLJJCL(string sBJFL, ref List ListBXS) { ListBXS.Clear(); foreach (string sBJFLID in sBJFL.Split(',')) { BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID); //显示价格表行情料价/显示料价价差率 if (!bjflxx.XSLJJCL()) { if (!ListBXS.Contains(sBJFLID)) ListBXS.Add(sBJFLID); } } } private void GetBXSBJDHQLJ(string sBJFL, ref List ListBXS) { ListBXS.Clear(); foreach (string sBJFLID in sBJFL.Split(',')) { BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID); #region 按角色隐藏栏目 //获取需要按角色隐藏的栏目ID列表 string sHidJSLMList = XLBJDUtils.GetHidJSLMList(sBJFLID, IsXJY.Value.Equals("Y"), IsSJY.Value.Equals("Y"), IsHJY.Value.Equals("Y")); bool bJSYCBJDHQLJ = false; 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": bJSYCBJDHQLJ = true; break; } } } #endregion //显示报价单行情料价 if (!bjflxx.XSBJDHQLJ() || bJSYCBJDHQLJ) { if (!ListBXS.Contains(sBJFLID)) ListBXS.Add(sBJFLID); } } } private void GetBXSTZJG(string sBJFL, ref List ListBXS) { ListBXS.Clear(); foreach (string sBJFLID in sBJFL.Split(',')) { BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID); // if (!bjflxx.XSTZCPBJChecked()) { if (!ListBXS.Contains(sBJFLID)) ListBXS.Add(sBJFLID); } } } private void GetBXSTZJE(string sBJFL, ref List ListBXS) { ListBXS.Clear(); foreach (string sBJFLID in sBJFL.Split(',')) { BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID); //显示调整总金额 if (!bjflxx.XSTZBJJEChecked()) { if (!ListBXS.Contains(sBJFLID)) ListBXS.Add(sBJFLID); } } } private void GetBXSJGBBJJCE(string sBJFL, ref List ListBXS) { ListBXS.Clear(); foreach (string sBJFLID in sBJFL.Split(',')) { BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID); //表价价差总额/表价价差额 if (!bjflxx.XSJGBBJJCEChecked()) { if (!ListBXS.Contains(sBJFLID)) ListBXS.Add(sBJFLID); } } } private void GetBXSJSJG(string sBJFL, ref List ListBXS) { ListBXS.Clear(); foreach (string sBJFLID in sBJFL.Split(',')) { BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID); #region 按角色隐藏栏目 //获取需要按角色隐藏的栏目ID列表 string sHidJSLMList = XLBJDUtils.GetHidJSLMList(sBJFLID, IsXJY.Value.Equals("Y"), IsSJY.Value.Equals("Y"), IsHJY.Value.Equals("Y")); bool bJSYCJSJG = false; 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_JSJG": bJSYCJSJG = true; break; } } } #endregion //显示结算价 if (!bjflxx.XSJSJ() || bJSYCJSJG) { if (!ListBXS.Contains(sBJFLID)) ListBXS.Add(sBJFLID); } } } #endregion #region 按钮事件 #region 合并报价、拆分报价 protected void btnHBBJ_Click(object sender, EventArgs e) { DoBJDHB_CF("合并"); } protected void btnCFBJ_Click(object sender, EventArgs e) { DoBJDHB_CF("拆分"); } private void DoBJDHB_CF(string sAct) { if (string.IsNullOrEmpty(grdContentGrid.CheckedRowIndexs)) { ShowMessage("请勾选需要" + sAct + "报价的记录!"); return; } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); DataSet ds = new DataSet(); SQL.Clear(); string sError = ""; string sBJDIDList = "";//记录待合并的报价单号 string sBJDXHList = "";//记录待拆分的报价单序号 //重新生成的序号 string sKHSZDPRO = PageParam.GetRTrimString("KHSZDPRO"); string sKHSZDCITY = PageParam.GetRTrimString("KHSZDCITY"); string sXZQHID = PageParam.GetRTrimString("XZQHID"); if (this.grdContentGrid.CheckBox && !String.IsNullOrEmpty(this.grdContentGrid.CheckedRowIndexs)) { //成功创建记录标志 string[] RowsArry = this.grdContentGrid.CheckedRowIndexs.Split(new char[] { ',' }); if (sAct == "合并") { if (RowsArry.Length < 2) { ShowMessage("请勾选至少两条记录!"); return; } foreach (string sRowIndex in RowsArry) { int iRowIndex = CMISproConvert.StrToInt(sRowIndex.Trim()); sBJDIDList = sBJDIDList + "," + grdContentGrid.DataKeys[iRowIndex]["XLXSBJD_BJDID"].ToString().Trim(); } sBJDIDList = sBJDIDList.TrimStart(',').TrimEnd(','); sBJDXHList = ""; } else { foreach (string sRowIndex in RowsArry) { int iRowIndex = CMISproConvert.StrToInt(sRowIndex.Trim()); sBJDXHList = sBJDXHList + "," + grdContentGrid.DataKeys[iRowIndex]["XLXSBJDMX_XH"].ToString().Trim(); } sBJDXHList = sBJDXHList.TrimStart(',').TrimEnd(','); sBJDIDList = sBJDID; } string sNewBJDID = ""; string sJGBID = ""; string sBJRQ = DateTime.Now.ToShortDateString(); Dictionary dicJGBID = new Dictionary(); SQL.Clear(); SQL.Add(" select XLXSBJD_KH,XLXSBJD_TXY,XLXSBJD_KHLXR "); SQL.Add(" from XLXSBJD "); SQL.Add(" where 1=1 "); SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_BJDID", sBJDIDList)); SQL.Add(" group by XLXSBJD_KH,XLXSBJD_TXY,XLXSBJD_KHLXR "); ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 1) { ShowMessage("仅能" + sAct + "“客户”、“销售员”、“客户联系人”相同的记录!"); return; } SQL.Clear(); SQL.Add(" select XLXSBJD_BJDID "); SQL.Add(" from XLXSBJD "); SQL.Add(" left join TBBJFK on TBBJFK_BJDID = XLXSBJD_BJDID "); SQL.Add(" where isnull(TBBJFK_TBID, ' ')<>' ' "); SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_BJDID", sBJDIDList)); SQL.Add(" order by XLXSBJD_BJDID "); ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { ShowMessage(string.Format("报价单【{0}】已经反馈,不允许{1}!", ds.Tables[0].Rows[0]["XLXSBJD_BJDID"].ToString().Trim(), sAct)); return; } try { dberp.BeginTrans(); #region 初始校验 XLBJDUtils.GetBJDID(sXZQHID, sBJFLID,sSYDWID, ref sNewBJDID, ref sError); if (!sError.Equals("")) { throw new Exception(sError); } if (sNewBJDID.Equals("")) { throw new Exception("报价单号为空!"); } dicJGBID = XLBJDUtils.GetJGBIDByXSQYID("", sBJFLID, sBJRQ, sXSQYID); foreach (KeyValuePair kvp in dicJGBID) { if (sJGBID.Equals("")) { sJGBID = kvp.Key; } } if (sJGBID.Equals("")) { throw new Exception("价格表为空!"); } #endregion #region 插入主表信息 SQL.Clear(); SQL.Add("insert into XLXSBJD "); SQL.Add(" ( "); SQL.Add(" XLXSBJD_BJDID,XLXSBJD_CLHQJGBID,"); SQL.Add(" XLXSBJD_BJFLID,XLXSBJD_KHID,XLXSBJD_XSQYID,"); SQL.Add(" XLXSBJD_SYDWID,XLXSBJD_XSJLMC,XLXSBJD_TXY,XLXSBJD_XSBMID, "); SQL.Add(" XLXSBJD_KH,XLXSBJD_KHLXR,XLXSBJD_LXDH,XLXSBJD_CZ,XLXSBJD_PJLX,XLXSBJD_JZBJHS,"); SQL.Add(" XLXSBJD_XMMC,XLXSBJD_XXDZ,XLXSBJD_FKSM,XLXSBJD_BZ,XLXSBJD_ZJE,XLXSBJD_ZZL,"); SQL.Add(" XLXSBJD_LRL,XLXSBJD_FKQXNR,XLXSBJD_YSJDID,XLXSBJD_GYSID,XLXSBJD_YSFY,"); SQL.Add(" XLXSBJD_TJ,XLXSBJD_LJ,XLXSBJD_CZJSXY,XLXSBJD_KHDH,XLXSBJD_XZQHID,XLXSBJD_XMID,"); SQL.Add(" XLXSBJD_SQR,XLXSBJD_SQRGH,XLXSBJD_SQRID,XLXSBJD_SQRQ,"); SQL.Add(" XLXSBJD_BJRQ, XLXSBJD_JGBID,XLXSBJD_ZT,XLXSBJD_YBJDIDS, "); SQL.Add(" XLXSBJD_WHRID,XLXSBJD_WHR,XLXSBJD_WHSJ "); SQL.Add(" ) "); SQL.Add(" select "); SQL.Add(" :pNewBJDID,XLXSBJD_CLHQJGBID,"); SQL.Add(" XLXSBJD_BJFLID,XLXSBJD_KHID,XLXSBJD_XSQYID,"); SQL.Add(" XLXSBJD_SYDWID,XLXSBJD_XSJLMC,XLXSBJD_TXY,XLXSBJD_XSBMID, "); SQL.Add(" XLXSBJD_KH,XLXSBJD_KHLXR,XLXSBJD_LXDH,XLXSBJD_CZ,XLXSBJD_PJLX,XLXSBJD_JZBJHS,"); SQL.Add(" XLXSBJD_XMMC,XLXSBJD_XXDZ,XLXSBJD_FKSM,XLXSBJD_BZ,XLXSBJD_ZJE,XLXSBJD_ZZL,"); SQL.Add(" XLXSBJD_LRL,XLXSBJD_FKQXNR,XLXSBJD_YSJDID,XLXSBJD_GYSID,XLXSBJD_YSFY,"); SQL.Add(" XLXSBJD_TJ,XLXSBJD_LJ,XLXSBJD_CZJSXY,XLXSBJD_KHDH,XLXSBJD_XZQHID,XLXSBJD_XMID,"); SQL.Add(" :XLXSBJD_SQR,:XLXSBJD_SQRGH,:XLXSBJD_SQRID,:XLXSBJD_SQRQ,"); SQL.Add(" :XLXSBJD_BJRQ,:XLXSBJD_JGBID,:XLXSBJD_ZT,:XLXSBJD_YBJDIDS, "); SQL.Add(" :XLXSBJD_WHRID,:XLXSBJD_WHR,:XLXSBJD_WHSJ "); SQL.Add(" from XLXSBJD "); SQL.Add(" where 1=1 "); SQL.Add(" and XLXSBJD_BJDID=:pBJDID "); SQL.ParamByName("pNewBJDID").Value = sNewBJDID; SQL.ParamByName("pBJDID").Value = sBJDID; SQL.ParamByName("XLXSBJD_SQR").Value = tSession.UserName; SQL.ParamByName("XLXSBJD_SQRGH").Value = tSession.UserId; SQL.ParamByName("XLXSBJD_SQRID").Value = TRYXX.GetRYXXByGH(tSession.UserId).RYID; SQL.ParamByName("XLXSBJD_SQRQ").Value = sBJRQ; SQL.ParamByName("XLXSBJD_BJRQ").Value = sBJRQ; SQL.ParamByName("XLXSBJD_JGBID").Value = sJGBID; if (sAct == "合并") SQL.ParamByName("XLXSBJD_ZT").Value = "H"; else if (sAct == "拆分") SQL.ParamByName("XLXSBJD_ZT").Value = "C"; SQL.ParamByName("XLXSBJD_YBJDIDS").Value = sBJDIDList; SQL.ParamByName("XLXSBJD_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSBJD_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSBJD_WHSJ").Value = DateTime.Now; dberp.ExecSQL(SQL); #endregion #region 手工生成工作流数据 TWorkflow wf = new TWorkflow(tSession, Cache); wf.Enabled = true; wf.UMID = 100860000; wf.WFNewInst(wf.GetWFID("XLXSBJ_BJD"), tSession.UserId); wf.dbe.ExecSQL(string.Format("update XLXSBJD set XLXSBJD_WFID='{0}', XLXSBJD_WPID='{1}', XLXSBJD_ACTNAME = '{2}', XLXSBJD_WFAWAITER='{3}', XLXSBJD_WFHANDLER='{4}', XLXSBJD_WFINST={5} where XLXSBJD_BJDID='{6}' ", wf.WFID, wf.WPID, wf.GetWFActionName(TWFAction.wfaNewInst), wf.Awaiter, wf.Handler, wf.WFInst, sNewBJDID)); #endregion #region 更新附件 double dFJS = 0; double[] dGroupIdArray = GetFileIDArray(sBJDIDList, out dFJS); if (dFJS != 0) { double dNewFjs = 0; double dNewGrpId = CopyAttach(dGroupIdArray, out dNewFjs); UpdateDocOfBJD(dberp, SQL, sNewBJDID, dNewFjs, dNewGrpId); } #endregion #region 初始化 tmpXSWS = string.IsNullOrEmpty(GetOption(100860000, "BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption(100860000, "BJU002")); if (tmpXSWS < 0) { tmpXSWS = 0; } else if (tmpXSWS > 8) { tmpXSWS = 8; } string sXH = ""; string sXSSX = ""; string sXLXHID = ""; string sXLGGID = ""; string sXLBZID = ""; string sDYDJID = ""; string sJLDW = ""; string sBJSL = ""; double fCLZL = 0; double dCPJJ = 0; double dJJ = 0; double dCLCB = 0; double dBJDHQCLCB = 0; string sBJU003 = GetOption(100860000, "BJU003"); string sBJU018 = GetOption(100860000, "BJU018"); //用于传递固定参数计算表价 Dictionary dic = new Dictionary(); //用于记录RowIndex和XH的关系 string sBJDCP = ""; string sBZ = ""; #endregion #region 循环插入明细信息 SQL.Clear(); SQL.Add("select "); SQL.Add(" :pNewBJDID, "); SQL.Add(" row_number()over(order by XLXSBJDMX_BJDID,XLXSBJDMX_XSSX,XLXSBJDMX_XH) as XH, "); SQL.Add(" row_number()over(order by XLXSBJDMX_BJDID,XLXSBJDMX_XSSX,XLXSBJDMX_XH) as XSSX, "); SQL.Add(" XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID, XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,"); SQL.Add(" XLXSBJDMX_XLYSID,XLXSBJDMX_CPMLMC,XLXSBJDMX_BJCP,"); SQL.Add(" XLXSBJDMX_JLDW,XLXSBJDMX_BJSL,"); SQL.Add(" XLXSBJDMX_JGBBJ,XLXSBJDMX_TZQCPBJ,XLXSBJDMX_TZCPBJ,"); SQL.Add(" XLXSBJDMX_CPBJ,XLXSBJDMX_TZQBJJE,XLXSBJDMX_TZBJJE,XLXSBJDMX_BJJE,XLXSBJDMX_JGBJJ,XLXSBJDMX_CLCB,"); SQL.Add(" XLXSBJDMX_JGBBJJCL,XLXSBJDMX_JGBBJJCE,XLXSBJDMX_CLZL,XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CLCBJCL,"); SQL.Add(" XLXSBJDMX_BJCPSD,XLXSBJDMX_BJSDBZ,XLXSBJDMX_CLCBJCLSDBZ,XLXSBJDMX_ZDXJ,XLXSBJDMX_ZDXJJCL,"); SQL.Add(" XLXSBJDMX_BJDID,XLXSBJDMX_XH, "); //后续增补数据 SQL.Add(" XLXSBJDMX_WGCPBZ, "); SQL.Add(" XLXSBJDMX_BZ,XLXSBJDMX_WHRID,XLXSBJDMX_WHR,XLXSBJDMX_WHSJ, "); 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,XLXSBJDMX_ZDXJBJDID,XLXSBJDMX_ZDXJBJDXH "); SQL.Add(" from XLXSBJDMX "); SQL.Add(" left join XLXSBJDYZZ0 on XLXSBJDYZZ0_BJDID=XLXSBJDMX_BJDID and XLXSBJDYZZ0_XH=XLXSBJDMX_XH"); SQL.Add(" where 1=1 "); SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJDMX_BJDID", sBJDIDList)); if (!sBJDXHList.Trim().Equals("")) SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJDMX_XH", sBJDXHList)); SQL.Add(" order by XLXSBJDMX_BJDID,XLXSBJDMX_XSSX,XLXSBJDMX_XH "); SQL.ParamByName("pNewBJDID").Value = sNewBJDID; ds = dberp.OpenDataSet(SQL); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { SQL.Clear(); sXH = ds.Tables[0].Rows[i]["XH"].ToString().Trim(); sXSSX = ds.Tables[0].Rows[i]["XSSX"].ToString().Trim(); sXLXHID = ds.Tables[0].Rows[i]["XLXSBJDMX_XLXHID"].ToString().Trim(); sXLGGID = ds.Tables[0].Rows[i]["XLXSBJDMX_XLGGID"].ToString().Trim(); sXLBZID = ds.Tables[0].Rows[i]["XLXSBJDMX_XLBZID"].ToString().Trim(); sDYDJID = ds.Tables[0].Rows[i]["XLXSBJDMX_DYDJID"].ToString().Trim().Equals("") ? " " : ds.Tables[0].Rows[i]["XLXSBJDMX_DYDJID"].ToString().Trim(); sJLDW = ds.Tables[0].Rows[i]["XLXSBJDMX_JLDW"].ToString().Trim(); sBJDCP = ds.Tables[0].Rows[i]["XLXSBJDMX_BJCP"].ToString().Trim(); sBJSL = ds.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim(); sBZ = ds.Tables[0].Rows[i]["XLXSBJDMX_BZ"].ToString().Trim(); #region 根据四要素算表价----参照用量制定-XLBJDInfo.aspx.cs UpdateBJCPByCLCYZD(Line 12249) fCLZL = 0; dCPJJ = 0; dJJ = 0; dCLCB = 0; dBJDHQCLCB = 0; dic.Clear(); dic.Add("sXH", sXH); dic.Add("fBJSL", sBJSL); dic.Add("sJLDW", sJLDW); dic.Add("iXSWS", tmpXSWS.ToString().Trim()); dic.Add("sXSQYID", sXSQYID); dic.Add("sBJFLID", sBJFLID); dic.Add("sJGBID", sJGBID); dic.Add("sBJDHQLY", PageParam.GetRTrimString("BJDHQLY")); dic.Add("sBJRQ", sBJRQ); dic.Add("sJGBIDS", PageParam.GetRTrimString("JGBIDS")); dic.Add("fJZBJHS", PageParam.GetRTrimString("HSBZ")); dic.Add("sLJJCLLX", PageParam.GetRTrimString("LJJCLLX")); dic.Add("sJCLLX", PageParam.GetRTrimString("JCLLX")); dic.Add("sBJLY", PageParam.GetRTrimString("BJLY")); dic.Add("sJSBLFS", PageParam.GetRTrimString("JSBLFS")); dic.Add("sTZCLHQ", PageParam.GetRTrimString("NeedUpdBJDHQCLCB")); dic.Add("sJGCIDS", PageParam.GetRTrimString("JGCIDS")); dic.Add("sJGBTJYS", PageParam.GetRTrimString("JGBTJYS")); dic.Add("sTBJCLID", PageParam.GetRTrimString("TBJCLID")); dic.Add("sLBJCLID", PageParam.GetRTrimString("LBJCLID")); dic.Add("sTJ", PageParam.GetRTrimString("TJ")); dic.Add("sLJ", PageParam.GetRTrimString("LJ")); dic.Add("sBJU003", sBJU003); dic.Add("sBJU018", sBJU018); string sWGCPBZ = "N"; string sJGFBZ = "N"; Dictionary dicJJYZList_JGE = new Dictionary(); XLBJDUtils.UpdateXLXSBJDMX_JGBBJ(dberp, SQL, sBJDID, sXLXHID, sXLGGID, sXLBZID, sDYDJID, dic, ref dCPJJ, ref dJJ, ref dCLCB, ref dBJDHQCLCB, ref fCLZL, ref dicJJYZList_JGE, ref sWGCPBZ, ref sJGFBZ); if (dicJJYZList_JGE.Count > 0) { SQL.Clear(); SQL.Add("insert into XLXSBJDJJYZ(XLXSBJDJJYZ_BJDID,XLXSBJDJJYZ_XH,XLXSBJDJJYZ_YZZ01,XLXSBJDJJYZ_YZZ02,XLXSBJDJJYZ_YZZ03,XLXSBJDJJYZ_YZZ04,"); SQL.Add(" XLXSBJDJJYZ_YZZ05,XLXSBJDJJYZ_YZZ06,XLXSBJDJJYZ_YZZ07,XLXSBJDJJYZ_YZZ08,XLXSBJDJJYZ_YZZ09,XLXSBJDJJYZ_YZZ10)"); SQL.Add(" values(:pBJDID,:pBJDXH,:pYZZ01,:pYZZ02,:pYZZ03,:pYZZ04,:pYZZ05,:pYZZ06,:pYZZ07,:pYZZ08,:pYZZ09,:pYZZ10)"); SQL.ParamByName("pBJDID").Value = sNewBJDID; SQL.ParamByName("pBJDXH").Value = sXH; SQL.ParamByName("pYZZ01").Value = dicJJYZList_JGE["JZ01"]; SQL.ParamByName("pYZZ02").Value = dicJJYZList_JGE["JZ02"]; SQL.ParamByName("pYZZ03").Value = dicJJYZList_JGE["JZ03"]; SQL.ParamByName("pYZZ04").Value = dicJJYZList_JGE["JZ04"]; SQL.ParamByName("pYZZ05").Value = dicJJYZList_JGE["JZ05"]; SQL.ParamByName("pYZZ06").Value = dicJJYZList_JGE["JZ06"]; SQL.ParamByName("pYZZ07").Value = dicJJYZList_JGE["JZ07"]; SQL.ParamByName("pYZZ08").Value = dicJJYZList_JGE["JZ08"]; SQL.ParamByName("pYZZ09").Value = dicJJYZList_JGE["JZ09"]; SQL.ParamByName("pYZZ10").Value = dicJJYZList_JGE["JZ10"]; dberp.ExecSQL(SQL); } SQL.Clear(); SQL.Add(" insert into XLXSBJDMX( "); SQL.Add(" XLXSBJDMX_BJDID, XLXSBJDMX_XH,XLXSBJDMX_XSSX, XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID, "); SQL.Add(" XLXSBJDMX_XLBZID, XLXSBJDMX_DYDJID, XLXSBJDMX_XLYSID, XLXSBJDMX_BJCP, XLXSBJDMX_CPMLMC, "); SQL.Add(" XLXSBJDMX_JLDW, XLXSBJDMX_BJSL,XLXSBJDMX_XDXLXHID,XLXSBJDMX_XDXLBZID, "); SQL.Add(" XLXSBJDMX_JGBBJ,XLXSBJDMX_JGBJJ,XLXSBJDMX_CLCB,XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CLZL, "); SQL.Add(" XLXSBJDMX_BJSDBZ,XLXSBJDMX_CPBJ, "); //后续增补数据 SQL.Add(" XLXSBJDMX_WGCPBZ,XLXSBJDMX_JGFBZ, "); SQL.Add(" XLXSBJDMX_BZ, XLXSBJDMX_DZSC, XLXSBJDMX_WHRID, XLXSBJDMX_WHR, XLXSBJDMX_WHSJ,XLXSBJDMX_ZDXJBJDID,XLXSBJDMX_ZDXJBJDXH )"); SQL.Add(" values("); SQL.Add(" :pNewBJDID, :XLXSBJDMX_XH, :XLXSBJDMX_XSSX, :XLXSBJDMX_XLXHID, :XLXSBJDMX_XLGGID, "); SQL.Add(" :XLXSBJDMX_XLBZID, isnull(:XLXSBJDMX_DYDJID,' '), :XLXSBJDMX_XLYSID, :XLXSBJDMX_BJCP, :XLXSBJDMX_CPMLMC, "); SQL.Add(" :XLXSBJDMX_JLDW, :XLXSBJDMX_BJSL,:XLXSBJDMX_XDXLXHID,:XLXSBJDMX_XDXLBZID, "); SQL.Add(" :XLXSBJDMX_JGBBJ, :XLXSBJDMX_JGBJJ, :XLXSBJDMX_CLCB, :XLXSBJDMX_BJDHQCLCB, :XLXSBJDMX_CLZL, "); SQL.Add(" :XLXSBJDMX_BJSDBZ,:XLXSBJDMX_CPBJ, "); //后续增补数据 SQL.Add(" :XLXSBJDMX_WGCPBZ,:XLXSBJDMX_JGFBZ, "); SQL.Add(" :XLXSBJDMX_BZ, :XLXSBJDMX_DZSC, :XLXSBJDMX_WHRID, :XLXSBJDMX_WHR, :XLXSBJDMX_WHSJ,:XLXSBJDMX_ZDXJBJDID,:XLXSBJDMX_ZDXJBJDXH )"); SQL.ParamByName("pNewBJDID").Value = sNewBJDID; SQL.ParamByName("XLXSBJDMX_XH").Value = sXH; SQL.ParamByName("XLXSBJDMX_XSSX").Value = sXSSX; SQL.ParamByName("XLXSBJDMX_XLXHID").Value = sXLXHID; SQL.ParamByName("XLXSBJDMX_XDXLXHID").Value = sXLXHID; SQL.ParamByName("XLXSBJDMX_XLGGID").Value = sXLGGID; SQL.ParamByName("XLXSBJDMX_XLBZID").Value = sXLBZID; SQL.ParamByName("XLXSBJDMX_XDXLBZID").Value = sXLBZID; SQL.ParamByName("XLXSBJDMX_DYDJID").Value = sDYDJID; SQL.ParamByName("XLXSBJDMX_XLYSID").Value = XLBJDInfo.GetDefaultYSID(sXLXHID, sXLGGID); SQL.ParamByName("XLXSBJDMX_BJCP").Value = sBJDCP; SQL.ParamByName("XLXSBJDMX_CPMLMC").Value = ds.Tables[0].Rows[i]["XLXSBJDMX_CPMLMC"].ToString().Trim(); SQL.ParamByName("XLXSBJDMX_JLDW").Value = sJLDW; SQL.ParamByName("XLXSBJDMX_BJSL").Value = sBJSL; SQL.ParamByName("XLXSBJDMX_JGBBJ").Value = dCPJJ; SQL.ParamByName("XLXSBJDMX_JGBJJ").Value = dJJ; SQL.ParamByName("XLXSBJDMX_CLCB").Value = dCLCB; SQL.ParamByName("XLXSBJDMX_BJDHQCLCB").Value = dBJDHQCLCB; SQL.ParamByName("XLXSBJDMX_CLZL").Value = ds.Tables[0].Rows[i]["XLXSBJDMX_CLZL"].ToString().Trim(); SQL.ParamByName("XLXSBJDMX_BZ").Value = sBZ; SQL.ParamByName("XLXSBJDMX_BJSDBZ").Value = "Y";//报价锁定默认为Y SQL.ParamByName("XLXSBJDMX_CPBJ").Value = ds.Tables[0].Rows[i]["XLXSBJDMX_CPBJ"].ToString().Trim(); //后续增补数据 SQL.ParamByName("XLXSBJDMX_WGCPBZ").Value = sWGCPBZ; SQL.ParamByName("XLXSBJDMX_JGFBZ").Value = sJGFBZ; if (XLBJDUtils.ISDZBZ(sXLBZID)) { SQL.ParamByName("XLXSBJDMX_DZSC").Value = "Y"; } else { SQL.ParamByName("XLXSBJDMX_DZSC").Value = "N"; } SQL.ParamByName("XLXSBJDMX_WHR").Value = ds.Tables[0].Rows[i]["XLXSBJDMX_WHR"].ToString().Trim(); SQL.ParamByName("XLXSBJDMX_WHRID").Value = ds.Tables[0].Rows[i]["XLXSBJDMX_WHRID"].ToString().Trim(); SQL.ParamByName("XLXSBJDMX_WHSJ").Value = ds.Tables[0].Rows[i]["XLXSBJDMX_WHSJ"].ToString().Trim(); SQL.ParamByName("XLXSBJDMX_ZDXJBJDID").Value = ds.Tables[0].Rows[i]["XLXSBJDMX_ZDXJBJDID"].ToString().Trim(); SQL.ParamByName("XLXSBJDMX_ZDXJBJDXH").Value = ds.Tables[0].Rows[i]["XLXSBJDMX_ZDXJBJDXH"].ToString().Trim(); dberp.ExecSQL(SQL); #endregion #region 直接以源报价单因子插入 SQL.Clear(); SQL.Add(" insert into XLXSBJDYZZ0 "); SQL.Add(" ("); SQL.Add(" XLXSBJDYZZ0_BJDID, XLXSBJDYZZ0_XH, "); 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(" )"); SQL.Add(" values "); SQL.Add(" ("); SQL.Add(" :pNewBJDID, :XLXSBJDYZZ0_XH, "); 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(" )"); SQL.ParamByName("pNewBJDID").Value = sNewBJDID; SQL.ParamByName("XLXSBJDYZZ0_XH").Value = ds.Tables[0].Rows[i]["XH"].ToString().Trim(); SQL.ParamByName("XLXSBJDYZZ0_YZZ01").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ01"].ToString().Trim(); SQL.ParamByName("XLXSBJDYZZ0_YZZ02").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ02"].ToString().Trim(); SQL.ParamByName("XLXSBJDYZZ0_YZZ03").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ03"].ToString().Trim(); SQL.ParamByName("XLXSBJDYZZ0_YZZ04").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ04"].ToString().Trim(); SQL.ParamByName("XLXSBJDYZZ0_YZZ05").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ05"].ToString().Trim(); SQL.ParamByName("XLXSBJDYZZ0_YZZ06").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ06"].ToString().Trim(); SQL.ParamByName("XLXSBJDYZZ0_YZZ07").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ07"].ToString().Trim(); SQL.ParamByName("XLXSBJDYZZ0_YZZ08").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ08"].ToString().Trim(); SQL.ParamByName("XLXSBJDYZZ0_YZZ09").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ09"].ToString().Trim(); SQL.ParamByName("XLXSBJDYZZ0_YZZ10").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ10"].ToString().Trim(); SQL.ParamByName("XLXSBJDYZZ0_YZZ11").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ11"].ToString().Trim(); SQL.ParamByName("XLXSBJDYZZ0_YZZ12").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ12"].ToString().Trim(); SQL.ParamByName("XLXSBJDYZZ0_YZZ13").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ13"].ToString().Trim(); SQL.ParamByName("XLXSBJDYZZ0_YZZ14").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ14"].ToString().Trim(); SQL.ParamByName("XLXSBJDYZZ0_YZZ15").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ15"].ToString().Trim(); SQL.ParamByName("XLXSBJDYZZ0_YZZ16").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ16"].ToString().Trim(); SQL.ParamByName("XLXSBJDYZZ0_YZZ17").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ17"].ToString().Trim(); SQL.ParamByName("XLXSBJDYZZ0_YZZ18").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ18"].ToString().Trim(); SQL.ParamByName("XLXSBJDYZZ0_YZZ19").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ19"].ToString().Trim(); SQL.ParamByName("XLXSBJDYZZ0_YZZ20").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ20"].ToString().Trim(); dberp.ExecSQL(SQL); #endregion } #endregion #region 同步补充插入XLXSCLQD、XLXSJGBMX中没有的记录 XLBJDInfo.InsertCLQDorJGBMX(sNewBJDID, sJGBID, PageParam.GetRTrimString("JGCIDS"), tSession); #endregion #region 同步插入XLXSBJDCLCB、XLXSBJDJJYZ XLBJDInfo.InsertCLCBandJJYZ(TControlState.ctsInsert, sNewBJDID, sJGBID, tSession.UserId, tSession.UserName, sBJU003, PageParam.GetRTrimString("HSBZ").Equals("Y")); #endregion string sErrorNum = string.Empty; XLBJDUtils.UpdateXDXLBZID(dberp, SQL, sNewBJDID, "", 0, ref sErrorNum); #region 计算报价 XLBJDUtils.UpdateBJDMX(dberp, SQL, sBJFLID, sNewBJDID, tmpXSWS, PageParam.GetRTrimString("JCLLX"), PageParam.GetRTrimString("LJJCLLX"), PageParam.GetRTrimString("CPBJMRXSWS"), "", 0); #endregion #region 计算最新限价 XLBJDUtils.UpdateZDXJGS(sNewBJDID, sBJFLID, GetOption(100860000, "BJU002"), "", 0); XLBJDUtils.UpdateJSJGS(sNewBJDID, sBJFLID, GetOption(100860000, "BJU002"), "", 0); #endregion #region 短米校验和修正 XLBJDCalcUtils.Check_UpdBJSLYZZ(dberp, SQL, sNewBJDID, sBJFLID, GetOption(100860000, "BJU002"), sBJU003); #endregion #region 更新报价单主表记录 XLBJDUtils.UpdateXLXSBJD(dberp, SQL, sNewBJDID, PageParam.GetRTrimString("JCLLX"), PageParam.GetRTrimString("LJJCLLX"), PageParam.GetRTrimString("ZDXJJCLLX"), PageParam.GetRTrimString("JYF"), PageParam.GetRTrimString("YSJDID"), PageParam.GetRTrimString("GYSID"), PageParam.GetRTrimString("YFWLID"), PageParam.GetRTrimString("BJHYF")); #endregion dberp.CommitTrans(); string sWFID = wf.WFID; string sWFINST = wf.WFInst.ToString().Trim(); TPageParams tpp = new TPageParams(); tpp.UrlPath = "XLBJDInfo.aspx"; tpp.AddString("XLXSBJD_BJDID", sNewBJDID); tpp.AddString("WFID", sWFID); tpp.AddString("WFINST", sWFINST); tpp.CallAction = TPageCallAction.pcaEdit; OpenModuleDialog(100860000, tpp); } catch (Exception ex) { dberp.RollbackTrans(); ShowMessage(ex.ToString().Trim()); } } } #endregion #endregion #region GridView增加列 /// /// 设置etCheckBox列的属性 /// /// /// /// /// private void AddColumn(string sDataField, string HeadText, int Width, TEditType TEditType, 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; grdContentGrid.Columns.Add(Column); gtGridView_Column ColumnEx = new gtGridView_Column(); ColumnEx.DataField = sDataField; ColumnEx.EditType = TEditType; grdContentGrid.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; grdContentGrid.Columns.Add(Column); gtGridView_Column ColumnEx = new gtGridView_Column(); ColumnEx.DataField = sDataField; ColumnEx.EditType = TEditType.etString; ColumnEx.ShowHint = true; grdContentGrid.ColumnsEx.Insert(0, ColumnEx); } /// /// 设置etNumber列的属性 /// /// /// /// /// private void AddColumn(string sDataField, string HeadText, int NumberDecimalPlace, int Width, bool bVisible,bool bShowZero) { BoundField Column = new BoundField(); Column.DataField = sDataField; Column.HeaderText = HeadText; Column.ItemStyle.Width = (Unit)Width; Column.HeaderStyle.Width = (Unit)Width; Column.Visible = bVisible; 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; ColumnEx.ShowZero = bShowZero; grdContentGrid.ColumnsEx.Insert(0, ColumnEx); } /// /// 设置etNumber列的属性 /// /// /// /// /// private void AddColumn(string sDataField, string HeadText, int NumberDecimalPlace, 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; 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); } /// /// 设置etNumber列的属性(报价数量) /// /// /// /// /// /// private void AddColumn(string sDataField, string HeadText, bool NumberIsQuantity, int NumberDecimalPlace, 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; 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.NumberIsQuantity = NumberIsQuantity; ColumnEx.NumberDecimalPlace = NumberDecimalPlace; grdContentGrid.ColumnsEx.Insert(0, ColumnEx); } /// /// 设置etDateTime列的属性 /// /// /// /// /// private void AddColumn(string sDataField, string HeadText, int Width, TDateTimeEditKinds DateTimeKind, bool bVisible) { BoundField Column = new BoundField(); Column.DataField = sDataField; Column.HeaderText = HeadText; Column.Visible = bVisible; Column.ItemStyle.Width = (Unit)(DateTimeKind == TDateTimeEditKinds.dtDateTime ? 125 : 72); Column.HeaderStyle.Width = (Unit)(DateTimeKind == TDateTimeEditKinds.dtDateTime ? 125 : 72); grdContentGrid.Columns.Add(Column); gtGridView_Column ColumnEx = new gtGridView_Column(); ColumnEx.DataField = sDataField; ColumnEx.EditType = TEditType.etDateTime; ColumnEx.DateTimeEditKins = DateTimeKind; grdContentGrid.ColumnsEx.Insert(0, ColumnEx); } #endregion } }