using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using GThinking.N_MODEL.Page; using GThinking.N_MISPRO.Utility; using GThinking.N_MISPRO.Data; using GThinking.N_MISPRO; using GThinking.N_WORKFLOW; using System.Collections.Generic; using GThinking.N_MISPRO.TableCache; using GThinking.N_PUBLIC2; using GThinking.N_PUBLIC; namespace GThinking.N_XLXSBJ { public partial class XLBJDList : SingleGridBase { XLBJD entity = new XLBJD(); XLBJD_M queryentity = new XLBJD_M(); public static Dictionary dicFJXSXSBZ = new Dictionary(); public static Dictionary dicFJXXSYBJFL = new Dictionary(); public static Dictionary dicZBLMBJFL = new Dictionary(); public static string sFJXXSZ = ""; public string sYZBSPTJ = "N"; public string sYZBSPTH = "N"; #region Page类事件继承 protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860000; this.UMName = "线缆销售报价单"; this.CurMaster = Master; this.ModuleGV = ContentGrid; this.CurEntity = entity; this.CurQueryEntity = queryentity; this.PageHeight = 500; this.PageWidth = 700; this.sURLTarget = "XLBJDInfo.aspx"; this.sQueryURLTarget = "XLBJDQuery.aspx"; base.DataKeyNames = new string[] { "XLXSBJD_BJDID", "XLXSBJD_CLHQJGBID", "XLXSBJD_BJFLID", "XLXSBJD_XMMC", "XLXSBJD_BJRQ", "XLXSBJD_ZJE" }; //关闭编辑页是否自动刷新功能列表页 if (GetOption("BJU010").Equals("Y")) base.sRefreshClientID = btnGRWJGRefer.ClientID; this.Master.EnableAttachBtn = true; if (!IsPostBack) { CurQueryEntity.FieldByName("SW").Value = "W"; CurQueryEntity.FieldByName("PXFS").Value = "报价日期正序↑"; } ContentGrid.FindColumnExByFieldName("XLXSBJD_TJ").NumberDecimalPlace = XLBJDUtils.BJCLPriceDecimal; ContentGrid.FindColumnExByFieldName("XLXSBJD_LJ").NumberDecimalPlace = XLBJDUtils.BJCLPriceDecimal; base.InitPage(); if (!IsPostBack) { HidLMByJS(); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(dberp); sSQL.Clear(); sSQL.Add("select XLXSBJKZXXSZ_MJSQL, XLXSBJKZXXSZ_SRFS,XLXSBJKZXXSZ_DYZD from XLXSBJKZXXSZ "); sSQL.Add("where 1=1 "); sSQL.Add(" and rtrim(convert(varchar(4000),isnull(XLXSBJKZXXSZ_MJSQL ,' ')))||' ' <> ' ' and isnull(XLXSBJKZXXSZ_SRFS,' ') <> 'A' "); sSQL.Add(" and isnull(XLXSBJKZXXSZ_LBXS,'N') = 'Y'"); DataSet ds = dberp.OpenDataSet(sSQL); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; ++i) { sFJXXSZ += ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_DYZD"].ToString().Trim() + ","; } } sSQL.Clear(); sSQL.Add(" select XLXSBJKZXXSZ_XSBZ,XLXSBJKZXXSZ_DYZD from XLXSBJKZXXSZ "); sSQL.Add(" where 1=1 "); sSQL.Add(" and isnull(XLXSBJKZXXSZ_XSBZ,' ') <> ' '"); sSQL.Add(" and isnull(XLXSBJKZXXSZ_LBXS,'N') = 'Y'"); ds = dberp.OpenDataSet(sSQL); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; ++i) { string sXSBZ = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_XSBZ"].ToString().Trim(); string sDYZD = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_DYZD"].ToString().Trim(); if (!dicFJXSXSBZ.ContainsKey(sDYZD)) dicFJXSXSBZ.Add(sDYZD, sXSBZ); } } sSQL.Clear(); sSQL.Add(" select XLXSBJKZXXSZ_SYBJFLID,XLXSBJKZXXSZ_DYZD from XLXSBJKZXXSZ "); sSQL.Add(" where 1=1 "); sSQL.Add(" and isnull(XLXSBJKZXXSZ_SYBJFLID,' ') <> ' '"); sSQL.Add(" and isnull(XLXSBJKZXXSZ_LBXS,'N') = 'Y'"); ds = dberp.OpenDataSet(sSQL); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; ++i) { string sSYBJFL = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_SYBJFLID"].ToString().Trim(); string sDYZD = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_DYZD"].ToString().Trim(); if (!dicFJXXSYBJFL.ContainsKey(sDYZD)) dicFJXXSYBJFL.Add(sDYZD, sSYBJFL); } } } //解决复制明细、与复制主记录分开处理的情况 this.Master.StandardCopyButton.OnClientClick = ""; this.Master.StandardCopyButton.Click += new EventHandler(btnCopyEx_Click); if (!IsPostBack) { Master_OnStandardQuery(null, null); } if (!CheckModule("100860008")) { int index1 = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName("XLXSBJD_LRL")); int index2 = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName("XLXSBJD_ZDXJJCL")); ContentGrid.Columns[index1].Visible = false; ContentGrid.Columns[index2].Visible = false; } if (!CheckModule("100860068")) { int index1 = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName("ZDFXYQR")); ContentGrid.Columns[index1].Visible = false; } if (tSession.UserId.Equals("SUPERVISOR")) btnZBZT.Visible = true; else btnZBZT.Visible = false; } #endregion #region 模板继承事件 protected override bool CanSubmit() { string sBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim(); string sWarningMsg = ""; string sBJFLID = ""; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" SELECT XLXSBJD_BJFLID FROM XLXSBJD WHERE XLXSBJD_BJDID=:pXLXSBJD_BJDID "); SQL.ParamByName("pXLXSBJD_BJDID").Value = sBJDID; DataSet data = dberp.OpenDataSet(SQL); if (data.Tables[0].Rows.Count > 0) { sBJFLID = data.Tables[0].Rows[0][0].ToString().Trim(); } BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID); if (bjflxx.XLXSBJFL_XTCPBJYZ.Trim().Equals("Y") || bjflxx.XLXSBJFL_XTCPBJYZ.Trim().Equals("5")) { XLBJD_BDOBill.JudgeDifBJCP(sBJDID, GetOption("BJU003"), ref sWarningMsg, bjflxx.XLXSBJFL_XTCPBJYZ.Trim()); if (!sWarningMsg.Equals("")) { ShowMessage(String.Format(("显示序号为【" + sWarningMsg + "】的相同报价产品的报价不同,不允许提交!"))); return false; } } XLBJD_BDOBill.JudgeDifBJZJE(sBJDID, ref sWarningMsg); if (!sWarningMsg.Equals("")) { ShowMessage(sWarningMsg); return false; } return base.CanSubmit(); } protected override bool Master_BeforeDeleteAction(object sender, EventArgs e) { string sBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim(); string sSQL = string.Format("select top 1 XLXSBJYLZD_BJDID from XLXSBJYLZD where XLXSBJYLZD_BJDID='{0}'", sBJDID); if (CMISproDataBase.ExistsRecord("DBERP", sSQL)) { ShowMessage("已申请材料用量制定,不允许删除!"); return false; } sSQL = string.Format("select 1 from BJD where BJD_BJDID='{0}'", sBJDID); if (CMISproDataBase.ExistsRecord("DBERP", sSQL)) { ShowMessage("报价单已反馈,不允许删除!"); return false; } CurEntity.Param.Add("XLXSBJD_BJDID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim()); XLBJDUtils.UpdateTJBZ(ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim(), "Delete"); return base.Master_BeforeDeleteAction(sender, e); } protected override void AfterDelete(TDatabase db, ref bool ActionIsDone) { base.AfterDelete(db, ref ActionIsDone); TSQL tSQL = new TSQL(db); XLBJDUtils.AfterDeleteBJD(db, tSQL, ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim()); } protected override bool Master_AfterDeleteAction(object sender, EventArgs e) { if (!base.Master_AfterDeleteAction(sender, e)) return false; base.InitEntityByCondition(); entity.EntityTable.QuerySelSql = GetQuerySql(); entity.GridDataBind(ContentGrid, tSession); ContentGrid.SelectedIndex = -1; return true; } protected override void Master_OnStandardQuery(object sender, EventArgs e) { base.InitEntityByCondition(); base.Master_OnStandardQuery(sender, e); entity.EntityTable.QuerySelSql = GetQuerySql(); entity.GridDataBind(ContentGrid, tSession); } protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e) { base.InitEntityByCondition(); entity.EntityTable.QuerySelSql = GetQuerySql(); ContentGrid.SelectedIndex = -1; base.moduleGV_PageIndexChanging(sender, e); } protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { string sWPID = e.Row.Cells[0].Text.Trim(); string sBJFLID = ContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_BJFLID"].ToString().Trim(); if (sBJFLID.Contains("|")) sBJFLID = sBJFLID.Split('|')[0]; e.Row.Cells[0].Text = _curWorkFlow.GetWPName("XLXSBJ_BJD", sWPID); e.Row.Cells[e.Row.Cells.Count - 5].Text = _curWorkFlow.UserInfo.GetUserNames(e.Row.Cells[e.Row.Cells.Count - 5].Text.Trim()); e.Row.Cells[e.Row.Cells.Count - 4].Text = _curWorkFlow.UserInfo.GetUserNames(e.Row.Cells[e.Row.Cells.Count - 4].Text.Trim()); if (ContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_CLHQJGBID"].ToString().Trim().Equals("ZZZZZZZZ")) { e.Row.Cells[6].Text = e.Row.Cells[6].Text.Trim() + ",ZZZZZZZZ|基础材料行情"; } else if (ContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_CLHQJGBID"].ToString().Trim().Equals("YYYYYYYY")) { e.Row.Cells[6].Text = e.Row.Cells[6].Text.Trim() + ",YYYYYYYY|报价单材料行情"; } int iKZSZStart = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName("KZSZ01")); for (int i = 1; i < 5; i++) { string sZDM = "KZSZ" + i.ToString().PadLeft(2, '0'); if (dicFJXSXSBZ.ContainsKey(sZDM)) { string sXSBZ = "," + dicFJXSXSBZ[sZDM] + ","; if (!sXSBZ.Contains("," + sWPID + ",")) { e.Row.Cells[iKZSZStart + i - 1].Text = ""; } } if (dicFJXXSYBJFL.ContainsKey(sZDM)) { string sSYBJFL = "," + dicFJXXSYBJFL[sZDM] + ","; if (!sSYBJFL.Contains("," + sBJFLID + ",")) { e.Row.Cells[iKZSZStart + i - 1].Text = ""; } } } int iKZZFStart = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName("KZZF01")); for (int i = 1; i < 11; i++) { string sZDM = "KZZF" + i.ToString().PadLeft(2, '0'); if (sFJXXSZ.Contains(sZDM)) e.Row.Cells[iKZZFStart + i - 1].Text = GetZFSelected(sZDM, e.Row.Cells[iKZZFStart + i - 1].Text.Trim()); if (dicFJXSXSBZ.ContainsKey(sZDM)) { string sXSBZ = "," + dicFJXSXSBZ[sZDM] + ","; if (!sXSBZ.Contains("," + sWPID + ",")) { e.Row.Cells[iKZZFStart + i - 1].Text = ""; } } if (dicFJXXSYBJFL.ContainsKey(sZDM)) { string sSYBJFL = "," + dicFJXXSYBJFL[sZDM] + ","; if (!sSYBJFL.Contains("," + sBJFLID + ",")) { e.Row.Cells[iKZZFStart + i - 1].Text = ""; } } } int iKZRQStart = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName("KZRQ01")); for (int i = 1; i < 5; i++) { string sZDM = "KZRQ" + i.ToString().PadLeft(2, '0'); if (dicFJXSXSBZ.ContainsKey(sZDM)) { string sXSBZ = "," + dicFJXSXSBZ[sZDM] + ","; if (!sXSBZ.Contains("," + sWPID + ",")) { e.Row.Cells[iKZRQStart + i - 1].Text = ""; } } if (dicFJXXSYBJFL.ContainsKey(sZDM)) { string sSYBJFL = "," + dicFJXXSYBJFL[sZDM] + ","; if (!sSYBJFL.Contains("," + sBJFLID + ",")) { e.Row.Cells[iKZRQStart + i - 1].Text = ""; } } } int iKZWBStart = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName("KZWB01")); for (int i = 1; i < 5; i++) { string sZDM = "KZWB" + i.ToString().PadLeft(2, '0'); if (dicFJXSXSBZ.ContainsKey(sZDM)) { string sXSBZ = "," + dicFJXSXSBZ[sZDM] + ","; if (!sXSBZ.Contains("," + sWPID + ",")) { e.Row.Cells[iKZWBStart + i - 1].Text = ""; } } if (dicFJXXSYBJFL.ContainsKey(sZDM)) { string sSYBJFL = "," + dicFJXXSYBJFL[sZDM] + ","; if (!sSYBJFL.Contains("," + sBJFLID + ",")) { e.Row.Cells[iKZWBStart + i - 1].Text = ""; } } } foreach (string sKey in dicZBLMBJFL.Keys) { if (("," + dicZBLMBJFL[sKey] + ",").Contains("," + sBJFLID + ",")) { int indexLM = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName(sKey)); e.Row.Cells[indexLM].Text = ""; } } LinkPageParam.AddString("WFID", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_WFID"].ToString().Trim()); LinkPageParam.AddString("WFINST", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_WFINST"].ToString().Trim()); LinkPageParam.AddString("XLXSBJD_BJDID", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_BJDID"].ToString().Trim()); } base.moduleGV_RowDataBound(sender, e); } protected override void BeforeAttach() { attDoc.WorkTableName = "XLXSBJD"; attDoc.UpdCondition = string.Format(" XLXSBJD_BJDID='{0}'", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim()); base.BeforeAttach(); } protected override void Master_BeforeAction(TWorkflow Sender, TWFAction Action, ref bool CanAction) { base.Master_BeforeAction(Sender, Action, ref CanAction); string sOption = Sender.GetWPOption(Sender.WFID, Sender.WPID, "生成PDF附件").ToString().Trim(); if (Action == TWFAction.wfaSubmit) { if (sOption.Equals("Y")) XLBJDInfo.PDFDC(ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim()); } } protected override void Master_wfAfterActionEvent(TWorkflow Sender, TWFAction Action, bool ActionIsDone) { base.Master_wfAfterActionEvent(Sender, Action, ActionIsDone); if (!ActionIsDone) return; string sWPID = ""; string sBJSQDH = ""; TSQL SQL = new TSQL(Sender.dbe); SQL.Clear(); SQL.Add("select XLXSBJD_WPID,XLXSBJD_BJSQDH,XLXSBJD_BJJSJD,XLXSBJD_ZB from XLXSBJD where XLXSBJD_BJDID=:pBJDID"); SQL.ParamByName("pBJDID").Value = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim(); DataSet ds = Sender.dbe.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sWPID = ds.Tables[0].Rows[0][0].ToString().Trim(); sBJSQDH = ds.Tables[0].Rows[0][1].ToString().Trim(); } string sZDQRWPID = XLBJDUtils.GetXLXSBJPZXX(100860068).XLXSBJPZ_ZDQRWPID; if (!sZDQRWPID.Equals("")) { if (Action == TWFAction.wfaSubmit) { if (sZDQRWPID.Contains(sWPID)) { SQL.Clear(); SQL.Add("update XLXSBJD set XLXSBJD_ZDQRRGH=:pZDQRRGH ,XLXSBJD_ZDQRSJ=:pZDQRSJ WHERE XLXSBJD_BJDID=:pBJDID"); SQL.ParamByName("pZDQRRGH").Value = tSession.UserId; SQL.ParamByName("pZDQRSJ").Value = CMISproConvert.ConvertTime(DateTime.Now); SQL.ParamByName("pBJDID").Value = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim(); Sender.dbe.ExecSQL(SQL); } } } if (!sBJSQDH.Trim().Equals("") && XLBJDInfo.CheckXSYBJSQ_SS()) { string sBJJSJD = ds.Tables[0].Rows[0][2].ToString().Trim(); string sWPNAME = Sender.GetWPName(Sender.WFID, sWPID); string sJSJD = tSession.UserName + " " + Sender.WAend.ToString().Trim() + " " + sWPNAME + " " + Sender.GetWFActionName(Action); if (!sBJJSJD.Equals("")) sBJJSJD += "\r\n"; sBJJSJD += sJSJD; SQL.Clear(); SQL.Add(" update XLXSBJD set XLXSBJD_BJJSJD = :pJSJD where XLXSBJD_BJDID = :pBJDID "); SQL.ParamByName("pJSJD").Value = sBJJSJD; SQL.ParamByName("pBJDID").Value = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim(); Sender.dbe.ExecSQL(SQL); } SQL.Clear(); SQL.Add(" update XLXSBJD"); SQL.Add(" set XLXSBJD_WFID = :XLXSBJD_WFID, "); SQL.Add(" XLXSBJD_WPID = :XLXSBJD_WPID, "); SQL.Add(" XLXSBJD_WFAWAITER = :XLXSBJD_WFAWAITER, "); SQL.Add(" XLXSBJD_WFHANDLER = :XLXSBJD_WFHANDLER, "); SQL.Add(" XLXSBJD_WFINST = :XLXSBJD_WFINST, "); SQL.Add(" XLXSBJD_ACTNAME = :XLXSBJD_ACTNAME "); SQL.Add(" where XLXSBJD_BJDID = :XLXSBJD_BJDID "); SQL.ParamByName("XLXSBJD_WFID").Value = Sender.WFID; SQL.ParamByName("XLXSBJD_WFINST").Value = Sender.WFInst; SQL.ParamByName("XLXSBJD_WPID").Value = Sender.WPID; SQL.ParamByName("XLXSBJD_WFAWAITER").Value = Sender.Awaiter; SQL.ParamByName("XLXSBJD_WFHANDLER").Value = Sender.Handler; SQL.ParamByName("XLXSBJD_ACTNAME").Value = Sender.GetWFActionName(Action); SQL.ParamByName("XLXSBJD_BJDID").Value = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim(); Sender.dbe.ExecSQL(SQL); string sBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim(); string sBJFLID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJFLID"].ToString().Trim(); string sXM = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_XMMC"].ToString().Trim(); string sBJRQ = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJRQ"].ToString().Trim(); string sZJE = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_ZJE"].ToString().Trim(); string sCurZT = TWorkflow.Utils.WFGetBZSWID(Sender.WFID, Sender.WPID); //若“100860062|销售报价业务配置”项目检索来源为“YXXM|售前项目”且XLXSBJD_XMMC不为空 if (sCurZT == "ZZZZ") { string sPSDH = ""; bool bINS = false; XLBJD_BDOBill.InsBJPS(SQL, Sender.dbe, Sender, Action, sBJDID, tSession, "100860000", ref sPSDH, ref bINS); if (bINS) { XLBJD_BDOBill.DispatchtoZZZZ(sPSDH, tSession); } } if (!sZDQRWPID.Equals("")) { if (Action == TWFAction.wfaSubmit) { if (sZDQRWPID.Contains(Sender.WPID)) { SQL.Clear(); SQL.Add("update XLXSBJD set XLXSBJD_ZDZDLX=:pZDZDLX WHERE XLXSBJD_BJDID=:pBJDID"); SQL.ParamByName("pZDZDLX").Value = XLBJD_BDOBill.getZDZDLX(ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim()); SQL.ParamByName("pBJDID").Value = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim(); Sender.dbe.ExecSQL(SQL); } } } if (GetOption("BJU068").Equals("W")) HLXTUtils.DataSend(Sender.WFID, Sender.WFInst.ToString(), Sender.GetWFActionName(Action), "XLBJDFS"); if (Sender.WPID.Equals("ZZZZ")) XLBJDUtils.UpdateBJWCSJ(ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim()); string sOption = Sender.GetWPOption(Sender.WFID, Sender.WPID, "自动生成合同").ToString().Trim(); if (Action == TWFAction.wfaSubmit) { if (sOption.Equals("Y")) XLBJDInfo.GeneratXSHTByBJD(ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim(), tSession.UserId, tSession.UserName); } sOption = Sender.GetWPOption(Sender.WFID, sWPID, "预中标审批").ToString().Trim(); if (Action == TWFAction.wfaSubmit) { if (sOption.Equals("Y")) { SQL.Clear(); SQL.Add("update XLXSBJD set XLXSBJD_YZBSP=:XLXSBJD_YZBSP WHERE XLXSBJD_BJDID=:pBJDID"); SQL.ParamByName("XLXSBJD_YZBSP").Value = "Y"; SQL.ParamByName("pBJDID").Value = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim(); Sender.dbe.ExecSQL(SQL); } } if (Action == TWFAction.wfaPullback || Action == TWFAction.wfaReturn) { sOption = Sender.GetWPOption(Sender.WFID, Sender.WPID, "预中标审批").ToString().Trim(); if (sOption.Equals("Y")) { SQL.Clear(); SQL.Add("update XLXSBJD set XLXSBJD_YZBSP=:XLXSBJD_YZBSP WHERE XLXSBJD_BJDID=:pBJDID"); SQL.ParamByName("XLXSBJD_YZBSP").Value = "N"; SQL.ParamByName("pBJDID").Value = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim(); Sender.dbe.ExecSQL(SQL); XLBJCLUtils.DeleteXLZCJH("XSBJ", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim()); } } if (sCurZT == "ZZZZ" && !sBJSQDH.Trim().Equals("") && XLBJDInfo.CheckXSYBJSQ_SS()) { string sZB = ds.Tables[0].Rows[0][3].ToString().Trim(); if (sZB.Equals("Y")) XLBJD_BDOBill.DispatchXLBJSQ(sBJSQDH, "ZZZZ", tSession); else XLBJD_BDOBill.DispatchXLBJSQ(sBJSQDH, "0060", tSession); } } protected override void OnReportUnknownFunction(string Name, string Params, ref string ValueType, ref string Value, TDatabase db) { string[] Param; Param = Params.Split(','); if (Name.Trim().ToUpper() == "GETCPBJ") { ValueType = "N"; if (Param.Length >= 5) { Value = XLBJDUtils.GetCPBJ(Param[0], Param[1], Param[2], Param[3], Param[4]).ToString(); } else { Value = "0"; } } } protected override void Master_wfOnGetParamName(ref List ParamList) { base.Master_wfOnGetParamName(ref ParamList); ParamList.Add("自动撞单"); } protected override void Master_wfOnGetParamEvent(TWorkflow Sender, string ParamName, ref string Value, ref bool Succeess) { base.Master_wfOnGetParamEvent(Sender, ParamName, ref Value, ref Succeess); if (ParamName == "自动撞单") { if (ParamName == "自动撞单") { if (XLBJD_BDOBill.getZDZDLX(ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim()).Equals("")) { Value = "N"; } else { Value = "Y"; } Succeess = true; } } } protected override bool ConfirmWFAction(TWFAction Action) { if (Action == TWFAction.wfaSubmit) { string sBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim(); string sWarningMsg = ""; string sBJFLID = ""; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" SELECT XLXSBJD_BJFLID FROM XLXSBJD WHERE XLXSBJD_BJDID=:pXLXSBJD_BJDID "); SQL.ParamByName("pXLXSBJD_BJDID").Value = sBJDID; DataSet data = dberp.OpenDataSet(SQL); if (data.Tables[0].Rows.Count > 0) { sBJFLID = data.Tables[0].Rows[0][0].ToString().Trim(); } BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID); if (bjflxx.XLXSBJFL_XTCPBJYZ.Trim().Equals("Z") || bjflxx.XLXSBJFL_XTCPBJYZ.Trim().Equals("6")) { XLBJD_BDOBill.JudgeDifBJCP(sBJDID, GetOption("BJU003"), ref sWarningMsg, bjflxx.XLXSBJFL_XTCPBJYZ.Trim()); if (!sWarningMsg.Equals("")) { Confirm.Register("ask", "显示序号为" + sWarningMsg + "的相同报价产品的报价不同,是否确认提交?"); Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No; if (Confirm.GetValue("ask").Trim().Equals("")) { Confirm.Ask("ask"); return false; } else if (Confirm.GetValue("ask").Trim().Equals("N")) { Confirm.Clear(); return false; } else if (Confirm.GetValue("ask").Trim().Equals("Y")) { Confirm.Clear(); } } } } return base.ConfirmWFAction(Action); } #endregion #region 私有函数 private void HidLMByJS() { TYGXX tRYXX = TRYXX.GetRYXXByGH(tSession.UserId); string sXJYROLEID = string.Empty; string sSJYROLEID = string.Empty; string sHJYROLEID = string.Empty; XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000); if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_XJYROLEID)) sXJYROLEID = pzxx.XLXSBJPZ_XJYROLEID; if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_SJYROLEID)) sSJYROLEID = pzxx.XLXSBJPZ_SJYROLEID; if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_HJYROLEID)) sHJYROLEID = pzxx.XLXSBJPZ_HJYROLEID; Dictionary dicLMID = new Dictionary(); dicLMID.Add("txtBZ", "XLXSBJD_BZ"); bool IsXJY = CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from USERROLE where URUSERID='{0}' and " + CMISproDataBase.GetWhereEqual("URROLEID", sXJYROLEID), tRYXX.RYID)); bool IsSJY = CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from USERROLE where URUSERID='{0}' and " + CMISproDataBase.GetWhereEqual("URROLEID", sSJYROLEID), tRYXX.RYID)); bool IsHJY = CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from USERROLE where URUSERID='{0}' and " + CMISproDataBase.GetWhereEqual("URROLEID", sHJYROLEID), tRYXX.RYID)); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(dberp); sSQL.Clear(); sSQL.Add("select distinct XLXSBJFLJSLM_BJFLID,XLXSBJFLJSLM_LMID from XLXSBJFLJSLM where XLXSBJFLJSLM_YCBZ='Y' and XLXSBJFLJSLM_LMLX='W' "); if(IsXJY||IsSJY||IsHJY) { sSQL.Add(" and ( 1<>1 "); if(IsXJY) sSQL.Add(" or XLXSBJFLJSLM_JSLX='X' "); if (IsSJY) sSQL.Add(" or XLXSBJFLJSLM_JSLX='S' "); if (IsHJY) sSQL.Add(" or XLXSBJFLJSLM_JSLX='H' "); sSQL.Add(" ) "); } else { sSQL.Add(" and XLXSBJFLJSLM_JSLX='Q' "); } DataSet ds = dberp.OpenDataSet(sSQL); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { string sBJFLID = ds.Tables[0].Rows[i]["XLXSBJFLJSLM_BJFLID"].ToString().Trim(); string sLMID = ds.Tables[0].Rows[i]["XLXSBJFLJSLM_LMID"].ToString().Trim(); if (dicLMID.ContainsKey(sLMID)) { sLMID = dicLMID[sLMID]; if (!dicZBLMBJFL.ContainsKey(sLMID)) dicZBLMBJFL.Add(sLMID, sBJFLID); else dicZBLMBJFL[sLMID] += "," + sBJFLID; } } } //设置附加信息是否显示 private void SetFJXX() { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(dberp); sSQL.Clear(); sSQL.Add("select XLXSBJKZXXSZ_MC, XLXSBJKZXXSZ_DYZD from XLXSBJKZXXSZ where isnull(XLXSBJKZXXSZ_LBXS,'N') = 'Y' order by XLXSBJKZXXSZ_BH"); DataSet ds = dberp.OpenDataSet(sSQL); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { ContentGrid.FindColumnByFieldName(ds.Tables[0].Rows[i][1].ToString().Trim()).Visible = true; ContentGrid.FindColumnByFieldName(ds.Tables[0].Rows[i][1].ToString().Trim()).HeaderText = ds.Tables[0].Rows[i][0].ToString().Trim(); } } //加载选择类型的字符数据 private string GetZFSelected(string sZDM, string sValue) { string sResult = sValue; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(dberp); sSQL.Clear(); sSQL.Add("select XLXSBJKZXXSZ_MJSQL, XLXSBJKZXXSZ_SRFS from XLXSBJKZXXSZ "); sSQL.Add("where XLXSBJKZXXSZ_DYZD = :pDYZD "); sSQL.Add(" and rtrim(convert(varchar(4000),isnull(XLXSBJKZXXSZ_MJSQL ,' ')))||' ' <> ' ' and isnull(XLXSBJKZXXSZ_SRFS,' ') <> 'A' "); sSQL.ParamByName("pDYZD").Value = sZDM.Trim(); DataSet ds = dberp.OpenDataSet(sSQL); if (ds.Tables[0].Rows.Count > 0) { sValue = "," + sValue + ","; sResult = ""; string sMJSQL = ds.Tables[0].Rows[0][0].ToString().Trim(); string sSRFS = ds.Tables[0].Rows[0][1].ToString().Trim(); sSQL.Clear(); sSQL.Add(sMJSQL); DataSet dsResult = dberp.OpenDataSet(sSQL); if (sSRFS.Trim().Equals("B")) { for (int i = 0; i < dsResult.Tables[0].Rows.Count; i++) { if (sValue.Trim().Contains("," + dsResult.Tables[0].Rows[i][0].ToString().Trim() + ",")) { sResult += dsResult.Tables[0].Rows[i][0].ToString().Trim() + "|" + dsResult.Tables[0].Rows[i][1].ToString().Trim(); break; } } } else { for (int i = 0; i < dsResult.Tables[0].Rows.Count; i++) { if (sValue.Trim().Contains("," + dsResult.Tables[0].Rows[i][0].ToString().Trim() + ",")) { sResult += dsResult.Tables[0].Rows[i][1].ToString().Trim() + ","; } } } sResult = sResult.TrimEnd(','); } return sResult; } private string GetQuerySql() { SetFJXX(); string sSQL = " select XLXSBJD_BJDID, case when isnull(XLXSBJFL_BJFLID,' ')=' ' then XLXSBJD_BJFLID else rtrim(XLXSBJD_BJFLID)||'|'||XLXSBJFL_BJFLMC end as XLXSBJD_BJFLID," + " case isnull(XLXSBJD_JGBID,' ') when ' ' then ' ' else rtrim(XLXSBJD_JGBID)||'|'||XLXSJGB_JGBMC end as XSJGB,XLXSBJD_TJ,XLXSBJD_LJ,XLXSBJD_CLHQJGBID,"; bool bXScbxKHID = XSCBXKHID(); if (bXScbxKHID) sSQL += " case isnull(XLXSBJD_KHID,' ') when ' ' then rtrim(XLXSBJD_SYDWID)||'|'||GS_GSMC else rtrim(XLXSBJD_KHID)||'|'||KH_MC end as XHDW,"; else sSQL += " case isnull(XLXSBJD_SYDWID,' ') when ' ' then ' ' else rtrim(XLXSBJD_SYDWID)||'|'||GS_GSMC end as XHDW,"; sSQL += " case isnull(XLXSBJD_XSBMID,' ') when ' ' then ' ' else rtrim(XLXSBJD_XSBMID)||'|'||BM_MC end as XSBM,XLXSBJD_FKSM," + " case isnull(XLXSBJD_XSQYID,' ') when ' ' then ' ' else rtrim(XLXSBJD_XSQYID)||'|'||XSQY_XSQYMC end as XSQY, " + " XLXSBJD_TXY, XLXSBJD_KH, XLXSBJD_KHLXR, XLXSBJD_LXDH, XLXSBJD_CZ, XLXSBJD_XMMC, XLXSBJD_XXDZ, XLXSBJD_BZ,XLXSBJD_ZJE,XLXSBJD_LRL, " + " XLXSBJD_BJRQ, XLXSBJD_XSJLMC,XLXSBJD_CZJSXY,XLXSBJD_KHDH,XLXSBJD_LRL,XLXSBJD_ZDXJJCL,XLXSBJD_SQR, " + " XLXSBJD_FKQXNR,XLXSBJD_FKRQ,case when isnull(XLXSBJD_ZDQRRGH,' ')<>' ' then 'Y' else 'N' end as ZDFXYQR," + " case isnull(XLXSBJD_ZBZT,' ') when 'Y' then '全部中标' when 'P' then '部分中标' when 'N' then '未中标' when 'F' then '废标' when 'Q' then '弃标' else ' ' end as FKJG, " + " XLXSBJKZXX_KZSZ01 as KZSZ01, XLXSBJKZXX_KZSZ02 as KZSZ02, XLXSBJKZXX_KZSZ03 as KZSZ03, XLXSBJKZXX_KZSZ04 as KZSZ04, XLXSBJKZXX_KZSZ05 as KZSZ05, " + " XLXSBJKZXX_KZZF01 as KZZF01, XLXSBJKZXX_KZZF02 as KZZF02, XLXSBJKZXX_KZZF03 as KZZF03, XLXSBJKZXX_KZZF04 as KZZF04, XLXSBJKZXX_KZZF05 as KZZF05, " + " XLXSBJKZXX_KZZF06 as KZZF06, XLXSBJKZXX_KZZF07 as KZZF07, XLXSBJKZXX_KZZF08 as KZZF08, XLXSBJKZXX_KZZF09 as KZZF09, XLXSBJKZXX_KZZF10 as KZZF10, " + " XLXSBJKZXX_KZRQ01 as KZRQ01, XLXSBJKZXX_KZRQ02 as KZRQ02, XLXSBJKZXX_KZRQ03 as KZRQ03, XLXSBJKZXX_KZRQ04 as KZRQ04, XLXSBJKZXX_KZRQ05 as KZRQ05, " + " XLXSBJKZXX_KZWB01 as KZWB01, XLXSBJKZXX_KZWB02 as KZWB02, XLXSBJKZXX_KZWB03 as KZWB03, XLXSBJKZXX_KZWB04 as KZWB04, XLXSBJKZXX_KZWB05 as KZWB05, " + " XLXSBJD_DOCGRPID,XLXSBJD_FJS,XLXSBJD_WHR, XLXSBJD_WHRID, XLXSBJD_WHSJ, XLXSBJD_WFID, XLXSBJD_WFINST, XLXSBJD_WPID, XLXSBJD_WFAWAITER, XLXSBJD_WFHANDLER, XLXSBJD_ACTNAME " + " from XLXSBJD " + " left join XLXSBJKZXX on XLXSBJKZXX_BJDID = XLXSBJD_BJDID " + " left join GS on GS_SYDWID=XLXSBJD_SYDWID" + " left join BM on BM_BMID=XLXSBJD_XSBMID" + " left join XLXSBJFL on XLXSBJD_BJFLID=XLXSBJFL_BJFLID" + " left join XSQY on XSQY_XSQYID=XLXSBJD_XSQYID" + " left join KH on KH_KHID=XLXSBJD_KHID" + " left join XLXSJGB on XLXSJGB_JGBID=XLXSBJD_JGBID and XLXSJGB_MXBH in ('JGB','JGE')" + " where 1=1 " + " and isnull(XLXSBJD_YWLX,' ') = ' ' "; switch (CurQueryEntity.FieldByName("SW").Value.Trim()) { case "W": sSQL += "\r\n and " + _curWorkFlow.GetWhereAgent("XLXSBJ_BJD", tSession.UserId, "XLXSBJD_WFAWAITER", "XLXSBJD_WFID", "XLXSBJD_WPID"); break; case "H": sSQL += "\r\n and XLXSBJD_WFHANDLER LIKE :XLXSBJD_WFHANDLER "; entity.Param.Add("XLXSBJD_WFHANDLER", "%," + tSession.UserId + ",%"); break; case "A": break; } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("WFAWAITER").Value.Trim())) { sSQL += " \r\n and XLXSBJD_WFAWAITER like :pWFAWITER "; entity.Param.Add("pWFAWITER", string.Format("%,{0},%", CurQueryEntity.FieldByName("WFAWAITER").Value.Trim())); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("STATE").Value.Trim())) { sSQL += "\r\n and " + CMISproDataBase.GetWhereEqual("XLXSBJD_WPID", CurQueryEntity.FieldByName("STATE").Value.Trim()); } if (!CurQueryEntity.FieldByName("XHDW").Value.Trim().Equals("")) { sSQL += "\r\n and (GS_GSMC like :pXHDW or KH_MC like :pXHDW) "; entity.Param.Add("pXHDW", "%" + CurQueryEntity.FieldByName("XHDW").Value.Trim() + "%"); } if (!CurQueryEntity.FieldByName("XSBM").Value.Trim().Equals("")) { sSQL += "\r\n and " + CMISproDataBase.GetWhereEqual("XLXSBJD_XSBMID", CurQueryEntity.FieldByName("XSBM").Value.Trim()); } if (!string.IsNullOrEmpty(GetOption("HJU006").Trim())) { sSQL += " and (" + CMISproDataBase.GetWhereEqual("XLXSBJD_XSBMID", GetOption("HJU006").Trim()); sSQL += " or isnull(XLXSBJD_XSBMID, ' ') = ' ')"; } if (!CurQueryEntity.FieldByName("TXY").Value.Trim().Equals("")) { sSQL += "\r\n and (XLXSBJD_TXY = :pTXY) "; entity.Param.Add("pTXY", CurQueryEntity.FieldByName("TXY").Value.Trim()); } if (!CurQueryEntity.FieldByName("KH").Value.Trim().Equals("")) { sSQL += "\r\n and (XLXSBJD_KH like :pKH) "; entity.Param.Add("pKH", "%" + CurQueryEntity.FieldByName("KH").Value.Trim() + "%"); } if (!CurQueryEntity.FieldByName("SQRGH").Value.Trim().Equals("")) { sSQL+=" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_SQRGH", CurQueryEntity.FieldByName("SQRGH").Value.Trim()); } if (!CurQueryEntity.FieldByName("XM").Value.Trim().Equals("")) { sSQL += "\r\n and " + CMISproDataBase.GetWhereLike("XLXSBJD_XMMC", CurQueryEntity.FieldByName("XM").Value.Trim()); } if (!CurQueryEntity.FieldByName("BJDID").Value.Trim().Equals("")) { sSQL += "\r\n and XLXSBJD_BJDID like :pBJDID "; entity.Param.Add("pBJDID", "%" + CurQueryEntity.FieldByName("BJDID").Value.Trim() + "%"); } if (!CurQueryEntity.FieldByName("BJFLID").Value.Trim().Equals("")) { sSQL += "\r\n and XLXSBJD_BJFLID = :pBJFLID "; entity.Param.Add("pBJFLID", CurQueryEntity.FieldByName("BJFLID").Value.Trim()); } if (!CurQueryEntity.FieldByName("BJBZ").Value.Trim().Equals("")) { sSQL += "\r\n and XLXSBJD_BZ like :pBJBZ "; entity.Param.Add("pBJBZ",'%'+CurQueryEntity.FieldByName("BJBZ").Value.Trim()+'%'); } if (!CurQueryEntity.FieldByName("KHDH").Value.Trim().Equals("")) { sSQL += "\r\n and XLXSBJD_KHDH like :pKHDH "; entity.Param.Add("pKHDH", '%' + CurQueryEntity.FieldByName("KHDH").Value.Trim() + '%'); } //报价金额 if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("BJZJES").Value.Trim()) && !CurQueryEntity.FieldByName("BJZJES").Value.Trim().Equals("0")) { sSQL +="\r\n and XLXSBJD_ZJE >=:pBJZJES "; entity.Param.Add("pBJZJES", CMISproConvert.StrToFloat(CurQueryEntity.FieldByName("BJZJES").Value.Trim(),0)); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("BJZJEZ").Value.Trim()) && !CurQueryEntity.FieldByName("BJZJEZ").Value.Trim().Equals("0")) { sSQL += "\r\n and XLXSBJD_ZJE <=:pBJZJEZ "; entity.Param.Add("pBJZJEZ", CMISproConvert.StrToFloat(CurQueryEntity.FieldByName("BJZJEZ").Value.Trim(), 0)); } if (CurQueryEntity.FieldByName("ZCJHSCQK").Value.Trim() == "已生成") { sSQL += "and exists(select 1 from XLZCJH where XLZCJH_YWDH=XLXSBJD_BJDID )"; } else if (CurQueryEntity.FieldByName("ZCJHSCQK").Value.Trim() == "未生成") { sSQL += "and not exists(select 1 from XLZCJH where XLZCJH_YWDH=XLXSBJD_BJDID )"; } if (!string.IsNullOrEmpty(GetOption("BJU012").Trim())) { sSQL += " and (" + CMISproDataBase.GetWhereEqual("XLXSBJD_BJFLID", GetOption("BJU012").Trim()); sSQL += " or isnull(XLXSBJD_BJFLID, ' ') = ' ')"; } if (CurQueryEntity.FieldByName("ZDFXYQR").Value.ToUpper().Trim().Equals("TRUE")) { sSQL += " and isnull(XLXSBJD_ZDQRRGH,' ')<>' ' "; } if (CurQueryEntity.FieldByName("JCFZCS").Value.ToUpper().Trim().Equals("TRUE")) { sSQL += " and isnull(XLXSBJD_FZBZ,'N') ='Y' "; } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("FKJG").Value.Trim())) { sSQL += "\r\n and " + CMISproDataBase.GetWhereEqual("XLXSBJD_ZBZT", CurQueryEntity.FieldByName("FKJG").Value.Trim()); } sSQL += CMISproDataBase.GetTimeConditionSQL("XLXSBJD_BJRQ", CurQueryEntity.FieldByName("BJRQS").Value.ToString().Trim(), CurQueryEntity.FieldByName("BJRQZ").Value.ToString().Trim(), DateTimeType.dtDate, DateTimeType.dtDate); sSQL += CMISproDataBase.GetTimeConditionSQL("XLXSBJD_WHSJ", CurQueryEntity.FieldByName("WHSJS").Value.ToString().Trim(), CurQueryEntity.FieldByName("WHSJZ").Value.ToString().Trim(), DateTimeType.dtTime, DateTimeType.dtTime); sSQL += CMISproDataBase.GetTimeConditionSQL("XLXSBJD_FKRQ", CurQueryEntity.FieldByName("FKRQS").Value.ToString().Trim(), CurQueryEntity.FieldByName("FKRQZ").Value.ToString().Trim(), DateTimeType.dtDate, DateTimeType.dtDate); for (int i = 1; i <= 5; i++) { string fieldNumber = i.ToString().PadLeft(2, '0'); string fieldName = "KZSZ" + fieldNumber; string fieldValue = CurQueryEntity.FieldByName(fieldName).Value.ToString().Trim(); if (!string.IsNullOrEmpty(fieldValue) && fieldValue != "0") { string paramName = "pKZSZ" + fieldNumber; sSQL+=string.Format(" and isnull(XLXSBJKZXX_KZSZ{0},0) = :{1} ", fieldNumber, paramName); entity.Param.Add(paramName, CMISproConvert.StrToFloat(fieldValue)); } } for (int i = 1; i <= 10; i++) { string fieldNumber = i.ToString().PadLeft(2, '0'); string fieldName = "KZZF" + fieldNumber+"1"; string fieldValue = CurQueryEntity.FieldByName(fieldName).Value.ToString().Trim(); if (!string.IsNullOrEmpty(fieldValue)) { string paramName = "p" + fieldName; sSQL += string.Format(" and isnull(XLXSBJKZXX_KZZF{0},' ') like :{1} ", fieldNumber, paramName); entity.Param.Add(paramName, "%" + fieldValue+"%" ); } } for (int i = 1; i <= 10; i++) { string fieldNumber = i.ToString().PadLeft(2, '0'); string fieldName = "KZZF" + fieldNumber + "2"; string fieldValue = CurQueryEntity.FieldByName(fieldName).Value.ToString().Trim(); if (!string.IsNullOrEmpty(fieldValue)) { string paramName = "p" + fieldName; sSQL += string.Format(" and ','||Rtrim(isnull(XLXSBJKZXX_KZZF{0},' '))||',' like :{1} ", fieldNumber, paramName); entity.Param.Add(paramName, "%," + fieldValue + ",%"); } } for (int i = 1; i <= 5; i++) { string fieldNumber = i.ToString().PadLeft(2, '0'); string fieldName = "KZWB" + fieldNumber; string fieldValue = CurQueryEntity.FieldByName(fieldName).Value.ToString().Trim(); if (!string.IsNullOrEmpty(fieldValue)) { string paramName = "pKZWB" + fieldNumber; sSQL += string.Format(" and isnull(XLXSBJKZXX_KZWB{0},' ') like :{1} ", fieldNumber, paramName); entity.Param.Add(paramName, "%" + fieldValue + "%"); } } for (int i = 1; i <= 5; i++) { string fieldNumber = i.ToString().PadLeft(2, '0'); string fieldName = "KZRQ" + fieldNumber; sSQL+=CMISproDataBase.GetTimeConditionSQL("XLXSBJKZXX_KZRQ"+fieldNumber, CurQueryEntity.FieldByName(fieldName + "S").Value.Trim(), CurQueryEntity.FieldByName(fieldName+"Z").Value.Trim(), DateTimeType.dtDate, DateTimeType.dtDate); } if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("报价单号倒序↓")) { sSQL += " order by XLXSBJD_BJDID desc "; } else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("报价单号正序↑")) { sSQL += " order by XLXSBJD_BJDID "; } else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("报价日期倒序↓")) { sSQL += " order by XLXSBJD_BJRQ DESC, XLXSBJD_BJDID DESC "; } else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("报价日期正序↑")) { sSQL += " order by XLXSBJD_BJRQ, XLXSBJD_BJDID "; } else { sSQL += " order by XLXSBJD_BJRQ, XLXSBJD_BJDID "; } return sSQL; } //判断模块是否存在并且是否有权限 private bool CheckModule(string sUMID) { int iUMID = CMISproConvert.StrToInt(sUMID); UserRight UR = OpRightUtils.GetUserRight(tSession.UserId, iUMID); return (DSActiveModule.IsActiveModule(iUMID) && UR.Open); } private bool XSCBXKHID() { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); //客户ID XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000); //销售报价业务配置“客户检索来源”为“KH|客户”、且“新增客户要求”为“报价前维护”时,txtKHID显示,cbxKHID不显示 if (pzxx.XLXSBJPZ_KHJSLY == "KH" && pzxx.XLXSBJPZ_XZKHYQ == "Q") return false; return true; } #endregion protected void btnCopyEx_Click(object sender, EventArgs e) { if (ContentGrid.SelectedIndex == -1) { ShowMessage("请选择处理记录!"); return; } TPageParams pageParams = new TPageParams(); pageParams.UrlPath = this.sURLTarget; pageParams.CallAction = TPageCallAction.pcaCopy; pageParams.AddString("CopyFromList", "Y"); pageParams.AddString("WFID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_WFID"].ToString().Trim()); pageParams.AddString("WFINST", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_WFINST"].ToString().Trim()); pageParams.AddString("XLXSBJD_BJDID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim()); OpenDialog(pageParams); } protected void btnGRWJGRefer_Click(object sender, EventArgs e) { int tmpIndex = ContentGrid.SelectedIndex; moduleGV_PageIndexChanging(null, null); ContentGrid.SelectedIndex = tmpIndex; } protected void btnZBZT_Click(object sender, EventArgs e) { Confirm.Register("ask", "将更新报价单反馈结果历史数据,是否确认?"); Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No; if (Confirm.GetValue("ask").Trim().Equals("")) { Confirm.Ask("ask"); return; } else if (Confirm.GetValue("ask").Trim().Equals("N")) { Confirm.Clear(); return; } else if (Confirm.GetValue("ask").Trim().Equals("Y")) { Confirm.Clear(); } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" merge into XLXSBJD tag "); SQL.Add(" using( "); SQL.Add(" select XLXSBJDMX_BJDID as BJDID,case when ZMXSL=ZBMXSL then 'Y' when (isnull(ZBMXSL,0)+isnull(PBMXSL,0))>0 then 'P' "); SQL.Add(" when (ZMXSL<>isnull(FBMXSL,0) and ZMXSL<>isnull(QBMXSL,0) AND WZBMXSL = ZMXSL) then 'N' "); SQL.Add(" when ZMXSL=FBMXSL then 'F' when ZMXSL=QBMXSL then 'Q' else ' ' end as FKJG "); SQL.Add(" from "); SQL.Add(" (SELECT XLXSBJDMX_BJDID,count(1) as ZMXSL,sum(case when isnull(XLXSBJDMX_ZB,' ')='Y' then 1 else 0 end) as ZBMXSL, "); SQL.Add(" sum(case when isnull(XLXSBJDMX_ZB,' ')='P' then 1 else 0 end) as PBMXSL, "); SQL.Add(" sum(case when isnull(XLXSBJDMX_ZB,' ') in ('N','F','Q') then 1 else 0 end) as WZBMXSL, "); SQL.Add(" sum(case when isnull(XLXSBJDMX_ZB,' ')='F' then 1 else 0 end) as FBMXSL, "); SQL.Add(" sum(case when isnull(XLXSBJDMX_ZB,' ')='Q' then 1 else 0 end) as QBMXSL "); SQL.Add(" from XLXSBJDMX "); SQL.Add(" left join XLXSBJD on XLXSBJD_BJDID = XLXSBJDMX_BJDID "); SQL.Add(" where isnull(XLXSBJD_ZBZT,' ') = ' ' "); SQL.Add(" group by XLXSBJDMX_BJDID) ZBA "); SQL.Add(" ) sor "); SQL.Add(" on(XLXSBJD_BJDID = sor.BJDID and isnull(XLXSBJD_ZBZT,' ') = ' ') "); SQL.Add(" when matched then update set XLXSBJD_ZBZT = sor.FKJG "); dberp.ExecSQL(SQL); ShowMessage("更新成功!"); } } }