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 GThinking.N_CONTROL; using GThinking.N_MISPRO.MISPROAS; using System.Collections.Generic; namespace GThinking.N_XLXSBJ { public partial class CXBJDList : SingleGridBase { CXBJD entity = new CXBJD(); CXBJD_M qryEntity = new CXBJD_M(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860046; this.UMName = "线缆销售报价反馈"; this.CurMaster = Master; this.ModuleGV = grdContentGrid; this.CurEntity = entity; this.CurQueryEntity = qryEntity; this.sURLTarget = "XLBJDInfo.aspx"; this.sQueryURLTarget = "CXBJDQuery.aspx"; this.PageHeight = 600; this.PageWidth = 750; Master.EnableNewBtn = false; Master.EnableEditBtn = false; Master.EnableCopyBtn = false; Master.EnableDeleteBtn = false; Master.EnableViewBtn = false; base.DataKeyNames = new string[] { "ColorXH", "XLXSBJDMX_BJDID", "XLXSBJDMX_XH", "ZBSL", "XLXSBJDMX_XLXHID", "XLXSBJDMX_XDXLXHID", "XLXSBJDMX_XDXLBZID", "XLXSBJDMX_XLGGID", "XLXSBJDMX_XLBZID", "XLXSBJDMX_DYDJID", "XLXSBJDMX_BJSL", "XLXSBJD_WFID", "XLXSBJD_WFINST", "XLXSBJD_WFAWAITER", "WLID", "XLXSBJFKCFMX_CFXH", "XLXSBJD_XSBMID", "XLXSBJD_XSQYID" }; if (!IsPostBack) { CurQueryEntity.FieldByName("BJRQFW").Value = "1"; CurQueryEntity.FieldByName("CXFW").Value = "WQR"; CurQueryEntity.FieldByName("PXFS").Value = "报价日期正序↑"; CurQueryEntity.FieldByName("XLXHIDJQPP").Value = "True"; CurQueryEntity.FieldByName("XLGGIDJQPP").Value = "True"; //100860000|线缆销售报价单”、“100860061|销售员报价申请”模块调用,屏蔽双击操作 if (!PageParam.GetRTrimString("BJDID").Equals("")) CurQueryEntity.FieldByName("SFBDY").Value = "Y"; else { CurQueryEntity.FieldByName("SFBDY").Value = "N"; CurQueryEntity.FieldByName("CXZBDWPPWL").Value = "True"; CurQueryEntity.FieldByName("BXSTRFZCP").Value = "True"; } //物料缺失 if (PageParam.GetRTrimString("WLQS") == "Y") { CurQueryEntity.FieldByName("CXZBDWPPWL").Value = "True"; CurQueryEntity.FieldByName("BXSTRFZCP").Value = "True"; } if (!PageParam.GetRTrimString("BJBM").Equals("")) { grdContentGrid.FindColumnByFieldName("XLXSBJDMX_CPBJ").HeaderText = PageParam.GetRTrimString("BJBM"); grdContentGrid.FindColumnByFieldName("XLXSBJDMX_BJJE").HeaderText = PageParam.GetRTrimString("BJBM")+"金额"; } } string sBJU002 = GetOption(100860000, "BJU002"); int iXSWS = string.IsNullOrEmpty(sBJU002) ? 5 : CMISproConvert.StrToInt(sBJU002); if (iXSWS < 0) iXSWS = 0; else if (iXSWS > 8) iXSWS = 8; grdContentGrid.FindColumnExByFieldName("XLXSBJDMX_CPBJ").NumberDecimalPlace = iXSWS; if (DSActiveModule.IsActiveModule(100956005)) { grdContentGrid.FindColumnByFieldName("XMD").Visible = true; } else { grdContentGrid.FindColumnByFieldName("XMD").Visible = false; } XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860046); if (pzxx.XLXSBJPZ_TBFKZ3BB == "Y") { grdContentGrid.FindColumnByFieldName("XLXSBJDMX_BJWS").Visible = false; } else { grdContentGrid.FindColumnByFieldName("XLXSBJDMX_BJWS").Visible = true; } lblXSBM.Visible = false; txtXSBM.Visible = false; lblXSQY.Visible = false; txtXSQY.Visible = false; //100860000|线缆销售报价单”、“100860061|销售员报价申请”模块调用,控制“查询”按钮不可见 if (!PageParam.GetRTrimString("BJDID").Equals("")) { grdContentGrid.FindColumnByFieldName("XLXSBJDMX_BJDID").Visible = false; grdContentGrid.FindColumnByFieldName("XLXSBJD_BJRQ").Visible = false; grdContentGrid.FindColumnByFieldName("XLXSBJD_WPID").Visible = false; grdContentGrid.FindColumnByFieldName("XLXSBJD_TXY").Visible = false; grdContentGrid.FindColumnByFieldName("XLXSBJD_KH").Visible = false; grdContentGrid.FindColumnByFieldName("XMD").Visible = false; grdContentGrid.FindColumnByFieldName("XLXSBJD_XMMC").Visible = false; grdContentGrid.FindColumnByFieldName("XLXSBJD_XSBMID").Visible = false; grdContentGrid.FindColumnByFieldName("XLXSBJD_XSQYID").Visible = false; lblXSBM.Visible = true; txtXSBM.Visible = true; lblXSQY.Visible = true; txtXSQY.Visible = true; string sWfAwaiter = GetBJDDCLR(PageParam.GetRTrimString("BJDID")); if (sWfAwaiter.Contains("," + tSession.UserId + ",")) { if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from BJD where BJD_BJDID='{0}'", PageParam.GetRTrimString("BJDID"))) || txtZJFK.Value=="Y") { grdContentGrid.CheckBox = true; btnPLSZ.Visible = true; } } else { btnBJDQR.Enabled = false; } bool bCanFK = GetBJDFKZT(PageParam.GetRTrimString("BJDID")); if (!bCanFK) { btnPLSZ.Enabled = false; btnBJDQR.Enabled = false; } } btnCF.Visible = false; btnQXCF.Visible = false; if (!PageParam.GetRTrimString("BJDID").Equals("")&&pzxx.XLXSBJPZ_ZCCF == "Y") { btnCF.Visible = true; btnQXCF.Visible = true; } if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from BJD where BJD_BJDID='{0}'", PageParam.GetRTrimString("BJDID"))) && txtZJFK.Value != "Y") { btnCF.Enabled = false; btnQXCF.Enabled = false; } if (DSActiveModule.IsActiveModule(102577006)) { grdContentGrid.FindColumnByFieldName("XDXLBZ").Visible = true; } else { grdContentGrid.FindColumnByFieldName("XDXLBZ").Visible = false; } base.InitPage(); //100860000|线缆销售报价单”、“100860061|销售员报价申请”模块调用,屏蔽双击操作 if (!PageParam.GetRTrimString("BJDID").Equals("")) { this.ModuleGV.OnClientDblClick = "return false;"; } if (!IsPostBack) { //100860000|线缆销售报价单”、“100860061|销售员报价申请”模块调用,直接查询 if (!PageParam.GetRTrimString("BJDID").Equals("")) { Master_OnStandardQuery(null, null); } else { if (base.IsDefaultExecute) { Master_OnStandardQuery(null, null); } } txtNeedQR.Value = "N"; } TGtGridView.SetGrdColItems("DBERP", grdContentGrid.FindColumnExByFieldName("XLXSBJD_XSBMID"), "select BM_BMID,BM_MC as Name from BM "); } #region 模板事件继承 protected override void Master_OnStandardQuery(object sender, EventArgs e) { base.InitEntityByCondition(); 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) { TWorkflow awf1 = new TWorkflow(tSession, null); int indexWPID = grdContentGrid.Columns.IndexOf(grdContentGrid.FindColumnByFieldName("XLXSBJD_WPID")); e.Row.Cells[indexWPID].Text = awf1.GetWPName(grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_WFID"].ToString().Trim(), e.Row.Cells[indexWPID].Text); //偶数报价单增加颜色 if (CMISproConvert.StrToFloat(grdContentGrid.DataKeys[e.Row.RowIndex]["ColorXH"].ToString()) % 2 == 0) { e.Row.BackColor = System.Drawing.Color.LightBlue; } int indexXDXH = grdContentGrid.Columns.IndexOf(grdContentGrid.FindColumnByFieldName("XLXSBJDMX_XDXLXHID")); int indexXDBZ = grdContentGrid.Columns.IndexOf(grdContentGrid.FindColumnByFieldName("XDXLBZ")); int indexZB = grdContentGrid.Columns.IndexOf(grdContentGrid.FindColumnByFieldName("XLXSBJDMX_ZB")); int indexZBSL = grdContentGrid.Columns.IndexOf(grdContentGrid.FindColumnByFieldName("ZBSL")); int indexZBJE = grdContentGrid.Columns.IndexOf(grdContentGrid.FindColumnByFieldName("ZBJE")); int indexYS = grdContentGrid.Columns.IndexOf(grdContentGrid.FindColumnByFieldName("YS")); int indexWLID = grdContentGrid.Columns.IndexOf(grdContentGrid.FindColumnByFieldName("WLID")); int indexDZSC = grdContentGrid.Columns.IndexOf(grdContentGrid.FindColumnByFieldName("XLXSBJDMX_DZSC")); bool bIsAwatier = grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_WFAWAITER"].ToString().Trim().Contains("," + tSession.UserId + ","); bool bCanClick = false; if (!PageParam.GetRTrimString("BJDID").Equals("") && (PageParam.GetRTrimString("WLQS") != "Y")) bCanClick = grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_WFAWAITER"].ToString().Trim().Contains("," + tSession.UserId + ","); else bCanClick = CanClcikLink(grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_BJDID"].ToString().Trim(), grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_XH"].ToString().Trim()); if (bCanClick) { if (!PageParam.GetRTrimString("BJDID").Equals("")) { indexXDXH++; indexXDBZ++; indexZB++; indexZBSL++; indexZBJE++; indexYS++; indexWLID++; indexDZSC++; } string sBJDID = grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_BJDID"].ToString().Trim(); string sCFXH = grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJFKCFMX_CFXH"].ToString().Trim(); if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from BJD where BJD_BJDID='{0}'", sBJDID)) || txtZJFK.Value == "Y") { string sXDXLXHID = e.Row.Cells[indexXDXH].Text.Trim(); if (sXDXLXHID.Equals("")) { sXDXLXHID = "   "; } string sXDXLBZID = e.Row.Cells[indexXDBZ].Text.Trim(); if (sXDXLBZID.Equals("")) { sXDXLBZID = "   "; } e.Row.Cells[indexXDXH].Text = string.Format("" + sXDXLXHID + "", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_BJDID"].ToString().Trim(), grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_XH"].ToString().Trim()); e.Row.Cells[indexXDBZ].Text = string.Format("" + sXDXLBZID + "", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_BJDID"].ToString().Trim(), grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_XH"].ToString().Trim()); e.Row.Cells[indexDZSC].Text = string.Format("" + e.Row.Cells[indexDZSC].Text.Trim() + "", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_BJDID"].ToString().Trim(), grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_XH"].ToString().Trim()); e.Row.Cells[indexZB].Text = string.Format("" + e.Row.Cells[indexZB].Text.Trim() + "", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_BJDID"].ToString().Trim(), grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_XH"].ToString().Trim(), sCFXH); e.Row.Cells[indexZBSL].Text = string.Format("" + XLBJDUtils.strPadRight(e.Row.Cells[indexZBSL].Text.Trim(), 3) + "", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_BJDID"].ToString().Trim(), grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_XH"].ToString().Trim(), sCFXH); e.Row.Cells[indexZBJE].Text = string.Format("" + XLBJDUtils.strPadRight(e.Row.Cells[indexZBJE].Text.Trim(), 2) + "", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_BJDID"].ToString().Trim(), grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_XH"].ToString().Trim(), sCFXH); if (sCFXH.Equals("") || sCFXH.Equals("0")) { e.Row.Cells[indexYS].Text = string.Format("" + e.Row.Cells[indexYS].Text.Trim() + "", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_BJDID"].ToString().Trim(), grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_XH"].ToString().Trim()); } string sWLID = e.Row.Cells[indexWLID].Text.Trim(); if (sWLID.Equals("")) { sWLID = "   "; } e.Row.Cells[indexWLID].Text = string.Format("" + sWLID + "", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_BJDID"].ToString().Trim(), grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_XH"].ToString().Trim(), grdContentGrid.DataKeys[e.Row.RowIndex]["WLID"].ToString().Trim(), sCFXH); } } else { e.Row.Cells[indexZBSL].Text = XLBJDUtils.strPadRight(e.Row.Cells[indexZBSL].Text.Trim(), 3); e.Row.Cells[indexZBJE].Text = XLBJDUtils.strPadRight(e.Row.Cells[indexZBJE].Text.Trim(), 2); } try { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); string sXSQYBMGZ = ""; string sXSQYMC = ""; int indexXSQY = grdContentGrid.Columns.IndexOf(grdContentGrid.FindColumnByFieldName("XLXSBJD_XSQYID")); string sXSQYID = grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_XSQYID"].ToString().Trim(); int iQYCJ = 0; int len = sXSQYID.Length; if (sXSQYID.Equals("")) { e.Row.Cells[indexXSQY].Text = ""; } else { if (GetOption("XSKHS001").Equals("")) sXSQYBMGZ = "2-2-2-2-2"; else sXSQYBMGZ = GetOption("XSKHS001").Trim(); string[] array = sXSQYBMGZ.Split('-'); List lstXSQYBMGZ = new List(array); for (int i = 0; i < lstXSQYBMGZ.Count; i++) { if (CMISproConvert.StrToInt(lstXSQYBMGZ[i]) == len) { iQYCJ = i + 1; break; } else { len = len - CMISproConvert.StrToInt(lstXSQYBMGZ[i]); } } if (iQYCJ == 0) { e.Row.Cells[indexXSQY].Text = ""; } else { int lenJQ = sXSQYID.Length; string sQYID = ""; for (int j = iQYCJ; j > 0; j--) { sQYID = sXSQYID.Substring(0, lenJQ); SQL.Clear(); SQL.Add("select XSQY_XSQYMC from XSQY where XSQY_XSQYID =:pXSQYID "); SQL.ParamByName("pXSQYID").Value = sQYID; DataSet dsQY = dberp.OpenDataSet(SQL); if (dsQY.Tables[0].Rows.Count > 0) { if (sXSQYMC == "") { sXSQYMC = dsQY.Tables[0].Rows[0]["XSQY_XSQYMC"].ToString().Trim(); } else { sXSQYMC = dsQY.Tables[0].Rows[0]["XSQY_XSQYMC"].ToString().Trim() + "-" + sXSQYMC; } } lenJQ = lenJQ - CMISproConvert.StrToInt(lstXSQYBMGZ[j - 1]); } e.Row.Cells[indexXSQY].Text = sXSQYMC; } } } catch { } LinkPageParam.UMID = 100860000; LinkPageParam.AddString("WFID", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_WFID"].ToString().Trim()); LinkPageParam.AddString("WFINST", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_WFINST"].ToString().Trim()); LinkPageParam.AddString("XLXSBJD_BJDID", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_BJDID"].ToString().Trim()); } base.moduleGV_RowDataBound(sender, e); } protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e) { base.InitEntityByCondition(); entity.EntityTable.QuerySelSql = GetSQL(); grdContentGrid.SelectedIndex = -1; base.moduleGV_PageIndexChanging(sender, e); } #endregion #region 自定义函数 //判断模块是否存在并且是否有权限 private bool CheckModule(int iUMID) { UserRight UR = OpRightUtils.GetUserRight(tSession.UserId, iUMID); return (DSActiveModule.IsActiveModule(iUMID) && UR.Open); } private string GetSQL() { string sYXQBJWL = XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_YXQCPWL.Trim(); if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim()) || !string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLGGID").Value.Trim()) || !string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJID").Value.Trim()) || !string.IsNullOrEmpty(CurQueryEntity.FieldByName("ST").Value.Trim())) { btnBJDQR.Visible = false; } else btnBJDQR.Visible = true; bool ExistsBJCPYS = false;//是否设置了报价产品颜色 if (CMISproDataBase.ExistsRecord("DBERP", "select top 1 XLXSBJCPYS_CPYT from XLXSBJCPYS where 1=1")) { ExistsBJCPYS = true; } StringBuilder sSQL = new StringBuilder(); sSQL.AppendLine("select ColorXH,XLXSBJDMX_BJDID,XLXSBJDMX_XH,XLXSBJDMX_XSSX,XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,YS,"); sSQL.AppendLine(" XLXSBJDMX_BJCP,XLXSBJDMX_JLDW,XLXSBJDMX_BJSL,XLXSBJDMX_CPBJ,XLXSBJDMX_BJJE,XLJGCZBML_FZR,XLXSBJDMX_WLZDR,XLXSBJDMX_WLZDSJ,XLXSBJDMX_BZ,XLXSBJDMX_WHR,XLXSBJDMX_WHSJ,"); sSQL.AppendLine(" case when isnull(XLXSBJDMX_DZSC,'N') = 'Y' then '定制生产' else '非定制生产' end as XLXSBJDMX_DZSC,XLXSBJDMX_BJWS,XLXSBJDMX_ZB,ZBSL,ZBJE,"); sSQL.AppendLine(" XLXSBJD_BJRQ,XLXSBJD_TXY,XLXSBJD_KH,XLXSBJD_XMMC,XLXSBJD_WFID,XLXSBJD_WPID,XLXSBJD_WFINST,XLXSBJD_WFAWAITER,XMD,"); if (sYXQBJWL == "Y" || sYXQBJWL == "X") { sSQL.AppendLine(" case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then XLXSBJDMX_WLID when isnull(c.minWLID,' ') <> ' ' then c.minWLID else a.minWLID end as WLID,"); sSQL.AppendLine(" case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then "); sSQL.AppendLine(" rtrim(rtrim(rtrim(rtrim(isnull(wlb.WL_MC,' '))||' '||rtrim(isnull(wlb.WL_GG,' ')))||' '||rtrim(isnull(wlb.WL_TZ,' ')))||' '||rtrim(isnull(wlb.WL_CL,' '))) "); sSQL.AppendLine(" when isnull(c.minWLID,' ') <> ' ' then "); sSQL.AppendLine(" rtrim(rtrim(rtrim(rtrim(isnull(wlc.WL_MC,' '))||' '||rtrim(isnull(wlc.WL_GG,' ')))||' '||rtrim(isnull(wlc.WL_TZ,' ')))||' '||rtrim(isnull(wlc.WL_CL,' '))) "); sSQL.AppendLine(" else "); sSQL.AppendLine(" rtrim(rtrim(rtrim(rtrim(isnull(wla.WL_MC,' '))||' '||rtrim(isnull(wla.WL_GG,' ')))||' '||rtrim(isnull(wla.WL_TZ,' ')))||' '||rtrim(isnull(wla.WL_CL,' '))) "); sSQL.AppendLine(" end as WLXX, "); } else { sSQL.AppendLine(" case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then XLXSBJDMX_WLID when isnull(a.minWLID,' ') <> ' ' then a.minWLID else c.minWLID end as WLID,"); sSQL.AppendLine(" case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then "); sSQL.AppendLine(" rtrim(rtrim(rtrim(rtrim(isnull(wlb.WL_MC,' '))||' '||rtrim(isnull(wlb.WL_GG,' ')))||' '||rtrim(isnull(wlb.WL_TZ,' ')))||' '||rtrim(isnull(wlb.WL_CL,' '))) "); sSQL.AppendLine(" when isnull(a.minWLID,' ') <> ' ' then "); sSQL.AppendLine(" rtrim(rtrim(rtrim(rtrim(isnull(wla.WL_MC,' '))||' '||rtrim(isnull(wla.WL_GG,' ')))||' '||rtrim(isnull(wla.WL_TZ,' ')))||' '||rtrim(isnull(wla.WL_CL,' '))) "); sSQL.AppendLine(" else "); sSQL.AppendLine(" rtrim(rtrim(rtrim(rtrim(isnull(wlc.WL_MC,' '))||' '||rtrim(isnull(wlc.WL_GG,' ')))||' '||rtrim(isnull(wlc.WL_TZ,' ')))||' '||rtrim(isnull(wlc.WL_CL,' '))) "); sSQL.AppendLine(" end as WLXX, "); } sSQL.AppendLine(" XLBZ,XLXSBJDMX_XDXLXHID,XLXSBJDMX_XDXLBZID,XDXLBZ, "); sSQL.AppendLine(" case when isnull(HT_HTBH,' ') = ' ' or isnull(HT_WPID,' ') <> 'ZZZZ' then ' ' else HT_HTBH end as HT_HTBH, "); sSQL.AppendLine(" case when isnull(SO_SOID,' ') = ' ' or isnull(SO_WPID,' ') <> 'ZZZZ' then ' ' else SO_SOID end as SO_SOID, "); sSQL.AppendLine(" case when isnull(SOTH_THDID,' ') = ' ' or isnull(SOTH_WPID,' ') <> 'ZZZZ' then ' ' else SOTH_THDID end as SOTH_THDID, "); sSQL.AppendLine(" XLXSBJD_XSBMID,XLXSBJD_XSQYID "); if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y")) { sSQL.AppendLine(" ,isnull(XLXSBJFKCFMX_CFXH,0) as XLXSBJFKCFMX_CFXH "); } else { sSQL.AppendLine(" ,0 as XLXSBJFKCFMX_CFXH "); } sSQL.AppendLine("from "); sSQL.AppendLine("("); sSQL.AppendLine(" select "); if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("报价单号")) { sSQL.AppendLine(" row_number() over(order by XLXSBJD_BJDID) as ColorXH, "); } else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("报价日期倒序↓")) { sSQL.AppendLine(" row_number() over(order by XLXSBJD_BJRQ DESC,XLXSBJD_BJDID) as ColorXH, "); } else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("报价日期正序↑")) { sSQL.AppendLine(" row_number() over(order by XLXSBJD_BJRQ,XLXSBJD_BJDID) as ColorXH, "); } else { sSQL.AppendLine(" row_number() over(order by XLXSBJD_BJRQ,XLXSBJD_BJDID) as ColorXH, "); } sSQL.AppendLine(" XLXSBJD_BJDID,XLXSBJD_BJRQ,XLXSBJD_TXY,XLXSBJD_KH,XLXSBJD_XMMC,XLXSBJD_WFID,XLXSBJD_WPID,XLXSBJD_WFINST,XLXSBJD_WFAWAITER, "); sSQL.AppendLine(" case when isnull(xmd1.XZQH_FID,' ')='86' then isnull(xmd1.XZQH_PROVINCE,' ') else rtrim(isnull(xmd2.XZQH_PROVINCE,' '))||rtrim(isnull(xmd1.XZQH_CITY,' ')) end as XMD,XLXSBJD_XSBMID,XLXSBJD_XSQYID "); sSQL.AppendLine(" from XLXSBJD "); sSQL.AppendLine(" left join XZQH xmd1 on xmd1.XZQH_XZQHID=XLXSBJD_XZQHID"); sSQL.AppendLine(" left join XZQH xmd2 on xmd2.XZQH_XZQHID=xmd1.XZQH_FID"); sSQL.AppendLine(" where 1=1 "); sSQL.AppendLine(" and isnull(XLXSBJD_YWLX,' ') = ' ' "); if (btnBJDQR.Visible && !PageParam.GetRTrimString("BJDID").Equals("")) { TWorkflow awf1 = new TWorkflow(tSession, null); awf1.UMID = 100860000; awf1.CurUserID = tSession.UserId; string sWFID = awf1.GetWFID("XLXSBJ_BJD"); string sYWSW = TWorkflow.Utils.WFGetYHSWID(sWFID, "0030");//0030|反馈 sSQL.AppendLine(" and (isnull(XLXSBJD_WPID,' ')='ZZZZ' "); sSQL.AppendLine(" or " + CMISproDataBase.GetWhereEqual("XLXSBJD_WPID", sYWSW)); sSQL.AppendLine(" ) "); } //100860000|线缆销售报价单”、“100860061|销售员报价申请”模块调用,各查询条件不生效 if (!PageParam.GetRTrimString("BJDID").Equals("")) { sSQL.AppendLine(" and XLXSBJD_BJDID = :pBJDID "); entity.Param.Add("pBJDID", PageParam.GetRTrimString("BJDID")); } else { sSQL.AppendLine(" and exists(select 1 from XLXSBJDMX where XLXSBJDMX_BJDID=XLXSBJD_BJDID)");//存在明细记录 #region 查询条件 if (CurQueryEntity.FieldByName("BJRQFW").Value.Trim().Equals("1"))//本周 { DateTime dt = DateTime.Now; //当前时间 DateTime startWeek = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString("d"))); //本周周一 DateTime endWeek = startWeek.AddDays(6); //本周周日 sSQL.AppendLine(CMISproDataBase.GetTimeConditionSQL("XLXSBJD_BJRQ", startWeek.ToShortDateString(), endWeek.ToShortDateString(), DateTimeType.dtDate, DateTimeType.dtDate)); } else if (CurQueryEntity.FieldByName("BJRQFW").Value.Trim().Equals("2"))//本月 { DateTime dt = DateTime.Now; //当前时间 DateTime startMonth = dt.AddDays(1 - dt.Day); //本月月初 DateTime endMonth = startMonth.AddMonths(1).AddDays(-1); //本月月末 sSQL.AppendLine(CMISproDataBase.GetTimeConditionSQL("XLXSBJD_BJRQ", startMonth.ToShortDateString(), endMonth.ToShortDateString(), DateTimeType.dtDate, DateTimeType.dtDate)); } else if (CurQueryEntity.FieldByName("BJRQFW").Value.Trim().Equals("3"))//三个月内 { DateTime dt = DateTime.Now; //当前时间 DateTime startMonth = dt.AddDays(1 - dt.Day); //本月月初 DateTime endMonth = startMonth.AddMonths(1).AddDays(-1); //本月月末 sSQL.AppendLine(CMISproDataBase.GetTimeConditionSQL("XLXSBJD_BJRQ", startMonth.AddMonths(-2).ToShortDateString(), endMonth.ToShortDateString(), DateTimeType.dtDate, DateTimeType.dtDate)); } else if (CurQueryEntity.FieldByName("BJRQFW").Value.Trim().Equals("4"))//六个月内 { DateTime dt = DateTime.Now; //当前时间 DateTime startMonth = dt.AddDays(1 - dt.Day); //本月月初 DateTime endMonth = startMonth.AddMonths(1).AddDays(-1); //本月月末 sSQL.AppendLine(CMISproDataBase.GetTimeConditionSQL("XLXSBJD_BJRQ", startMonth.AddMonths(-5).ToShortDateString(), endMonth.ToShortDateString(), DateTimeType.dtDate, DateTimeType.dtDate)); } else if (CurQueryEntity.FieldByName("BJRQFW").Value.Trim().Equals("ALL"))//全部 { sSQL.AppendLine(" and 1=1"); } else { sSQL.AppendLine(" and 1<>1"); } if (CurQueryEntity.FieldByName("CXFW").Value.Trim().Equals("WQR"))//未反馈报价单 { sSQL.AppendLine(" and not exists(select 1 from BJD where BJD_BJDID=XLXSBJD_BJDID) "); } else if (CurQueryEntity.FieldByName("CXFW").Value.Trim().Equals("YQR"))//已反馈报价单 { sSQL.AppendLine(" and exists(select 1 from BJD where BJD_BJDID=XLXSBJD_BJDID) "); } else if (CurQueryEntity.FieldByName("CXFW").Value.Trim().Equals("ALL"))//全部 { sSQL.AppendLine(" and 1=1 "); } if (!CurQueryEntity.FieldByName("BJDID").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJD_BJDID like :pBJDID "); entity.Param.Add("pBJDID", "%" + CurQueryEntity.FieldByName("BJDID").Value.Trim() + "%"); } 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("TXY").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJD_TXY=:pTXY "); entity.Param.Add("pTXY", CurQueryEntity.FieldByName("TXY").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("XM").Value.Trim().Equals("")) { sSQL.AppendLine(" and XLXSBJD_XMMC like :pXM "); entity.Param.Add("pXM", "%" + CurQueryEntity.FieldByName("XM").Value.Trim() + "%"); } if (!CurQueryEntity.FieldByName("BMID").Value.Trim().Equals("")) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_XSBMID", CurQueryEntity.FieldByName("BMID").Value.Trim())); } if (!CurQueryEntity.FieldByName("XSQY").Value.Trim().Equals("")) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereLead("XLXSBJD_XSQYID", CurQueryEntity.FieldByName("XSQY").Value.Trim())); } #endregion } sSQL.AppendLine(") BJD,"); sSQL.AppendLine(" ( "); sSQL.AppendLine("select XLXSBJDMX_BJDID,XLXSBJDMX_XH,XLXSBJDMX_XSSX,XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,XLXSBJDMX_DZSC,"); if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y")) { sSQL.AppendLine(" XLXSBJFKCFMX_CFXH,CASE WHEN ISNULL(XLXSBJFKCFMX_XLYSID,' ')=' ' THEN XLXSBJDMX_XLYSID ELSE XLXSBJFKCFMX_XLYSID END AS XLXSBJDMX_XLYSID, "); sSQL.AppendLine(" CASE WHEN ISNULL(XLXSBJFKCFMX_WLID,' ')=' ' THEN XLXSBJDMX_WLID ELSE XLXSBJFKCFMX_WLID END AS XLXSBJDMX_WLID, "); sSQL.AppendLine(" case when isnull(CASE WHEN ISNULL(XLXSBJFKCFMX_XLYSID,' ')=' ' THEN XLXSBJDMX_XLYSID ELSE XLXSBJFKCFMX_XLYSID END,' ') = ' ' then ' ' else XLYSB_XLYSMC end as YS, "); sSQL.AppendLine(" CASE WHEN ISNULL(XLXSBJFKCFMX_ZBSL,-1)=-1 THEN XLXSBJDMX_ZBSL ELSE XLXSBJFKCFMX_ZBSL END as ZBSL,"); sSQL.AppendLine(" CASE WHEN ISNULL(XLXSBJFKCFMX_ZBJE,-1)=-1 THEN XLXSBJDMX_ZBJE ELSE XLXSBJFKCFMX_ZBJE END as ZBJE, "); sSQL.AppendLine(" CASE WHEN ISNULL(XLXSBJFKCFMX_CFSL,-1)=-1 THEN XLXSBJDMX_BJSL ELSE XLXSBJFKCFMX_CFSL END AS XLXSBJDMX_BJSL,"); } else { sSQL.AppendLine(" XLXSBJDMX_XLYSID,XLXSBJDMX_WLID,case when isnull(XLXSBJDMX_XLYSID,' ') = ' ' then ' ' else XLYSB_XLYSMC end as YS,XLXSBJDMX_ZBSL as ZBSL,XLXSBJDMX_ZBJE as ZBJE,XLXSBJDMX_BJSL,"); } sSQL.AppendLine(" XLXSBJDMX_BJCP,XLXSBJDMX_JLDW,XLXSBJDMX_CPBJ,XLXSBJDMX_BJJE,isnull(XLJGCZBML_FZR,' ') as XLJGCZBML_FZR,XLXSBJDMX_WLZDR,XLXSBJDMX_WLZDSJ,XLXSBJDMX_BZ,XLXSBJDMX_WHR,XLXSBJDMX_WHSJ,"); sSQL.AppendLine(" XLXSBJDMX_BJWS,case isnull(XLXSBJDMX_ZB,' ') when 'Y' then '全部中标' when 'P' then '部分中标' when 'N' then '未中标' when 'F' then '废标' when 'Q' then '弃标' else ' ' end as XLXSBJDMX_ZB,"); sSQL.AppendLine(" case isnull(XLXSBJDMX_XLBZID,' ') when ' ' then ' ' else rtrim(XLXSBJDMX_XLBZID)||'|'||A.XLBZ_XLBZLXMC end as XLBZ, "); sSQL.AppendLine(" XLXSBJDMX_XDXLXHID,XLXSBJDMX_XDXLBZID,case isnull(XLXSBJDMX_XDXLBZID,' ') when ' ' then ' ' else rtrim(XLXSBJDMX_XDXLBZID)||'|'||B.XLBZ_XLBZLXMC end as XDXLBZ "); sSQL.AppendLine(" from XLXSBJDMX "); if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y")) { sSQL.AppendLine("left join XLXSBJFKCFMX on XLXSBJFKCFMX_BJDID= XLXSBJDMX_BJDID AND XLXSBJFKCFMX_BJDXH= XLXSBJDMX_XH "); } sSQL.AppendLine("left join XLBZ A on A.XLBZ_XLBZID= XLXSBJDMX_XLBZID "); sSQL.AppendLine("left join XLBZ B on B.XLBZ_XLBZID= XLXSBJDMX_XDXLBZID "); if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y")) sSQL.AppendLine("left join XLYSB on XLYSB_XLYSID=CASE WHEN ISNULL(XLXSBJFKCFMX_XLYSID,' ')=' ' THEN XLXSBJDMX_XLYSID ELSE XLXSBJFKCFMX_XLYSID END "); else sSQL.AppendLine("left join XLYSB on XLYSB_XLYSID=XLXSBJDMX_XLYSID "); sSQL.AppendLine("left join XLXSCLQD on XLXSCLQD_XLXHID=XLXSBJDMX_XLXHID and XLXSCLQD_XLGGID=XLXSBJDMX_XLGGID and XLXSCLQD_XLBZID=XLXSBJDMX_XLBZID and XLXSCLQD_DYDJID=XLXSBJDMX_DYDJID and XLXSCLQD_WPID='ZZZZ' "); sSQL.AppendLine("left join XLJGCZBML on XLJGCZBML_JGCZBID=XLXSCLQD_JGCZBID "); sSQL.AppendLine(" ) tmpMX"); sSQL.AppendLine("left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSBJDMX_XLGGID "); if (sYXQBJWL == "Z" || sYXQBJWL == "X") { sSQL.AppendLine("left join (select XLXSBJXDWL_XLXHID as XLXHID,XLXSBJXDWL_XLGGID as XLGGID,XLXSBJXDWL_DYDJID as DYDJID,min(XLXSBJXDWL_WLID) as minWLID "); sSQL.AppendLine(" from XLXSBJXDWL"); sSQL.AppendLine(" where 1=1"); sSQL.AppendLine(" and exists(select 1 from WL where WL_WLID=XLXSBJXDWL_WLID and isnull(WL_TYBZ,' ')<>'Y')"); sSQL.AppendLine(" group by XLXSBJXDWL_XLXHID,XLXSBJXDWL_XLGGID,XLXSBJXDWL_DYDJID"); sSQL.AppendLine(" ) c on c.XLXHID=XLXSBJDMX_XDXLXHID and c.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and c.DYDJID=XLXSBJDMX_DYDJID "); sSQL.AppendLine("left join (select XSBJXHTH_BJXLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_DYDJID as DYDJID, minWLID "); sSQL.AppendLine(" from ( "); sSQL.AppendLine(" select XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_DYDJID,min(XLXLB_WLID)as minWLID "); sSQL.AppendLine(" from XLXLB "); sSQL.AppendLine(" where 1=1 "); sSQL.AppendLine(" and isnull(XLXLB_TYBZ,' ')<> 'Y' "); sSQL.AppendLine(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y')"); sSQL.AppendLine(" and exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID )"); sSQL.AppendLine(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_DYDJID "); sSQL.AppendLine(" ) tmpXL left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID "); sSQL.AppendLine(" union all "); sSQL.AppendLine(" select XLXLB_XLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_DYDJID as DYDJID,min(XLXLB_WLID)as minWLID "); sSQL.AppendLine(" from XLXLB "); sSQL.AppendLine(" where isnull(XLXLB_TYBZ,' ')<>'Y' "); sSQL.AppendLine(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') "); sSQL.AppendLine(" and not exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) "); sSQL.AppendLine(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_DYDJID "); sSQL.AppendLine(" ) a on a.XLXHID=XLXSBJDMX_XDXLXHID and a.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and a.DYDJID=XLXSBJDMX_DYDJID "); } else { if (ExistsBJCPYS) { sSQL.AppendLine("left join (select XLXSBJXDWL_XLXHID as XLXHID,XLXSBJXDWL_XLGGID as XLGGID,XLXSBJXDWL_XLBZID as XLBZID,XLXSBJXDWL_DYDJID as DYDJID,XLXSBJXDWL_XLYSID as XLYSID,min(XLXSBJXDWL_WLID) as minWLID "); sSQL.AppendLine(" from XLXSBJXDWL"); sSQL.AppendLine(" where 1=1"); //sSQL.AppendLine(" and isnull(XLXSBJXDWL_TYBZ,' ')<> 'Y' "); sSQL.AppendLine(" and exists(select 1 from WL where WL_WLID=XLXSBJXDWL_WLID and isnull(WL_TYBZ,' ')<>'Y')"); sSQL.AppendLine(" group by XLXSBJXDWL_XLXHID,XLXSBJXDWL_XLGGID,XLXSBJXDWL_XLBZID,XLXSBJXDWL_DYDJID,XLXSBJXDWL_XLYSID"); sSQL.AppendLine(" ) c on c.XLXHID=XLXSBJDMX_XDXLXHID and c.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and c.XLBZID=XLXSBJDMX_XDXLBZID and c.DYDJID=XLXSBJDMX_DYDJID and c.XLYSID=XLXSBJDMX_XLYSID "); sSQL.AppendLine("left join (select XSBJXHTH_BJXLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,XLXLB_XLYSID as XLYSID,minWLID "); sSQL.AppendLine(" from ( "); sSQL.AppendLine(" select XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID,min(XLXLB_WLID)as minWLID "); sSQL.AppendLine(" from XLXLB "); sSQL.AppendLine(" where 1=1 "); sSQL.AppendLine(" and isnull(XLXLB_TYBZ,' ')<> 'Y' "); sSQL.AppendLine(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y')"); sSQL.AppendLine(" and exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID)"); sSQL.AppendLine(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID"); sSQL.AppendLine(" ) tmpXL left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID "); sSQL.AppendLine(" union all"); sSQL.AppendLine(" select XLXLB_XLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,XLXLB_XLYSID as XLYSID,min(XLXLB_WLID)as minWLID "); sSQL.AppendLine(" from XLXLB "); sSQL.AppendLine(" where isnull(XLXLB_TYBZ,' ')<>'Y' "); sSQL.AppendLine(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') "); sSQL.AppendLine(" and not exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) "); sSQL.AppendLine(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID "); sSQL.AppendLine(" ) a on a.XLXHID=XLXSBJDMX_XDXLXHID and a.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and a.XLBZID=XLXSBJDMX_XDXLBZID and a.DYDJID=XLXSBJDMX_DYDJID and a.XLYSID=XLXSBJDMX_XLYSID "); } else { sSQL.AppendLine("left join (select XLXSBJXDWL_XLXHID as XLXHID,XLXSBJXDWL_XLGGID as XLGGID,XLXSBJXDWL_XLBZID as XLBZID,XLXSBJXDWL_DYDJID as DYDJID,min(XLXSBJXDWL_WLID) as minWLID "); sSQL.AppendLine(" from XLXSBJXDWL"); sSQL.AppendLine(" where 1=1"); sSQL.AppendLine(" and exists(select 1 from WL where WL_WLID=XLXSBJXDWL_WLID and isnull(WL_TYBZ,' ')<>'Y')"); sSQL.AppendLine(" group by XLXSBJXDWL_XLXHID,XLXSBJXDWL_XLGGID,XLXSBJXDWL_XLBZID,XLXSBJXDWL_DYDJID"); sSQL.AppendLine(" ) c on c.XLXHID=XLXSBJDMX_XDXLXHID and c.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and c.XLBZID=XLXSBJDMX_XDXLBZID and c.DYDJID=XLXSBJDMX_DYDJID "); sSQL.AppendLine("left join (select XSBJXHTH_BJXLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID, minWLID "); sSQL.AppendLine(" from ( "); sSQL.AppendLine(" select XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,min(XLXLB_WLID)as minWLID "); sSQL.AppendLine(" from XLXLB "); sSQL.AppendLine(" where 1=1 "); sSQL.AppendLine(" and isnull(XLXLB_TYBZ,' ')<> 'Y' "); sSQL.AppendLine(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y')"); sSQL.AppendLine(" and exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID )"); sSQL.AppendLine(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID "); sSQL.AppendLine(" ) tmpXL left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID "); sSQL.AppendLine(" union all "); sSQL.AppendLine(" select XLXLB_XLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,min(XLXLB_WLID)as minWLID "); sSQL.AppendLine(" from XLXLB "); sSQL.AppendLine(" where isnull(XLXLB_TYBZ,' ')<>'Y' "); sSQL.AppendLine(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') "); sSQL.AppendLine(" and not exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) "); sSQL.AppendLine(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID "); sSQL.AppendLine(" ) a on a.XLXHID=XLXSBJDMX_XDXLXHID and a.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and a.XLBZID=XLXSBJDMX_XDXLBZID and a.DYDJID=XLXSBJDMX_DYDJID "); } } sSQL.AppendLine("left join WL wla on wla.WL_WLID=a.minWLID "); sSQL.AppendLine("left join WL wlb on wlb.WL_WLID=XLXSBJDMX_WLID "); sSQL.AppendLine("left join WL wlc on wlc.WL_WLID=c.minWLID "); sSQL.AppendLine("left join HT on HT_BJDID = XLXSBJDMX_BJDID "); sSQL.AppendLine("left join SO on SO_HTBH = HT_HTBH "); sSQL.AppendLine("left join SOTH on SOTH_HTBH = HT_HTBH "); sSQL.AppendLine("where XLXSBJD_BJDID=XLXSBJDMX_BJDID "); if (txtZJFK.Value == "Y") { sSQL.AppendLine(" and not exists(select 1 from BJDMX where BJDMX_BJDID=XLXSBJDMX_BJDID and BJDMX_BJDXH=XLXSBJDMX_XH and BJDMX_ZBSL<>0 ) "); } //型号模糊 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 "); 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 "); 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 "); 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 " + CMISproDataBase.GetWhereEqual(" XLXSBJXLGGTHB_XLGGIDCH", sXLGGID.Replace('*', '×'))); } else { sSQL.AppendLine(" and XLXSBJXLGGTHB_XLGGIDCH = :pXLGGID "); entity.Param.Add("pXLGGID", CurQueryEntity.FieldByName("XLGGID").Value.Trim().Replace("*", "×")); } } } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ST").Value.Trim())) { sSQL.AppendLine("\r\n and XLXSBJDMX_XLBZID = :pST "); entity.Param.Add("pST", CurQueryEntity.FieldByName("ST").Value.Trim()); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJID").Value.Trim())) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("XLXSBJDMX_DYDJID", CurQueryEntity.FieldByName("DYDJID").Value.Trim())); } if (CurQueryEntity.FieldByName("CXXHYBJCPBYZ").Value.Trim().Equals("True")) { sSQL.AppendLine(" AND XLXSBJDMX_BJCP not like '%'||ltrim(rtrim(tmpMX.XLXSBJDMX_XDXLXHID))||'%' "); } if (CurQueryEntity.FieldByName("BXSTRFZCP").Value.Trim().ToUpper().Equals("TRUE")) { sSQL.AppendLine(" AND (isnull(XLJGCZBML_FZR,' ')=' ' or XLJGCZBML_FZR=:pFZR ) "); entity.Param.Add("pFZR", tSession.UserName); } if (CurQueryEntity.FieldByName("CXZBDWPPWL").Value.Trim().Equals("True")) { if (sYXQBJWL == "Y" || sYXQBJWL == "X") sSQL.AppendLine(" AND (case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then XLXSBJDMX_WLID when isnull(c.minWLID,' ') <> ' ' then c.minWLID else isnull(a.minWLID,' ') end )= ' ' AND XLXSBJDMX_ZB in ('全部中标','部分中标') "); else sSQL.AppendLine(" AND (case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then XLXSBJDMX_WLID when isnull(a.minWLID,' ') <> ' ' then a.minWLID else isnull(c.minWLID,' ') end )= ' ' AND XLXSBJDMX_ZB in ('全部中标','部分中标') "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("BJCP").Value.Trim())) { sSQL.AppendLine(" AND XLXSBJDMX_BJCP like :pBJCP "); entity.Param.Add("pBJCP", "%" + CurQueryEntity.FieldByName("BJCP").Value.Trim() + "%"); } if (CurQueryEntity.FieldByName("SFZB").Value.Trim().ToUpper().Equals("TRUE")) { sSQL.AppendLine(" AND XLXSBJDMX_ZB in ('全部中标','部分中标') "); } if (CurQueryEntity.FieldByName("SFQDHT").Value.Trim().ToUpper().Equals("TRUE")) { sSQL.AppendLine(" AND isnull(HT_HTBH,' ') <> ' ' and isnull(HT_WPID,' ') = 'ZZZZ' and isnull(HT_GD,' ') = 'Y' "); } if (CurQueryEntity.FieldByName("SFXDD").Value.Trim().ToUpper().Equals("TRUE")) { sSQL.AppendLine(" AND isnull(SO_SOID,' ') <> ' ' and isnull(SO_WPID,' ') = 'ZZZZ' "); } if (CurQueryEntity.FieldByName("SFFH").Value.Trim().ToUpper().Equals("TRUE")) { sSQL.AppendLine(" AND isnull(SOTH_THDID,' ') <> ' ' and isnull(SOTH_WPID,' ') = 'ZZZZ' "); } if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("报价单号")) { sSQL.AppendLine(" order by XLXSBJDMX_BJDID,XLXSBJDMX_XSSX "); } else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("报价日期倒序↓")) { sSQL.AppendLine(" order by XLXSBJD_BJRQ DESC, XLXSBJDMX_BJDID,XLXSBJDMX_XSSX "); } else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("报价日期正序↑")) { sSQL.AppendLine(" order by XLXSBJD_BJRQ, XLXSBJDMX_BJDID,XLXSBJDMX_XSSX "); } else { if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y")) { sSQL.AppendLine(" order by XLXSBJD_BJRQ, XLXSBJDMX_BJDID,XLXSBJDMX_XSSX,XLXSBJFKCFMX_CFXH "); } else { sSQL.AppendLine(" order by XLXSBJD_BJRQ, XLXSBJDMX_BJDID,XLXSBJDMX_XSSX "); } } txtXSBM.Text = ""; txtXSQY.Text = ""; if (!PageParam.GetRTrimString("BJDID").Equals("")) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select "); SQL.Add(" case when isnull(XLXSBJD_XSBMID,' ') = ' ' then ' ' else rtrim(isnull(XLXSBJD_XSBMID,' ')) || '|' || rtrim(isnull(BM_MC,' ')) end as XSBM, "); SQL.Add(" case when isnull(XLXSBJD_XSQYID,' ') = ' ' then ' ' else rtrim(isnull(XLXSBJD_XSQYID,' ')) || '|' || rtrim(isnull(XSQY_XSQYMC,' ')) end as XSQY "); SQL.Add(" from XLXSBJD "); SQL.Add(" left join BM on BM_BMID = XLXSBJD_XSBMID "); SQL.Add(" left join XSQY on XSQY_XSQYID = XLXSBJD_XSQYID "); SQL.Add(" where XLXSBJD_BJDID =:XLXSBJD_BJDID "); SQL.ParamByName("XLXSBJD_BJDID").Value = PageParam.GetRTrimString("BJDID").Trim(); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { txtXSBM.Text = ds.Tables[0].Rows[0]["XSBM"].ToString().Trim(); txtXSQY.Text = ds.Tables[0].Rows[0]["XSQY"].ToString().Trim(); } } return sSQL.ToString(); } private string GetBJDDCLR(string sBJDID) { if (sBJDID.Equals("")) return ""; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); sql.Add(" select XLXSBJD_WFAWAITER from XLXSBJD where XLXSBJD_BJDID = :pBJDID "); sql.ParamByName("pBJDID").Value = sBJDID; DataSet ds = dberp.OpenDataSet(sql); if (ds.Tables[0].Rows.Count > 0) { return ds.Tables[0].Rows[0]["XLXSBJD_WFAWAITER"].ToString().Trim(); } return ""; } public static DataSet GetBJCP_XLWL(string sBJDID) { return GetBJCP_XLWL(sBJDID,"N"); } public static DataSet GetBJCP_XLWL(string sBJDID,string sZJFK) { bool ExistsBJCPYS = false;//是否设置了报价产品颜色 if (CMISproDataBase.ExistsRecord("DBERP", "select top 1 XLXSBJCPYS_CPYT from XLXSBJCPYS where 1=1")) { ExistsBJCPYS = true; } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); //校验同一份报价单上的报价单明细的WLID匹配是否齐全 string sYXQBJWL = XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_YXQCPWL.Trim(); sql.Clear(); if (sYXQBJWL == "Y" || sYXQBJWL == "X") sql.Add("select XLXSBJDMX_XH,XLXSBJDMX_XSSX,ISNULL(XLXSBJDMX_ZB,' ') as ZBZT,case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then XLXSBJDMX_WLID when isnull(c.minWLID,' ') <> ' ' then c.minWLID else a.minWLID end as WLID,isnull(XLJGCZBML_FZR,' ') as XLJGCZBML_FZR "); else sql.Add("select XLXSBJDMX_XH,XLXSBJDMX_XSSX,ISNULL(XLXSBJDMX_ZB,' ') as ZBZT,case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then XLXSBJDMX_WLID when isnull(a.minWLID,' ') <> ' ' then a.minWLID else c.minWLID end as WLID,isnull(XLJGCZBML_FZR,' ') as XLJGCZBML_FZR "); sql.Add(" from XLXSBJDMX"); sql.Add(" left join XLXSCLQD on XLXSCLQD_XLXHID=XLXSBJDMX_XLXHID and XLXSCLQD_XLGGID=XLXSBJDMX_XLGGID and XLXSCLQD_XLBZID=XLXSBJDMX_XLBZID and XLXSCLQD_DYDJID=XLXSBJDMX_DYDJID and XLXSCLQD_WPID='ZZZZ' "); sql.Add(" left join XLJGCZBML on XLJGCZBML_JGCZBID = XLXSCLQD_JGCZBID "); sql.Add(" left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSBJDMX_XLGGID "); if (sYXQBJWL == "Z" || sYXQBJWL == "X") { sql.Add("left join (select XLXSBJXDWL_XLXHID as XLXHID,XLXSBJXDWL_XLGGID as XLGGID,XLXSBJXDWL_DYDJID as DYDJID,min(XLXSBJXDWL_WLID) as minWLID "); sql.Add(" from XLXSBJXDWL"); sql.Add(" where 1=1"); //sql.Add(" and isnull(XLXSBJXDWL_TYBZ,' ')<> 'Y' "); sql.Add(" and exists(select 1 from WL where WL_WLID=XLXSBJXDWL_WLID and isnull(WL_TYBZ,' ')<>'Y')"); sql.Add(" group by XLXSBJXDWL_XLXHID,XLXSBJXDWL_XLGGID,XLXSBJXDWL_DYDJID"); sql.Add(" ) c on c.XLXHID=XLXSBJDMX_XDXLXHID and c.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and c.DYDJID=XLXSBJDMX_DYDJID "); sql.Add(" left join (select XSBJXHTH_BJXLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_DYDJID as DYDJID, minWLID "); sql.Add(" from ( "); sql.Add(" select XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_DYDJID,min(XLXLB_WLID)as minWLID "); sql.Add(" from XLXLB "); sql.Add(" where 1=1 "); sql.Add(" and isnull(XLXLB_TYBZ,' ')<> 'Y' "); sql.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y')"); sql.Add(" and exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) "); sql.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_DYDJID"); sql.Add(" ) tmpXL left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID "); sql.Add(" union all"); sql.Add(" select XLXLB_XLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_DYDJID as DYDJID,min(XLXLB_WLID)as minWLID "); sql.Add(" from XLXLB "); sql.Add(" where isnull(XLXLB_TYBZ,' ')<>'Y' "); sql.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') "); sql.Add(" and not exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) "); sql.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_DYDJID "); sql.Add(" ) a on a.XLXHID=XLXSBJDMX_XDXLXHID and a.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and a.DYDJID=XLXSBJDMX_DYDJID "); } else { if (ExistsBJCPYS) { sql.Add("left join (select XLXSBJXDWL_XLXHID as XLXHID,XLXSBJXDWL_XLGGID as XLGGID,XLXSBJXDWL_XLBZID as XLBZID,XLXSBJXDWL_DYDJID as DYDJID,XLXSBJXDWL_XLYSID as XLYSID,min(XLXSBJXDWL_WLID) as minWLID "); sql.Add(" from XLXSBJXDWL"); sql.Add(" where 1=1"); //sql.Add(" and isnull(XLXSBJXDWL_TYBZ,' ')<> 'Y' "); sql.Add(" and exists(select 1 from WL where WL_WLID=XLXSBJXDWL_WLID and isnull(WL_TYBZ,' ')<>'Y')"); sql.Add(" group by XLXSBJXDWL_XLXHID,XLXSBJXDWL_XLGGID,XLXSBJXDWL_XLBZID,XLXSBJXDWL_DYDJID,XLXSBJXDWL_XLYSID"); sql.Add(" ) c on c.XLXHID= XLXSBJDMX_XDXLXHID and c.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and c.XLBZID=XLXSBJDMX_XDXLBZID and c.DYDJID=XLXSBJDMX_DYDJID and c.XLYSID=XLXSBJDMX_XLYSID "); sql.Add(" left join (select XSBJXHTH_BJXLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,XLXLB_XLYSID as XLYSID, minWLID "); sql.Add(" from ( "); sql.Add(" select XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID,min(XLXLB_WLID)as minWLID "); sql.Add(" from XLXLB "); sql.Add(" where 1=1 "); sql.Add(" and isnull(XLXLB_TYBZ,' ')<> 'Y' "); sql.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y')"); sql.Add(" and exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) "); sql.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID"); sql.Add(" ) tmpXL left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID "); sql.Add(" union all"); sql.Add(" select XLXLB_XLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,XLXLB_XLYSID as XLYSID,min(XLXLB_WLID)as minWLID "); sql.Add(" from XLXLB "); sql.Add(" where isnull(XLXLB_TYBZ,' ')<>'Y' "); sql.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') "); sql.Add(" and not exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) "); sql.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID "); sql.Add(" ) a on a.XLXHID=XLXSBJDMX_XDXLXHID and a.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and a.XLBZID=XLXSBJDMX_XDXLBZID and a.DYDJID=XLXSBJDMX_DYDJID and a.XLYSID=XLXSBJDMX_XLYSID "); } else { sql.Add("left join (select XLXSBJXDWL_XLXHID as XLXHID,XLXSBJXDWL_XLGGID as XLGGID,XLXSBJXDWL_XLBZID as XLBZID,XLXSBJXDWL_DYDJID as DYDJID,min(XLXSBJXDWL_WLID) as minWLID "); sql.Add(" from XLXSBJXDWL"); sql.Add(" where 1=1"); //sql.Add(" and isnull(XLXSBJXDWL_TYBZ,' ')<> 'Y' "); sql.Add(" and exists(select 1 from WL where WL_WLID=XLXSBJXDWL_WLID and isnull(WL_TYBZ,' ')<>'Y')"); sql.Add(" group by XLXSBJXDWL_XLXHID,XLXSBJXDWL_XLGGID,XLXSBJXDWL_XLBZID,XLXSBJXDWL_DYDJID"); sql.Add(" ) c on c.XLXHID=XLXSBJDMX_XDXLXHID and c.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and c.XLBZID=XLXSBJDMX_XDXLBZID and c.DYDJID=XLXSBJDMX_DYDJID "); sql.Add(" left join (select XSBJXHTH_BJXLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID, minWLID "); sql.Add(" from ( "); sql.Add(" select XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,min(XLXLB_WLID)as minWLID "); sql.Add(" from XLXLB "); sql.Add(" where 1=1 "); sql.Add(" and isnull(XLXLB_TYBZ,' ')<> 'Y' "); sql.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y')"); sql.Add(" and exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) "); sql.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID"); sql.Add(" ) tmpXL left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID "); sql.Add(" union all"); sql.Add(" select XLXLB_XLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,min(XLXLB_WLID)as minWLID "); sql.Add(" from XLXLB "); sql.Add(" where isnull(XLXLB_TYBZ,' ')<>'Y' "); sql.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') "); sql.Add(" and not exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) "); sql.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID "); sql.Add(" ) a on a.XLXHID=XLXSBJDMX_XDXLXHID and a.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and a.XLBZID= XLXSBJDMX_XDXLBZID and a.DYDJID=XLXSBJDMX_DYDJID "); } } sql.Add(" where XLXSBJDMX_BJDID=:pBJDID"); if (sZJFK == "Y") { sql.Add(" and not exists(select 1 from BJDMX where BJDMX_BJDID=XLXSBJDMX_BJDID and BJDMX_BJDXH=XLXSBJDMX_XH and BJDMX_ZBSL<>0 ) "); } sql.Add(" order by XLXSBJDMX_XSSX,XLXSBJDMX_XH"); sql.ParamByName("pBJDID").Value = sBJDID; DataSet ds = dberp.OpenDataSet(sql); return ds; } private bool GetBJDFKZT(string sBJDID) { if (sBJDID.Equals("")) return false; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); sql.Add(" select XLXSBJD_WFID,XLXSBJD_WPID from XLXSBJD where XLXSBJD_BJDID = :pBJDID "); sql.ParamByName("pBJDID").Value = sBJDID; DataSet ds = dberp.OpenDataSet(sql); if (ds.Tables[0].Rows.Count > 0) { string sWFID = ds.Tables[0].Rows[0]["XLXSBJD_WFID"].ToString().Trim(); string sWPID = ds.Tables[0].Rows[0]["XLXSBJD_WPID"].ToString().Trim(); TWorkflow awf = new TWorkflow(tSession, null); awf.UMID = 100860000; awf.CurUserID = tSession.UserId; string sBZWPID = TWorkflow.Utils.WFGetBZSWID(sWFID, sWPID); if (sBZWPID.Equals("0030")) return true; return false; } return false; } private double GetBJD_DOCGRPID(string sBJDID) { double dDOCRPID = 0; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); sql.Add(" select BJD_DOCGRPID from BJD where BJD_BJDID = :pBJDID "); sql.ParamByName("pBJDID").Value = sBJDID; DataSet ds = dberp.OpenDataSet(sql); if (ds.Tables[0].Rows.Count > 0) { dDOCRPID = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["BJD_DOCGRPID"].ToString().Trim()); } return dDOCRPID; } private bool CanClcikLink(string sBJDID, string sBJDXH) { if (!GetBJDFKZT(sBJDID)) return false; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); sql.Clear(); sql.Add(@"select XLJGCZBML_FZR from XLXSBJDMX left join XLXSCLQD on XLXSCLQD_XLXHID=XLXSBJDMX_XLXHID and XLXSCLQD_XLGGID=XLXSBJDMX_XLGGID and XLXSCLQD_XLBZID=XLXSBJDMX_XLBZID and XLXSCLQD_DYDJID=XLXSBJDMX_DYDJID and XLXSCLQD_WPID='ZZZZ' left join XLJGCZBML on XLJGCZBML_JGCZBID = XLXSCLQD_JGCZBID where XLXSBJDMX_BJDID=:pBJDID and XLXSBJDMX_XH=:pXH "); sql.ParamByName("pBJDID").Value = sBJDID; sql.ParamByName("pXH").Value = CMISproConvert.StrToInt(sBJDXH); DataSet ds = dberp.OpenDataSet(sql); if (ds.Tables[0].Rows.Count <= 0) return true; string sFZR = ds.Tables[0].Rows[0][0].ToString().Trim(); if (string.IsNullOrEmpty(sFZR)) return true; if (sFZR.Equals(tSession.UserName)) return true; return false; } private void ZJFK(string sBJDID) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860046); string sHBID = ""; double fHL = 0; SQL.Clear(); SQL.Add("select HB_HBID,HB_HL from HB where HB_BWB='Y'");//获取本位币 DataSet dsHB = dberp.OpenDataSet(SQL); if (dsHB.Tables[0].Rows.Count > 0) { sHBID = dsHB.Tables[0].Rows[0]["HB_HBID"].ToString().Trim(); fHL = CMISproConvert.StrToFloat(dsHB.Tables[0].Rows[0]["HB_HL"].ToString()); } else { ShowMessage("未设置本位币,请至【100734003|货币维护】功能维护!"); return; } bool ExistsBJCPYS = false;//是否设置了报价产品颜色 if (CMISproDataBase.ExistsRecord("DBERP", "select top 1 XLXSBJCPYS_CPYT from XLXSBJCPYS where 1=1")) { ExistsBJCPYS = true; } string sYXQBJWL = XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_YXQCPWL.Trim(); SQL.Clear(); SQL.Add("select XLXSBJDMX_XH,XLXSBJDMX_XSSX,XLXSBJDMX_BJCP,XLXSBJDMX_JLDW,XLXSBJDMX_BJSL,XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CPBJ,XLXSBJDMX_BJJE,XLXSBJDMX_BZ,XLXSBJDMX_ZDXJ, "); SQL.Add(" XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_DYDJID,case isnull(XLXSBJDMX_XLBZID,' ') when ' ' then ' ' else rtrim(XLXSBJDMX_XLBZID)||'|'||XLBZ_XLBZLXMC end as XLBZ,XLXSBJDMX_DZSC,XLXSBJDMX_BJWS,XLXSBJDMX_ZB,XLXSBJDMX_ZBSL,XLXSBJDMX_ZBJE,"); if (sYXQBJWL == "Y" || sYXQBJWL == "X") SQL.Add(" case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then XLXSBJDMX_WLID when isnull(c.minWLID,' ') <> ' ' then c.minWLID else a.minWLID end as WLID,WL_MC,WL_GG,WL_JLDW "); else SQL.Add(" case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then XLXSBJDMX_WLID when isnull(a.minWLID,' ') <> ' ' then a.minWLID else c.minWLID end as WLID,WL_MC,WL_GG,WL_JLDW "); SQL.Add(" from XLXSBJDMX "); SQL.Add(" left join XLBZ on XLBZ_XLBZID = XLXSBJDMX_XLBZID "); SQL.Add(" left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSBJDMX_XLGGID "); if (sYXQBJWL == "Z" || sYXQBJWL == "X") { SQL.Add("left join (select XLXSBJXDWL_XLXHID as XLXHID,XLXSBJXDWL_XLGGID as XLGGID,XLXSBJXDWL_DYDJID as DYDJID,min(XLXSBJXDWL_WLID) as minWLID "); SQL.Add(" from XLXSBJXDWL"); SQL.Add(" where 1=1"); SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXSBJXDWL_WLID and isnull(WL_TYBZ,' ')<>'Y')"); SQL.Add(" group by XLXSBJXDWL_XLXHID,XLXSBJXDWL_XLGGID,XLXSBJXDWL_DYDJID"); SQL.Add(" ) c on c.XLXHID=XLXSBJDMX_XDXLXHID and c.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and c.DYDJID=XLXSBJDMX_DYDJID "); SQL.Add(" left join (select XSBJXHTH_BJXLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_DYDJID as DYDJID, minWLID "); SQL.Add(" from ( "); SQL.Add(" select XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_DYDJID,min(XLXLB_WLID)as minWLID "); SQL.Add(" from XLXLB "); SQL.Add(" where 1=1 "); SQL.Add(" and isnull(XLXLB_TYBZ,' ')<> 'Y' "); SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y')"); SQL.Add(" and exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) "); SQL.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_DYDJID"); SQL.Add(" ) tmpXL left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID "); SQL.Add(" union all"); SQL.Add(" select XLXLB_XLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_DYDJID as DYDJID,min(XLXLB_WLID)as minWLID "); SQL.Add(" from XLXLB "); SQL.Add(" where isnull(XLXLB_TYBZ,' ')<>'Y' "); SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') "); SQL.Add(" and not exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) "); SQL.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_DYDJID "); SQL.Add(" ) a on a.XLXHID=XLXSBJDMX_XDXLXHID and a.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and a.DYDJID=XLXSBJDMX_DYDJID "); } else { if (ExistsBJCPYS) { SQL.Add("left join (select XLXSBJXDWL_XLXHID as XLXHID,XLXSBJXDWL_XLGGID as XLGGID,XLXSBJXDWL_XLBZID as XLBZID,XLXSBJXDWL_DYDJID as DYDJID,XLXSBJXDWL_XLYSID as XLYSID,min(XLXSBJXDWL_WLID) as minWLID "); SQL.Add(" from XLXSBJXDWL"); SQL.Add(" where 1=1"); SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXSBJXDWL_WLID and isnull(WL_TYBZ,' ')<>'Y')"); SQL.Add(" group by XLXSBJXDWL_XLXHID,XLXSBJXDWL_XLGGID,XLXSBJXDWL_XLBZID,XLXSBJXDWL_DYDJID,XLXSBJXDWL_XLYSID"); SQL.Add(" ) c on c.XLXHID=XLXSBJDMX_XDXLXHID and c.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and c.XLBZID=XLXSBJDMX_XDXLBZID and c.DYDJID=XLXSBJDMX_DYDJID and c.XLYSID=XLXSBJDMX_XLYSID "); SQL.Add(" left join (select XSBJXHTH_BJXLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,XLXLB_XLYSID as XLYSID,minWLID "); SQL.Add(" from ( "); SQL.Add(" select XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID,min(XLXLB_WLID)as minWLID "); SQL.Add(" from XLXLB "); SQL.Add(" where 1=1 "); SQL.Add(" and isnull(XLXLB_TYBZ,' ')<> 'Y' "); SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y')"); SQL.Add(" and exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) "); SQL.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID"); SQL.Add(" ) tmpXL left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID "); SQL.Add(" union all"); SQL.Add(" select XLXLB_XLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,XLXLB_XLYSID as XLYSID,min(XLXLB_WLID)as minWLID "); SQL.Add(" from XLXLB "); SQL.Add(" where isnull(XLXLB_TYBZ,' ')<>'Y' "); SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') "); SQL.Add(" and not exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) "); SQL.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID "); SQL.Add(" ) a on a.XLXHID=XLXSBJDMX_XDXLXHID and a.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and a.XLBZID=XLXSBJDMX_XDXLBZID and a.DYDJID=XLXSBJDMX_DYDJID and a.XLYSID=XLXSBJDMX_XLYSID "); } else { SQL.Add("left join (select XLXSBJXDWL_XLXHID as XLXHID,XLXSBJXDWL_XLGGID as XLGGID,XLXSBJXDWL_XLBZID as XLBZID,XLXSBJXDWL_DYDJID as DYDJID,min(XLXSBJXDWL_WLID) as minWLID "); SQL.Add(" from XLXSBJXDWL"); SQL.Add(" where 1=1"); SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXSBJXDWL_WLID and isnull(WL_TYBZ,' ')<>'Y')"); SQL.Add(" group by XLXSBJXDWL_XLXHID,XLXSBJXDWL_XLGGID,XLXSBJXDWL_XLBZID,XLXSBJXDWL_DYDJID"); SQL.Add(" ) c on c.XLXHID=XLXSBJDMX_XDXLXHID and c.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and c.XLBZID=XLXSBJDMX_XDXLBZID and c.DYDJID=XLXSBJDMX_DYDJID "); SQL.Add(" left join (select XSBJXHTH_BJXLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID, minWLID "); SQL.Add(" from ( "); SQL.Add(" select XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,min(XLXLB_WLID)as minWLID "); SQL.Add(" from XLXLB "); SQL.Add(" where 1=1 "); SQL.Add(" and isnull(XLXLB_TYBZ,' ')<> 'Y' "); SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y')"); SQL.Add(" and exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) "); SQL.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID"); SQL.Add(" ) tmpXL left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID "); SQL.Add(" union all"); SQL.Add(" select XLXLB_XLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,min(XLXLB_WLID)as minWLID "); SQL.Add(" from XLXLB "); SQL.Add(" where isnull(XLXLB_TYBZ,' ')<>'Y' "); SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') "); SQL.Add(" and not exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) "); SQL.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID "); SQL.Add(" ) a on a.XLXHID=XLXSBJDMX_XDXLXHID and a.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and a.XLBZID=XLXSBJDMX_XDXLBZID and a.DYDJID=XLXSBJDMX_DYDJID "); } } if (sYXQBJWL == "Y" || sYXQBJWL == "X") SQL.Add(" left join WL on WL_WLID=(case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then XLXSBJDMX_WLID when isnull(c.minWLID,' ') <> ' ' then c.minWLID else a.minWLID end)"); else SQL.Add(" left join WL on WL_WLID=(case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then XLXSBJDMX_WLID when isnull(a.minWLID,' ') <> ' ' then a.minWLID else c.minWLID end)"); //SQL.Add(" left join JLDWTD b on upper(b.JLDWTD_JLDW)=:pJLDW and upper(b.JLDWTD_TDJLDW)=:pTDJLDW and isnull(b.JLDWTD_WLID,' ')=' ' "); //SQL.Add(" left join JLDWTD c on upper(c.JLDWTD_JLDW)=:pTDJLDW and upper(c.JLDWTD_TDJLDW)=:pJLDW and isnull(c.JLDWTD_WLID,' ')=' ' "); SQL.Add(" where XLXSBJDMX_BJDID=:pBJDID"); SQL.Add(" and not exists(select 1 from BJDMX where BJDMX_BJDID=XLXSBJDMX_BJDID and BJDMX_BJDXH=XLXSBJDMX_XH and BJDMX_ZBSL<>0 ) "); //仅下达能关联到物料编码的记录 //SQL.Add(" and isnull(a.minWLID,' ')<>' '"); SQL.Add(" order by XLXSBJDMX_XSSX"); SQL.ParamByName("pBJDID").Value = sBJDID; DataSet dsMX = dberp.OpenDataSet(SQL); //记录报价产品计量单位与对应线缆物料计量单位的换算系数 Dictionary dicHSXS = new Dictionary(); Dictionary dicDRXH = new Dictionary(); for (int i = 0; i < dsMX.Tables[0].Rows.Count; i++) { string sXH = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim(); if (!dicDRXH.ContainsKey(sXH)) dicDRXH.Add(sXH, "1"); else { string sSYS = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XLXHID"].ToString().Trim() + " " + dsMX.Tables[0].Rows[i]["XLXSBJDMX_XLGGID"].ToString().Trim() + " " + dsMX.Tables[0].Rows[i]["XLXSBJDMX_DYDJID"].ToString().Trim() + " " + dsMX.Tables[0].Rows[i]["XLBZ"].ToString().Trim(); ShowMessage(string.Format("将导入重复明细【{0}】【{1}】,请检查是否存在相同产品对应多个物料!", sXH, sSYS)); return; } string sWLID = dsMX.Tables[0].Rows[i]["WLID"].ToString().Trim(); if (sWLID.Equals("")) continue; string sBJCPJLDW = dsMX.Tables[0].Rows[i]["XLXSBJDMX_JLDW"].ToString().Trim(); string sWLJLDW = dsMX.Tables[0].Rows[i]["WL_JLDW"].ToString().Trim(); if (sWLJLDW.Equals("") || sBJCPJLDW.ToUpper().Equals(sWLJLDW.ToUpper())) { dicHSXS.Add(dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim(), 1); } else { Dictionary dicJLWD = new Dictionary(); CXBJD_QRInfo.GetJLDWList(dicJLWD, sWLID, sWLJLDW); if (!dicJLWD.ContainsKey(sBJCPJLDW)) { ShowMessage(string.Format("报价计量单位【{0}】与物料计量单位【{1}】未维护替代关系,请至【100812012|替代计量单位维护】模块维护!", sBJCPJLDW, sWLJLDW)); return; } else { dicHSXS.Add(dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim(), dicJLWD[sBJCPJLDW]); } } } try { dberp.BeginTrans(); #region 插入明细 for (int i = 0; i < dsMX.Tables[0].Rows.Count; i++) { if (dsMX.Tables[0].Rows[i]["WLID"].ToString().Trim().Equals("")) continue; if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select top 1 BJDMX_BJDID from BJDMX where BJDMX_BJDID='{0}' and BJDMX_BJDXH={1} ", sBJDID, dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim()))) { SQL.Clear(); SQL.Add("update BJDMX set BJDMX_WLID=:WLID, "); SQL.Add(" BJDMX_JG=:XLXSBJDMX_CPBJ, "); SQL.Add(" BJDMX_CB=:XLXSBJDMX_BJDHQCLCB, "); SQL.Add(" BJDMX_JLDW=:XLXSBJDMX_JLDW, "); SQL.Add(" BJDMX_HSXS=:HSXS, "); SQL.Add(" BJDMX_BJSL=:XLXSBJDMX_BJSL, "); SQL.Add(" BJDMX_ZBJSL=:ZBJSL, "); SQL.Add(" BJDMX_BZ=:XLXSBJDMX_BZ, "); SQL.Add(" BJDMX_JE=:XLXSBJDMX_BJJE, "); SQL.Add(" BJDMX_KHWLMC=:XLXSBJDMX_BJCP, "); SQL.Add(" BJDMX_WLMCGG=:WLMCGG, "); SQL.Add(" BJDMX_KHJG=:KHJG, "); SQL.Add(" BJDMX_KHJE=:KHJE, "); SQL.Add(" BJDMX_DZSC=:DZSC, "); SQL.Add(" BJDMX_BJWS=:BJWS "); SQL.Add(" where BJDMX_BJDID=:XLXSBJDMX_BJDID and BJDMX_BJDXH=:XLXSBJDMX_XH and BJDMX_XLXSBJXSSX=:XLXSBJDMX_XSSX "); } else { SQL.Clear(); SQL.Add("insert into BJDMX(BJDMX_BJDID,BJDMX_BJDXH,BJDMX_XLXSBJXSSX,BJDMX_WLID,BJDMX_JG,BJDMX_CB,BJDMX_JLDW,BJDMX_HSXS,"); SQL.Add(" BJDMX_BJSL,BJDMX_ZBJSL,BJDMX_PZ,BJDMX_BZ,BJDMX_CBCG,BJDMX_JE,BJDMX_KHWLMC,BJDMX_WLMCGG, "); SQL.Add(" BJDMX_KHJG,BJDMX_KHJE,BJDMX_DZSC,BJDMX_BJWS) "); SQL.Add(" values(:XLXSBJDMX_BJDID,:XLXSBJDMX_XH,:XLXSBJDMX_XSSX,:WLID,:XLXSBJDMX_CPBJ,:XLXSBJDMX_BJDHQCLCB,:XLXSBJDMX_JLDW,:HSXS,"); SQL.Add(" :XLXSBJDMX_BJSL,:ZBJSL,'N',:XLXSBJDMX_BZ,'N',:XLXSBJDMX_BJJE,:XLXSBJDMX_BJCP,:WLMCGG, "); SQL.Add(" :KHJG,:KHJE,:DZSC,:BJWS) "); } SQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID; SQL.ParamByName("XLXSBJDMX_XH").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim(); SQL.ParamByName("XLXSBJDMX_XSSX").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XSSX"].ToString().Trim(); SQL.ParamByName("WLID").Value = dsMX.Tables[0].Rows[i]["WLID"].ToString().Trim(); SQL.ParamByName("XLXSBJDMX_CPBJ").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_CPBJ"].ToString().Trim(); SQL.ParamByName("XLXSBJDMX_BJDHQCLCB").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJDHQCLCB"].ToString().Trim(); if (dsMX.Tables[0].Rows[i]["XLXSBJDMX_JLDW"].ToString().Trim().ToUpper() == dsMX.Tables[0].Rows[i]["WL_JLDW"].ToString().Trim().ToUpper()) SQL.ParamByName("XLXSBJDMX_JLDW").Value = dsMX.Tables[0].Rows[i]["WL_JLDW"].ToString().Trim(); else SQL.ParamByName("XLXSBJDMX_JLDW").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_JLDW"].ToString().Trim(); SQL.ParamByName("HSXS").Value = dicHSXS[dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim()]; SQL.ParamByName("XLXSBJDMX_BJSL").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim(); SQL.ParamByName("ZBJSL").Value = CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim()) * dicHSXS[dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim()]; SQL.ParamByName("XLXSBJDMX_BZ").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BZ"].ToString().Trim(); SQL.ParamByName("XLXSBJDMX_BJJE").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJJE"].ToString().Trim(); SQL.ParamByName("XLXSBJDMX_BJCP").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJCP"].ToString().Trim(); if (dsMX.Tables[0].Rows[i]["WL_GG"].ToString().Trim().Equals("")) SQL.ParamByName("WLMCGG").Value = dsMX.Tables[0].Rows[i]["WL_MC"].ToString().Trim(); else SQL.ParamByName("WLMCGG").Value = dsMX.Tables[0].Rows[i]["WL_MC"].ToString().Trim() + " " + dsMX.Tables[0].Rows[i]["WL_GG"].ToString().Trim(); SQL.ParamByName("KHJG").Value = NumberUtils.RoundX(CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_ZDXJ"].ToString().Trim()), 4); SQL.ParamByName("KHJE").Value = NumberUtils.RoundX(NumberUtils.RoundX(CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_ZDXJ"].ToString().Trim()), 4) * CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim()), 2); SQL.ParamByName("DZSC").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_DZSC"].ToString().Trim(); SQL.ParamByName("BJWS").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJWS"].ToString().Trim(); dberp.ExecSQL(SQL); } #endregion #region 回填XLXSBJDMX_WLID SQL.Clear(); SQL.Add(" merge into XLXSBJDMX tar "); SQL.Add(" using ( "); SQL.Add(" select BJDMX_BJDID,BJDMX_BJDXH,BJDMX_WLID from BJDMX "); SQL.Add(" where BJDMX_BJDID = :pBJDID "); SQL.Add(" ) sor "); SQL.Add(" on ( "); SQL.Add(" sor.BJDMX_BJDID = XLXSBJDMX_BJDID "); SQL.Add(" and sor.BJDMX_BJDXH = XLXSBJDMX_XH "); SQL.Add(" and XLXSBJDMX_BJDID = :pBJDID "); SQL.Add(" ) "); SQL.Add(" when matched then update set "); SQL.Add(" XLXSBJDMX_WLID = sor.BJDMX_WLID "); SQL.ParamByName("pBJDID").Value = sBJDID; dberp.ExecSQL(SQL); #endregion #region 发送消息提醒 if (!string.IsNullOrEmpty(XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_JGPSTZRGHS)) { SQL.Clear(); SQL.Add(@"select XLXHJGCZBML_XLXHID,XLXHJGCZBML_DYDJID,XLXHJGCZBML_XLBZID,isnull(XLJGCZBML_FZR,' ') as XLJGCZBML_FZR, XLXSCLQD_JGCZBID,XLXSCLQD_JGCZBBBID,XLXSCLQD_JGCZBXH,XLXSCLQD_DRHH,XLXSBJDMX_BJDID,max(XLXSBJDMX_XH) as XLXSBJDMX_XH from XLXSBJDMX left join XLXSCLQD on XLXSCLQD_XLXHID=XLXSBJDMX_XLXHID and XLXSCLQD_XLGGID=XLXSBJDMX_XLGGID and XLXSCLQD_XLBZID=XLXSBJDMX_XLBZID and XLXSCLQD_DYDJID=XLXSBJDMX_DYDJID left join XLXHJGCZBML on XLXHJGCZBML_JGCZBID = XLXSCLQD_JGCZBID and XLXHJGCZBML_JGCZBXH = XLXSCLQD_JGCZBXH left join XLJGCZBML on XLJGCZBML_JGCZBID = XLXSCLQD_JGCZBID left join (select min(XLGYBOM_PSSJ) as PSSJ,XLGYBOM_WLID,XLGYBOM_GYFLBM from XLGYBOM where exists(select 1 from XLXSBJDMX where XLXSBJDMX_BJDID = :pBJDID and XLXSBJDMX_WLID = XLGYBOM_WLID) group by XLGYBOM_WLID,XLGYBOM_GYFLBM) GYBOM on GYBOM.XLGYBOM_WLID = XLXSBJDMX_WLID and GYBOM.XLGYBOM_GYFLBM = XLJGCZBML_GYFLBM where XLXSBJDMX_BJDID = :pBJDID and XLXSBJDMX_ZB in('P','Y') and (XLJGCZBML_CZBLX = 'C' or XLJGCZBML_CZBLX = 'G') and (isnull(PSSJ,' ') = ' ' or XLXSCLQD_WHSJ > PSSJ) and not exists(select 1 from BJDMX where BJDMX_BJDID=XLXSBJDMX_BJDID and BJDMX_BJDXH=XLXSBJDMX_XH and BJDMX_ZBSL<>0 ) group by XLXHJGCZBML_XLXHID,XLXHJGCZBML_DYDJID,XLXHJGCZBML_XLBZID,XLXSCLQD_JGCZBID,XLXSCLQD_JGCZBBBID,XLXSCLQD_JGCZBXH,XLXSCLQD_DRHH,XLXSBJDMX_BJDID,isnull(XLJGCZBML_FZR,' ') order by XLXSCLQD_JGCZBID,XLXSCLQD_JGCZBBBID,XLXHJGCZBML_XLXHID,XLXHJGCZBML_DYDJID,XLXHJGCZBML_XLBZID "); SQL.ParamByName("pBJDID").Value = sBJDID; DataSet dsJGPS = dberp.OpenDataSet(SQL); if (dsJGPS.Tables[0].Rows.Count > 0) { int VnewID = CMISproDataBase.GetMaxXH("DBERP", "V_BJCPJGPS", "V_BJCPJGPS_ID", "") + 1; SQL.Clear(); SQL.Add(@"insert into V_BJCPJGPS (V_BJCPJGPS_ID,V_BJCPJGPS_JGCZBID,V_BJCPJGPS_JGCZBBBID,V_BJCPJGPS_JGCZBXH,V_BJCPJGPS_DRHH,V_BJCPJGPS_TIMESTAMP,V_BJCPJGPS_BJDID,V_BJCPJGPS_BJDXH,V_BJCPJGPS_WHR,V_BJCPJGPS_WHRID,V_BJCPJGPS_WHSJ) values(:ID,:JGCZBID,:JGCZBBBID,:JGCZBXH,:DRHH,:TIMESTAMP,:BJDID,:BJDXH,:WHR,:WHRID,:WHSJ)"); string sJGCZBIDLast = dsJGPS.Tables[0].Rows[0]["XLXSCLQD_JGCZBID"].ToString().Trim(); string sJGCZBBBIDLast = dsJGPS.Tables[0].Rows[0]["XLXSCLQD_JGCZBBBID"].ToString().Trim(); string sXLXHIDLast = dsJGPS.Tables[0].Rows[0]["XLXHJGCZBML_XLXHID"].ToString().Trim(); string sDYDJIDLast = dsJGPS.Tables[0].Rows[0]["XLXHJGCZBML_DYDJID"].ToString().Trim(); string sXLBZIDLast = dsJGPS.Tables[0].Rows[0]["XLXHJGCZBML_XLBZID"].ToString().Trim(); for (int i = 0; i < dsJGPS.Tables[0].Rows.Count; i++) { string sJGCZBID = dsJGPS.Tables[0].Rows[i]["XLXSCLQD_JGCZBID"].ToString().Trim(); string sJGCZBBBID = dsJGPS.Tables[0].Rows[i]["XLXSCLQD_JGCZBBBID"].ToString().Trim(); string sXLXHID = dsJGPS.Tables[0].Rows[i]["XLXHJGCZBML_XLXHID"].ToString().Trim(); string sDYDJID = dsJGPS.Tables[0].Rows[i]["XLXHJGCZBML_DYDJID"].ToString().Trim(); string sXLBZID = dsJGPS.Tables[0].Rows[i]["XLXHJGCZBML_XLBZID"].ToString().Trim(); if (!(sJGCZBIDLast.Equals(sJGCZBID) && sJGCZBBBIDLast.Equals(sJGCZBBBID) && sXLXHIDLast.Equals(sXLXHID) && sDYDJIDLast.Equals(sDYDJID) && sXLBZIDLast.Equals(sXLBZID))) { string sTZR = pzxx.XLXSBJPZ_JGPSTZRGHS; if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_YXTZCZBFZR == "Y") { string sCZBFZR = dsJGPS.Tables[0].Rows[i]["XLJGCZBML_FZR"].ToString().Trim(); string sCZBFZRGH = TRYXX.GetRYByRYMC(sCZBFZR).GH; string sJGPSTZRGHS = "," + pzxx.XLXSBJPZ_JGPSTZRGHS + ","; if (!sJGCZBID.Equals("") && (sJGPSTZRGHS.Contains("," + sCZBFZRGH + ","))) { sTZR = sCZBFZRGH; } } TMsg msg = new TMsg(); msg.MsgClass = "BJFK_JGPS"; msg.UMID = "100860046"; msg.MsgContent = string.Format("{0}|{1}尺重表下{2}型号{3}电压{4}标准类型存在部分规格正在进行报价反馈,请检查结构工艺是否需要重新派生!", sJGCZBIDLast, sJGCZBBBIDLast, sXLXHIDLast, sDYDJIDLast, sXLBZIDLast); msg.MsgUmid = 101202010; msg.ReceiveUsers = sTZR; msg.MsgYWID = "[BJCPJGPS_ID=" + VnewID.ToString().Trim() + "]"; msg.SendMsg(tSession, tSession.UserName); sJGCZBIDLast = sJGCZBID; sJGCZBBBIDLast = sJGCZBBBID; sXLXHIDLast = sXLXHID; sDYDJIDLast = sDYDJID; sXLBZIDLast = sXLBZID; } int iJGCZBXH = CMISproConvert.StrToInt(dsJGPS.Tables[0].Rows[i]["XLXSCLQD_JGCZBXH"].ToString().Trim(), 0); int iDRHH = CMISproConvert.StrToInt(dsJGPS.Tables[0].Rows[i]["XLXSCLQD_DRHH"].ToString().Trim(), 0); int iXH = CMISproConvert.StrToInt(dsJGPS.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim()); SQL.ParamByName("ID").Value = VnewID; SQL.ParamByName("JGCZBID").Value = sJGCZBID; SQL.ParamByName("JGCZBBBID").Value = sJGCZBBBID; SQL.ParamByName("JGCZBXH").Value = iJGCZBXH; SQL.ParamByName("DRHH").Value = iDRHH; SQL.ParamByName("TIMESTAMP").Value = MISproUtils.GetServerTime(); SQL.ParamByName("BJDID").Value = sBJDID; SQL.ParamByName("BJDXH").Value = iXH; SQL.ParamByName("WHR").Value = tSession.UserName; SQL.ParamByName("WHRID").Value = tSession.UserId; SQL.ParamByName("WHSJ").Value = DateTime.Now; dberp.ExecSQL(SQL); } TMsg msg2 = new TMsg(); msg2.MsgClass = "BJFK_JGPS"; msg2.UMID = "100860046"; msg2.MsgContent = string.Format("{0}|{1}尺重表下{2}型号{3}电压{4}标准类型存在部分规格正在进行报价反馈,请检查结构工艺是否需要重新派生!", sJGCZBIDLast, sJGCZBBBIDLast, sXLXHIDLast, sDYDJIDLast, sXLBZIDLast); msg2.MsgUmid = 101202010; msg2.MsgYWID = "[BJCPJGPS_ID=" + VnewID.ToString().Trim() + "]"; msg2.ReceiveUsers = pzxx.XLXSBJPZ_JGPSTZRGHS; msg2.SendMsg(tSession, tSession.UserName); } } #endregion #region 同步生成CS投标报价反馈记录 int maxTBXH = CMISproDataBase.GetMaxXH("DBERP", "TBBJFKMX", "TBBJFKMX_XH", "TBBJFKMX_TBSID=' ' and TBBJFKMX_BJDID='" + sBJDID + "'"); SQL.Clear(); SQL.Add(@"merge into TBBJFKMX using ( select BJDMX_BJDID,row_number() over(order by BJDMX_BJDXH)+:pMaxXH as XH,BJDMX_BJDXH,XLXSBJDMX_ZB,XLXSBJDMX_ZBSL,XLXSBJDMX_ZBJE from BJDMX,XLXSBJDMX where BJDMX_BJDID=:pBJDID and XLXSBJDMX_BJDID=:pBJDID and XLXSBJDMX_XH=BJDMX_BJDXH and not exists(select 1 from BJDMX where BJDMX_BJDID=XLXSBJDMX_BJDID and BJDMX_BJDXH=XLXSBJDMX_XH and BJDMX_ZBSL<>0 ) )sor on( TBBJFKMX_TBSID=' ' and TBBJFKMX_BJDID=BJDMX_BJDID and TBBJFKMX_BJDXH=BJDMX_BJDXH )when matched then update set TBBJFKMX_ZB=XLXSBJDMX_ZB,TBBJFKMX_ZBSL=XLXSBJDMX_ZBSL,TBBJFKMX_ZBJE=XLXSBJDMX_ZBJE when not matched then insert (TBBJFKMX_TBSID, TBBJFKMX_BJDID, TBBJFKMX_XH, TBBJFKMX_BJDXH, TBBJFKMX_ZB,TBBJFKMX_ZBSL, TBBJFKMX_ZBJE) values(' ',BJDMX_BJDID,XH,BJDMX_BJDXH,XLXSBJDMX_ZB,XLXSBJDMX_ZBSL,XLXSBJDMX_ZBJE) "); SQL.ParamByName("pBJDID").Value = sBJDID; SQL.ParamByName("pMaxXH").Value = maxTBXH; dberp.ExecSQL(SQL); #endregion dberp.CommitTrans(); } catch (Exception ex) { ShowMessage("反馈操作出错,错误原因:" + ex); dberp.RollbackTrans(); } if (pzxx.XLXSBJPZ_TBFKZ3BB == "Y") { #region 同步插入3版本BJD数据表 TDatabase dberp3 = TContextDatabases.GetDatabase("DBERP3"); TSQL SQL3 = new TSQL(dberp3); try { dberp3.BeginTrans(); #region 插入明细 for (int i = 0; i < dsMX.Tables[0].Rows.Count; i++) { if (dsMX.Tables[0].Rows[i]["WLID"].ToString().Trim().Equals("")) continue; if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select top 1 BJDMX_BJDID from BJDMX where BJDMX_BJDID='{0}' and BJDMX_BJDXH={1} ", sBJDID, dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim()))) { SQL3.Clear(); SQL3.Add("update BJDMX set BJDMX_WLID=:WLID, "); SQL3.Add(" BJDMX_JG=:XLXSBJDMX_CPBJ, "); SQL3.Add(" BJDMX_CB=:XLXSBJDMX_BJDHQCLCB, "); SQL3.Add(" BJDMX_JLDW=:XLXSBJDMX_JLDW, "); SQL3.Add(" BJDMX_HSXS=:HSXS, "); SQL3.Add(" BJDMX_BJSL=:XLXSBJDMX_BJSL, "); SQL3.Add(" BJDMX_ZBJSL=:ZBJSL, "); SQL3.Add(" BJDMX_BZ=:XLXSBJDMX_BZ, "); SQL3.Add(" BJDMX_JE=:XLXSBJDMX_BJJE, "); SQL3.Add(" BJDMX_KHWLMC=:XLXSBJDMX_BJCP, "); SQL3.Add(" BJDMX_KHJG=:KHJG, "); SQL3.Add(" BJDMX_KHJE=:KHJE, "); SQL3.Add(" BJDMX_ZBDJ=:XLXSBJDMX_CPBJ "); SQL3.Add(" where BJDMX_BJDID=:XLXSBJDMX_BJDID and BJDMX_BJDXH=:XLXSBJDMX_XH and BJDMX_XLXSBJXSSX=:XLXSBJDMX_XSSX "); } else { SQL3.Clear(); SQL3.Add("insert into BJDMX(BJDMX_BJDID,BJDMX_BJDXH,BJDMX_WLID,BJDMX_JG,BJDMX_CB,BJDMX_JLDW,BJDMX_HSXS,"); SQL3.Add(" BJDMX_BJSL,BJDMX_ZBJSL,BJDMX_PZ,BJDMX_BZ,BJDMX_CBCG,BJDMX_JE,BJDMX_KHWLMC, "); SQL3.Add(" BJDMX_KHJG,BJDMX_KHJE,BJDMX_ZBDJ) "); SQL3.Add(" values(:XLXSBJDMX_BJDID,:XLXSBJDMX_XH,:WLID,:XLXSBJDMX_CPBJ,:XLXSBJDMX_BJDHQCLCB,:XLXSBJDMX_JLDW,:HSXS,"); SQL3.Add(" :XLXSBJDMX_BJSL,:ZBJSL,'N',:XLXSBJDMX_BZ,'N',:XLXSBJDMX_BJJE,:XLXSBJDMX_BJCP, "); SQL3.Add(" :KHJG,:KHJE,:XLXSBJDMX_CPBJ) "); } SQL3.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID; SQL3.ParamByName("XLXSBJDMX_XH").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim(); SQL3.ParamByName("WLID").Value = dsMX.Tables[0].Rows[i]["WLID"].ToString().Trim(); SQL3.ParamByName("XLXSBJDMX_CPBJ").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_CPBJ"].ToString().Trim(); SQL3.ParamByName("XLXSBJDMX_BJDHQCLCB").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJDHQCLCB"].ToString().Trim(); if (dsMX.Tables[0].Rows[i]["XLXSBJDMX_JLDW"].ToString().Trim().ToUpper() == dsMX.Tables[0].Rows[i]["WL_JLDW"].ToString().Trim().ToUpper()) SQL3.ParamByName("XLXSBJDMX_JLDW").Value = dsMX.Tables[0].Rows[i]["WL_JLDW"].ToString().Trim(); else SQL3.ParamByName("XLXSBJDMX_JLDW").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_JLDW"].ToString().Trim(); SQL3.ParamByName("HSXS").Value = dicHSXS[dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim()]; SQL3.ParamByName("XLXSBJDMX_BJSL").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim(); SQL3.ParamByName("ZBJSL").Value = CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim()) * dicHSXS[dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim()]; SQL3.ParamByName("XLXSBJDMX_BZ").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BZ"].ToString().Trim(); SQL3.ParamByName("XLXSBJDMX_BJJE").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJJE"].ToString().Trim(); SQL3.ParamByName("XLXSBJDMX_BJCP").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJCP"].ToString().Trim(); SQL3.ParamByName("KHJG").Value = NumberUtils.RoundX(CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_ZDXJ"].ToString().Trim()), 4); SQL3.ParamByName("KHJE").Value = NumberUtils.RoundX(NumberUtils.RoundX(CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_ZDXJ"].ToString().Trim()), 4) * CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim()), 2); dberp3.ExecSQL(SQL3); } #endregion #region 同步生成CS投标报价反馈记录 for (int i = 0; i < dsMX.Tables[0].Rows.Count; i++) { if (dsMX.Tables[0].Rows[i]["WLID"].ToString().Trim().Equals("")) continue; if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select top 1 TBBJFKMX_TBSID from TBBJFKMX where TBBJFKMX_BJDH='{0}' and TBBJFKMX_BJDXH={1} ", sBJDID, dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim()))) { SQL3.Clear(); SQL3.Add("update TBBJFKMX set TBBJFKMX_ZB=:XLXSBJDMX_ZB, "); SQL3.Add(" TBBJFKMX_ZBSL=:XLXSBJDMX_ZBSL, "); SQL3.Add(" TBBJFKMX_ZBJE=:XLXSBJDMX_ZBJE, "); SQL3.Add(" TBBJFKMX_ZBDJ=:TBBJFKMX_ZBDJ "); SQL3.Add(" where TBBJFKMX_BJDH=:XLXSBJDMX_BJDID and TBBJFKMX_BJDXH=:XLXSBJDMX_XH and TBBJFKMX_XH=:XLXSBJDMX_XH "); } else { SQL3.Clear(); SQL3.Add("insert into TBBJFKMX(TBBJFKMX_TBSID, TBBJFKMX_BJDH, TBBJFKMX_XH, TBBJFKMX_BJDXH, TBBJFKMX_ZB,TBBJFKMX_ZBSL, TBBJFKMX_ZBJE,TBBJFKMX_ZBDJ) ");//TBBJFKMX_BJDH--TBBJFKMX_BJDID SQL3.Add("values ( ' ',:pBJDID,:pXH,:BJDMX_BJDXH,:XLXSBJDMX_ZB,:XLXSBJDMX_ZBSL,:XLXSBJDMX_ZBJE,:TBBJFKMX_ZBDJ ) "); } SQL3.ParamByName("pBJDID").Value = sBJDID; SQL3.ParamByName("pXH").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim(); SQL3.ParamByName("BJDMX_BJDXH").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim(); SQL3.ParamByName("XLXSBJDMX_ZB").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_ZB"].ToString().Trim(); SQL3.ParamByName("XLXSBJDMX_ZBSL").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_ZBSL"].ToString().Trim(); SQL3.ParamByName("XLXSBJDMX_ZBJE").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_ZBJE"].ToString().Trim(); SQL3.ParamByName("TBBJFKMX_ZBDJ").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_CPBJ"].ToString().Trim(); dberp3.ExecSQL(SQL3); } #endregion dberp3.CommitTrans(); } catch (Exception ex) { ShowMessage("反馈操作出错,错误原因:" + ex); dberp3.RollbackTrans(); } #endregion } ShowMessage("追加反馈完成!"); btnRefresh_Click(null, null); } #endregion #region 控件事件 protected void btnPLSZ_Click(object sender, EventArgs e) { string sBJDID = PageParam.GetRTrimString("BJDID").Trim(); if (sBJDID.Equals("")) sBJDID = txtSelBJDID.Value.Trim(); string sXHList = ""; if (!string.IsNullOrEmpty(grdContentGrid.CheckedRowIndexs)) { foreach (string sCheckedIndex in grdContentGrid.CheckedRowIndexs.Split(',')) { string stmpXH = grdContentGrid.DataKeys[CMISproConvert.StrToInt(sCheckedIndex)]["XLXSBJDMX_XH"].ToString().Trim(); if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y")) { string stmpCFXH = grdContentGrid.DataKeys[CMISproConvert.StrToInt(sCheckedIndex)]["XLXSBJFKCFMX_CFXH"].ToString().Trim(); stmpXH = stmpXH.Trim() + "|" + stmpCFXH.Trim(); } if (!sXHList.Equals("")) sXHList += ","; sXHList += stmpXH; } } TPageParams tpp = new TPageParams(); tpp.UrlPath = "CXBJD_PLBJFKInfo.aspx"; tpp.AddString("BJDID", sBJDID); tpp.AddString("BJDXHList", sXHList); if (sXHList.Equals(""))//整单操作 { tpp.AddString("NeedQRCID", txtNeedQR.ClientID); OpenDialogClickBtn(tpp, btnRefreshAndQR.ClientID); } else { tpp.AddString("RefreshCtrlID", btnRefresh.ClientID); OpenDialog(tpp); } } protected void btnPLSZXDXH_Click(string value) { string sBJDID = PageParam.GetRTrimString("BJDID").Trim(); if (sBJDID.Equals("")) sBJDID = txtSelBJDID.Value.Trim(); TPageParams tpp = new TPageParams(); tpp.UrlPath = "CXBJD_PLSZXDXHInfo.aspx"; tpp.AddString("BJDID", sBJDID); if (!string.IsNullOrEmpty(grdContentGrid.CheckedRowIndexs)) tpp.AddString("SZFW", "C"); else tpp.AddString("SZFW", "A"); if (value.Equals("0")) { tpp.Title = "批量设置下单型号"; tpp.AddString("txtXLXHID", txtXLXHID.ClientID); } else if (value.Equals("2")) { tpp.Title = "批量设置下单标准"; tpp.AddString("txtXLBZID", txtXLBZID.ClientID); } else if (value.Equals("3")) { tpp.Title = "批量设置生产类型"; tpp.AddString("txtDZSC", txtDZSC.ClientID); } OpenDialogClickBtn(tpp, btnXDXLXHSZ.ClientID); } protected void btnPLSZYS_Click() { string sBJDID = PageParam.GetRTrimString("BJDID").Trim(); if (sBJDID.Equals("")) sBJDID = txtSelBJDID.Value.Trim(); string sXHList = ""; if (!string.IsNullOrEmpty(grdContentGrid.CheckedRowIndexs)) { foreach (string sCheckedIndex in grdContentGrid.CheckedRowIndexs.Split(',')) { string stmpXH = grdContentGrid.DataKeys[CMISproConvert.StrToInt(sCheckedIndex)]["XLXSBJDMX_XH"].ToString().Trim(); if (!sXHList.Equals("")) sXHList += ","; sXHList += stmpXH; } } TPageParams tpp = new TPageParams(); tpp.UrlPath = "CXBJD_YSTZInfo.aspx"; tpp.AddString("BJDID", sBJDID); if (!string.IsNullOrEmpty(grdContentGrid.CheckedRowIndexs)) tpp.AddString("SZFW", "C"); else tpp.AddString("SZFW", "A"); tpp.AddString("BJDXHList", sXHList); tpp.AddString("RefreshCtrlID", btnRefresh.ClientID); OpenDialog(tpp); } protected void btnBJDQR_Click(object sender, EventArgs e) { string sBJDID = ""; //100860000|线缆销售报价单”、“100860061|销售员报价申请”模块调用 if (!PageParam.GetRTrimString("BJDID").Equals("")) { sBJDID = PageParam.GetRTrimString("BJDID"); } else { if (grdContentGrid.SelectedIndex < 0) { ShowMessage("请选择处理记录!"); return; } sBJDID = grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDMX_BJDID"].ToString().Trim(); } if (!CMISproDataBase.ExistsRecord("DBERP", "select top 1 XLXSBJDMX_BJDID from XLXSBJDMX where XLXSBJDMX_BJDID='" + sBJDID + "'")) { ShowMessage("当前报价单无明细记录,不允许反馈!"); return; } if (txtZJFK.Value != "Y") { if (!CMISproDataBase.ExistsRecord("DBERP", "select top 1 XLXSBJDMX_BJDID from XLXSBJDMX where (XLXSBJDMX_ZB='Y' or XLXSBJDMX_ZB='P') and XLXSBJDMX_BJDID='" + sBJDID + "'")) { ShowMessage("当前报价单的明细产品全部未中标,请手动提交报价单至结束!"); return; } } else { string sSQL = "select top 1 XLXSBJDMX_BJDID from XLXSBJDMX where (XLXSBJDMX_ZB='Y' or XLXSBJDMX_ZB='P') and XLXSBJDMX_BJDID='" + sBJDID + "'" +" and not exists(select 1 from BJDMX where BJDMX_BJDID=XLXSBJDMX_BJDID and BJDMX_BJDXH=XLXSBJDMX_XH and BJDMX_ZBSL<>0 ) "; if (!CMISproDataBase.ExistsRecord("DBERP", sSQL)) { ShowMessage("当前报价单的明细产品全部未中标,不允许反馈!"); return; } } string sWfAwaiter = GetBJDDCLR(sBJDID); if (!sWfAwaiter.Contains("," + tSession.UserId + ",")) { ShowMessage("当前用户不属于报价单待处理人,不允许反馈!"); return; } //if (TWorkflow.Utils.QYWFByWFVID("XS_BJDSP"))//XS_BJDSP|销售报价单评审流程 //{ // ShowMessage("【100384006|销售报价单维护】模块不允许启用工作流!"); // return; //} if (!GetOption(100384006, "XSU100").Equals("N")) { ShowMessage("【100384006|销售报价单维护】模块参数“XSU100|按什么物料进行销售报价”的值必须设置为“N|按正式物料进行销售报价”!"); return; } if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from BJD where BJD_BJDID='{0}'", sBJDID)) && txtZJFK.Value != "Y") { ShowMessage("所选报价单已反馈,不允许重复反馈!"); return; } XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860046); DataSet ds = GetBJCP_XLWL(sBJDID,txtZJFK.Value); string sNoWLIDXSSXList = ""; string sCZBFZRGHList = ""; string sZBZT = ""; List CZBFZRGHList = new List(); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { if (ds.Tables[0].Rows[i]["WLID"].ToString().Trim().Equals("")) { if (ds.Tables[0].Rows[i]["ZBZT"].ToString().Trim().Equals("Y") || ds.Tables[0].Rows[i]["ZBZT"].ToString().Trim().Equals("P")) { sNoWLIDXSSXList += ds.Tables[0].Rows[i]["XLXSBJDMX_XSSX"].ToString().Trim() + ","; if (pzxx.XLXSBJPZ_YXTZCZBFZR == "Y") { string sCZBFZRGH = TRYXX.GetRYByRYMC(ds.Tables[0].Rows[i]["XLJGCZBML_FZR"].ToString().Trim()).GH; string sWLQSTZRGHS = "," + pzxx.XLXSBJPZ_WLQSTZRGHS + ","; if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_WLQSTZRGHS) && (sWLQSTZRGHS.Contains("," + sCZBFZRGH + ",")) && !CZBFZRGHList.Contains(sCZBFZRGH)) { sCZBFZRGHList += sCZBFZRGH + ","; CZBFZRGHList.Add(sCZBFZRGH); } } } } if (!ds.Tables[0].Rows[i]["ZBZT"].ToString().Trim().Equals("")) { sZBZT += ds.Tables[0].Rows[i]["XLXSBJDMX_XSSX"].ToString().Trim() + ","; } } sNoWLIDXSSXList = sNoWLIDXSSXList.TrimEnd(','); sCZBFZRGHList = sCZBFZRGHList.TrimEnd(','); if (!sNoWLIDXSSXList.Equals("")) { if (string.IsNullOrEmpty(pzxx.XLXSBJPZ_WLQSTZRGHS)) { ShowMessage("当前报价单的明细中标产品部分没有设置对应的物料,不能执行报价单反馈操作!"); return; } else { string sWarning = "当前报价单的明细中标产品部分没有设置对应的物料,不能执行报价单反馈操作!是否通知相关人员增补物料?"; Confirm.Register("IsQD", sWarning); Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No; if (Confirm.GetValue("IsQD").Trim().Equals("")) { Confirm.Ask("IsQD"); return; } else if (Confirm.GetValue("IsQD").Trim().Equals("N")) { //表示进行了提示并选择了取消,直接返回或其他处理 Confirm.Clear(); return; } else if (Confirm.GetValue("IsQD").Trim().Equals("Y")) { string sTZR = pzxx.XLXSBJPZ_WLQSTZRGHS; if (!sCZBFZRGHList.Equals("")) sTZR = sCZBFZRGHList; //表示进行了提示并选择了确认 Confirm.Clear(); TMsg msg = new TMsg(); msg.MsgClass = "BJFK_WLQS"; msg.UMID = "100860046"; msg.MsgNumid = 100860046; msg.MsgYWID = "[BJDID=" + sBJDID + "][WLQS=Y]"; TPageParams tpp = new TPageParams(); tpp.CallAction = TPageCallAction.pcaBrowse; tpp.UrlPath = "../components/N_XLXSBJ/CXBJDList.aspx"; tpp.AddString("BJDID", sBJDID); tpp.AddString("WLQS", "Y"); msg.MsgContent = sBJDID+"报价单中标产品缺少对应物料,无法完成反馈!"; msg.MsgURL = Utils.GetEncodedUrl(100860046, tpp); msg.ReceiveUsers = sTZR; msg.SendMsg(tSession, tSession.UserName); ShowMessage("消息通知成功!"); return; } } } else { if (sZBZT.Equals("")) { ShowMessage("当前报价单的明细产品均没有设置中标状态,不能执行报价单反馈操作!"); return; } if (txtZJFK.Value != "Y") { TPageParams param = new TPageParams(); param.UrlPath = "CXBJD_QRInfo.aspx"; param.AddString("BJDID", sBJDID); //100860000|线缆销售报价单”、“100860061|销售员报价申请”模块调用 if (!PageParam.GetRTrimString("BJDID").Equals("")) { param.AddString("FromXLXSBJD", "Y"); param.AddString("RefreshCtrlID", btnRefreshZT.ClientID); OpenDialog(param); } else OpenDialogClickBtn(param, btnRefreshZT.ClientID); } else { string sWarning = "将在已反馈的报价单明细追加中标明细,是否确认?"; Confirm.Register("IsQD", sWarning); Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No; if (Confirm.GetValue("IsQD").Trim().Equals("")) { Confirm.Ask("IsQD"); return; } else if (Confirm.GetValue("IsQD").Trim().Equals("N")) { //表示进行了提示并选择了取消,直接返回或其他处理 Confirm.Clear(); return; } else if (Confirm.GetValue("IsQD").Trim().Equals("Y")) { Confirm.Clear(); ZJFK(sBJDID); } } } } protected void btnBJDQR_OnDropDown(object sender, EventArgs e) { btnBJDQR.Nodes.Clear(); btnBJDQR.Nodes.Add(new gtTreeNode("1", "追加反馈")); btnBJDQR.Nodes.Add(new gtTreeNode("0", "取消反馈")); MenuAreaUpdate(); } protected void btnPLSZ_OnDropDown(object sender, EventArgs e) { btnPLSZ.Nodes.Clear(); btnPLSZ.Nodes.Add(new gtTreeNode("0", "批量设置下单型号")); if (DSActiveModule.IsActiveModule(102577006)) { btnPLSZ.Nodes.Add(new gtTreeNode("2", "批量设置下单标准")); } btnPLSZ.Nodes.Add(new gtTreeNode("3", "批量设置生产类型")); btnPLSZ.Nodes.Add(new gtTreeNode("1", "批量设置颜色")); MenuAreaUpdate(); } protected void btnBJDQR_MenuItemClick(object sender, string value) { if (value.Equals("0")) { string sBJDID = ""; string sSQL = ""; string sWarning = ""; //100860000|线缆销售报价单”、“100860061|销售员报价申请”模块调用 if (!PageParam.GetRTrimString("BJDID").Equals("")) { sBJDID = PageParam.GetRTrimString("BJDID"); } else { if (grdContentGrid.SelectedIndex < 0) { ShowMessage("请选择处理记录!"); return; } sBJDID = grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDMX_BJDID"].ToString().Trim(); } string sWfAwaiter = GetBJDDCLR(sBJDID); if (!sWfAwaiter.Contains("," + tSession.UserId + ",")) { ShowMessage("当前用户不属于报价单待处理人,不允许取消反馈!"); return; } sSQL = string.Format("select 1 from HT where HT_BJDID = '{0}'", sBJDID); if (CMISproDataBase.ExistsRecord("DBERP", sSQL)) { ShowMessage("当前报价单已生成合同,不允许取消反馈!"); return; } sSQL = string.Format("select 1 from BJD where BJD_BJDID='{0}'", sBJDID); if (!CMISproDataBase.ExistsRecord("DBERP", sSQL)) { ShowMessage("所选报价单未反馈,不允许取消反馈!"); return; } sSQL = string.Format("select 1 from BJD where BJD_BJDID='{0}' and BJD_XDRQ is not null ", sBJDID); if (CMISproDataBase.ExistsRecord("DBERP", sSQL)) { ShowMessage("当前报价单已下达销售订单,不允许取消反馈!"); return; } bool bFK3BB = false; XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860046); if (pzxx.XLXSBJPZ_TBFKZ3BB == "Y") bFK3BB = true; if (bFK3BB) { TDatabase dberp3 = TContextDatabases.GetDatabase("DBERP3"); TSQL SQL3 = new TSQL(dberp3); sSQL = string.Format("select 1 from BJD where BJD_BJDID='{0}' and BJD_XDRQ is not null ", sBJDID); SQL3.Clear(); SQL3.Add(sSQL); DataSet ds3 = dberp3.OpenDataSet(SQL3); if (ds3.Tables[0].Rows.Count > 0) { ShowMessage("当前3版本报价单已下达销售订单,不允许取消反馈!"); return; } } sSQL = string.Format("select 1 from TBBJFK where TBBJFK_BJDID='{0}' ", sBJDID); if (CMISproDataBase.ExistsRecord("DBERP", sSQL)) { sWarning = "取消反馈的同时将同步删除反馈过去的记录,是否继续?"; Confirm.Register("IsQD", sWarning); Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No; if (Confirm.GetValue("IsQD").Trim().Equals("")) { Confirm.Ask("IsQD"); return; } else if (Confirm.GetValue("IsQD").Trim().Equals("N")) { //表示进行了提示并选择了取消,直接返回或其他处理 Confirm.Clear(); return; } else if (Confirm.GetValue("IsQD").Trim().Equals("Y")) { //表示进行了提示并选择了反馈 Confirm.Clear(); } } else { sWarning = "将取消反馈,是否继续?"; Confirm.Register("IsQD", sWarning); Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No; if (Confirm.GetValue("IsQD").Trim().Equals("")) { Confirm.Ask("IsQD"); return; } else if (Confirm.GetValue("IsQD").Trim().Equals("N")) { //表示进行了提示并选择了取消,直接返回或其他处理 Confirm.Clear(); return; } else if (Confirm.GetValue("IsQD").Trim().Equals("Y")) { //表示进行了提示并选择了反馈 Confirm.Clear(); } } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); try { dberp.BeginTrans(); SQL.Clear(); SQL.Add("delete from TBBJFKMX where TBBJFKMX_BJDID = :pBJDID"); SQL.ParamByName("pBJDID").Value = sBJDID; dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add("delete from TBBJFK where TBBJFK_BJDID = :pBJDID"); SQL.ParamByName("pBJDID").Value = sBJDID; dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add("delete from BJDMX where BJDMX_BJDID = :pBJDID"); SQL.ParamByName("pBJDID").Value = sBJDID; dberp.ExecSQL(SQL); double dDOCGRPID = GetBJD_DOCGRPID(sBJDID); SQL.Clear(); SQL.Add("delete from BJD where BJD_BJDID = :pBJDID"); SQL.ParamByName("pBJDID").Value = sBJDID; dberp.ExecSQL(SQL); if (dDOCGRPID > 0) FileService.DeleteGroup(dDOCGRPID); dberp.CommitTrans(); ShowMessage("取消反馈完成!"); } catch (Exception ex) { dberp.RollbackTrans(); ShowMessage("取消反馈失败:" + ex.ToString().Trim()); return; } if (bFK3BB) { TDatabase dberp3 = TContextDatabases.GetDatabase("DBERP3"); TSQL SQL3 = new TSQL(dberp3); try { dberp3.BeginTrans(); SQL3.Clear(); SQL3.Add("delete from TBBJFKMX where TBBJFKMX_BJDH = :pBJDID");//TBBJFKMX_BJDH--TBBJFKMX_BJDID SQL3.ParamByName("pBJDID").Value = sBJDID; dberp3.ExecSQL(SQL3); SQL3.Clear(); SQL3.Add("delete from TBBJFK where TBBJFK_BJDH = :pBJDID");//TBBJFK_BJDH--TBBJFK_BJDID SQL3.ParamByName("pBJDID").Value = sBJDID; dberp3.ExecSQL(SQL3); SQL3.Clear(); SQL3.Add("delete from BJDMX where BJDMX_BJDID = :pBJDID"); SQL3.ParamByName("pBJDID").Value = sBJDID; dberp3.ExecSQL(SQL3); SQL3.Clear(); SQL3.Add("delete from BJD where BJD_BJDID = :pBJDID"); SQL3.ParamByName("pBJDID").Value = sBJDID; dberp3.ExecSQL(SQL3); dberp3.CommitTrans(); } catch (Exception ex) { ShowMessage("3版本反馈操作出错,错误原因:" + ex); dberp3.RollbackTrans(); return; } } btnRefreshZT_Click(null, null); } else if (value.Equals("1")) { if (txtZJFK.Value != "Y") { string sBJDID = ""; string sSQL = ""; if (!PageParam.GetRTrimString("BJDID").Equals("")) { sBJDID = PageParam.GetRTrimString("BJDID"); } else { if (grdContentGrid.SelectedIndex < 0) { ShowMessage("请选择处理记录!"); return; } sBJDID = grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDMX_BJDID"].ToString().Trim(); } string sWfAwaiter = GetBJDDCLR(sBJDID); if (!sWfAwaiter.Contains("," + tSession.UserId + ",")) { ShowMessage("当前用户不属于报价单待处理人,不允许追加反馈!"); return; } sSQL = string.Format("select 1 from BJD where BJD_BJDID='{0}'", sBJDID); if (!CMISproDataBase.ExistsRecord("DBERP", sSQL)) { ShowMessage("所选报价单未反馈,不允许追加反馈!"); return; } } txtZJFK.Value = txtZJFK.Value =="Y" ? "N" :"Y"; btnRefreshZT_Click(null, null); } } protected void btnPLSZ_MenuItemClick(object sender, string value) { if (value.Equals("0") || value.Equals("2") || value.Equals("3")) { btnPLSZXDXH_Click(value); } else if (value.Equals("1")) { btnPLSZYS_Click(); } } protected void btnXDXH_Click(object sender, EventArgs e) { if (!txtSelBJDID.Value.Trim().Equals("") && !txtSelBJDXH.Value.Trim().Equals("")) { TPageParams tpp = new TPageParams(); tpp.Title = "设置下单型号"; tpp.UrlPath = "CXBJD_PLSZXDXHInfo.aspx"; tpp.AddString("BJDID", txtSelBJDID.Value); tpp.AddString("BJDXH", txtSelBJDXH.Value); tpp.AddString("SZFW", "S"); tpp.AddString("txtXLXHID", txtXLXHID.ClientID); tpp.AddString("txtXDXHXH", txtXDXHXH.ClientID); OpenDialogClickBtn(tpp, btnXDXLXHSZ.ClientID); } } protected void btnXDBZ_Click(object sender, EventArgs e) { if (!txtSelBJDID.Value.Trim().Equals("") && !txtSelBJDXH.Value.Trim().Equals("")) { TPageParams tpp = new TPageParams(); tpp.Title = "设置下单标准"; tpp.UrlPath = "CXBJD_PLSZXDXHInfo.aspx"; tpp.AddString("BJDID", txtSelBJDID.Value); tpp.AddString("BJDXH", txtSelBJDXH.Value); tpp.AddString("SZFW", "S"); tpp.AddString("txtXLBZID", txtXLBZID.ClientID); tpp.AddString("txtXDXHXH", txtXDXHXH.ClientID); OpenDialogClickBtn(tpp, btnXDXLXHSZ.ClientID); } } protected void btnDZSC_Click(object sender, EventArgs e) { if (!txtSelBJDID.Value.Trim().Equals("") && !txtSelBJDXH.Value.Trim().Equals("")) { TPageParams tpp = new TPageParams(); tpp.Title = "设置下单标准"; tpp.UrlPath = "CXBJD_PLSZXDXHInfo.aspx"; tpp.AddString("BJDID", txtSelBJDID.Value); tpp.AddString("BJDXH", txtSelBJDXH.Value); tpp.AddString("SZFW", "S"); tpp.AddString("txtDZSC", txtDZSC.ClientID); tpp.AddString("txtXDXHXH", txtXDXHXH.ClientID); OpenDialogClickBtn(tpp, btnXDXLXHSZ.ClientID); } } protected void btnBJFK_Click(object sender, EventArgs e) { if (!txtSelBJDID.Value.Trim().Equals("") && !txtSelBJDXH.Value.Trim().Equals("")) { TPageParams tpp = new TPageParams(); tpp.UrlPath = "CXBJD_BJFKInfo.aspx"; tpp.AddString("BJDID", txtSelBJDID.Value); tpp.AddString("BJDXH", txtSelBJDXH.Value); tpp.AddString("CFXH", txtSelCFXH.Value); tpp.AddString("RefreshCtrlID", btnRefresh.ClientID); OpenDialog(tpp); } } protected void btnCF_Click(object sender, EventArgs e) { if (grdContentGrid.SelectedIndex < 0) { ShowMessage("请选择处理记录!"); return; } if (grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["ZBSL"].ToString().Trim().Equals("") || grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["ZBSL"].ToString().Trim().Equals("0")) { ShowMessage("中标数量为0,不允许拆分!"); return; } TPageParams tpp = new TPageParams(); tpp.UrlPath = "CXBJD_CFList.aspx"; tpp.AddString("BJDID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDMX_BJDID"].ToString().Trim()); tpp.AddString("BJDXH", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDMX_XH"].ToString().Trim()); tpp.AddString("XLXHID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDMX_XDXLXHID"].ToString().Trim()); tpp.AddString("XLGGID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDMX_XLGGID"].ToString().Trim()); tpp.AddString("XLBZID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDMX_XDXLBZID"].ToString().Trim()); tpp.AddString("DYDJID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDMX_DYDJID"].ToString().Trim()); tpp.AddString("BJSL", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["ZBSL"].ToString().Trim()); tpp.AddString("RefreshCtrlID", btnRefresh.ClientID); OpenDialog(tpp); } protected void btnQXCF_Click(object sender, EventArgs e) { if (grdContentGrid.SelectedIndex < 0) { ShowMessage("请选择处理记录!"); return; } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" DELETE FROM XLXSBJFKCFMX WHERE XLXSBJFKCFMX_BJDID=:pBJDID AND XLXSBJFKCFMX_BJDXH=:pBJDXH "); SQL.ParamByName("pBJDID").Value = grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDMX_BJDID"].ToString().Trim(); SQL.ParamByName("pBJDXH").Value = grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDMX_XH"].ToString().Trim(); dberp.ExecSQL(SQL); ShowMessage("取消拆分成功!"); moduleGV_PageIndexChanging(null, null); } protected void btnYSTZ_Click(object sender, EventArgs e) { if (!txtSelBJDID.Value.Trim().Equals("") && !txtSelBJDXH.Value.Trim().Equals("")) { TPageParams tpp = new TPageParams(); tpp.UrlPath = "CXBJD_YSTZInfo.aspx"; tpp.AddString("BJDID", txtSelBJDID.Value); tpp.AddString("BJDXH", txtSelBJDXH.Value); tpp.AddString("RefreshCtrlID", btnRefresh.ClientID); OpenDialog(tpp); } } protected void btnWLTZ_Click(object sender, EventArgs e) { if (!txtSelBJDID.Value.Trim().Equals("") && !txtSelBJDXH.Value.Trim().Equals("")) { TPageParams tpp = new TPageParams(); tpp.UrlPath = "CXBJD_WLTZInfo.aspx"; tpp.AddString("BJDID", txtSelBJDID.Value); tpp.AddString("BJDXH", txtSelBJDXH.Value); tpp.AddString("WLID", txtSelWLID.Value); tpp.AddString("RefreshCtrlID", btnRefresh.ClientID); OpenDialog(tpp); } } protected void btnRefresh_Click(object sender, EventArgs e) { int dex = grdContentGrid.SelectedIndex; moduleGV_PageIndexChanging(null, null); grdContentGrid.SelectedIndex = dex; } protected void btnRefreshZT_Click(object sender, EventArgs e) { if (!PageParam.GetRTrimString("BJDID").Equals("")) { grdContentGrid.FindColumnByFieldName("XLXSBJDMX_BJDID").Visible = false; grdContentGrid.FindColumnByFieldName("XLXSBJD_BJRQ").Visible = false; grdContentGrid.FindColumnByFieldName("XLXSBJD_WPID").Visible = false; grdContentGrid.FindColumnByFieldName("XLXSBJD_TXY").Visible = false; grdContentGrid.FindColumnByFieldName("XLXSBJD_KH").Visible = false; grdContentGrid.FindColumnByFieldName("XMD").Visible = false; grdContentGrid.FindColumnByFieldName("XLXSBJD_XMMC").Visible = false; grdContentGrid.FindColumnByFieldName("XLXSBJD_XSBMID").Visible = false; grdContentGrid.FindColumnByFieldName("XLXSBJD_XSQYID").Visible = false; lblXSBM.Visible = true; txtXSBM.Visible = true; lblXSQY.Visible = true; txtXSQY.Visible = true; string sWfAwaiter = GetBJDDCLR(PageParam.GetRTrimString("BJDID")); if (sWfAwaiter.Contains("," + tSession.UserId + ",")) { if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from BJD where BJD_BJDID='{0}'", PageParam.GetRTrimString("BJDID"))) || txtZJFK.Value == "Y") { grdContentGrid.CheckBox = true; btnPLSZ.Visible = true; } else { grdContentGrid.CheckBox = false; btnPLSZ.Visible = false; } } else { grdContentGrid.CheckBox = false; btnPLSZ.Visible = false; } } MenuAreaUpdate(); btnRefresh_Click(null, null); } protected void btnRefreshAndQR_Click(object sender, EventArgs e) { btnRefresh_Click(null, null); if (txtNeedQR.Value.Equals("Y")) { btnBJDQR_Click(null, null); } } protected void btnXDXLXHSZ_Click(object sender, EventArgs e) { string sBJDID = PageParam.GetRTrimString("BJDID").Trim(); if (sBJDID.Equals("")) sBJDID = txtSelBJDID.Value.Trim(); base.InitEntityByCondition(); if (txtXLXHID.Value.Trim().Equals("") && txtXLBZID.Value.Trim().Equals("") && txtDZSC.Value.Trim().Equals("")) return; string sXHList = ""; if (!string.IsNullOrEmpty(grdContentGrid.CheckedRowIndexs)) { foreach (string sCheckedIndex in grdContentGrid.CheckedRowIndexs.Split(',')) { string stmpXH = grdContentGrid.DataKeys[CMISproConvert.StrToInt(sCheckedIndex)]["XLXSBJDMX_XH"].ToString().Trim(); if (!sXHList.Equals("")) sXHList += ","; sXHList += stmpXH; } } if (!txtXDXHXH.Value.Trim().Equals("")) { sXHList = txtXDXHXH.Value; txtXDXHXH.Value = ""; } //更新下单型号或下单标准或生产标志 TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); try { dberp.BeginTrans(); SQL.Clear(); SQL.Add(" update XLXSBJDMX set "); if (!txtXLXHID.Value.Trim().Equals("") ) { SQL.Add(" XLXSBJDMX_XDXLXHID=:pXHID "); } else if (!txtXLBZID.Value.Trim().Equals("") ) { SQL.Add(" XLXSBJDMX_XDXLBZID=:pBZID "); } else if (!txtDZSC.Value.Trim().Equals("")) { SQL.Add(" XLXSBJDMX_DZSC=:pDZSC "); } SQL.Add(" WHERE XLXSBJDMX_BJDID = :pBJDID "); if (!sXHList.Trim().Equals("")) SQL.Add(" AND " + CMISproDataBase.GetWhereEqual("XLXSBJDMX_XH",sXHList)); else { //型号模糊 if (!CurQueryEntity.FieldByName("XLXHIDJQPP").Value.ToString().Trim().ToUpper().Equals("TRUE")) { if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())) { SQL.Add(" and XLXSBJDMX_XLXHID like :pXLXHID "); SQL.ParamByName("pXLXHID").Value = "%" + 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) { SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJDMX_XLXHID", sXLXHID)); } else { SQL.Add(" and XLXSBJDMX_XLXHID = :pXLXHID "); SQL.ParamByName("pXLXHID").Value = sXLXHID; } } } if (CurQueryEntity.FieldByName("CXXHYBJCPBYZ").Value.Trim().Equals("True")) { SQL.Add(" AND XLXSBJDMX_BJCP not like '%'||ltrim(rtrim(XLXSBJDMX_XDXLXHID))||'%' "); } if (CurQueryEntity.FieldByName("CXZBDWPPWL").Value.Trim().Equals("True")) { SQL.Add(@" and not exists(select 1 from (select XLXSBJXDWL_XLXHID as XLXHID,XLXSBJXDWL_XLGGID as XLGGID,XLXSBJXDWL_XLBZID as XLBZID,XLXSBJXDWL_DYDJID as DYDJID,min(XLXSBJXDWL_WLID) as minWLID from XLXSBJXDWL where 1=1 and exists(select 1 from WL where WL_WLID=XLXSBJXDWL_WLID and isnull(WL_TYBZ,' ')<>'Y') group by XLXSBJXDWL_XLXHID,XLXSBJXDWL_XLGGID,XLXSBJXDWL_XLBZID,XLXSBJXDWL_DYDJID) c where c.XLXHID=XLXSBJDMX_XDXLXHID and c.XLGGID=replace(XLXSBJDMX_XLGGID,'*','×') and c.XLBZID=XLXSBJDMX_XDXLBZID and c.DYDJID=XLXSBJDMX_DYDJID ) and not exists (select 1 from (select XSBJXHTH_BJXLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,XLXLB_XLYSID as XLYSID,minWLID from ( select XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID,min(XLXLB_WLID)as minWLID from XLXLB where 1=1 and isnull(XLXLB_TYBZ,' ')<> 'Y' and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') and exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID) group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID ) tmpXL left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID union all select XLXLB_XLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,XLXLB_XLYSID as XLYSID,min(XLXLB_WLID)as minWLID from XLXLB where isnull(XLXLB_TYBZ,' ')<>'Y' and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') and not exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID ) a where a.XLXHID=XLXSBJDMX_XDXLXHID and a.XLGGID=replace(XLXSBJDMX_XLGGID,'*','×') and a.XLBZID=XLXSBJDMX_XDXLBZID and a.DYDJID=XLXSBJDMX_DYDJID and a.XLYSID=XLXSBJDMX_XLYSID ) and isnull(XLXSBJDMX_WLID,' ') = ' ' and XLXSBJDMX_ZB in ('Y','P') "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("BJCP").Value.Trim())) { SQL.Add(" AND XLXSBJDMX_BJCP like :pBJCP "); SQL.ParamByName("pBJCP").Value = "%" + CurQueryEntity.FieldByName("BJCP").Value.Trim() + "%"; } } SQL.ParamByName("pBJDID").Value = sBJDID; if (!txtXLXHID.Value.Trim().Equals("")) { SQL.ParamByName("pXHID").Value = txtXLXHID.Value.Trim(); } else if (!txtXLBZID.Value.Trim().Equals("")) { SQL.ParamByName("pBZID").Value = txtXLBZID.Value.Trim(); } else if (!txtDZSC.Value.Trim().Equals("")) { SQL.ParamByName("pDZSC").Value = txtDZSC.Value.Trim(); } dberp.ExecSQL(SQL); dberp.CommitTrans(); } catch (Exception ex) { ShowMessage(ex.Message); dberp.RollbackTrans(); return; } btnRefresh_Click(null, null); txtXLXHID.Value = ""; txtXLBZID.Value = ""; txtDZSC.Value = ""; } #endregion } }