using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using GThinking.N_MISPRO; using GThinking.N_MODEL.Page; using GThinking.N_MISPRO.Data; using GThinking.N_PUBLIC; using System.Text; using GThinking.N_MISPRO.Utility; using GThinking.N_MISPRO.TableCache; using GThinking.N_WORKFLOW; using System.Drawing; using System.Collections.Generic; namespace GThinking.U20261363_N_XLXSBJ { [TableMap(DB = "DBERP", DbTableName = "XLXSBJD", Umid = 100860174, IsWorkFlow = false, IsAttach = false, UseWhr = false)] public class ZDFX : EntityManager { } public partial class ZDFXList : SingleGridBase { ZDFX entity = new ZDFX(); ZDFX_M qryEntity = new ZDFX_M(); private string sTSC = ""; private DateTime dBJRQ = CMISproConvert.StrToDateTime("1900-01-01"); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860174; this.UMName = "撞单分析查询"; this.CurMaster = Master; this.ModuleGV = grdContentGrid; this.CurEntity = entity; this.CurQueryEntity = qryEntity; this.sQueryURLTarget = "ZDFXQuery.aspx"; this.PageHeight = 700; this.PageWidth = 1050; Master.EnableNewBtn = false; Master.EnableEditBtn = false; Master.EnableCopyBtn = false; Master.EnableDeleteBtn = false; Master.EnableViewBtn = false; base.DataKeyNames = new string[] { "XLXSBJD_BJDID", "XLXSBJD_BJRQ", "ZBQK", "sBZBJDH" }; if (!IsPostBack) { CurQueryEntity.FieldByName("ND").Value = "2"; if (!PageParam.GetRTrimString("BJDID").Trim().Equals("")) { if (XLBJDUtils.GetXLXSBJPZXX(100860068).XLXSBJPZ_ZDQRWPID.Equals("")) { btnQD.Visible = true; btnQX.Visible = true; } else { btnQD.Visible = false; btnQX.Visible = false; } CurQueryEntity.FieldByName("BZBJDH").Value = PageParam.GetRTrimString("BJDID").Trim(); CurQueryEntity.FieldByName("SFYXXG").Value = "N"; } else { btnQD.Visible = false; btnQX.Visible = false; CurQueryEntity.FieldByName("SFYXXG").Value = "Y"; } InitCXTJ(); } if (PageParam.ContainsKey("BJDID")) { if (CMISproDataBase.ExistsRecord("DBERP", "select 1 from XLXSBJD WHERE XLXSBJD_BJDID='" + PageParam.GetRTrimString("BJDID").Trim() + "' and isnull(XLXSBJD_ZDQRRGH,' ')<>' ' and isnull(XLXSBJD_BJDID,' ')<>' '")) { btnQD.Enabled = false; btnQX.Enabled = true; } else { btnQD.Enabled = true; btnQX.Enabled = false; } } base.InitPage(); //InitColumn(); if (!CheckModule("100860046")) { int index1 = grdContentGrid.Columns.IndexOf(grdContentGrid.FindColumnByFieldName("YFK")); grdContentGrid.Columns[index1].Visible = false; } if (!IsPostBack) { XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860068); if (pzxx.XLXSBJPZ_CPCF.Trim().Equals("N")) { tdlblCPCFGS.Style.Add("display", "none"); tdtxtCPCFBL.Style.Add("display", "none"); tdlblCPCFBL.Style.Add("display", "none"); tdtxtCPCFGS.Style.Add("display", "none"); } if (pzxx.XLXSBJPZ_CPSLCF.Trim().Equals("N")) { tdlblCPSLCFGS.Style.Add("display", "none"); tdtxtCPSLCFGS.Style.Add("display", "none"); tdlblCPSLCFBL.Style.Add("display", "none"); tdtxtCPSLCFBL.Style.Add("display", "none"); } if (!ZDFXPZHelper.IsGGSLCFEnabled()) { tdlblGGSLCFGS.Style.Add("display", "none"); tdtxtGGSLCFGS.Style.Add("display", "none"); tdlblGGSLCFBL.Style.Add("display", "none"); tdtxtGGSLCFBL.Style.Add("display", "none"); } if (pzxx.XLXSBJPZ_XMMCCZCF.Trim().Equals("N")) { tdlblCZCFGS.Style.Add("display", "none"); tdtxtCZCFGS.Style.Add("display", "none"); } if (pzxx.XLXSBJPZ_XHGGCF.Trim().Equals("N")) { tdlblXHGGCFBL.Style.Add("display", "none"); tdtxtXHGGCFBL.Style.Add("display", "none"); } if (PageParam.ContainsKey("BJDID")) { if (pzxx.XLXSBJPZ_KHTXYXZ.Equals("N") && pzxx.XLXSBJPZ_KHMCCF.Equals("N") && pzxx.XLXSBJPZ_BAXMKHMCCF.Equals("N") && pzxx.XLXSBJPZ_XMKHMCXZ.Equals("N") && pzxx.XLXSBJPZ_KHMCXMMCCF.Equals("N")) { tdlblBZKH.Style.Add("display", "none"); tdtxtBZKH.Style.Add("display", "none"); } if (pzxx.XLXSBJPZ_XMMCCF.Equals("N") && pzxx.XLXSBJPZ_XMMCCZCF.Equals("N") && pzxx.XLXSBJPZ_BAXMKHMCCF.Equals("N") && pzxx.XLXSBJPZ_BAXMMCCF.Equals("N") && pzxx.XLXSBJPZ_BAXMMCTXYCF.Equals("N") && pzxx.XLXSBJPZ_XMKHMCXZ.Equals("N") && pzxx.XLXSBJPZ_KHMCXMMCCF.Equals("N")) { tdlblBZXM.Style.Add("display", "none"); tdtxtBZXM.Style.Add("display", "none"); } } if (base.IsDefaultExecute) { Master_OnStandardQuery(null, null); } } } #region 模板事件继承 protected override void Master_OnStandardQuery(object sender, EventArgs e) { XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860068); if (txtCPCFBL.Value > 100) { ShowMessage("产品重复比例不允许大于100"); return; } if (txtXHGGCFBL.Value > 100) { ShowMessage("型号规格重复比例不允许大于100"); return; } if (txtGGSLCFBL.Value > 100) { ShowMessage("规格+数量重复比例不允许大于100"); return; } base.InitEntityByCondition(); InitColumn(); string sZDLX = CurQueryEntity.FieldByName("ZDLX").Value.Trim(); if ((sZDLX.Equals("") && pzxx.XLXSBJPZ_XMMCCZCF == "Y") || sZDLX.Contains("4")) { if (txtCZCFGS.Value <= 0) { ShowMessage("词组重复个数必须大于0"); return; } } if ((sZDLX.Equals("") && pzxx.XLXSBJPZ_CPCF == "Y") || sZDLX.Contains("5")) { if (txtCPCFGS.Value <= 0) { ShowMessage("产品重复个数必须大于0"); return; } if (txtCPCFBL.Value <= 0) { ShowMessage("产品重复比例必须大于0"); return; } } if ((sZDLX.Equals("") && pzxx.XLXSBJPZ_CPSLCF == "Y") || sZDLX.Contains("6")) { if (txtCPSLCFGS.Value <= 0) { ShowMessage("产品+数量重复个数必须大于0"); return; } } if ((sZDLX.Equals("") && ZDFXPZHelper.IsGGSLCFEnabled()) || sZDLX.Contains("16")) { if (txtGGSLCFGS.Value <= 0) { ShowMessage("规格+数量重复个数必须大于0"); return; } } if ((sZDLX.Equals("") && pzxx.XLXSBJPZ_XHGGCF == "Y") || sZDLX.Contains("7")) { if (txtCPCFBL.Value <= 0) { ShowMessage("型号规格重复比例必须大于0"); return; } } entity.EntityTable.QuerySelSql = GetSQL(); base.Master_OnStandardQuery(sender, e); entity.GridDataBind(grdContentGrid, tSession); } protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { string sZDYY = CurQueryEntity.FieldByName("ZDYY").Value.Trim() + ","; if (sZDYY.Contains("4")) { DateTime dCurBJRQ = CMISproConvert.StrToDateTime(grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_BJRQ"].ToString().Trim()); if ((dCurBJRQ < dBJRQ && dCurBJRQ.AddYears(2) >= dBJRQ) || (dCurBJRQ >= dBJRQ && dBJRQ.AddYears(2) >= dCurBJRQ))//2年以内才处理词组相同内容 { string sCZCF = ""; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); sql.Clear(); sql.Add("select XLXSBJZDCZ_XMCZ from XLXSBJZDCZ GJCA where GJCA.XLXSBJZDCZ_BJDID=:pZJBJDID and GJCA.XLXSBJZDCZ_XMCZ in "); sql.Add(" (select GJCB.XLXSBJZDCZ_XMCZ from XLXSBJZDCZ GJCB where GJCB.XLXSBJZDCZ_BJDID=:pDFBJDID "); if (!sTSC.Equals("")) sql.Add(" and not " + sTSC); sql.Add(" )"); sql.ParamByName("pZJBJDID").Value = grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_BJDID"].ToString().Trim(); if (PageParam.ContainsKey("BJDID")) sql.ParamByName("pDFBJDID").Value = PageParam.GetRTrimString("BJDID"); else sql.ParamByName("pDFBJDID").Value = CurQueryEntity.FieldByName("BZBJDH").Value.Trim(); DataSet ds = dberp.OpenDataSet(sql); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) sCZCF += ds.Tables[0].Rows[i]["XLXSBJZDCZ_XMCZ"].ToString().Trim() + ","; } if (!sCZCF.Equals("")) sCZCF = sCZCF.TrimEnd(','); for (int iCol = 0; iCol < grdContentGrid.Columns.Count; iCol++) { if (grdContentGrid.Columns[iCol] is BoundField && ((BoundField)grdContentGrid.Columns[iCol]).DataField == "CZXTNR") { e.Row.Cells[iCol].Text = sCZCF; break; } } } } if (grdContentGrid.DataKeys[e.Row.RowIndex]["ZBQK"].ToString().Trim().Equals("Y")) { e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml("#87CEFA"); } if (CMISproDataBase.ExistsRecord("DBERP", "select 1 from XLXSBJD WHERE XLXSBJD_BJDID='" + grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_BJDID"].ToString().Trim() + "' and isnull(XLXSBJD_KQZYZDBS,'N')='Y'")) { e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml(GetOption(100860068,"BJU058")); } } base.moduleGV_RowDataBound(sender, e); } protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e) { base.InitEntityByCondition(); string sZDLX = CurQueryEntity.FieldByName("ZDLX").Value.Trim(); if (sZDLX.Equals("") || sZDLX.Contains("4")) { if (txtCZCFGS.Value <= 0) { ShowMessage("词组重复个数必须大于0"); return; } } if (sZDLX.Equals("") || sZDLX.Contains("5")) { if (txtCPCFGS.Value <= 0) { ShowMessage("产品重复个数必须大于0"); return; } if (txtCPCFBL.Value <= 0) { ShowMessage("产品重复比例必须大于0"); return; } } if (sZDLX.Equals("") || sZDLX.Contains("6")) { if (txtCPSLCFGS.Value <= 0) { ShowMessage("产品+数量重复个数必须大于0"); return; } } if (sZDLX.Equals("") || sZDLX.Contains("16")) { if (txtGGSLCFGS.Value <= 0) { ShowMessage("规格+数量重复个数必须大于0"); return; } } if (sZDLX.Equals("") || sZDLX.Contains("7")) { if (txtCPCFBL.Value <= 0) { ShowMessage("型号规格重复比例必须大于0"); return; } } InitColumn(); entity.EntityTable.QuerySelSql = GetSQL(); grdContentGrid.SelectedIndex = -1; base.moduleGV_PageIndexChanging(sender, e); } #endregion #region 自定义函数 private void InitColumn()//控制配置的列是否显示 { XLXSBJPZXX xlxsbjpzxx = XLBJDUtils.GetXLXSBJPZXX(100860068); if (xlxsbjpzxx.XLXSBJPZ_YCJGXGLM.Equals("Y")) { grdContentGrid.FindColumnByFieldName("XLXSBJD_ZJE").Visible = false; } else { grdContentGrid.FindColumnByFieldName("XLXSBJD_ZJE").Visible = true; } string sZDYY = CurQueryEntity.FieldByName("ZDYY").Value.Trim(); Mac.MacLog.TraceFormat("sZDYY:" + sZDYY); if (sZDYY.Contains("4")) //项目名称词组重复 { grdContentGrid.FindColumnByFieldName("CZXTGS").Visible = true; grdContentGrid.FindColumnByFieldName("CZXTNR").Visible = true; } else { grdContentGrid.FindColumnByFieldName("CZXTGS").Visible = false; grdContentGrid.FindColumnByFieldName("CZXTNR").Visible = false; } if (sZDYY.Contains("5") || sZDYY.Contains("14")) //产品重复 { grdContentGrid.FindColumnByFieldName("CPCFBL").Visible = true; grdContentGrid.FindColumnByFieldName("sameBJCPS").Visible = true; } else { grdContentGrid.FindColumnByFieldName("CPCFBL").Visible = false; grdContentGrid.FindColumnByFieldName("sameBJCPS").Visible = false; } if (sZDYY.Contains("6")) //产品+数量重复 { grdContentGrid.FindColumnByFieldName("sameBJCPSLS").Visible = true; grdContentGrid.FindColumnByFieldName("sameBJCPSLBL").Visible = true; } else { grdContentGrid.FindColumnByFieldName("sameBJCPSLS").Visible = false; grdContentGrid.FindColumnByFieldName("sameBJCPSLBL").Visible = false; } if (sZDYY.Contains("16")) //规格+数量重复 { grdContentGrid.FindColumnByFieldName("sameBJGGSLS").Visible = true; grdContentGrid.FindColumnByFieldName("sameBJGGSLSBL").Visible = true; } else { grdContentGrid.FindColumnByFieldName("sameBJGGSLS").Visible = false; grdContentGrid.FindColumnByFieldName("sameBJGGSLSBL").Visible = false; } if (sZDYY.Contains("7")) //仅型号规格重复 { grdContentGrid.FindColumnByFieldName("GGXHCFBL").Visible = true; } else { grdContentGrid.FindColumnByFieldName("GGXHCFBL").Visible = false; } if (sZDYY.Contains("8") || sZDYY.Contains("9") || sZDYY.Contains("10")) //备案项目 { grdContentGrid.FindColumnByFieldName("BAXMKH").Visible = true; grdContentGrid.FindColumnByFieldName("YXXM_TXY").Visible = true; grdContentGrid.FindColumnByFieldName("YXXM_BARQS").Visible = true; grdContentGrid.FindColumnByFieldName("YXXM_BARQZ").Visible = true; } else { grdContentGrid.FindColumnByFieldName("BAXMKH").Visible = false; grdContentGrid.FindColumnByFieldName("YXXM_TXY").Visible = false; grdContentGrid.FindColumnByFieldName("YXXM_BARQS").Visible = false; grdContentGrid.FindColumnByFieldName("YXXM_BARQZ").Visible = false; } } private string GetTSC() { XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860068); if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_XMMCTSCZ)) return CMISproDataBase.GetWhereEqual("XLXSBJZDCZ_XMCZ", pzxx.XLXSBJPZ_XMMCTSCZ); return ""; } private void InitCXTJ() { XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860068); txtCPCFBL.Value = CMISproConvert.StrToFloat(pzxx.XLXSBJPZ_CPCFBL, 0); txtCPCFGS.Value = CMISproConvert.StrToFloat(pzxx.XLXSBJPZ_CPCFGS, 0); txtCPSLCFGS.Value = CMISproConvert.StrToFloat(pzxx.XLXSBJPZ_CPSLCFGS, 0); txtCPSLCFBL.Value = CMISproConvert.StrToFloat(pzxx.XLXSBJPZ_CPSLCFBL, 0); txtGGSLCFGS.Value = ZDFXPZHelper.GetGGSLCFGS(); txtGGSLCFBL.Value = ZDFXPZHelper.GetGGSLCFBL(); txtXHGGCFBL.Value = CMISproConvert.StrToFloat(pzxx.XLXSBJPZ_XHGGCFBL, 0); txtCZCFGS.Value = CMISproConvert.StrToFloat(pzxx.XLXSBJPZ_XMMCCZCFGS, 0); if (PageParam.ContainsKey("BJDID")) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Add(" select XLXSBJD_KH,XLXSBJD_XMMC from XLXSBJD where XLXSBJD_BJDID = :pBJDID "); SQL.ParamByName("pBJDID").Value = PageParam.GetRTrimString("BJDID").Trim(); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { txtBZKH.Text = ds.Tables[0].Rows[0]["XLXSBJD_KH"].ToString().Trim(); txtBZXM.Text = ds.Tables[0].Rows[0]["XLXSBJD_XMMC"].ToString().Trim(); } } } private string GetQTBJDID(string sKH, string sTXY, double dND) { StringBuilder sSQL = new StringBuilder(); sSQL.AppendLine(" ( select XLXSBJD_BJDID from XLXSBJD "); sSQL.AppendLine(" where XLXSBJD_BJDID<>:pBJDID "); sSQL.AppendLine(" and isnull(XLXSBJD_YWLX,' ') = ' ' "); if (!CurQueryEntity.FieldByName("BJY").Value.Trim().Equals("")) { if (CurQueryEntity.FieldByName("BJY").Value.Trim().Contains("1") && !sKH.Equals("") && !sTXY.Equals("")) { sSQL.AppendLine(" and ( XLXSBJD_KH <> '" + sKH + "' or XLXSBJD_TXY <> '" + sTXY + "' ) "); } if (CurQueryEntity.FieldByName("BJY").Value.Trim().Contains("2") && !sTXY.Equals("")) { sSQL.AppendLine(" and ( XLXSBJD_TXY <> '" + sTXY + "' ) "); } } 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("STATE").Value.Trim().Equals("")) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_WPID", CurQueryEntity.FieldByName("STATE").Value.Trim())); } if (dND != 0) { int dYF = (int)((dND - (int)dND) * 12); sSQL.AppendLine(" and XLXSBJD_BJRQ >= DATEADD(month,-" + dYF + ",DATEADD(year, -" + (int)dND + ", getdate())) "); } if (!CurQueryEntity.FieldByName("TXY").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJD_TXY=:pTXY "); } if (CurQueryEntity.FieldByName("YFK").Value.Trim().Equals("True")) { sSQL.AppendLine(" and isnull(BJD_BJDID, ' ')<>' ' "); } if (CurQueryEntity.FieldByName("PCXTBJD").Value.Trim().ToUpper().Equals("TRUE")) { sSQL.AppendLine(" and XLXSBJD_BJDID NOT LIKE :pXTBJD "); } if (!CurQueryEntity.FieldByName("ZCBJDH").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJD_BJDID=:pZCBJDID "); } if (!CurQueryEntity.FieldByName("KH").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJD_KH like :pKH "); } if (!CurQueryEntity.FieldByName("KHLXR").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJD_KHLXR like :pKHLXR "); } if (!CurQueryEntity.FieldByName("KHDH").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJD_LXDH like :pKHDH "); } if (!CurQueryEntity.FieldByName("XM").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJD_XMMC like :pXM "); } string sBJU012 = GetOption(100860068, "BJU012").Trim(); if (!CurQueryEntity.FieldByName("BJFL").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJD_BJFLID = :pBJFL "); } else if (!sBJU012.Equals("")) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_BJFLID", sBJU012)); } sSQL.AppendLine(" ) "); return sSQL.ToString(); } private string GetSQL() { string sZDLX = CurQueryEntity.FieldByName("ZDLX").Value.Trim(); string sZDYY = CurQueryEntity.FieldByName("ZDYY").Value.Trim() + ","; Mac.MacLog.TraceFormat("sZDYY:" + sZDYY); string sOrderSql = ""; string sPXYXJ = CurQueryEntity.FieldByName("PXYXJ").Value.Trim(); string sXMID = ""; string sKH = ""; Dictionary DicKHStr = new Dictionary(); string sKHLXR = ""; string sLXDH = ""; string sXM = ""; string sTXY = ""; bool bKHXSTZD = false; double dND = CMISproConvert.StrToFloat(CurQueryEntity.FieldByName("ND").Value.Trim()); bool bXHGGTH = CMISproDataBase.ExistsRecord("DBERP", "select top 1 ZDFXXHGGDZB_XLXHID from ZDFXXHGGDZB "); dBJRQ = CMISproConvert.StrToDateTime("1900-01-01"); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); sql.Clear(); sql.Add("select XLXSBJD_TXY,XLXSBJD_XMMC,XLXSBJD_XMID,XLXSBJD_BJRQ,XLXSBJD_KH,XLXSBJD_KHLXR,XLXSBJD_LXDH,KH_TXY,KH_KHID "); sql.Add("from XLXSBJD left join KH on KH_MC=XLXSBJD_KH "); sql.Add("where XLXSBJD_BJDID=:pBJDID "); sql.Add(" and isnull(XLXSBJD_YWLX,' ') = ' ' "); if (PageParam.ContainsKey("BJDID")) sql.ParamByName("pBJDID").Value = PageParam.GetRTrimString("BJDID"); else sql.ParamByName("pBJDID").Value = CurQueryEntity.FieldByName("BZBJDH").Value.Trim(); DataSet ds = dberp.OpenDataSet(sql); if (ds.Tables[0].Rows.Count > 0) { sTXY = ds.Tables[0].Rows[0]["XLXSBJD_TXY"].ToString().Trim(); sKH = txtBZKH.Text.Trim(); sKHLXR = ds.Tables[0].Rows[0]["XLXSBJD_KHLXR"].ToString().Trim(); sLXDH = ds.Tables[0].Rows[0]["XLXSBJD_LXDH"].ToString().Trim(); sXM = txtBZXM.Text; sXMID = ds.Tables[0].Rows[0]["XLXSBJD_XMID"].ToString().Trim(); string sZDYYLX = sZDLX + ","; if ((!sTXY.Equals("")) && (!sTXY.Equals(ds.Tables[0].Rows[0]["KH_TXY"].ToString().Trim())) && (!ds.Tables[0].Rows[0]["KH_KHID"].ToString().Trim().Equals("")) && (!ds.Tables[0].Rows[0]["KH_TXY"].ToString().Trim().Equals("")) && (sZDLX.Equals("") || sZDYYLX.Contains("1,"))) bKHXSTZD = true; dBJRQ = CMISproConvert.StrToDateTime(ds.Tables[0].Rows[0]["XLXSBJD_BJRQ"].ToString().Trim()); } XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860068); double dMXTMCBL = CMISproConvert.StrToFloat(pzxx.XLXSBJPZ_MXTMCBL) / 100; double dMXFDS = CMISproConvert.StrToFloat(pzxx.XLXSBJPZ_MXFDS); double dXYFDSCFBL = CMISproConvert.StrToFloat(pzxx.XLXSBJPZ_XYFDSCFBL); double dDYFDSCFBL = CMISproConvert.StrToFloat(pzxx.XLXSBJPZ_DYFDSCFBL); double dCPSLCFBL = CMISproConvert.StrToFloat(pzxx.XLXSBJPZ_CPSLCFBL); double dKHMCXSBL = CMISproConvert.StrToFloat(pzxx.XLXSBJPZ_KHMCXSBL); string sBCYZDKH = pzxx.XLXSBJPZ_BCYZDKH; string sBCYZDXM = pzxx.XLXSBJPZ_BCYZDXM; string sCFCPBQFBZ = pzxx.XLXSBJPZ_CFCPBQFBZ; if (!sBCYZDKH.Equals("")) { sBCYZDKH = "," + sBCYZDKH + ","; if (sBCYZDKH.Contains("," + sKH + ",")) { sKH = ""; } } if (!sBCYZDXM.Equals("")) { sBCYZDXM = "," + sBCYZDXM + ","; if (sBCYZDXM.Contains("," + sXM + ",")) { sXM = ""; } } txtCPCFXLBZ.Value = pzxx.XLXSBJPZ_CPCFXLBZ; string sQTBJDCondition = GetQTBJDID(sKH, sTXY, dND); bool bZD1 = bKHXSTZD && !sKH.Equals("") && ("," + sZDLX + ",").Contains(",1,"); bool bZD2 = (sZDLX.Equals("") || ("," + sZDLX + ",").Contains(",2,")) && !sKH.Equals("") && ("," + sZDYY + ",").Contains(",2,"); bool bZD3 = (sZDLX.Equals("") || ("," + sZDLX + ",").Contains(",3,")) && !sXM.Equals("") && ("," + sZDYY + ",").Contains(",3,"); bool bZD4 = (sZDLX.Equals("") || ("," + sZDLX + ",").Contains(",4,")) && ("," + sZDYY + ",").Contains(",4,"); bool bZD5 = (sZDLX.Equals("") || ("," + sZDLX + ",").Contains(",5,")) && ("," + sZDYY + ",").Contains(",5,"); bool bZD6 = (sZDLX.Equals("") || ("," + sZDLX + ",").Contains(",6,")) && ("," + sZDYY + ",").Contains(",6,"); bool bZD16 = (sZDLX.Equals("") || ("," + sZDLX + ",").Contains(",16,")) && ("," + sZDYY + ",").Contains(",16,"); bool bZD7 = (sZDLX.Equals("") || ("," + sZDLX + ",").Contains(",7,")) && ("," + sZDYY + ",").Contains(",7,"); bool bZD8 = (sZDLX.Equals("") || ("," + sZDLX + ",").Contains(",8,")) && !sKH.Equals("") && ("," + sZDYY + ",").Contains(",8,"); bool bZD9 = (sZDLX.Equals("") || ("," + sZDLX + ",").Contains(",9,")) && !sXMID.Equals("") && ("," + sZDYY + ",").Contains(",9,"); bool bZD10 = (sZDLX.Equals("") || ("," + sZDLX + ",").Contains(",10,")) && !sTXY.Equals("") && ("," + sZDYY + ",").Contains(",10,"); bool bZD11 = (sZDLX.Equals("") || ("," + sZDLX + ",").Contains(",11,")) && !sXM.Equals("") && ("," + sZDYY + ",").Contains(",11,"); bool bZD12 = (sZDLX.Equals("") || ("," + sZDLX + ",").Contains(",12,")) && !sKHLXR.Equals("") && ("," + sZDYY + ",").Contains(",12,"); bool bZD13 = (sZDLX.Equals("") || ("," + sZDLX + ",").Contains(",13,")) && !sLXDH.Equals("") && ("," + sZDYY + ",").Contains(",13,"); bool bZD14 = (sZDLX.Equals("") || ("," + sZDLX + ",").Contains(",14,")) && ("," + sZDYY + ",").Contains(",14,"); bool bZD15 = (sZDLX.Equals("") || ("," + sZDLX + ",").Contains(",15,")) && ("," + sZDYY + ",").Contains(",15,") && !sKH.Equals("") && !sXM.Equals(""); if (dKHMCXSBL != 0 && dKHMCXSBL != 100 && bZD2) GetKHStr(sKH, dKHMCXSBL, ref DicKHStr); sTSC = GetTSC(); StringBuilder sSQL = new StringBuilder(); sSQL.AppendLine("select XLXSBJD_BJDID,XLXSBJD_BJRQ,XLXSBJD_KH,XLXSBJD_KHLXR,XLXSBJD_LXDH,XLXSBJD_XMMC,XLXSBJD_TXY,XLXSBJD_ZJE,:pBJDID as sBZBJDH,XLXSBJD_SQR,"); sSQL.AppendLine(" case when isnull(BJD_BJDID, ' ')<>' ' then 'Y' else 'N' end as YFK, ");//是否已经反馈至CS平台 sSQL.AppendLine("XLXSBJD_ZB as ZBQK,"); if (sZDYY.Contains("4")) //*项目名称词组重复 sSQL.AppendLine(" CZXTGS, "); else sSQL.AppendLine(" 0 as CZXTGS, "); if (sZDYY.Contains("5") || sZDYY.Contains("14")) //产品重复 sSQL.AppendLine(" (case when MX.SL>MXCount.MXCounts then round(100.0*sameCPBJD.sameBJCPS/MX.SL,2) else round(100.0*sameCPBJD.sameBJCPS/MXCount.MXCounts,2) end) AS CPCFBL,sameBJCPS,"); else sSQL.AppendLine(" 0 as CPCFBL,0 as sameBJCPS, "); if (sZDYY.Contains("6")) //*产品+数量重复 sSQL.AppendLine(" sameBJCPSLS,(case when MX.SL>MXCount.MXCounts then round(100.0*sameCPSLBJD.sameBJCPSLS/MX.SL,2) else round(100.0*sameCPSLBJD.sameBJCPSLS/MXCount.MXCounts,2) end) as sameBJCPSLBL, "); else sSQL.AppendLine(" 0 as sameBJCPSLS,0 as sameBJCPSLBL, "); if (sZDYY.Contains("16")) //*规格+数量重复 sSQL.AppendLine(" sameBJGGSLS,(case when MX.SL>MXCount.MXCounts then round(100.0*sameGGSLBJD.sameBJGGSLS/MX.SL,2) else round(100.0*sameGGSLBJD.sameBJGGSLS/MXCount.MXCounts,2) end) as sameBJGGSLSBL, "); else sSQL.AppendLine(" 0 as sameBJGGSLS,0 as sameBJGGSLSBL, "); if (sZDYY.Contains("7")) //*仅型号规格重复 sSQL.AppendLine(" (case when MX.SL>MXCount.MXCounts then round(100.0*sameXHGGBJD.sameXHGGS/MX.SL,2) else round(100.0*sameXHGGBJD.sameXHGGS/MXCount.MXCounts,2) end) as GGXHCFBL, "); else sSQL.AppendLine(" 0 as GGXHCFBL, "); sSQL.AppendLine(" SL, "); if ((sZDYY.Contains("8")) || (sZDYY.Contains("9")) || (sZDYY.Contains("10"))) //备案项目 sSQL.AppendLine(" YXXM_TXY,YXXM_BARQS,YXXM_BARQZ,isNull(K1MC,'')||isNull(K2MC,'')||isNull(K3MC,'')||isNull(K4MC,'') as BAXMKH, "); else sSQL.AppendLine(" ' ' as YXXM_TXY,CONVERT(datetime,NULL) as YXXM_BARQS,CONVERT(datetime,NULL) as YXXM_BARQZ,'' as BAXMKH, "); sSQL.AppendLine(" ' ' as CZXTNR,"); sSQL.AppendLine(" XLXSBJD_BZ,XLXSBJD_WHR,XLXSBJD_WHRID,XLXSBJD_WHSJ,"); if (bZD1) sSQL.AppendLine(" case when (XLXSBJD_KH='" + sKH + "' and XLXSBJD_TXY='" + sTXY + "') then 1 else 0 end as px1, "); if (bZD2) { if (DicKHStr.Count > 0) { sSQL.AppendLine(" case when XLXSBJD_KH='" + sKH + "' then 1 "); foreach (string sTmpKH in DicKHStr.Keys) { if (sTmpKH.Equals("")) continue; if (sTmpKH.Contains("$")) { string sTmp1 = sTmpKH.Split('$')[0]; string sTmp2 = sTmpKH.Split('$')[1]; sSQL.AppendLine(" when XLXSBJD_KH like '%" + sTmp1 + "%' and XLXSBJD_KH like '%" + sTmp2 + "%' then 1 "); } else sSQL.AppendLine(" when XLXSBJD_KH like '%" + sTmpKH + "%' then 1 "); } sSQL.AppendLine(" else 0 end as px2, "); } else sSQL.AppendLine(" case when XLXSBJD_KH='" + sKH + "' then 1 else 0 end as px2, "); } if (bZD3) sSQL.AppendLine(" case when (XLXSBJD_XMMC='" + sXM + "' and not exists(select 1 from XLXSBJZDBJYXX where XLXSBJZDBJYXX_XXLX='XM' and XLXSBJZDBJYXX_XXNR=XLXSBJD_XMMC) ) then 1 else 0 end as px3, "); if (bZD12) sSQL.AppendLine(" case when XLXSBJD_KHLXR='" + sKHLXR + "' then 1 else 0 end as px4, "); if (bZD13) sSQL.AppendLine(" case when XLXSBJD_LXDH='" + sLXDH + "' then 1 else 0 end as px5, "); if (bZD15)//客户名称、项目名称相撞 { sSQL.AppendLine(" case when (XLXSBJD_KH='" + sKH + "' and XLXSBJD_XMMC='" + sXM + "' ) then 1 else 0 end as px15, "); } if (bZD1) sSQL.AppendLine(" case when (XLXSBJD_KH='" + sKH + "' and XLXSBJD_TXY='" + sTXY + "') then '客户+销售员相撞;' else '' end || "); if (bZD2) { if (DicKHStr.Count > 0) { sSQL.AppendLine(" case when XLXSBJD_KH='" + sKH + "' then '客户名称重复;' "); foreach (string sTmpKH in DicKHStr.Keys) { if (sTmpKH.Equals("")) continue; if (sTmpKH.Contains("$")) { string sTmp1 = sTmpKH.Split('$')[0]; string sTmp2 = sTmpKH.Split('$')[1]; sSQL.AppendLine(" when XLXSBJD_KH like '%" + sTmp1 + "%' and XLXSBJD_KH like '%" + sTmp2 + "%' then '客户名称重复;' "); } else sSQL.AppendLine(" when XLXSBJD_KH like '%" + sTmpKH + "%' then '客户名称重复;' "); } sSQL.AppendLine(" else '' end || "); } else sSQL.AppendLine(" case when XLXSBJD_KH='" + sKH + "' then '客户名称重复;' else '' end || "); } if (bZD3) sSQL.AppendLine(" case when (XLXSBJD_XMMC='" + sXM + "' and not exists(select 1 from XLXSBJZDBJYXX where XLXSBJZDBJYXX_XXLX='XM' and XLXSBJZDBJYXX_XXNR=XLXSBJD_XMMC) ) then '项目名称重复;' else '' end || "); if (bZD4) sSQL.AppendLine(" case when A.CZXTGS >=:pCZCFGS then '项目名称词组重复;' else '' end || "); if (bZD5) { sSQL.AppendLine(" case when sameCPBJD.sameBJCPS>=:pCPCFGS "); sSQL.AppendLine(" and GE((case when MX.SL>MXCount.MXCounts then round(100.0*sameCPBJD.sameBJCPS/MX.SL,2) "); sSQL.AppendLine(" else round(100.0*sameCPBJD.sameBJCPS/MXCount.MXCounts,2) end),:pCPCFBL) then '产品重复;' else '' end || "); } if (bZD14) { sSQL.AppendLine(" case when MX.SL>MXCount.MXCounts*(1- :pMXTMCBL) AND MX.SLMXCount.MXCounts then round(100.0*sameCPBJD.sameBJCPS/MX.SL,2) "); sSQL.AppendLine(" else round(100.0*sameCPBJD.sameBJCPS/MXCount.MXCounts,2) end),:pXYFDSCFBL) AND MXCount.MXCounts <= :pMXFDS) "); sSQL.AppendLine(" OR (GE((case when MX.SL>MXCount.MXCounts then round(100.0*sameCPBJD.sameBJCPS/MX.SL,2) "); sSQL.AppendLine(" else round(100.0*sameCPBJD.sameBJCPS/MXCount.MXCounts,2) end),:pDYFDSCFBL) AND MXCount.MXCounts > :pMXFDS)) "); sSQL.AppendLine(" then '按产品个数区间+分段重复率查产品重复;' else '' end || "); } if (bZD6) { sSQL.AppendLine(" case when sameCPSLBJD.sameBJCPSLS>=:pCPSLCFGS "); sSQL.AppendLine(" and GE((case when MX.SL>MXCount.MXCounts then round(100.0*sameCPSLBJD.sameBJCPSLS/MX.SL,2) "); sSQL.AppendLine(" else round(100.0*sameCPSLBJD.sameBJCPSLS/MXCount.MXCounts,2) end),:pCPSLCFBL) "); sSQL.AppendLine(" then '产品+数量重复;' else '' end || "); } if (bZD16) { sSQL.AppendLine(" case when sameGGSLBJD.sameBJGGSLS>=:pGGSLCFGS "); sSQL.AppendLine(" and GE((case when MX.SL>MXCount.MXCounts then round(100.0*sameGGSLBJD.sameBJGGSLS/MX.SL,2) "); sSQL.AppendLine(" else round(100.0*sameGGSLBJD.sameBJGGSLS/MXCount.MXCounts,2) end),:pGGSLCFBL) "); sSQL.AppendLine(" then '规格+数量重复;' else '' end || "); } if (bZD7) { sSQL.AppendLine(" case when GE((case when MX.SL>MXCount.MXCounts then round(100.0*sameXHGGBJD.sameXHGGS/MX.SL,2) "); sSQL.AppendLine(" else round(100.0*sameXHGGBJD.sameXHGGS/MXCount.MXCounts,2) end),:pXHGGCFBL) then '仅型号规格重复;' else '' end || "); } if (bZD8) sSQL.AppendLine(" case when (K1MC='" + sKH + "' or K2MC='" + sKH + "' or K3MC='" + sKH + "' or K4MC='" + sKH + "') and isNull(XM.XMID,' ')=XLXSBJD_XMID then '备案项目客户名称重复;' else '' end || "); if (bZD9) sSQL.AppendLine(" case when (isNull(XM.XMID,' ')=XLXSBJD_XMID and XLXSBJD_XMID=:pXMID) then '备案项目名称重复;' else '' end || "); if (bZD10) sSQL.AppendLine(" case when (isNull(XM.XMID,' ')=XLXSBJD_XMID and XLXSBJD_XMID=:pXMID and YXXM_TXY='" + sTXY + "') then '备案项目名称+销售员重复;' else '' end || "); if (bZD11) { sSQL.AppendLine(" case when ((XLXSBJD_KH like '%" + sXM + "%' or ('" + sXM + "' like '%' || rtrim(isnull(XLXSBJD_KH,' ')) || '%' and isnull(XLXSBJD_KH,' ') <> ' ')) "); sSQL.AppendLine(" and not exists(select 1 from XLXSBJZDBJYXX where XLXSBJZDBJYXX_XXLX='XM' and XLXSBJZDBJYXX_XXNR=XLXSBJD_XMMC) ) then '项目与客户名称相撞;' else '' end || "); } if (bZD12) sSQL.AppendLine(" case when XLXSBJD_KHLXR='" + sKHLXR + "' then '客户联系人重复;' else '' end || "); if (bZD13) sSQL.AppendLine(" case when XLXSBJD_LXDH='" + sLXDH + "' then '客户电话重复;' else '' end || "); if (bZD15) sSQL.AppendLine(" case when (XLXSBJD_KH='" + sKH + "' and XLXSBJD_XMMC='" + sXM + "' ) then '客户名称、项目名称重复;' else '' end || "); sSQL.AppendLine(" ' ' as ZDLX "); sSQL.AppendLine(" from XLXSBJD"); sSQL.AppendLine(" left join BJD on BJD_BJDID=XLXSBJD_BJDID "); if (bXHGGTH) { sSQL.AppendLine(@" left join (select count(1) as SL,XLXSBJDMX_BJDID as BJDID from ( select XLXSBJDMX_BJDID, case when isnull(ZB.ZDFXXHGGDZB_ZDXLXHID,' ')<>' ' then ZB.ZDFXXHGGDZB_ZDXLXHID when isnull(ZA.ZDFXXHGGDZB_ZDXLXHID,' ')<>' ' then ZA.ZDFXXHGGDZB_ZDXLXHID else XLXSBJDMX_XLXHID end as XLXSBJDMX_XLXHID, case when isnull(ZB.ZDFXXHGGDZB_ZDXLGGID,' ')<>' ' then ZB.ZDFXXHGGDZB_ZDXLGGID else XLXSBJDMX_XLGGID end as XLXSBJDMX_XLGGID from XLXSBJDMX left join ZDFXXHGGDZB ZA on XLXSBJDMX_XLXHID=ZA.ZDFXXHGGDZB_XLXHID and isnull(ZA.ZDFXXHGGDZB_XLGGID,' ')=' ' left join ZDFXXHGGDZB ZB on XLXSBJDMX_XLXHID=ZB.ZDFXXHGGDZB_XLXHID and isnull(ZB.ZDFXXHGGDZB_XLGGID,' ')=XLXSBJDMX_XLGGID "); sSQL.AppendLine(" where XLXSBJDMX_BJDID in " + sQTBJDCondition); sSQL.AppendLine(@" group by XLXSBJDMX_BJDID,case when isnull(ZB.ZDFXXHGGDZB_ZDXLXHID,' ')<>' ' then ZB.ZDFXXHGGDZB_ZDXLXHID when isnull(ZA.ZDFXXHGGDZB_ZDXLXHID,' ')<>' ' then ZA.ZDFXXHGGDZB_ZDXLXHID else XLXSBJDMX_XLXHID end, case when isnull(ZB.ZDFXXHGGDZB_ZDXLGGID,' ')<>' ' then ZB.ZDFXXHGGDZB_ZDXLGGID else XLXSBJDMX_XLGGID end, XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID ) a group by XLXSBJDMX_BJDID)MX on MX.BJDID=XLXSBJD_BJDID "); } else sSQL.AppendLine(" left join (select XLXSBJDMX_BJDID as BJDID,count(XLXSBJDMX_XH) as SL from XLXSBJDMX where XLXSBJDMX_BJDID in " + sQTBJDCondition + " group by XLXSBJDMX_BJDID)MX on MX.BJDID=XLXSBJD_BJDID "); //*项目名称词组重复*/ if (sZDYY.Contains("4")) { sSQL.AppendLine("left join (select XLXSBJZDCZ_BJDID as BJDID,count(1)as CZXTGS "); sSQL.AppendLine(" from XLXSBJZDCZ GJCA "); sSQL.AppendLine(" left join XLXSBJD BJDA on BJDA.XLXSBJD_BJDID=GJCA.XLXSBJZDCZ_BJDID "); sSQL.AppendLine(" where GJCA.XLXSBJZDCZ_BJDID<>:pBJDID and isnull(XLXSBJD_YWLX,' ')= ' ' "); if (!CurQueryEntity.FieldByName("BJY").Value.Trim().Equals("")) { if (CurQueryEntity.FieldByName("BJY").Value.Trim().Contains("1") && !sKH.Equals("") && !sTXY.Equals("")) { sSQL.AppendLine(" and ( XLXSBJD_KH <> '" + sKH + "' or XLXSBJD_TXY <> '" + sTXY + "' ) "); } } if (!CurQueryEntity.FieldByName("ZCBJDH").Value.Trim().Equals("")) { sSQL.AppendLine(" and GJCA.XLXSBJZDCZ_BJDID=:pZCBJDID "); } sSQL.AppendLine(" and GJCA.XLXSBJZDCZ_XMCZ in "); sSQL.AppendLine(" (select GJCB.XLXSBJZDCZ_XMCZ from XLXSBJZDCZ GJCB "); sSQL.AppendLine(" left join XLXSBJD BJDB on BJDB.XLXSBJD_BJDID=GJCB.XLXSBJZDCZ_BJDID "); sSQL.AppendLine(" where GJCB.XLXSBJZDCZ_BJDID=:pBJDID and abs(DATEDIFF(year,BJDA.XLXSBJD_BJRQ,BJDB.XLXSBJD_BJRQ))<2 "); if (!sTSC.Equals("")) sSQL.AppendLine(" and not " + sTSC); sSQL.AppendLine(" )group by GJCA.XLXSBJZDCZ_BJDID)A ON A.BJDID=XLXSBJD_BJDID "); } #region ZDYY-5 ZDYY-14 //产品重复、按产品个数区间+分段重复率查产品重复--当前报价单明细记录数为0则不进行此判断*/ if (sZDYY.Contains("5") || sZDYY.Contains("14")) { sSQL.AppendLine(" left join (select a.XLXSBJDMX_BJDID as BJDID,sum(case when isnull(BZSL,0) = 0 then 0 else case when isNull(ZCSL,0)' ' then ZB.ZDFXXHGGDZB_ZDXLXHID when isnull(ZA.ZDFXXHGGDZB_ZDXLXHID,' ')<>' ' then ZA.ZDFXXHGGDZB_ZDXLXHID else XLXSBJDMX_XLXHID end as XLXSBJDMX_XLXHID , "); sSQL.AppendLine(" case when isnull(ZB.ZDFXXHGGDZB_ZDXLGGID,' ')<>' ' then ZB.ZDFXXHGGDZB_ZDXLGGID else XLXSBJDMX_XLGGID end as XLXSBJDMX_XLGGID , "); if (sCFCPBQFBZ.Equals("Y")) { sSQL.AppendLine(" XLXSBJDMX_DYDJID,XLXSBJDMX_XH,XLXSBJDMX_JLDW,XLXSBJDMX_BJSL "); } else { sSQL.AppendLine(" XLXSBJDMX_DYDJID,XLXSBJDMX_XH,XLXSBJDMX_JLDW,XLXSBJDMX_BJSL, "); if (txtCPCFXLBZ.Value.Trim().Equals("")) sSQL.AppendLine(" XLXSBJDMX_XLBZID "); else { sSQL.AppendLine(" case XLXSBJDMX_XLBZID "); for (int i = 0; i < txtCPCFXLBZ.Value.Trim().Split(',').Length; i++) { sSQL.AppendLine(string.Format(" when '{0}' then '{1}' ", txtCPCFXLBZ.Value.Trim().Split(',')[i], txtCPCFXLBZ.Value.Trim().Split(',')[0])); } sSQL.AppendLine(" else XLXSBJDMX_XLBZID end as XLXSBJDMX_XLBZID "); } } sSQL.AppendLine(" from XLXSBJDMX "); sSQL.AppendLine(" left join ZDFXXHGGDZB ZA on ZA.ZDFXXHGGDZB_XLXHID=XLXSBJDMX_XLXHID and isnull(ZA.ZDFXXHGGDZB_XLGGID,' ')=' ' "); sSQL.AppendLine(" left join ZDFXXHGGDZB ZB on ZB.ZDFXXHGGDZB_XLXHID=XLXSBJDMX_XLXHID and isnull(ZB.ZDFXXHGGDZB_XLGGID,' ')=XLXSBJDMX_XLGGID "); sSQL.AppendLine(" where XLXSBJDMX_BJDID in " + sQTBJDCondition + " and isnull(XLXSBJDMX_YWLX,' ')= ' ' ");//--当前报价单号 if (!CurQueryEntity.FieldByName("ZCBJDH").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJDMX_BJDID=:pZCBJDID "); } sSQL.AppendLine(" ) tmpA "); if (sCFCPBQFBZ.Equals("Y")) { sSQL.AppendLine(" group by XLXSBJDMX_BJDID,XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_DYDJID )a "); } else { sSQL.AppendLine(" group by XLXSBJDMX_BJDID,XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID )a "); } sSQL.AppendLine(" left join "); sSQL.AppendLine(" (select XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,"); if (sCFCPBQFBZ.Equals("Y")) { if (bXHGGTH) sSQL.AppendLine(" XLXSBJDMX_DYDJID,1 as BZSL "); else sSQL.AppendLine(" XLXSBJDMX_DYDJID,count(XLXSBJDMX_XH)as BZSL "); } else { if (bXHGGTH) sSQL.AppendLine(" XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,1 as BZSL "); else sSQL.AppendLine(" XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,count(XLXSBJDMX_XH)as BZSL "); } sSQL.AppendLine(" from "); sSQL.AppendLine(" (select case when isnull(ZB.ZDFXXHGGDZB_ZDXLXHID,' ')<>' ' then ZB.ZDFXXHGGDZB_ZDXLXHID when isnull(ZA.ZDFXXHGGDZB_ZDXLXHID,' ')<>' ' then ZA.ZDFXXHGGDZB_ZDXLXHID else XLXSBJDMX_XLXHID end as XLXSBJDMX_XLXHID , "); sSQL.AppendLine(" case when isnull(ZB.ZDFXXHGGDZB_ZDXLGGID,' ')<>' ' then ZB.ZDFXXHGGDZB_ZDXLGGID else XLXSBJDMX_XLGGID end as XLXSBJDMX_XLGGID , "); if (sCFCPBQFBZ.Equals("Y")) { sSQL.AppendLine(" XLXSBJDMX_DYDJID,XLXSBJDMX_XH "); } else { sSQL.AppendLine(" XLXSBJDMX_DYDJID,XLXSBJDMX_XH, "); if (txtCPCFXLBZ.Value.Trim().Equals("")) sSQL.AppendLine(" XLXSBJDMX_XLBZID "); else { sSQL.AppendLine(" case XLXSBJDMX_XLBZID "); for (int i = 0; i < txtCPCFXLBZ.Value.Trim().Split(',').Length; i++) { sSQL.AppendLine(string.Format(" when '{0}' then '{1}' ", txtCPCFXLBZ.Value.Trim().Split(',')[i], txtCPCFXLBZ.Value.Trim().Split(',')[0])); } sSQL.AppendLine(" else XLXSBJDMX_XLBZID end as XLXSBJDMX_XLBZID "); } } sSQL.AppendLine(" from XLXSBJDMX "); sSQL.AppendLine(" left join ZDFXXHGGDZB ZA on ZA.ZDFXXHGGDZB_XLXHID=XLXSBJDMX_XLXHID and isnull(ZA.ZDFXXHGGDZB_XLGGID,' ')=' ' "); sSQL.AppendLine(" left join ZDFXXHGGDZB ZB on ZB.ZDFXXHGGDZB_XLXHID=XLXSBJDMX_XLXHID and isnull(ZB.ZDFXXHGGDZB_XLGGID,' ')=XLXSBJDMX_XLGGID "); sSQL.AppendLine(" where XLXSBJDMX_BJDID=:pBJDID ");//--当前报价单号 sSQL.AppendLine(" ) tmpB "); if (sCFCPBQFBZ.Equals("Y")) { sSQL.AppendLine(" group by XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_DYDJID)b "); } else { sSQL.AppendLine(" group by XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID)b "); } sSQL.AppendLine(" on a.XLXSBJDMX_XLXHID=b.XLXSBJDMX_XLXHID"); sSQL.AppendLine(" and a.XLXSBJDMX_XLGGID=b.XLXSBJDMX_XLGGID"); if (!sCFCPBQFBZ.Equals("Y")) { sSQL.AppendLine(" and a.XLXSBJDMX_XLBZID=b.XLXSBJDMX_XLBZID"); } sSQL.AppendLine(" and a.XLXSBJDMX_DYDJID=b.XLXSBJDMX_DYDJID"); sSQL.AppendLine(" group by a.XLXSBJDMX_BJDID)sameCPBJD on sameCPBJD.BJDID=XLXSBJD_BJDID"); } #endregion //*产品+数量重复--当前报价单明细记录数为0则不进行此判断*/ if (sZDYY.Contains("6")) { sSQL.AppendLine(" left join (select a.XLXSBJDMX_BJDID as BJDID,sum(case when isnull(BZSL,0) = 0 then 0 else case when isNull(ZCSL,0)' ' then ZB.ZDFXXHGGDZB_ZDXLXHID when isnull(ZA.ZDFXXHGGDZB_ZDXLXHID,' ')<>' ' then ZA.ZDFXXHGGDZB_ZDXLXHID else XLXSBJDMX_XLXHID end as XLXSBJDMX_XLXHID , case when isnull(ZB.ZDFXXHGGDZB_ZDXLGGID,' ')<>' ' then ZB.ZDFXXHGGDZB_ZDXLGGID else XLXSBJDMX_XLGGID end as XLXSBJDMX_XLGGID from XLXSBJDMX left join ZDFXXHGGDZB ZA on XLXSBJDMX_XLXHID=ZA.ZDFXXHGGDZB_XLXHID and isnull(ZA.ZDFXXHGGDZB_XLGGID,' ')=' ' left join ZDFXXHGGDZB ZB on XLXSBJDMX_XLXHID=ZB.ZDFXXHGGDZB_XLXHID and isnull(ZB.ZDFXXHGGDZB_XLGGID,' ')=XLXSBJDMX_XLGGID where XLXSBJDMX_BJDID=:pBJDID group by XLXSBJDMX_BJDID,case when isnull(ZB.ZDFXXHGGDZB_ZDXLXHID,' ')<>' ' then ZB.ZDFXXHGGDZB_ZDXLXHID when isnull(ZA.ZDFXXHGGDZB_ZDXLXHID,' ')<>' ' then ZA.ZDFXXHGGDZB_ZDXLXHID else XLXSBJDMX_XLXHID end, case when isnull(ZB.ZDFXXHGGDZB_ZDXLGGID,' ')<>' ' then ZB.ZDFXXHGGDZB_ZDXLGGID else XLXSBJDMX_XLGGID end , XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID ) a group by XLXSBJDMX_BJDID)MXCount on MXCount.XLXSBJDMX_BJDID=:pBJDID "); else sSQL.AppendLine(" left join (select count(1) as MXCounts,XLXSBJDMX_BJDID from XLXSBJDMX where XLXSBJDMX_BJDID=:pBJDID group by XLXSBJDMX_BJDID)MXCount on MXCount.XLXSBJDMX_BJDID=:pBJDID "); } //备案项目 if (sZDYY.Contains("8") || sZDYY.Contains("9") || sZDYY.Contains("10")) { sSQL.AppendLine(" left join (select YXXM_XMID as XMID,YXXM_TXY,YXXM_BARQS,YXXM_BARQZ,"); sSQL.AppendLine(" K1.KHXX_MC as K1MC,K2.KHXX_MC as K2MC, K3.KHXX_MC as K3MC,K4.KHXX_MC as K4MC "); sSQL.AppendLine(" from YXXM "); sSQL.AppendLine(" left join KHXX K1 on K1.KHXX_CRMKHID=YXXM_CRMKHID"); sSQL.AppendLine(" left join KHXX K2 on K2.KHXX_CRMKHID=YXXM_CRMKHID2"); sSQL.AppendLine(" left join KHXX K3 on K3.KHXX_CRMKHID=YXXM_CRMKHID3"); sSQL.AppendLine(" left join KHXX K4 on K4.KHXX_CRMKHID=YXXM_CRMKHID4"); sSQL.AppendLine(" and YXXM_WPID not in ('ZZZZ','ZZZY')"); sSQL.AppendLine(" )XM on XM.XMID=XLXSBJD_XMID"); } sSQL.AppendLine(" where XLXSBJD_BJDID<>:pBJDID "); sSQL.AppendLine(" and isnull(XLXSBJD_YWLX,' ') = ' ' "); if (!CurQueryEntity.FieldByName("BJY").Value.Trim().Equals("")) { if (CurQueryEntity.FieldByName("BJY").Value.Trim().Contains("1") && !sKH.Equals("") && !sTXY.Equals("")) { sSQL.AppendLine(" and ( XLXSBJD_KH <> '" + sKH + "' or XLXSBJD_TXY <> '" + sTXY + "' ) "); } if (CurQueryEntity.FieldByName("BJY").Value.Trim().Contains("2") && !sTXY.Equals("")) { sSQL.AppendLine(" and ( XLXSBJD_TXY <> '" + sTXY + "' ) "); } } 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("STATE").Value.Trim().Equals("")) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_WPID", CurQueryEntity.FieldByName("STATE").Value.Trim())); } if (dND != 0) { int dYF = (int)((dND - (int)dND) * 12); sSQL.AppendLine(" and XLXSBJD_BJRQ >= DATEADD(month,-" + dYF + ",DATEADD(year, -" + (int)dND + ", getdate())) "); } if (!CurQueryEntity.FieldByName("TXY").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJD_TXY=:pTXY "); entity.Param.Add("pTXY", CurQueryEntity.FieldByName("TXY").Value.Trim()); } if (CurQueryEntity.FieldByName("YFK").Value.Trim().Equals("True")) { sSQL.AppendLine(" and isnull(BJD_BJDID, ' ')<>' ' "); } if (CurQueryEntity.FieldByName("PCXTBJD").Value.Trim().ToUpper().Equals("TRUE")) { sSQL.AppendLine(" and XLXSBJD_BJDID NOT LIKE :pXTBJD "); if (PageParam.ContainsKey("BJDID")) entity.Param.Add("pXTBJD", "%" + PageParam.GetRTrimString("BJDID").Split('-')[0] + "%"); else entity.Param.Add("pXTBJD", "%" + CurQueryEntity.FieldByName("BZBJDH").Value.Trim().Split('-')[0] + "%"); } if (!CurQueryEntity.FieldByName("ZCBJDH").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJD_BJDID=:pZCBJDID "); entity.Param.Add("pZCBJDID", CurQueryEntity.FieldByName("ZCBJDH").Value.Trim()); } if (!CurQueryEntity.FieldByName("KH").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJD_KH like :pKH "); entity.Param.Add("pKH", "%" + CurQueryEntity.FieldByName("KH").Value.Trim() + "%"); } if (!CurQueryEntity.FieldByName("KHLXR").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJD_KHLXR like :pKHLXR "); entity.Param.Add("pKHLXR", "%" + CurQueryEntity.FieldByName("KHLXR").Value.Trim() + "%"); } if (!CurQueryEntity.FieldByName("KHDH").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJD_LXDH like :pKHDH "); entity.Param.Add("pKHDH", "%" + CurQueryEntity.FieldByName("KHDH").Value.Trim() + "%"); } if (!CurQueryEntity.FieldByName("XM").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJD_XMMC like :pXM "); entity.Param.Add("pXM", "%" + CurQueryEntity.FieldByName("XM").Value.Trim() + "%"); } string sBJU012 = GetOption(100860068, "BJU012").Trim(); if (!CurQueryEntity.FieldByName("BJFL").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJD_BJFLID = :pBJFL "); entity.Param.Add("pBJFL", CurQueryEntity.FieldByName("BJFL").Value.Trim()); } else if (!sBJU012.Equals("")) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_BJFLID", sBJU012)); } if (!CurQueryEntity.FieldByName("BAXMKH").Value.Trim().Equals("")) { sSQL.AppendLine(" and (K1MC like :pBAKH or K2MC like :pBAKH or K3MC like :pBAKH or K4MC like :pBAKH) "); entity.Param.Add("pBAKH", "%" + CurQueryEntity.FieldByName("BAXMKH").Value.Trim() + "%"); } if (!CurQueryEntity.FieldByName("BAXMTXY").Value.Trim().Equals("")) { sSQL.AppendLine(" and YXXM_TXY like :pBATXY "); entity.Param.Add("pBATXY", "%" + CurQueryEntity.FieldByName("BAXMTXY").Value.Trim() + "%"); } if (!CurQueryEntity.FieldByName("BACKRQ").Value.Trim().Equals("")) { sSQL.AppendLine(" and YXXM_BARQS>=:pBARQ and YXXM_BARQZ<=:pBARQ "); entity.Param.Add("pBARQ", CMISproConvert.StrToDateTime(CurQueryEntity.FieldByName("BACKRQ").Value.Trim())); } sSQL.AppendLine(" and "); sSQL.AppendLine(" (1<>1 "); if (bZD5)//*产品重复*/ { sSQL.AppendLine(" or (sameCPBJD.sameBJCPS>=:pCPCFGS ");//*产品重复*/txtCPCFGS sSQL.AppendLine(" and GE((case when MX.SL>MXCount.MXCounts then round(100.0*sameCPBJD.sameBJCPS/MX.SL,2) "); sSQL.AppendLine(" else round(100.0*sameCPBJD.sameBJCPS/MXCount.MXCounts,2) end),:pCPCFBL)) "); entity.Param.Add("pCPCFGS", txtCPCFGS.Value); entity.Param.Add("pCPCFBL", txtCPCFBL.Value); } if (bZD14)//*按产品个数区间+分段重复率查产品重复*/ { sSQL.AppendLine(" or (MX.SL>MXCount.MXCounts*(1- :pMXTMCBL) AND MX.SLMXCount.MXCounts then round(100.0*sameCPBJD.sameBJCPS/MX.SL,2) "); sSQL.AppendLine(" else round(100.0*sameCPBJD.sameBJCPS/MXCount.MXCounts,2) end),:pXYFDSCFBL) AND MXCount.MXCounts <= :pMXFDS) "); sSQL.AppendLine(" OR (GE((case when MX.SL>MXCount.MXCounts then round(100.0*sameCPBJD.sameBJCPS/MX.SL,2) "); sSQL.AppendLine(" else round(100.0*sameCPBJD.sameBJCPS/MXCount.MXCounts,2) end),:pDYFDSCFBL) AND MXCount.MXCounts > :pMXFDS))) "); entity.Param.Add("pMXTMCBL", dMXTMCBL); entity.Param.Add("pMXFDS", dMXFDS); entity.Param.Add("pXYFDSCFBL", dXYFDSCFBL); entity.Param.Add("pDYFDSCFBL", dDYFDSCFBL); } Dictionary DicOrder = new Dictionary(); if (bZD5 || bZD14) { DicOrder.Add("5", " CPCFBL desc,sameBJCPS desc, "); DicOrder.Add("14", " CPCFBL desc,sameBJCPS desc, "); } if (bZD6)//*产品+数量重复*/ DicOrder.Add("6", " sameBJCPSLS desc,"); if (bZD16)//*规格+数量重复*/ DicOrder.Add("16", " sameBJGGSLS desc,"); if (bZD7)//*仅型号规格重复*/ DicOrder.Add("7", " GGXHCFBL desc,"); if (bZD4)//*项目名称词组重复*/ DicOrder.Add("4", " CZXTGS desc,"); if (bZD3)//*项目名称重复*/ DicOrder.Add("3", " px3 desc,"); if (bZD2)//*客户名称重复*/ DicOrder.Add("2", " px2 desc,"); if (bZD15)//客户名称、项目名称相撞 DicOrder.Add("15", " px15 desc,"); if (bZD1)//*客户+销售员相撞*/ DicOrder.Add("1", " px1 desc,"); if (bZD12)//*客户联系人重复*/ DicOrder.Add("12", " px4 desc,"); if (bZD13)//*客户电话重复*/ DicOrder.Add("13", " px5 desc,"); bool bCPCF = false; if (!sPXYXJ.Equals("")) { sPXYXJ = "," + sPXYXJ + ","; foreach (string sKey in DicOrder.Keys) { if (sPXYXJ.Contains("," + sKey + ",")) { if (sKey.Equals("5") || sKey.Equals("14")) { if (!bCPCF) sOrderSql += DicOrder[sKey]; } else sOrderSql += DicOrder[sKey]; if (sKey.Equals("5") || sKey.Equals("14")) bCPCF = true; } } foreach (string sKey in DicOrder.Keys) { if (!sPXYXJ.Contains("," + sKey + ",")) { if (sKey.Equals("5") || sKey.Equals("14")) { if (!bCPCF) sOrderSql += DicOrder[sKey]; } else sOrderSql += DicOrder[sKey]; if (sKey.Equals("5") || sKey.Equals("14")) bCPCF = true; } } } else { foreach (string sKey in DicOrder.Keys) { if (sKey.Equals("5") || sKey.Equals("14")) { if (!bCPCF) sOrderSql += DicOrder[sKey]; } else sOrderSql += DicOrder[sKey]; if (sKey.Equals("5") || sKey.Equals("14")) bCPCF = true; } } if (bZD6)//*产品+数量重复*/ { sSQL.AppendLine(" or (sameCPSLBJD.sameBJCPSLS>=:pCPSLCFGS "); sSQL.AppendLine(" and GE((case when MX.SL>MXCount.MXCounts then round(100.0*sameCPSLBJD.sameBJCPSLS/MX.SL,2) "); sSQL.AppendLine(" else round(100.0*sameCPSLBJD.sameBJCPSLS/MXCount.MXCounts,2) end),:pCPSLCFBL)) "); entity.Param.Add("pCPSLCFGS", txtCPSLCFGS.Value); entity.Param.Add("pCPSLCFBL", txtCPSLCFBL.Value); } if (bZD16)//*规格+数量重复*/ { sSQL.AppendLine(" or (sameGGSLBJD.sameBJGGSLS>=:pGGSLCFGS "); sSQL.AppendLine(" and GE((case when MX.SL>MXCount.MXCounts then round(100.0*sameGGSLBJD.sameBJGGSLS/MX.SL,2) "); sSQL.AppendLine(" else round(100.0*sameGGSLBJD.sameBJGGSLS/MXCount.MXCounts,2) end),:pGGSLCFBL)) "); entity.Param.Add("pGGSLCFGS", txtGGSLCFGS.Value); entity.Param.Add("pGGSLCFBL", txtGGSLCFBL.Value); } if (bZD7)//*仅型号规格重复*/ { //*仅型号规格重复*/txtCPSLCFGS sSQL.AppendLine(" or GE((case when MX.SL>MXCount.MXCounts then round(100.0*sameXHGGBJD.sameXHGGS/MX.SL,2) "); sSQL.AppendLine(" else round(100.0*sameXHGGBJD.sameXHGGS/MXCount.MXCounts,2) end),:pXHGGCFBL) ");//txtXHGGCFBL entity.Param.Add("pXHGGCFBL", txtXHGGCFBL.Value); } if (bZD4)//*项目名称词组重复*/ { sSQL.AppendLine(" or (A.CZXTGS >=:pCZCFGS) ");//*项目名称词组重复*/ entity.Param.Add("pCZCFGS", txtCZCFGS.Value); } if (bZD3)//*项目名称重复*/ { sSQL.AppendLine(" or (XLXSBJD_XMMC='" + sXM + "' and not exists(select 1 from XLXSBJZDBJYXX where XLXSBJZDBJYXX_XXLX='XM' and XLXSBJZDBJYXX_XXNR=XLXSBJD_XMMC) ) ");//*项目名称重复*/ } if (bZD2)//*客户名称重复*/ { if (DicKHStr.Count > 0) { sSQL.AppendLine(" or (XLXSBJD_KH='" + sKH + "') "); foreach (string sTmpKH in DicKHStr.Keys) { if (sTmpKH.Equals("")) continue; if (sTmpKH.Contains("$")) { string sTmp1 = sTmpKH.Split('$')[0]; string sTmp2 = sTmpKH.Split('$')[1]; sSQL.AppendLine(" or (XLXSBJD_KH like '%" + sTmp1 + "%' and XLXSBJD_KH like '%" + sTmp2 + "%') "); } else sSQL.AppendLine(" or (XLXSBJD_KH like '%" + sTmpKH + "%') "); } } else sSQL.AppendLine(" or (XLXSBJD_KH='" + sKH + "') ");//*客户名称重复 } if (bZD15)//客户名称、项目名称相撞 { sSQL.AppendLine(" or (XLXSBJD_KH='" + sKH + "' and XLXSBJD_XMMC='" + sXM + "' )"); } if (bZD1)//*客户+销售员相撞*/ { sSQL.AppendLine(" or (XLXSBJD_KH='" + sKH + "' and XLXSBJD_TXY='" + sTXY + "') ");//*客户+销售员相撞*/ } if (bZD12)//*客户联系人重复*/ { sSQL.AppendLine(" or (XLXSBJD_KHLXR='" + sKHLXR + "') ");//*客户联系人重复*/ } if (bZD13)//*客户电话重复*/ { sSQL.AppendLine(" or (XLXSBJD_LXDH='" + sLXDH + "') ");//*客户电话重复*/ } if (bZD8)//*备案项目客户名称重复*/ { sSQL.AppendLine(" or ((K1MC='" + sKH + "' or K2MC='" + sKH + "' or K3MC='" + sKH + "' or K4MC='" + sKH + "') and isNull(XM.XMID,' ')=XLXSBJD_XMID) ");//*备案项目客户名称重复*/ } if (bZD9)//*备案项目名称重复*/ { sSQL.AppendLine(" or (isNull(XM.XMID,' ')=XLXSBJD_XMID and XLXSBJD_XMID=:pXMID) ");//*备案项目客户名称重复,:pXMID为当前报价单的XMID*/ entity.Param.Add("pXMID", sXMID); } if (bZD10)//*备案项目名称+销售员重复*/ { sSQL.AppendLine("or (isNull(XM.XMID,' ')=XLXSBJD_XMID and XLXSBJD_XMID=:pXMID and YXXM_TXY='" + sTXY + "') ");//*备案项目名称+销售员重复*/ if (!entity.Param.Contains("pXMID")) { entity.Param.Add("pXMID", sXMID); } } if (bZD11)//*项目与客户名称相撞*/ { sSQL.AppendLine(" or (XLXSBJD_KH like '%" + sXM + "%' or ('" + sXM + "' like '%' || rtrim(isnull(XLXSBJD_KH,' ')) || '%' and isnull(XLXSBJD_KH,' ') <> ' ')) ");//*项目名称重复*/ } sSQL.AppendLine(" ) "); if (CurQueryEntity.FieldByName("BJRQDX").Value.ToString().Trim().ToUpper().Equals("TRUE")) sSQL.AppendLine("order by " + sOrderSql + "XLXSBJD_BJRQ desc,XLXSBJD_BJDID "); else sSQL.AppendLine("order by " + sOrderSql + "XLXSBJD_BJRQ,XLXSBJD_BJDID "); if (PageParam.ContainsKey("BJDID")) entity.Param.Add("pBJDID", PageParam.GetRTrimString("BJDID")); else entity.Param.Add("pBJDID", CurQueryEntity.FieldByName("BZBJDH").Value.Trim()); return sSQL.ToString(); } //判断模块是否存在并且是否有权限 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 GetKHStr(string sKH, double dKHMCXSBL, ref Dictionary DicKHStr) { DicKHStr.Clear(); int AllLenth = sKH.Length; double CutBL = 100 - dKHMCXSBL; int CutLenth = (int)(AllLenth * CutBL / 100); int StrLenth = AllLenth - CutLenth; if (StrLenth == 0 || AllLenth == CutLenth) return; for (int i = 0; i < AllLenth; i++) { string stStr = ""; if (i < StrLenth) { string stStr1 = sKH.Substring(0, i); string stStr2 = sKH.Substring(i + CutLenth, StrLenth - i); if (i == 0) stStr = stStr1 + stStr2; else stStr = stStr1 + "$" + stStr2; } else { stStr = sKH.Substring(i - StrLenth, StrLenth); } if (!DicKHStr.ContainsKey(stStr)) { DicKHStr.Add(stStr, stStr); } } } #endregion protected void btnQD_Click(object sender, EventArgs e) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); sql.Add("update XLXSBJD set XLXSBJD_ZDQRRGH=:pZDQRRGH ,XLXSBJD_ZDQRSJ=:pZDQRSJ WHERE XLXSBJD_BJDID=:pBJDID"); sql.ParamByName("pZDQRRGH").Value = tSession.UserId; sql.ParamByName("pZDQRSJ").Value = CMISproConvert.ConvertTime(DateTime.Now); sql.ParamByName("pBJDID").Value = PageParam.GetRTrimString("BJDID").Trim(); dberp.ExecSQL(sql); btnQD.Enabled = false; btnQX.Enabled = true; MenuAreaUpdate(); DialogOperationScript dos = new DialogOperationScript(this); dos.CloseSelf(); dos.Execute(); } protected void btnQX_Click(object sender, EventArgs e) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); sql.Add("update XLXSBJD set XLXSBJD_ZDQRRGH=NULL ,XLXSBJD_ZDQRSJ=NULL WHERE XLXSBJD_BJDID=:pBJDID"); sql.ParamByName("pBJDID").Value = PageParam.GetRTrimString("BJDID").Trim(); dberp.ExecSQL(sql); btnQD.Enabled = true; btnQX.Enabled = false; MenuAreaUpdate(); } protected void grdContentGrid_RowDoubleClick(object sender, GThinking.N_CONTROL.RowDoubleClickEventArgs e) { base.InitEntityByCondition(); string sBZBJDH = grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["sBZBJDH"].ToString().Trim(); string sBJDID = grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim(); string sWFID = ""; string sWFINST = ""; bool CanBrowse = true; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XLXSBJD_SQRID,XLXSBJFL_JLRBJCP "); SQL.Add(" from XLXSBJD "); SQL.Add(" left join XLXSBJFL on XLXSBJFL_BJFLID = XLXSBJD_BJFLID "); SQL.Add(" where XLXSBJD_BJDID = :pBJDID "); SQL.ParamByName("pBJDID").Value = sBZBJDH; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { string sSQRID = ds.Tables[0].Rows[0]["XLXSBJD_SQRID"].ToString().Trim(); string sJLRBJCP = ds.Tables[0].Rows[0]["XLXSBJFL_JLRBJCP"].ToString().Trim(); if (tSession.RYID.Equals(sSQRID) && sJLRBJCP.Equals("Y")) CanBrowse = false; } ds.Clear(); SQL.Clear(); SQL.Add(" select XLXSBJD_BJDID,XLXSBJD_WFID,XLXSBJD_WFINST "); SQL.Add(" from XLXSBJD "); SQL.Add(" where XLXSBJD_BJDID = :pBJDID "); SQL.ParamByName("pBJDID").Value = sBJDID; ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sWFID = ds.Tables[0].Rows[0]["XLXSBJD_WFID"].ToString().Trim(); sWFINST = ds.Tables[0].Rows[0]["XLXSBJD_WFINST"].ToString().Trim(); } if (CanBrowse) { TPageParams tpp = new TPageParams(); tpp.UrlPath = "XLBJDInfo.aspx"; tpp.AddString("XLXSBJD_BJDID", sBJDID); tpp.AddString("WFID", sWFID); tpp.AddString("WFINST", sWFINST); tpp.AddString("BZBJDID", sBZBJDH); tpp.AddString("CPCFXLBZ", txtCPCFXLBZ.Value.Trim()); tpp.CallAction = TPageCallAction.pcaBrowse; OpenModuleDialog(100860174, tpp); } } } }