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_MISPRO.Data; using GThinking.N_MODEL.Page; using GThinking.N_MISPRO.Utility; using GThinking.N_PUBLIC; using System.Collections.Generic; using GThinking.N_WORKFLOW; using GThinking.N_MISPRO.TableCache; using GThinking.N_MISPRO.MISPROAS; namespace GThinking.N_XLXSBJ { public partial class CXBJD_QRInfo : SingleCardBase { CXBJD_QR entity = new CXBJD_QR(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860046; this.UMName = "线缆销售报价反馈"; this.CurMaster = Master; this.CurEntity = entity; this.PageHeight = 400; this.PageWidth = 500; Master.EnableAttachBtn = false; Master.EnableCancelBtn = false; Master.EnableCopyBtn = false; Master.EnableDeleteBtn = false; Master.EnableEditBtn = false; Master.EnableInsertBtn = false; Master.EnablePrintBtn = false; Master.EnableRefreshBtn = false; Master.EnableSaveBtn = false; base.InitPage(); if (!IsPostBack) { InitControl(); } } protected override string CodeClass(string ComponentID) { string SQL = base.CodeClass(ComponentID); if (ComponentID.ToUpper().Equals("TXTGCXM")) { SQL += "!!select GCXM_XMID AS CODE, GCXM_XMMC AS MESSAGE from GCXM where 1=1 order by CODE "; } else if (ComponentID.ToUpper().Equals("TXTKHID")) { SQL += "!!select KH_KHID as CODE, KH_MC as MESSAGE from KH where 1=1 order by CODE "; } return SQL; } #region 模板继承事件 #endregion #region 自定义函数 private void InitControl() { string sHJU006 = GetOption("HJU006").Trim(); if (!sHJU006.Equals("")) { string sSQL = " SELECT BM_BMID,BM_MC FROM BM where isnull(BM_TYBZ,' ')<>'Y'"; sSQL += " and " + CMISproDataBase.GetWhereEqual("BM_BMID", sHJU006); sSQL += " order by BM_BMID"; TComboBox.SetComboBox("DBERP", cbxXSBMID, sSQL, false); } else { TComboBox.SetComboBox("DBERP", cbxXSBMID, " SELECT BM_BMID,BM_MC FROM BM where isnull(BM_TYBZ,' ')<>'Y' order by BM_BMID", false); } string sBJDID = PageParam.GetRTrimString("BJDID"); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select XLXSBJD_TXY,XLXSBJD_XSBMID,XSY_SJ,XLXSBJD_KHID,XLXSBJD_KH,XLXSBJD_XMMC,XLXSBJD_KHLXR,XLXSBJD_LXDH,XLXSBJD_CZ"); SQL.Add(" from XLXSBJD"); SQL.Add(" left join XSY on XSY_TXY=XLXSBJD_TXY"); SQL.Add(" where XLXSBJD_BJDID=:pBJDID"); SQL.ParamByName("pBJDID").Value = sBJDID; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { string sTXY = ds.Tables[0].Rows[0]["XLXSBJD_TXY"].ToString().Trim(); string sXSBMID = ds.Tables[0].Rows[0]["XLXSBJD_XSBMID"].ToString().Trim(); string sKHID = ds.Tables[0].Rows[0]["XLXSBJD_KHID"].ToString().Trim(); string sKHMC = ds.Tables[0].Rows[0]["XLXSBJD_KH"].ToString().Trim(); string sXMMC = ds.Tables[0].Rows[0]["XLXSBJD_XMMC"].ToString().Trim(); txtTXY.Text = sTXY; cbxXSBMID.SelectedValue = sXSBMID; txtKHID.Text = sKHID; txtKHMC.Text = sKHMC; txtXMMC.Text = sXMMC; txtLXR.Text = ds.Tables[0].Rows[0]["XLXSBJD_KHLXR"].ToString().Trim(); txtLXRDH.Text = ds.Tables[0].Rows[0]["XLXSBJD_LXDH"].ToString().Trim(); txtLXRCZ.Text = ds.Tables[0].Rows[0]["XLXSBJD_CZ"].ToString().Trim(); txtTXYDH.Text = ds.Tables[0].Rows[0]["XSY_SJ"].ToString().Trim(); if (!sKHMC.Equals("") && sKHID.Equals("")) { SQL.Clear(); SQL.Add("select KH_KHID from KH where KH_MC=:pKHMC order by isnull(KH_TYBZ,'N'),KH_KHID"); SQL.ParamByName("pKHMC").Value = sKHMC; DataSet dsKH = dberp.OpenDataSet(SQL); if (dsKH.Tables[0].Rows.Count > 0) { txtKHID.Text = dsKH.Tables[0].Rows[0]["KH_KHID"].ToString().Trim(); } if (txtKHID.Text.Trim().Equals("")) { SQL.Clear(); SQL.Add("select KHXX_YKHID from KHXX where KHXX_MC = :pKHMC order by KHXX_YKHID"); SQL.ParamByName("pKHMC").Value = sKHMC; DataSet dsKHXX = dberp.OpenDataSet(SQL); if (dsKHXX.Tables[0].Rows.Count > 0) { txtKHID.Text = dsKHXX.Tables[0].Rows[0]["KHXX_YKHID"].ToString().Trim(); } } } if (!sXMMC.Equals("")) { SQL.Clear(); SQL.Add("select GCXM_XMID from GCXM where GCXM_XMMC=:pXMMC order by GCXM_XMID"); SQL.ParamByName("pXMMC").Value = sXMMC; DataSet dsXM = dberp.OpenDataSet(SQL); if (dsXM.Tables[0].Rows.Count > 0) { txtGCXM.Text = dsXM.Tables[0].Rows[0]["GCXM_XMID"].ToString().Trim(); txtXMMC.ReadOnly = true; } } } //KH8-100432045|新客户申请 if (CheckModule(100432045)) { //报价客户配置为售前客户、新增客户要求配置为报价前维护 XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000); if (pzxx.XLXSBJPZ_KHJSLY == "KHXX" && pzxx.XLXSBJPZ_XZKHYQ == "Q") { lblKHID.Visible = false; linkKHID.Visible = true; lbllinkKHIDMH.Visible = true; } else { lblKHID.Visible = true; linkKHID.Visible = false; lbllinkKHIDMH.Visible = false; } } else { lblKHID.Visible = true; linkKHID.Visible = false; lbllinkKHIDMH.Visible = false; } } //判断模块是否存在并且是否有权限 private bool CheckModule(int iUMID) { UserRight UR = OpRightUtils.GetUserRight(tSession.UserId, iUMID); return (DSActiveModule.IsActiveModule(iUMID) && UR.Open); } #endregion #region 控件事件 protected void btnQR_Click(object sender, EventArgs e) { string sBJDID = PageParam.GetRTrimString("BJDID"); string sBJU048 = GetOption("BJU048"); if (sBJU048 == "Y") { if (txtKHID.Text.Trim().Equals("")) { ShowMessage("客户编码--不允许为空!"); return; } } if (!txtKHID.Text.Trim().Equals("")) { if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from KH where KH_KHID='{0}' and isnull(KH_TYBZ,' ')<>'Y'", txtKHID.Text.Trim()))) { ShowMessage("客户编码不存在或已经停用!"); return; } } if (sBJU048 == "Y") { if (txtTXY.Text.Trim().Equals("")) { ShowMessage("销售员--不允许为空!"); return; } if (cbxXSBMID.SelectedValue.Trim().Equals("")) { ShowMessage("销售部门--不允许为空!"); return; } } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XLXSBJDMX_XSSX from XLXSBJDMX "); SQL.Add(" where XLXSBJDMX_BJDID=:pBJDID "); SQL.Add(" and RoundFix(XLXSBJDMX_ZBJE,2) <> RoundFix(XLXSBJDMX_ZBSL* XLXSBJDMX_CPBJ,2) and (isnull(XLXSBJDMX_ZB,'N') = 'Y' or isnull(XLXSBJDMX_ZB,'N') = 'P') "); SQL.ParamByName("pBJDID").Value = sBJDID; DataSet dsZBJE = dberp.OpenDataSet(SQL); if (dsZBJE.Tables[0].Rows.Count > 0) { string sZBJEXSSX = ""; foreach (DataRow trow in dsZBJE.Tables[0].Rows) { sZBJEXSSX += "[" + trow["XLXSBJDMX_XSSX"].ToString().Trim() + "],"; } sZBJEXSSX = sZBJEXSSX.TrimEnd(','); SQL.Clear(); SQL.Add(" update XLXSBJDMX set XLXSBJDMX_ZBJE = RoundFix(XLXSBJDMX_ZBSL* XLXSBJDMX_CPBJ,2) "); SQL.Add(" where XLXSBJDMX_BJDID=:pBJDID "); SQL.Add(" and RoundFix(XLXSBJDMX_ZBJE,2) <> RoundFix(XLXSBJDMX_ZBSL* XLXSBJDMX_CPBJ,2) and (isnull(XLXSBJDMX_ZB,'N') = 'Y' or isnull(XLXSBJDMX_ZB,'N') = 'P') "); SQL.ParamByName("pBJDID").Value = sBJDID; dberp.ExecSQL(SQL); ShowMessage("如下显示序号中标金额被校正!\r\n" + sZBJEXSSX); DialogOperationScript dos = new DialogOperationScript(this); if (!string.IsNullOrEmpty(PageParam.GetRTrimString("RefreshCtrlID"))) dos.ClickOwnerButton(PageParam.GetRTrimString("RefreshCtrlID")); dos.CloseSelf(); dos.Execute(); return; } XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860046); if (pzxx.XLXSBJPZ_FKSZDSCGCXM == "Y") { if (!txtXMMC.Text.Trim().Equals("")) { string sWarning = ""; SQL.Clear(); SQL.Add(" select 1 from MISPRONAME where MISPRONAME_TZM = 'GCXM_XMID' and MISPRONAME_QYRQ <= :pDate and ISNULL(MISPRONAME_TYRQ,GETDATE()) > :pDate "); SQL.ParamByName("pDate").Value = DateTime.Now.Date; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0)//存在工程项目编号规则 { if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from GCXM where GCXM_XMID='{0}'", txtGCXM.Text.Trim())) || txtGCXM.Text.Trim().Equals("")) { 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(); if (!txtGCXM.Text.Trim().Equals("")) { if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from GCXM where GCXM_XMID='{0}' and isnull(GCXM_TYBZ,' ')<>'Y'", txtGCXM.Text.Trim()))) { ShowMessage("工程项目号不存在或已经停用!"); return; } } } else if (Confirm.GetValue("IsQD").Trim().Equals("Y")) { //表示进行了提示并选择了确认 Confirm.Clear(); if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from GCXM where GCXM_XMMC='{0}'", txtXMMC.Text.Trim()))) { ShowMessage("已存在同名工程项目!"); return; } string sXMID = CMISproDataBase.NewDH("GCXM_XMID", DateTime.Now.Date); SQL.Clear(); SQL.Add(" insert into GCXM(GCXM_XMID,GCXM_XMMC,GCXM_XMJC,GCXM_JSHB,GCXM_HL,GCXM_XMRQ,GCXM_XSBM,GCXM_XSY,GCXM_QYRQ,GCXM_TYBZ,GCXM_WPID,GCXM_YWLX,GCXM_KHID,GCXM_WHR,GCXM_WHRID,GCXM_WHSJ) "); SQL.Add(" values(:GCXM_XMID,:GCXM_XMMC,:GCXM_XMJC,'CNY',1,:GCXM_XMRQ,:GCXM_XSBM,:GCXM_XSY,:GCXM_QYRQ,'N','ZZZZ','XM',:GCXM_KHID,:GCXM_WHR,:GCXM_WHRID,:GCXM_WHSJ) "); SQL.ParamByName("GCXM_XMID").Value = sXMID; SQL.ParamByName("GCXM_XMMC").Value = txtXMMC.Text.Trim(); SQL.ParamByName("GCXM_XMJC").Value = XLBJDUtils.SubStringFunc(txtXMMC.Text.Trim(), 60); SQL.ParamByName("GCXM_XMRQ").Value = DateTime.Now.Date; SQL.ParamByName("GCXM_XSBM").Value = cbxXSBMID.SelectedValue.Trim(); SQL.ParamByName("GCXM_XSY").Value = txtTXY.Text.Trim(); SQL.ParamByName("GCXM_QYRQ").Value = DateTime.Now.Date; SQL.ParamByName("GCXM_KHID").Value = txtKHID.Text.Trim(); SQL.ParamByName("GCXM_WHR").Value = tSession.UserName; SQL.ParamByName("GCXM_WHRID").Value = tSession.UserId; SQL.ParamByName("GCXM_WHSJ").Value = DateTime.Now; dberp.ExecSQL(SQL); txtGCXM.Text = sXMID; txtXMJC.Value = XLBJDUtils.SubStringFunc(txtXMMC.Text.Trim(), 60); TWorkflow xmdjWF = new TWorkflow(tSession, new System.Web.Caching.Cache()); xmdjWF.UMID = 100458011; bool bISWF = TWorkflow.Utils.QYWFByWFVID("XM_XMDJ"); if (bISWF) { xmdjWF.WFNewInst(xmdjWF.GetWFID("XM_XMDJ"), tSession.UserId); dberp.ExecSQL(string.Format("update GCXM set GCXM_WFID='{0}',GCXM_WPID='{1}', " + "GCXM_WFAWAITER='{2}',GCXM_WFHANDLER='{3}',GCXM_WFINST=isnull({4},0),GCXM_ACTNAME='{5}' where GCXM_XMID='{6}' ", xmdjWF.WFID, xmdjWF.WPID, xmdjWF.Awaiter, xmdjWF.Handler, xmdjWF.WFInst, xmdjWF.GetWFActionName(TWFAction.wfaNewInst), txtGCXM.Text.Trim())); int flag = 1; //提交下一步 #region 自动提交下一步 string sWFID = xmdjWF.WFID; double WFINST = xmdjWF.WFInst; string sAWaiter = xmdjWF.Awaiter; string sNextAwaiter = ""; //提交下一步 xmdjWF.Enabled = true; string sUser; sUser = tSession.UserId; xmdjWF.CurUserID = sUser; xmdjWF.WFInfo(sWFID, WFINST, sUser); TWFActionParam param = new TWFActionParam(); param.sOpinion = ""; param.sNextWFID = sWFID; string sNWPID = ""; //---------直接使用工作流方法取下一步工作流NWPID,不再使用直接写的方法 TStrings wfpName = new TStrings(); wfpName.Text = xmdjWF.WFGetNextWFP(sWFID, xmdjWF.WFGetStartWPID(sWFID)); try { if (wfpName.Count > 1) { sNWPID = wfpName.Names(1).Trim(); } } catch { flag = 2; } //----- if (flag == 1) { param.sNextWPID = sNWPID; param.sNextNotifier = ""; if (!sNWPID.Trim().Equals("ZZZZ")) { sNextAwaiter = xmdjWF.WFGetNextAwaiter(sWFID, sNWPID); if (sNextAwaiter.Trim().Equals("") || sNextAwaiter.Trim().Length > 250) { flag = 3; } } else { flag = 4; } if (flag == 1) { param.sNextAwaiter = "," + sNextAwaiter + ","; if (!xmdjWF.WFIsStopWPID(sWFID, sNWPID)) param.sWFState = TWorkflow.wfsRunning; else param.sWFState = TWorkflow.wfsDone; if (xmdjWF.WFWorkIsDone(sWFID, WFINST, sUser)) { param.sWPState = TWorkflow.wpsSubmit; } else { param.sWPState = TWorkflow.wfsRunning; } xmdjWF.WFSubmit(sWFID, WFINST, sUser, param); xmdjWF.dbe.ExecSQL(string.Format("update GCXM set GCXM_WPID='{0}', GCXM_WFAWAITER='{1}', GCXM_WFHANDLER='{2}' ,GCXM_WFINST={3},GCXM_WFID='{4}',GCXM_ACTNAME='{5}' where GCXM_XMID='{6}' ", xmdjWF.WPID, xmdjWF.Awaiter, xmdjWF.Handler, xmdjWF.WFInst, xmdjWF.WFID, xmdjWF.GetWFActionName(TWFAction.wfaSubmit), txtGCXM.Text.Trim())); } } #endregion } } } else { if (!txtGCXM.Text.Trim().Equals("")) { if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from GCXM where GCXM_XMID='{0}' and isnull(GCXM_TYBZ,' ')<>'Y'", txtGCXM.Text.Trim()))) { ShowMessage("工程项目号不存在或已经停用!"); return; } } } } else { if (!txtGCXM.Text.Trim().Equals("") && !CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from GCXM where GCXM_XMID='{0}'", txtGCXM.Text.Trim()))) { 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(); if (!txtGCXM.Text.Trim().Equals("")) { if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from GCXM where GCXM_XMID='{0}' and isnull(GCXM_TYBZ,' ')<>'Y'", txtGCXM.Text.Trim()))) { ShowMessage("工程项目号不存在或已经停用!"); return; } } } else if (Confirm.GetValue("IsQD").Trim().Equals("Y")) { //表示进行了提示并选择了确认 Confirm.Clear(); if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from GCXM where GCXM_XMMC='{0}'", txtXMMC.Text.Trim()))) { ShowMessage("已存在同名工程项目!"); return; } SQL.Clear(); SQL.Add(" insert into GCXM(GCXM_XMID,GCXM_XMMC,GCXM_XMJC,GCXM_JSHB,GCXM_HL,GCXM_XMRQ,GCXM_XSBM,GCXM_XSY,GCXM_QYRQ,GCXM_TYBZ,GCXM_WPID,GCXM_YWLX,GCXM_KHID,GCXM_WHR,GCXM_WHRID,GCXM_WHSJ) "); SQL.Add(" values(:GCXM_XMID,:GCXM_XMMC,:GCXM_XMJC,'CNY',1,:GCXM_XMRQ,:GCXM_XSBM,:GCXM_XSY,:GCXM_QYRQ,'N','ZZZZ','XM',:GCXM_KHID,:GCXM_WHR,:GCXM_WHRID,:GCXM_WHSJ) "); SQL.ParamByName("GCXM_XMID").Value = txtGCXM.Text.Trim(); SQL.ParamByName("GCXM_XMMC").Value = txtXMMC.Text.Trim(); SQL.ParamByName("GCXM_XMJC").Value = XLBJDUtils.SubStringFunc(txtXMMC.Text.Trim(), 60); SQL.ParamByName("GCXM_XMRQ").Value = DateTime.Now.Date; SQL.ParamByName("GCXM_XSBM").Value = cbxXSBMID.SelectedValue.Trim(); SQL.ParamByName("GCXM_XSY").Value = txtTXY.Text.Trim(); SQL.ParamByName("GCXM_QYRQ").Value = DateTime.Now.Date; SQL.ParamByName("GCXM_KHID").Value = txtKHID.Text.Trim(); SQL.ParamByName("GCXM_WHR").Value = tSession.UserName; SQL.ParamByName("GCXM_WHRID").Value = tSession.UserId; SQL.ParamByName("GCXM_WHSJ").Value = DateTime.Now; dberp.ExecSQL(SQL); txtXMJC.Value = XLBJDUtils.SubStringFunc(txtXMMC.Text.Trim(), 60); TWorkflow xmdjWF = new TWorkflow(tSession, new System.Web.Caching.Cache()); xmdjWF.UMID = 100458011; bool bISWF = TWorkflow.Utils.QYWFByWFVID("XM_XMDJ"); if (bISWF) { xmdjWF.WFNewInst(xmdjWF.GetWFID("XM_XMDJ"), tSession.UserId); dberp.ExecSQL(string.Format("update GCXM set GCXM_WFID='{0}',GCXM_WPID='{1}', " + "GCXM_WFAWAITER='{2}',GCXM_WFHANDLER='{3}',GCXM_WFINST=isnull({4},0),GCXM_ACTNAME='{5}' where GCXM_XMID='{6}' ", xmdjWF.WFID, xmdjWF.WPID, xmdjWF.Awaiter, xmdjWF.Handler, xmdjWF.WFInst, xmdjWF.GetWFActionName(TWFAction.wfaNewInst), txtGCXM.Text.Trim())); int flag = 1; //提交下一步 #region 自动提交下一步 string sWFID = xmdjWF.WFID; double WFINST = xmdjWF.WFInst; string sAWaiter = xmdjWF.Awaiter; string sNextAwaiter = ""; //提交下一步 xmdjWF.Enabled = true; string sUser; string[] sStr = sAWaiter.Split(','); try { sUser = sStr[1]; } catch { sUser = tSession.UserId; } xmdjWF.CurUserID = sUser; xmdjWF.WFInfo(sWFID, WFINST, sUser); TWFActionParam param = new TWFActionParam(); param.sOpinion = ""; param.sNextWFID = sWFID; string sNWPID = ""; //---------直接使用工作流方法取下一步工作流NWPID,不再使用直接写的方法 TStrings wfpName = new TStrings(); wfpName.Text = xmdjWF.WFGetNextWFP(sWFID, xmdjWF.WFGetStartWPID(sWFID)); try { if (wfpName.Count > 1) { sNWPID = wfpName.Names(1).Trim(); } } catch { flag = 2; } //----- if (flag == 1) { param.sNextWPID = sNWPID; param.sNextNotifier = ""; if (!sNWPID.Trim().Equals("ZZZZ")) { sNextAwaiter = xmdjWF.WFGetNextAwaiter(sWFID, sNWPID); if (sNextAwaiter.Trim().Equals("") || sNextAwaiter.Trim().Length > 250) { flag = 3; } } else { flag = 4; } if (flag == 1) { param.sNextAwaiter = "," + sNextAwaiter + ","; if (!xmdjWF.WFIsStopWPID(sWFID, sNWPID)) param.sWFState = TWorkflow.wfsRunning; else param.sWFState = TWorkflow.wfsDone; if (xmdjWF.WFWorkIsDone(sWFID, WFINST, sUser)) { param.sWPState = TWorkflow.wpsSubmit; } else { param.sWPState = TWorkflow.wfsRunning; } xmdjWF.WFSubmit(sWFID, WFINST, sUser, param); xmdjWF.dbe.ExecSQL(string.Format("update GCXM set GCXM_WPID='{0}', GCXM_WFAWAITER='{1}', GCXM_WFHANDLER='{2}' ,GCXM_WFINST={3},GCXM_WFID='{4}',GCXM_ACTNAME='{5}' where GCXM_XMID='{6}' ", xmdjWF.WPID, xmdjWF.Awaiter, xmdjWF.Handler, xmdjWF.WFInst, xmdjWF.WFID, xmdjWF.GetWFActionName(TWFAction.wfaSubmit), txtGCXM.Text.Trim())); } } #endregion } } } else { if (!txtGCXM.Text.Trim().Equals("")) { if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from GCXM where GCXM_XMID='{0}' and isnull(GCXM_TYBZ,' ')<>'Y'", txtGCXM.Text.Trim()))) { ShowMessage("工程项目号不存在或已经停用!"); return; } } } } } else { if (!txtGCXM.Text.Trim().Equals("")) { if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from GCXM where GCXM_XMID='{0}' and isnull(GCXM_TYBZ,' ')<>'Y'", txtGCXM.Text.Trim()))) { ShowMessage("工程项目号不存在或已经停用!"); return; } } } } else { if (!txtGCXM.Text.Trim().Equals("")) { if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from GCXM where GCXM_XMID='{0}' and isnull(GCXM_TYBZ,' ')<>'Y'", txtGCXM.Text.Trim()))) { ShowMessage("工程项目号不存在或已经停用!"); return; } } } 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; } Dictionary DicTYWL = new Dictionary(); SQL.Clear(); SQL.Add(" select WL_WLID from WL where isnull(WL_TYBZ,'N') = 'Y' "); DataSet dsTYWL = dberp.OpenDataSet(SQL); if (dsTYWL.Tables[0].Rows.Count > 0) { foreach (DataRow trow in dsTYWL.Tables[0].Rows) { string sTYWLID = dsTYWL.Tables[0].Rows[0]["WL_WLID"].ToString().Trim(); if (!DicTYWL.ContainsKey(sTYWLID)) DicTYWL.Add(sTYWLID, sTYWLID); } } 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,XLXSBJDMX_JGBBJ,XLXSBJDMX_JSJG, "); 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 "); if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y")) { SQL.Add(" ,isnull(XLXSBJFKCFMX_CFXH,XLXSBJDMX_XH) as XLXSBJFKCFMX_CFXH "); } else { SQL.Add(" ,0 as XLXSBJFKCFMX_CFXH "); } if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y")) { SQL.Add(" from (select XLXSBJDMX_XH,XLXSBJDMX_XSSX,XLXSBJDMX_BJCP,XLXSBJDMX_JLDW,XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CPBJ,XLXSBJDMX_BJJE,"); SQL.Add(" XLXSBJDMX_BZ,XLXSBJDMX_ZDXJ,XLXSBJDMX_JGBBJ,XLXSBJDMX_JSJG,XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_DYDJID,XLXSBJDMX_XLBZID,XLXSBJDMX_DZSC,"); SQL.Add(" XLXSBJDMX_BJWS,XLXSBJDMX_ZB,XLXSBJDMX_XDXLXHID,XLXSBJDMX_XDXLBZID,XLXSBJDMX_BJDID, "); SQL.Add(" XLXSBJFKCFMX_CFXH,CASE WHEN ISNULL(XLXSBJFKCFMX_XLYSID,' ')=' ' THEN XLXSBJDMX_XLYSID ELSE XLXSBJFKCFMX_XLYSID END AS XLXSBJDMX_XLYSID, "); SQL.Add(" CASE WHEN ISNULL(XLXSBJFKCFMX_WLID,' ')=' ' THEN XLXSBJDMX_WLID ELSE XLXSBJFKCFMX_WLID END AS XLXSBJDMX_WLID, "); SQL.Add(" CASE WHEN ISNULL(XLXSBJFKCFMX_ZBSL,-1)=-1 THEN XLXSBJDMX_ZBSL ELSE XLXSBJFKCFMX_ZBSL END as XLXSBJDMX_ZBSL,"); SQL.Add(" CASE WHEN ISNULL(XLXSBJFKCFMX_ZBJE,-1)=-1 THEN XLXSBJDMX_ZBJE ELSE XLXSBJFKCFMX_ZBJE END as XLXSBJDMX_ZBJE, "); SQL.Add(" CASE WHEN ISNULL(XLXSBJFKCFMX_CFSL,-1)=-1 THEN XLXSBJDMX_BJSL ELSE XLXSBJFKCFMX_CFSL END AS XLXSBJDMX_BJSL "); SQL.Add(" FROM XLXSBJDMX LEFT JOIN XLXSBJFKCFMX ON XLXSBJFKCFMX_BJDID=XLXSBJDMX_BJDID AND XLXSBJFKCFMX_BJDXH=XLXSBJDMX_XH "); SQL.Add(" where XLXSBJDMX_BJDID=:pBJDID "); SQL.Add(" ) XLXSBJDMX"); } else { 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 isnull(a.minWLID,' ')<>' '"); SQL.Add(" order by XLXSBJDMX_XSSX"); if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y")) SQL.Add(" ,XLXSBJFKCFMX_CFXH "); SQL.ParamByName("pBJDID").Value = sBJDID; DataSet dsMX = dberp.OpenDataSet(SQL); //记录报价产品计量单位与对应线缆物料计量单位的换算系数 Dictionary dicHSXS = new Dictionary(); Dictionary dicDRXH = new Dictionary(); //反馈物料匹配提醒 if (pzxx.XLXSBJPZ_FKWLPPTX.Equals("Y")) { string sXHList = ""; for (int i = 0; i < dsMX.Tables[0].Rows.Count; i++) { if (!dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJCP"].ToString().Trim().Equals(dsMX.Tables[0].Rows[i]["WL_GG"].ToString().Trim())) { sXHList = sXHList + dsMX.Tables[0].Rows[i]["XLXSBJDMX_XSSX"].ToString().Trim() + ","; } } if (!sXHList.Equals("")) { Confirm.Register("IsQD", string.Format("显示序号为{0}的明细记录报价产品与物料规格不一致,是否继续?", sXHList.TrimEnd(','))); 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(); } } } for (int i = 0; i < dsMX.Tables[0].Rows.Count; i++) { string sXH = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim(); string sXSXH = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XSSX"].ToString().Trim(); if (!dicDRXH.ContainsKey(sXH)) dicDRXH.Add(sXH, "1"); else { if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y")) continue; 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; if (DicTYWL.Count > 0) { if (DicTYWL.ContainsKey(sWLID)) { ShowMessage(string.Format("显示序号为[{0}]的明细记录对应物料已停用!", sXSXH)); return; } } 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(); 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]); } } } SQL.Clear(); SQL.Add("select XLXSBJD_BJSM,XLXSBJD_BJRQ,XLXSBJD_ZJE,XLXSBJD_FKSM,XLXSBJD_BZ,XLXSBJD_WHRID,XLXSBJD_WHR,XLXSBJD_WHSJ,XLXSBJD_BJFLID,XLXSBJD_WFID,XLXSBJD_WPID,XLXSBJD_WFINST,XLXSBJD_WFAWAITER,XLXSBJD_DOCGRPID,XLXSBJD_FJS "); SQL.Add(" from XLXSBJD"); SQL.Add(" where XLXSBJD_BJDID=:pBJDID"); SQL.ParamByName("pBJDID").Value = sBJDID; DataSet dsBJD = dberp.OpenDataSet(SQL); string sNextWPName = ""; try { dberp.BeginTrans(); if (dsBJD.Tables[0].Rows.Count > 0) { #region 插入主表 SQL.Clear(); SQL.Add("insert into BJD(BJD_BJDID,BJD_TBID,BJD_BJDMS,BJD_KHID,BJD_LXR,BJD_BJRQ,BJD_BMID,BJD_TXY,BJD_FKFS,"); SQL.Add(" BJD_ZJE,BJD_HBID,BJD_HL,BJD_QRRQ,BJD_BZ,BJD_ZT,BJD_WHRID,BJD_WHR,BJD_WHSJ,"); SQL.Add(" BJD_XMID,BJD_WPID,BJD_KHMC,BJD_QRR,BJD_SJ,BJD_TEL,BJD_FAX,BJD_XSYFAX,BJD_XMJC,BJD_XMMC,BJD_BJLXID,BJD_DOCGRPID,BJD_FJS)"); SQL.Add(" values(:XLXSBJD_BJDID,:XLXSBJD_BJDID,:XLXSBJD_BJSM,:KHID,:KHLXR,:XLXSBJD_BJRQ,:XSBMID,:TSY,:FKFS,"); SQL.Add(" :XLXSBJD_ZJE,:HBID,:HL,:QRRQ,:XLXSBJD_BZ,:ZT,:XLXSBJD_WHRID,:XLXSBJD_WHR,:XLXSBJD_WHSJ,"); SQL.Add(" :XMID,'ZZZZ',:KHMC,:QRR,:TXYDH,:LXRDH,:LXRCZ,:TXYCZ,:XMJC,:XMMC,:BJLXID,:DOCGRPID,:FJS )"); double dDOCGRPID = CMISproConvert.StrToFloat(dsBJD.Tables[0].Rows[0]["XLXSBJD_DOCGRPID"].ToString().Trim()); double dFJS = 0; double dDOCID = 0; if (dDOCGRPID > 0) { dFJS = CMISproConvert.StrToFloat(dsBJD.Tables[0].Rows[0]["XLXSBJD_FJS"].ToString().Trim()); List fileIdList = new List(); DocFileInfo[] docFileInfo = FileService.GetFilesInfo(dDOCGRPID); for (int i = 0; i < dFJS; i++) { fileIdList.Add(docFileInfo[i].FileId); } DocFileResult docGR = FileService.CopyFiles(fileIdList.ToArray(), 0); dDOCID = docGR.GroupId; } SQL.ParamByName("XLXSBJD_BJDID").Value = sBJDID; SQL.ParamByName("XLXSBJD_BJSM").Value = XLBJDUtils.SubStringFunc(dsBJD.Tables[0].Rows[0]["XLXSBJD_BJSM"].ToString().Trim(), 40); SQL.ParamByName("KHID").Value = txtKHID.Text.Trim(); SQL.ParamByName("KHLXR").Value = txtLXR.Text.Trim(); SQL.ParamByName("XLXSBJD_BJRQ").Value = dsBJD.Tables[0].Rows[0]["XLXSBJD_BJRQ"].ToString().Trim(); SQL.ParamByName("XSBMID").Value = cbxXSBMID.SelectedValue.Trim(); SQL.ParamByName("TSY").Value = txtTXY.Text.Trim(); SQL.ParamByName("FKFS").Value = XLBJDUtils.SubStringFunc(dsBJD.Tables[0].Rows[0]["XLXSBJD_FKSM"].ToString().Trim(), 250); SQL.ParamByName("XLXSBJD_ZJE").Value = CMISproConvert.StrToFloat(dsBJD.Tables[0].Rows[0]["XLXSBJD_ZJE"].ToString()); SQL.ParamByName("HBID").Value = sHBID; SQL.ParamByName("HL").Value = fHL; SQL.ParamByName("QRRQ").Value = DateTime.Now.ToShortDateString(); SQL.ParamByName("XLXSBJD_BZ").Value = XLBJDUtils.SubStringFunc(dsBJD.Tables[0].Rows[0]["XLXSBJD_BZ"].ToString().Trim(), 250); SQL.ParamByName("ZT").Value = "F";//F|反馈 SQL.ParamByName("XLXSBJD_WHRID").Value = dsBJD.Tables[0].Rows[0]["XLXSBJD_WHRID"].ToString().Trim(); SQL.ParamByName("XLXSBJD_WHR").Value = dsBJD.Tables[0].Rows[0]["XLXSBJD_WHR"].ToString().Trim(); SQL.ParamByName("XLXSBJD_WHSJ").Value = dsBJD.Tables[0].Rows[0]["XLXSBJD_WHSJ"].ToString().Trim(); SQL.ParamByName("XMID").Value = txtGCXM.Text.Trim(); SQL.ParamByName("KHMC").Value = txtKHMC.Text.Trim(); SQL.ParamByName("QRR").Value = tSession.UserName; SQL.ParamByName("TXYDH").Value = txtTXYDH.Text.Trim(); SQL.ParamByName("LXRDH").Value = txtLXRDH.Text.Trim(); SQL.ParamByName("LXRCZ").Value = txtLXRCZ.Text.Trim(); SQL.ParamByName("TXYCZ").Value = txtTXYCZ.Text.Trim(); SQL.ParamByName("XMJC").Value = txtXMJC.Value.Trim(); SQL.ParamByName("XMMC").Value = txtXMMC.Text.Trim(); SQL.ParamByName("BJLXID").Value = dsBJD.Tables[0].Rows[0]["XLXSBJD_BJFLID"].ToString().Trim(); SQL.ParamByName("DOCGRPID").Value = dDOCID; SQL.ParamByName("FJS").Value = dFJS; dberp.ExecSQL(SQL); #endregion #region 插入明细 int iCFXH = 0; for (int i = 0; i < dsMX.Tables[0].Rows.Count; i++) { if (dsMX.Tables[0].Rows[i]["WLID"].ToString().Trim().Equals("")) continue; SQL.Clear(); SQL.Add("insert into BJDMX(BJDMX_BJDID,BJDMX_BJDXH,BJDMX_XLXSBJXSSX,BJDMX_WLID,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_DZSC,BJDMX_BJWS,BJDMX_JG,BJDMX_KHJG,BJDMX_KHJE,BJDMX_JGBJG) "); SQL.Add(" values(:XLXSBJDMX_BJDID,:XLXSBJDMX_XH,:XLXSBJDMX_XSSX,:WLID,:XLXSBJDMX_BJDHQCLCB,:XLXSBJDMX_JLDW,:HSXS,"); SQL.Add(" :XLXSBJDMX_BJSL,:ZBJSL,'N',:XLXSBJDMX_BZ,'N',:XLXSBJDMX_BJJE,:XLXSBJDMX_BJCP,:WLMCGG, "); SQL.Add(" :DZSC,:BJWS,:JG,:KHJG,:KHJE,:JGBJG) "); SQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID; if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y")) { iCFXH++; SQL.ParamByName("XLXSBJDMX_XH").Value = dsMX.Tables[0].Rows[i]["XLXSBJFKCFMX_CFXH"].ToString().Trim(); } else 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_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("DZSC").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_DZSC"].ToString().Trim(); SQL.ParamByName("BJWS").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJWS"].ToString().Trim(); if (!pzxx.XLXSBJPZ_JGFKZD.Equals("")) SQL.ParamByName("JG").Value = NumberUtils.RoundX(CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_" + pzxx.XLXSBJPZ_JGFKZD].ToString().Trim()), 4); else SQL.ParamByName("JG").Value = 0; if (!pzxx.XLXSBJPZ_KHJFKZD.Equals("")) { SQL.ParamByName("KHJG").Value = NumberUtils.RoundX(CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_" + pzxx.XLXSBJPZ_KHJFKZD].ToString().Trim()), 4); SQL.ParamByName("KHJE").Value = NumberUtils.RoundX(NumberUtils.RoundX(CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_" + pzxx.XLXSBJPZ_KHJFKZD].ToString().Trim()), 4) * CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim()), 2); } else { SQL.ParamByName("KHJG").Value = 0; SQL.ParamByName("KHJE").Value = 0; } if (!pzxx.XLXSBJPZ_JGBJGFKZD.Equals("")) SQL.ParamByName("JGBJG").Value = NumberUtils.RoundX(CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_" + pzxx.XLXSBJPZ_JGBJGFKZD].ToString().Trim()), 4); else SQL.ParamByName("JGBJG").Value = 0; dberp.ExecSQL(SQL); } #endregion #region 回填XLXSBJDMX_WLID if (!XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y")) { 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); } else { SQL.Clear(); SQL.Add(" merge into XLXSBJFKCFMX 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 = XLXSBJFKCFMX_BJDID "); SQL.Add(" and sor.BJDMX_BJDXH = XLXSBJFKCFMX_CFXH "); SQL.Add(" and XLXSBJFKCFMX_BJDID = :pBJDID "); SQL.Add(" ) "); SQL.Add(" when matched then update set "); SQL.Add(" XLXSBJFKCFMX_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) 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投标报价反馈记录 SQL.Clear(); SQL.Add("insert into TBBJFK(TBBJFK_TBSID, TBBJFK_BJDID, TBBJFK_BZ, TBBJFK_WHR, TBBJFK_WHRID, TBBJFK_WHSJ,TBBJFK_TBID, TBBJFK_FKRQ)"); SQL.Add(" values(' ', :pBJDID,NULL,:pWHR,:pWHRID,:pWHSJ,:pBJDID,:pFKRQ)"); SQL.ParamByName("pBJDID").Value = sBJDID; SQL.ParamByName("pWHR").Value = tSession.UserName; SQL.ParamByName("pWHRID").Value = tSession.UserId; SQL.ParamByName("pWHSJ").Value = DateTime.Now; SQL.ParamByName("pFKRQ").Value = DateTime.Now.ToShortDateString(); dberp.ExecSQL(SQL); if (!XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y")) { SQL.Clear(); SQL.Add("insert into TBBJFKMX(TBBJFKMX_TBSID, TBBJFKMX_BJDID, TBBJFKMX_XH, TBBJFKMX_BJDXH, TBBJFKMX_ZB,TBBJFKMX_ZBSL, TBBJFKMX_ZBJE) "); SQL.Add("select ' ',BJDMX_BJDID,row_number() over(order by BJDMX_BJDXH) as XH,BJDMX_BJDXH,XLXSBJDMX_ZB,XLXSBJDMX_ZBSL,XLXSBJDMX_ZBJE "); SQL.Add(" from BJDMX,XLXSBJDMX"); SQL.Add(" where BJDMX_BJDID=:pBJDID"); SQL.Add(" and XLXSBJDMX_BJDID=:pBJDID"); SQL.Add(" and XLXSBJDMX_XH=BJDMX_BJDXH"); SQL.ParamByName("pBJDID").Value = sBJDID; dberp.ExecSQL(SQL); } else { for (int i = 0; i < dsMX.Tables[0].Rows.Count; i++) { SQL.Clear(); SQL.Add("insert into TBBJFKMX(TBBJFKMX_TBSID, TBBJFKMX_BJDID, TBBJFKMX_XH, TBBJFKMX_BJDXH, TBBJFKMX_ZB,TBBJFKMX_ZBSL, TBBJFKMX_ZBJE) ");//TBBJFKMX_BJDH--TBBJFKMX_BJDID SQL.Add("values ( ' ',:pBJDID,:pXH,:BJDMX_BJDXH,:XLXSBJDMX_ZB,:XLXSBJDMX_ZBSL,:XLXSBJDMX_ZBJE ) "); SQL.ParamByName("pBJDID").Value = sBJDID; if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y")) { SQL.ParamByName("pXH").Value = dsMX.Tables[0].Rows[i]["XLXSBJFKCFMX_CFXH"].ToString().Trim(); SQL.ParamByName("BJDMX_BJDXH").Value = dsMX.Tables[0].Rows[i]["XLXSBJFKCFMX_CFXH"].ToString().Trim(); } else { SQL.ParamByName("pXH").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim(); SQL.ParamByName("BJDMX_BJDXH").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim(); } SQL.ParamByName("XLXSBJDMX_ZB").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_ZB"].ToString().Trim(); SQL.ParamByName("XLXSBJDMX_ZBSL").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_ZBSL"].ToString().Trim(); SQL.ParamByName("XLXSBJDMX_ZBJE").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_ZBJE"].ToString().Trim(); dberp.ExecSQL(SQL); } } #endregion #region 增加XSBJLX数据表记录 string tSQL = String.Format(@"insert into XSBJLX(XSBJLX_LXID,XSBJLX_LXMC,XSBJLX_QYRQ,XSBJLX_TYRQ,XSBJLX_TYBZ, XSBJLX_WHRID,XSBJLX_WHR,XSBJLX_WHSJ,XSBJLX_BZ) select XLXSBJFL_BJFLID,XLXSBJFL_BJFLMC,XLXSBJFL_QYRQ,XLXSBJFL_TYRQ,XLXSBJFL_TYBZ, 'SUPERVISOR','超级用户',convert(datetime,'{0}'),'线缆销售报价同步设置' from XLXSBJFL where XLXSBJFL_BJFLID='{1}' and not exists(select 1 from XSBJLX where XSBJLX_LXID=XLXSBJFL_BJFLID) ", DateTime.Now.ToString(), dsBJD.Tables[0].Rows[0]["XLXSBJD_BJFLID"].ToString().Trim()); dberp.ExecSQL(tSQL); #endregion #region 自动提交XLXSBJD至下一步 TWorkflow BJDWF = new TWorkflow(tSession, new System.Web.Caching.Cache()); string sWFID = dsBJD.Tables[0].Rows[0]["XLXSBJD_WFID"].ToString().Trim(); string sWPID = dsBJD.Tables[0].Rows[0]["XLXSBJD_WPID"].ToString().Trim(); double WFINST = CMISproConvert.StrToFloat(dsBJD.Tables[0].Rows[0]["XLXSBJD_WFINST"].ToString()); string sAWaiter = dsBJD.Tables[0].Rows[0]["XLXSBJD_WFAWAITER"].ToString().Trim(); string sNextAwaiter = ""; int flag = 1; //提交下一步 BJDWF.Enabled = true; string sUser = tSession.UserId; BJDWF.CurUserID = sUser; BJDWF.WFInfo(sWFID, WFINST, sUser); TWFActionParam param = new TWFActionParam(); param.sOpinion = "报价反馈自动提交"; param.sNextWFID = sWFID; string sNWPID = ""; //---------直接使用工作流方法取下一步工作流NWPID,不再使用直接写的方法 TStrings wfpName = new TStrings(); wfpName.Text = BJDWF.WFGetNextWFP(sWFID, sWPID); try { if (wfpName.Count > 1) { sNWPID = wfpName.Names(1).Trim(); } } catch { flag = 2; } param.sNextWPID = sNWPID; param.sNextNotifier = ""; if (!sNWPID.Trim().Equals("ZZZZ")) { sNextAwaiter = BJDWF.WFGetNextAwaiter(sWFID, sNWPID); if (sNextAwaiter.Trim().Equals("") || sNextAwaiter.Trim().Length > 250) { flag = 3; } } else { //flag = 4; sNextAwaiter = ""; } if (flag == 1) { if (!sNWPID.Trim().Equals("ZZZZ")) { param.sNextAwaiter = "," + sNextAwaiter + ","; } else { param.sNextAwaiter = ""; } if (!BJDWF.WFIsStopWPID(sWFID, sNWPID)) param.sWFState = TWorkflow.wfsRunning; else param.sWFState = TWorkflow.wfsDone; if (BJDWF.WFWorkIsDone(sWFID, WFINST, sUser)) { param.sWPState = TWorkflow.wpsSubmit; } else { param.sWPState = TWorkflow.wfsRunning; } BJDWF.WFSubmit(sWFID, WFINST, sUser, param); BJDWF.dbe.ExecSQL(string.Format("update XLXSBJD set XLXSBJD_WPID='{0}', XLXSBJD_WFAWAITER='{1}', XLXSBJD_WFHANDLER='{2}' ,XLXSBJD_WFINST={3},XLXSBJD_WFID='{4}',XLXSBJD_ACTNAME='{5}' where XLXSBJD_BJDID='{6}' ", BJDWF.WPID, BJDWF.Awaiter, BJDWF.Handler, BJDWF.WFInst, BJDWF.WFID, BJDWF.GetWFActionName(TWFAction.wfaSubmit), sBJDID)); sNextWPName = BJDWF.GetWPName(BJDWF.WFID, BJDWF.WPID); } #endregion #region 更新报价单统计状态 XLBJDUtils.UpdateTJBZ(sBJDID, "DoBJFK"); #endregion } dberp.CommitTrans(); if (GetOption("BJU068").Equals("W")) GThinking.N_PUBLIC2.HLXTUtils.DataSend(sBJDID, sBJDID, "I", "XLBJDFS"); } 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(); if (dsBJD.Tables[0].Rows.Count > 0) { #region 插入主表 SQL3.Clear(); SQL3.Add("insert into BJD(BJD_BJDID,BJD_BJDMS,BJD_KHID,BJD_LXR,BJD_BJRQ,BJD_BMID,BJD_TXY,BJD_FKFS,"); SQL3.Add(" BJD_ZJE,BJD_HBID,BJD_HL,BJD_QRRQ,BJD_BZ,BJD_ZT,BJD_WHRID,BJD_WHR,BJD_WHSJ,"); SQL3.Add(" BJD_XMID,BJD_WPID,BJD_KHMC)"); SQL3.Add(" values(:XLXSBJD_BJDID,:XLXSBJD_BJSM,:KHID,:KHLXR,:XLXSBJD_BJRQ,:XSBMID,:TSY,:FKFS,"); SQL3.Add(" :XLXSBJD_ZJE,:HBID,:HL,:QRRQ,:XLXSBJD_BZ,:ZT,:XLXSBJD_WHRID,:XLXSBJD_WHR,:XLXSBJD_WHSJ,"); SQL3.Add(" :XMID,'ZZZZ',:KHMC)"); SQL3.ParamByName("XLXSBJD_BJDID").Value = sBJDID; SQL3.ParamByName("XLXSBJD_BJSM").Value = XLBJDUtils.SubStringFunc(dsBJD.Tables[0].Rows[0]["XLXSBJD_BJSM"].ToString().Trim(), 40); SQL3.ParamByName("KHID").Value = txtKHID.Text.Trim(); SQL3.ParamByName("KHLXR").Value = txtLXR.Text.Trim(); SQL3.ParamByName("XLXSBJD_BJRQ").Value = dsBJD.Tables[0].Rows[0]["XLXSBJD_BJRQ"].ToString().Trim(); SQL3.ParamByName("XSBMID").Value = cbxXSBMID.SelectedValue.Trim(); SQL3.ParamByName("TSY").Value = txtTXY.Text.Trim(); SQL3.ParamByName("FKFS").Value = XLBJDUtils.SubStringFunc(dsBJD.Tables[0].Rows[0]["XLXSBJD_FKSM"].ToString().Trim(), 250); SQL3.ParamByName("XLXSBJD_ZJE").Value = CMISproConvert.StrToFloat(dsBJD.Tables[0].Rows[0]["XLXSBJD_ZJE"].ToString()); SQL3.ParamByName("HBID").Value = sHBID; SQL3.ParamByName("HL").Value = fHL; SQL3.ParamByName("QRRQ").Value = DateTime.Now.ToShortDateString(); SQL3.ParamByName("XLXSBJD_BZ").Value = XLBJDUtils.SubStringFunc(dsBJD.Tables[0].Rows[0]["XLXSBJD_BZ"].ToString().Trim(), 250); SQL3.ParamByName("ZT").Value = "F";//F|反馈 SQL3.ParamByName("XLXSBJD_WHRID").Value = dsBJD.Tables[0].Rows[0]["XLXSBJD_WHRID"].ToString().Trim(); SQL3.ParamByName("XLXSBJD_WHR").Value = dsBJD.Tables[0].Rows[0]["XLXSBJD_WHR"].ToString().Trim(); SQL3.ParamByName("XLXSBJD_WHSJ").Value = dsBJD.Tables[0].Rows[0]["XLXSBJD_WHSJ"].ToString().Trim(); SQL3.ParamByName("XMID").Value = txtGCXM.Text.Trim(); SQL3.ParamByName("KHMC").Value = txtKHMC.Text.Trim(); SQL3.ParamByName("XMJC").Value = txtXMJC.Value.Trim(); SQL3.ParamByName("XMMC").Value = txtXMMC.Text.Trim(); dberp3.ExecSQL(SQL3); #endregion #region 插入明细 int iCFXH = 0; for (int i = 0; i < dsMX.Tables[0].Rows.Count; i++) { if (dsMX.Tables[0].Rows[i]["WLID"].ToString().Trim().Equals("")) continue; 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; if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y")) { iCFXH++; SQL3.ParamByName("XLXSBJDMX_XH").Value = dsMX.Tables[0].Rows[i]["XLXSBJFKCFMX_CFXH"].ToString().Trim(); } else SQL3.ParamByName("XLXSBJDMX_XH").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim(); //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投标报价反馈记录 SQL3.Clear(); SQL3.Add("insert into TBBJFK(TBBJFK_TBSID, TBBJFK_BJDH, TBBJFK_BZ, TBBJFK_WHR, TBBJFK_WHRID, TBBJFK_WHSJ)");//TBBJFK_BJDH--TBBJFK_BJDID SQL3.Add(" values(' ', :pBJDID,NULL,:pWHR,:pWHRID,:pWHSJ)"); SQL3.ParamByName("pBJDID").Value = sBJDID; SQL3.ParamByName("pWHR").Value = tSession.UserName; SQL3.ParamByName("pWHRID").Value = tSession.UserId; SQL3.ParamByName("pWHSJ").Value = DateTime.Now; dberp3.ExecSQL(SQL3); for (int i = 0; i < dsMX.Tables[0].Rows.Count; i++) { if (dsMX.Tables[0].Rows[i]["WLID"].ToString().Trim().Equals("")) continue; 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; if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y")) { SQL3.ParamByName("pXH").Value = dsMX.Tables[0].Rows[i]["XLXSBJFKCFMX_CFXH"].ToString().Trim(); SQL3.ParamByName("BJDMX_BJDXH").Value = dsMX.Tables[0].Rows[i]["XLXSBJFKCFMX_CFXH"].ToString().Trim(); } else { 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 } if (!sNextWPName.Equals("")) ShowMessage(string.Format("报价单【{0}】反馈完成,并已自动提交至【{1}】!", sBJDID, sNextWPName)); else ShowMessage(string.Format("报价单【{0}】反馈完成!", sBJDID)); string sJSRList = ""; SQL.Clear(); SQL.Add("SELECT DISTINCT MSGTAKEIN_USRID FROM MSGTAKEIN WHERE MSGTAKEIN_MSGCLASS = 'BJFK_WCTX' "); DataSet dsJSR = dberp.OpenDataSet(SQL); for (int i = 0; i < dsJSR.Tables[0].Rows.Count; i++) { sJSRList = sJSRList + dsJSR.Tables[0].Rows[i]["MSGTAKEIN_USRID"].ToString().Trim() + ","; } TMsg msg3 = new TMsg(); msg3.MsgClass = "BJFK_WCTX"; msg3.UMID = "100860046"; msg3.MsgUmid = 100384008; msg3.MsgNumid = 100860046; msg3.MsgContent = string.Format("报价单【{0}】反馈完成,请下单!", sBJDID); msg3.MsgYWID = "[XLXSBJD_BJDID=" + sBJDID.Trim() + "]"; msg3.ReceiveUsers = sJSRList; msg3.SendMsg(tSession, tSession.UserName); if (PageParam.GetRTrimString("FromXLXSBJD").Equals("Y")) { //100860000|线缆销售报价单”、“100860061|销售员报价申请”模块调用,进行连续关闭,回到报价单主界面 DialogOperationScript dos = new DialogOperationScript(this); dos.SetCallbackArgument("WindowClose"); dos.CloseOwner(); dos.CloseSelf(); dos.Execute(); } else { //使用脚本给父页面的隐藏控件赋值,调用父页面的控件事件 DialogOperationScript dos = new DialogOperationScript(this); //dos.ClickOwnerButton(PageParam.GetRTrimString("RefreshCtrlID")); dos.CloseSelf(); dos.Execute(); } } //计量单位,换算系数 public static void GetJLDWList(Dictionary sStr, string sWLID, string sWLJLDW) { if (!sWLJLDW.Trim().Equals("")) { sStr.Add(sWLJLDW.Trim(), 1);//标准计量单位,换算系数=1 DoFindJLDW(sStr, sWLID, sWLJLDW, 1); } } public static void DoFindJLDW(Dictionary sStr, string sWLID, string sJLDW, double fHSXS) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select JLDWTD_TDJLDW as JLDW,JLDWTD_HSXS as HSXS,JLDWTD_WLID from JLDWTD"); SQL.Add(" where JLDWTD_JLDW=:pJLDW"); SQL.Add(" and (JLDWTD_WLID=:pWLID or isnull(JLDWTD_WLID,' ')=' ')"); SQL.Add(" union all"); SQL.Add(" select JLDWTD_JLDW as JLDW,"); SQL.Add(" case when JLDWTD_HSXS > 0 then 1/JLDWTD_HSXS else 0 end as HSXS,"); SQL.Add(" JLDWTD_WLID from JLDWTD"); SQL.Add(" where JLDWTD_TDJLDW=:pJLDW"); SQL.Add(" and (JLDWTD_WLID=:pWLID or isnull(JLDWTD_WLID,' ')=' ')"); SQL.Add(" order by JLDW, JLDWTD_WLID desc"); SQL.ParamByName("pJLDW").Value = sJLDW; SQL.ParamByName("pWLID").Value = sWLID; DataSet ds = dberp.OpenDataSet(SQL); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { //若获取的计量单位在sStr中不存在,则继续进行递归操作,否则结束,避免死循环 if (!sStr.ContainsKey(ds.Tables[0].Rows[i]["JLDW"].ToString().Trim())) { sStr.Add(ds.Tables[0].Rows[i]["JLDW"].ToString().Trim(), CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["HSXS"].ToString()) * fHSXS); DoFindJLDW(sStr, sWLID, ds.Tables[0].Rows[i]["JLDW"].ToString().Trim(), CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["HSXS"].ToString()) * fHSXS); } } } protected void btnQX_Click(object sender, EventArgs e) { CloseWindow(); } protected void txtKHID_TextChanged(object sender, EventArgs e) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select KH_MC,KH_LXR,KH_TXY"); SQL.Add(" from KH"); SQL.Add(" where KH_KHID=:pKHID"); SQL.ParamByName("pKHID").Value = txtKHID.Text.Trim(); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { txtKHMC.Text = ds.Tables[0].Rows[0]["KH_MC"].ToString().Trim(); if (txtLXR.Text.Trim().Equals("")) txtLXR.Text = ds.Tables[0].Rows[0]["KH_LXR"].ToString().Trim(); if (txtTXY.Text.Trim().Equals("")) txtTXY.Text = ds.Tables[0].Rows[0]["KH_TXY"].ToString().Trim(); } else txtKHMC.Text = ""; } protected void txtLXR_TextChanged(object sender, EventArgs e) { if (!txtLXR.Text.Trim().Equals("")) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select KH_TEL,KH_FAX"); SQL.Add(" from KH"); SQL.Add(" where KH_LXR=:pLXR"); if (!txtKHID.Text.Trim().Equals("")) { SQL.Add(" and KH_KHID=:pKHID"); SQL.ParamByName("pKHID").Value = txtKHID.Text.Trim(); } SQL.Add(" order by KH_KHID"); SQL.ParamByName("pLXR").Value = txtLXR.Text.Trim(); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { if (txtLXRDH.Text.Trim().Equals("")) txtLXRDH.Text = ds.Tables[0].Rows[0]["KH_TEL"].ToString().Trim(); if (txtLXRCZ.Text.Trim().Equals("")) txtLXRCZ.Text = ds.Tables[0].Rows[0]["KH_FAX"].ToString().Trim(); } } } protected void txtGCXM_TextChanged(object sender, EventArgs e) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select GCXM_XMJC,GCXM_XMMC "); SQL.Add(" from GCXM"); SQL.Add(" where GCXM_XMID=:pXMID"); SQL.ParamByName("pXMID").Value = txtGCXM.Text.Trim(); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { txtXMJC.Value = ds.Tables[0].Rows[0]["GCXM_XMJC"].ToString().Trim(); txtXMMC.Text = ds.Tables[0].Rows[0]["GCXM_XMMC"].ToString().Trim(); txtXMMC.ReadOnly = true; } else { txtXMMC.ReadOnly = false; txtXMMC.Text = ""; txtXMJC.Value = ""; } } protected void txtTXY_TextChanged(object sender, EventArgs e) { if (!txtTXY.Text.Trim().Equals("")) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select XSY_BMID,XSY_SJ"); SQL.Add(" from XSY"); SQL.Add(" where XSY_TXY=:pTXY"); SQL.ParamByName("pTXY").Value = txtTXY.Text.Trim(); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { cbxXSBMID.SelectedValue = ds.Tables[0].Rows[0]["XSY_BMID"].ToString().Trim(); txtTXYDH.Text = ds.Tables[0].Rows[0]["XSY_SJ"].ToString().Trim(); } } } protected void linkKHID_Click(object sender, EventArgs e) { //if (!CPWLCLLYHZList.SayYes("将按当前客户名称发起新客户申请,是否继续?", txtInfo, linkKHID.ClientID, this)) // return; TPageParams tpp = new TPageParams(); tpp.UrlPath = "CXBJD_XKHSQInfo.aspx"; tpp.AddString("KHMC", txtKHMC.Text.Trim()); OpenDialog(tpp); } //获取本位币 #endregion } }