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.Data; using GThinking.N_MISPRO.Utility; using System.Text; using GThinking.N_CONTROL; using GThinking.N_MISPRO; using System.Collections.Generic; using System.Xml; using GThinking.N_MISPROAS.Compress; namespace GThinking.N_XLXSBJ { public partial class XLBJD_WBBJDDRList : SingleGridBase { XLBJD_WBBJDDREntity entity = new XLBJD_WBBJDDREntity(); private static int Rcount = 0; private string sXLBJDID = ""; //public static bool bReadBBYS = false; public static Dictionary dicReadBBYS = new Dictionary(); //指定栏目类型-栏目编号 Dictionary dicLMBH = new Dictionary(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860043; this.UMName = "外部线缆产品导入"; this.CurMaster = Master; this.ModuleGV = ContentGrid; this.CurEntity = entity; this.PageHeight = 600; this.PageWidth = 750; base.DataKeyNames = new string[] { "XLWBBJDML_WBBJDID", "XLWBBJDML_BJDID", "BlueFlag", "XLWBBJDML_MLFZH" }; this.Master.EnableNewBtn = false; this.Master.EnableCopyBtn = false; this.Master.EnableEditBtn = false; this.Master.EnableDeleteBtn = false; this.Master.EnableViewBtn = false; this.Master.EnablePrintBtn = false; this.Master.EnableQueryBtn = false; base.InitPage(); if (!PageParam.GetRTrimString("BJDID").Equals("")) { sXLBJDID = PageParam.GetRTrimString("BJDID"); } Rcount = CMISproConvert.StrToInt(tSession.GetOption(100860043, "BJU069")); //列显示设置 InitGridView(sXLBJDID); if (!IsPostBack) { Master_OnStandardQuery(null, null); } if (Request.Form["BBYS"] != null) { string sRepXML = Request.Form["BBYS"].ToString(); string sBJDID = Request.Form["BJDID"].ToString(); string sTimeSpan = Request.Form["TimeSpan"].ToString(); string sXSYXJ = Request.Form["XSYXJ"].ToString(); string sXSYZ = Request.Form["XSYZ"].ToString(); string sXSYSCP = Request.Form["XSYSCP"].ToString(); string sXSBH = Request.Form["XSBH"].ToString(); string sXSCPBJXJ = Request.Form["XSCPBJXJ"].ToString(); string sHTBH = Request.Form["HTBH"].ToString(); ReadBBYS(sRepXML, sBJDID, sTimeSpan, sXSYXJ, sXSYZ, sXSYSCP, sXSBH, sHTBH,sXSCPBJXJ); } if (!string.IsNullOrEmpty(GetOption(100860000, "BJU045"))) { if (GetOption(100860000, "BJU045").Contains(tSession.UserId)) { btnXHTH.Visible = true; } else { btnXHTH.Visible = false; } } } #region 模板继承事件 protected override void Master_OnStandardQuery(object sender, EventArgs e) { entity.EntityTable.QuerySelSql = GetQuerySql(); base.Master_OnStandardQuery(sender, e); entity.GridDataBind(ContentGrid, tSession); } protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { if (ContentGrid.DataKeys[e.Row.RowIndex]["BlueFlag"].ToString().Trim() == "Y") e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml("#87CEFA"); } base.moduleGV_RowDataBound(sender, e); } protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e) { entity.EntityTable.QuerySelSql = GetQuerySql(); ContentGrid.SelectedIndex = -1; base.moduleGV_PageIndexChanging(sender, e); } #endregion #region 控件事件 //型号替换 protected void btnXHTH_Click(object sender, EventArgs e) { TPageParams pageParams = new TPageParams(); pageParams.UrlPath = "XLBJD_WBBJDMX_XHTHList.aspx"; pageParams.Title = "型号替换"; pageParams.AddExtString("DRHHList", ""); pageParams.AddString("WBBJDID", ""); pageParams.AddString("SELBJDID", ""); pageParams.AddString("SFYC", "Y"); pageParams.AddString("btnCallBack", btnCallBack1.ClientID); OpenDialog(pageParams); } //按Excle导入 protected void btnDR_OnClick(object sender, EventArgs e) { TPageParams pageParams = new TPageParams(); pageParams.UrlPath = "XLBJD_WBBJDDRInfo.aspx"; pageParams.Title = "导入Excel文件"; pageParams.AddString("BJRQ", PageParam.GetRTrimString("BJRQ")); pageParams.AddString("BJFLID", PageParam.GetRTrimString("BJFLID")); pageParams.AddString("BJDID", PageParam.GetRTrimString("BJDID")); pageParams.AddString("JGBID", PageParam.GetRTrimString("JGBID")); pageParams.AddString("JGCIDS", PageParam.GetRTrimString("JGCIDS")); pageParams.AddString("BJLY", PageParam.GetRTrimString("BJLY")); pageParams.AddString("XSQYID", PageParam.GetRTrimString("XSQYID")); pageParams.AddString("PJLX", PageParam.GetRTrimString("PJLX")); pageParams.AddString("FKQXNR", PageParam.GetRTrimString("FKQXNR")); pageParams.AddString("HSBZ", PageParam.GetRTrimString("HSBZ")); pageParams.AddString("JCLLX", PageParam.GetRTrimString("JCLLX")); pageParams.AddString("LJJCLLX", PageParam.GetRTrimString("LJJCLLX")); string sHTBH = ""; if (!string.IsNullOrEmpty(PageParam.GetRTrimString("HTBH"))) sHTBH = PageParam.GetRTrimString("HTBH"); pageParams.AddString("HTBH", sHTBH); pageParams.AddString("NeedUpdBJDHQCLCB", PageParam.GetRTrimString("NeedUpdBJDHQCLCB")); OpenDialogClickBtn(pageParams, btnCallBack.ClientID); } //复制内容导入 protected void btnFZNRDR_Click(object sender, EventArgs e) { string sStr = tSession.UserId + "|" + DateTime.Now.ToString().Trim(); string sScript = ""; sScript = "document.getElementById('" + this.txtTimeSpan.ClientID.ToString().Trim() + "').value = '" + sStr + "';"; AjaxRunScript(this, "setTreePic", sScript); if (txtIsWebCtrl.Value.Equals("Y")) { OpenBB(PageParam.GetRTrimString("BJDID"), sStr); } else { TPageParams pageParams = new TPageParams(); pageParams.Title = "复制内容导入"; pageParams.UrlPath = "XLBJD_WBBJDXDRInfo.aspx"; pageParams.AddString("BJDID", PageParam.GetRTrimString("BJDID")); pageParams.AddString("XSYXJ", PageParam.GetRTrimString("XSYXJ")); pageParams.AddString("XSYZ", PageParam.GetRTrimString("XSYZ")); pageParams.AddString("XSYSCP", PageParam.GetRTrimString("XSYSCP")); pageParams.AddString("XSBH", PageParam.GetRTrimString("XSBH")); pageParams.AddString("XSCPBJXJ", PageParam.GetRTrimString("XSCPBJXJ")); string sHTBH = ""; if (!string.IsNullOrEmpty(PageParam.GetRTrimString("HTBH"))) sHTBH = PageParam.GetRTrimString("HTBH"); pageParams.AddString("HTBH", sHTBH); pageParams.AddString("txtTimeSpan", sStr); OpenDialogClickBtn(pageParams, btnOpenFZR.ClientID); } } //查看导入 protected void btnWBBJDNR_Click(object sender, EventArgs e) { if (ContentGrid.SelectedIndex < 0) { ShowMessage("请选择处理记录!"); return; } string sWBBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_WBBJDID"].ToString().Trim(); string sBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_BJDID"].ToString().Trim().Equals("") ? " " : ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_BJDID"].ToString().Trim(); string sMLFZH = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_MLFZH"].ToString().Trim(); TPageParams pageParams = new TPageParams(); pageParams.UrlPath = "XLBJD_WBBJDNRList.aspx"; pageParams.Title = "查看导入内容"; pageParams.AddString("BJRQ", PageParam.GetRTrimString("BJRQ")); pageParams.AddString("BJFLID", PageParam.GetRTrimString("BJFLID")); pageParams.AddString("BJDID", PageParam.GetRTrimString("BJDID")); pageParams.AddString("JGBID", PageParam.GetRTrimString("JGBID")); pageParams.AddString("JGCIDS", PageParam.GetRTrimString("JGCIDS")); pageParams.AddString("BJLY", PageParam.GetRTrimString("BJLY")); pageParams.AddString("XSQYID", PageParam.GetRTrimString("XSQYID")); pageParams.AddString("PJLX", PageParam.GetRTrimString("PJLX")); pageParams.AddString("FKQXNR", PageParam.GetRTrimString("FKQXNR")); pageParams.AddString("SYDWID", PageParam.GetRTrimString("SYDWID")); pageParams.AddString("HSBZ", PageParam.GetRTrimString("HSBZ")); pageParams.AddString("JCLLX", PageParam.GetRTrimString("JCLLX")); pageParams.AddString("LJJCLLX", PageParam.GetRTrimString("LJJCLLX")); pageParams.AddString("NeedUpdBJDHQCLCB", PageParam.GetRTrimString("NeedUpdBJDHQCLCB")); pageParams.AddString("BJDHQLY", PageParam.GetRTrimString("BJDHQLY")); pageParams.AddString("TBJCLID", PageParam.GetRTrimString("TBJCLID")); pageParams.AddString("LBJCLID", PageParam.GetRTrimString("LBJCLID")); pageParams.AddString("TJ", PageParam.GetRTrimString("TJ")); pageParams.AddString("LJ", PageParam.GetRTrimString("LJ")); pageParams.AddString("XSYXJ", PageParam.GetRTrimString("XSYXJ")); pageParams.AddString("XSYZ", PageParam.GetRTrimString("XSYZ")); pageParams.AddString("XSYSCP", PageParam.GetRTrimString("XSYSCP")); pageParams.AddString("XSBH", PageParam.GetRTrimString("XSBH")); pageParams.AddString("XSCPBJXJ", PageParam.GetRTrimString("XSCPBJXJ")); pageParams.AddString("WBBJDID", sWBBJDID); pageParams.AddString("SELBJDID", sBJDID); pageParams.AddString("MLFZH", sMLFZH); string clientid = this.txtSource.ClientID; string sFunction = "function CallBackOpenMXFun(returnValue) {" + " if (returnValue!='undefined'&&returnValue!=null) { " + " document.getElementById('" + clientid + "').value = returnValue;" + " document.getElementById('" + btnOpenMXJL.ClientID.ToString() + "').click();" + " } else { " + " document.getElementById('" + clientid + "').value = ' ';" + " document.getElementById('" + btnOpenMXJL.ClientID.ToString() + "').click();}; " + " };"; OpenDialogWithCallBack(pageParams, "CallBackOpenMXFun", sFunction); //OpenDialogClickBtn(pageParams, btnOpenMXJL.ClientID); } //protected void btnWBBJDNR_OnDropDown(object sender, EventArgs e) //{ // btnWBBJDNR.Nodes.Clear(); // if (!sXLBJDID.Equals("")) // { // btnWBBJDNR.Nodes.Add(new gtTreeNode("0", "重新导入报价单明细")); // } // MenuAreaUpdate(); //} //protected void btnWBBJDNR_MenuItemClick(object sender, string value) //{ //if (value.Equals("0")) //{ // if (ContentGrid.SelectedIndex < 0) // { // ShowMessage("请选择处理记录!"); // return; // } // string sWBBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_WBBJDID"].ToString().Trim(); // string sBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_BJDID"].ToString().Trim().Equals("") ? " " : ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_BJDID"].ToString().Trim(); // string sSQL = "select top 1 XLXSBJDMX_BJDID from XLXSBJDMX where 1 = 1 and XLXSBJDMX_WBBJDID= '" + sWBBJDID + "' and XLXSBJDMX_BJDID= '" + sBJDID + "'"; // if (!CMISproDataBase.ExistsRecord("DBERP", string.Format(sSQL))) // { // ShowMessage("当前记录未被导入,请直接点击“查看导入内容”进行产品栏目设置后导入!"); // return; // } // Confirm.Register("IsQD", "重新导入将覆盖报价单明细,是否继续?"); // 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(); // } // switch (value) // { // case "0": // string sMsg = ""; // Reimport(GetOption(100860000, "BJU002"), GetOption(100860000, "BJU003"), PageParam.GetRTrimString("BJLY"), PageParam.GetRTrimString("BJFLID"), PageParam.GetRTrimString("BJDHQLY"), // PageParam.GetRTrimString("BJRQ"), PageParam.GetRTrimString("JGBID"), PageParam.GetRTrimString("JGCIDS"), PageParam.GetRTrimString("XSQYID"), PageParam.GetRTrimString("HSBZ"), // PageParam.GetRTrimString("TBJCLID"), PageParam.GetRTrimString("LBJCLID"), PageParam.GetRTrimString("TJ"), PageParam.GetRTrimString("LJ"), // PageParam.GetRTrimString("NeedUpdBJDHQCLCB"), PageParam.GetRTrimString("JCLLX"), PageParam.GetRTrimString("LJJCLLX"), // PageParam.GetRTrimString("PJLX"), PageParam.GetRTrimString("FKQXNR"), PageParam.GetRTrimString("SYDWID"), PageParam.GetRTrimString("CPBJMRXSWS"), // ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_WBBJDID"].ToString().Trim(), // ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_BJDID"].ToString().Trim(), PageParam.GetRTrimString("BJDID"), tSession, ref sMsg); // if (!sMsg.Equals("")) // { // ShowMessage(sMsg); // } // break; // } //} //} //查看外部报价单明细 //直接点击 protected void btnWBBJDMX_Click(object sender, EventArgs e) { if (ContentGrid.SelectedIndex < 0) { ShowMessage("请选择处理记录!"); return; } string sWBBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_WBBJDID"].ToString().Trim(); string sBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_BJDID"].ToString().Trim().Equals("") ? " " : ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_BJDID"].ToString().Trim(); string sSQL = ""; sSQL = string.Format("select top 1 XLWBBJDLM_LMBH from XLWBBJDLM where XLWBBJDLM_WBBJDID='{0}' " + " and XLWBBJDLM_BJDID='{1}' and isnull(XLWBBJDLM_ZDLMLX,' ')<>' ' ", sWBBJDID, sBJDID); if (!CMISproDataBase.ExistsRecord("DBERP", sSQL)) { ShowMessage("请先在查看导入内容中指定外部报价单栏目!"); return; } //////////////////////////////////////////////////////////// if (!sXLBJDID.Equals("")) { sSQL = string.Format("select top 1 XLWBBJDML_WBBJDID from XLWBBJDML where XLWBBJDML_WBBJDID='{0}' and XLWBBJDML_BJDID='{1}' " + " and isnull(XLWBBJDML_EXCEL,' ') = ' ' and isnull(XLWBBJDML_SHEET,' ') = ' ' ", sWBBJDID, sBJDID); if (!CMISproDataBase.ExistsRecord("DBERP", sSQL)) { sSQL = string.Format("select top 1 XLWBBJDMX_WBBJDID from XLWBBJDMX where XLWBBJDMX_WBBJDID='{0}' and XLWBBJDMX_BJDID='{1}' ", sWBBJDID, sBJDID); if (!CMISproDataBase.ExistsRecord("DBERP", sSQL)) { ShowMessage("请先在查看导入内容中生成外部报价单明细!"); return; } } } else { string sErrMsg = ""; bool bResult = XLBJD_WBBJDNRList.DobtnWBBJDMX_Click(sWBBJDID, sBJDID, dicLMBH, tSession, GetOption(100860000, "BJU003"), XLBJDUtils.GetDefaultXLBZID(), ref sErrMsg); if (!sErrMsg.Equals("")) { ShowMessage(sErrMsg); return; } } string sMLFZH="0"; string sYCL = "Y"; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL2 = new TSQL(dberp); sSQL2.Add("select top 1 XLWBBJDML_MLFZH,XLWBBJDML_YCL from XLWBBJDML where XLWBBJDML_WBBJDID=:pWBBJDID and XLWBBJDML_BJDID=:pBJDID "); sSQL2.ParamByName("pWBBJDID").Value = sWBBJDID; sSQL2.ParamByName("pBJDID").Value = sBJDID; DataSet ds = dberp.OpenDataSet(sSQL2); if (ds.Tables[0].Rows.Count > 0) { sMLFZH = ds.Tables[0].Rows[0][0].ToString().Trim(); sYCL = ds.Tables[0].Rows[0][1].ToString().Trim(); } TPageParams pageParams = new TPageParams(); pageParams.UrlPath = "XLBJD_WBBJDMXList.aspx"; pageParams.AddString("BJRQ", PageParam.GetRTrimString("BJRQ")); pageParams.AddString("BJFLID", PageParam.GetRTrimString("BJFLID")); pageParams.AddString("BJDID", PageParam.GetRTrimString("BJDID")); pageParams.AddString("JGBID", PageParam.GetRTrimString("JGBID")); pageParams.AddString("JGCIDS", PageParam.GetRTrimString("JGCIDS")); pageParams.AddString("BJLY", PageParam.GetRTrimString("BJLY")); pageParams.AddString("XSQYID", PageParam.GetRTrimString("XSQYID")); pageParams.AddString("PJLX", PageParam.GetRTrimString("PJLX")); pageParams.AddString("FKQXNR", PageParam.GetRTrimString("FKQXNR")); pageParams.AddString("SYDWID", PageParam.GetRTrimString("SYDWID")); pageParams.AddString("HSBZ", PageParam.GetRTrimString("HSBZ")); pageParams.AddString("JCLLX", PageParam.GetRTrimString("JCLLX")); pageParams.AddString("LJJCLLX", PageParam.GetRTrimString("LJJCLLX")); pageParams.AddString("NeedUpdBJDHQCLCB", PageParam.GetRTrimString("NeedUpdBJDHQCLCB")); pageParams.AddString("BJDHQLY", PageParam.GetRTrimString("BJDHQLY")); pageParams.AddString("TBJCLID", PageParam.GetRTrimString("TBJCLID")); pageParams.AddString("LBJCLID", PageParam.GetRTrimString("LBJCLID")); pageParams.AddString("TJ", PageParam.GetRTrimString("TJ")); pageParams.AddString("LJ", PageParam.GetRTrimString("LJ")); pageParams.AddString("CPBJMRXSWS", PageParam.GetRTrimString("CPBJMRXSWS")); pageParams.AddString("XSYXJ", PageParam.GetRTrimString("XSYXJ")); pageParams.AddString("XSYZ", PageParam.GetRTrimString("XSYZ")); pageParams.AddString("XSYSCP", PageParam.GetRTrimString("XSYSCP")); pageParams.AddString("XSBH", PageParam.GetRTrimString("XSBH")); pageParams.AddString("XSCPBJXJ", PageParam.GetRTrimString("XSCPBJXJ")); pageParams.AddString("YXLRBJCP", PageParam.GetRTrimString("YXLRBJCP")); pageParams.AddString("WBBJDID", sWBBJDID); pageParams.AddString("MLFZH", sMLFZH); if(sYCL=="N") pageParams.AddExtString("First_Open", "First_Open"); //当前选中行的报价单ID pageParams.AddString("SELBJDID", sBJDID); pageParams.AddString("txtOpen", txtOpen.ClientID); if (!string.IsNullOrEmpty(PageParam.GetRTrimString("HTBH"))) { pageParams.AddString("HTBH", PageParam.GetRTrimString("HTBH")); } OpenDialogClickBtn(pageParams, btnAutoClose.ClientID); } //查看外部报价单明细 //由内容页程序打开 protected void btnOpen_Click(object sender, EventArgs e) { string sWBBJDID = ""; string sBJDID = ""; string sMLFZH = ""; if (ContentGrid.SelectedIndex < 0) { ShowMessage("请选择处理记录!"); return; } sWBBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_WBBJDID"].ToString().Trim(); sBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_BJDID"].ToString().Trim().Equals("") ? " " : ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_BJDID"].ToString().Trim(); sMLFZH = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_MLFZH"].ToString().Trim(); TPageParams pageParams = new TPageParams(); pageParams.UrlPath = "XLBJD_WBBJDMXList.aspx"; pageParams.AddString("BJRQ", PageParam.GetRTrimString("BJRQ")); pageParams.AddString("BJFLID", PageParam.GetRTrimString("BJFLID")); pageParams.AddString("BJDID", PageParam.GetRTrimString("BJDID")); pageParams.AddString("JGBID", PageParam.GetRTrimString("JGBID")); pageParams.AddString("JGCIDS", PageParam.GetRTrimString("JGCIDS")); pageParams.AddString("BJLY", PageParam.GetRTrimString("BJLY")); pageParams.AddString("XSQYID", PageParam.GetRTrimString("XSQYID")); pageParams.AddString("PJLX", PageParam.GetRTrimString("PJLX")); pageParams.AddString("FKQXNR", PageParam.GetRTrimString("FKQXNR")); pageParams.AddString("SYDWID", PageParam.GetRTrimString("SYDWID")); pageParams.AddString("HSBZ", PageParam.GetRTrimString("HSBZ")); pageParams.AddString("JCLLX", PageParam.GetRTrimString("JCLLX")); pageParams.AddString("LJJCLLX", PageParam.GetRTrimString("LJJCLLX")); pageParams.AddString("NeedUpdBJDHQCLCB", PageParam.GetRTrimString("NeedUpdBJDHQCLCB")); pageParams.AddString("BJDHQLY", PageParam.GetRTrimString("BJDHQLY")); pageParams.AddString("TBJCLID", PageParam.GetRTrimString("TBJCLID")); pageParams.AddString("LBJCLID", PageParam.GetRTrimString("LBJCLID")); pageParams.AddString("TJ", PageParam.GetRTrimString("TJ")); pageParams.AddString("LJ", PageParam.GetRTrimString("LJ")); pageParams.AddString("CPBJMRXSWS", PageParam.GetRTrimString("CPBJMRXSWS")); pageParams.AddString("XSYXJ", PageParam.GetRTrimString("XSYXJ")); pageParams.AddString("XSYZ", PageParam.GetRTrimString("XSYZ")); pageParams.AddString("XSYSCP", PageParam.GetRTrimString("XSYSCP")); pageParams.AddString("XSBH", PageParam.GetRTrimString("XSBH")); pageParams.AddString("XSCPBJXJ", PageParam.GetRTrimString("XSCPBJXJ")); pageParams.AddString("YXLRBJCP", PageParam.GetRTrimString("YXLRBJCP")); pageParams.AddString("WBBJDID", sWBBJDID); //当前选中行的报价单ID pageParams.AddString("SELBJDID", sBJDID); pageParams.AddString("MLFZH", sMLFZH); //由程序打开说明是第一次进入,传递参数 pageParams.AddExtString("First_Open", "First_Open"); pageParams.AddString("txtOpen", txtOpen.ClientID); if (!string.IsNullOrEmpty(PageParam.GetRTrimString("HTBH"))) { pageParams.AddString("HTBH", PageParam.GetRTrimString("HTBH")); } OpenDialogClickBtn(pageParams, btnAutoClose.ClientID); } //查看外部报价单明细 //由复制内容程序打开 protected void btnOpenMXByFZNR_Click(object sender, EventArgs e) { string sWBBJDID = ""; string sBJDID = ""; string sMLFZH = "0"; if (!txtTimeSpan.Value.Trim().Equals("")) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select top 1 XLWBBJDML_WBBJDID,XLWBBJDML_MLFZH from XLWBBJDML where XLWBBJDML_DRSJ = :pDRSJ and XLWBBJDML_WHRID = :pWHRID order by XLWBBJDML_WBBJDID "); SQL.ParamByName("pWHRID").Value = txtTimeSpan.Value.Split('|')[0]; SQL.ParamByName("pDRSJ").Value = CMISproConvert.StrToDateTime(txtTimeSpan.Value.Split('|')[1]); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sWBBJDID = ds.Tables[0].Rows[0][0].ToString().Trim(); sMLFZH = ds.Tables[0].Rows[0][1].ToString().Trim(); } else { return; } sBJDID = PageParam.GetRTrimString("BJDID").Equals("") ? " " : PageParam.GetRTrimString("BJDID"); TPageParams pageParams = new TPageParams(); pageParams.UrlPath = "XLBJD_WBBJDMXList.aspx"; pageParams.AddString("BJRQ", PageParam.GetRTrimString("BJRQ")); pageParams.AddString("BJFLID", PageParam.GetRTrimString("BJFLID")); pageParams.AddString("BJDID", PageParam.GetRTrimString("BJDID")); pageParams.AddString("JGBID", PageParam.GetRTrimString("JGBID")); pageParams.AddString("JGCIDS", PageParam.GetRTrimString("JGCIDS")); pageParams.AddString("BJLY", PageParam.GetRTrimString("BJLY")); pageParams.AddString("XSQYID", PageParam.GetRTrimString("XSQYID")); pageParams.AddString("PJLX", PageParam.GetRTrimString("PJLX")); pageParams.AddString("FKQXNR", PageParam.GetRTrimString("FKQXNR")); pageParams.AddString("SYDWID", PageParam.GetRTrimString("SYDWID")); pageParams.AddString("HSBZ", PageParam.GetRTrimString("HSBZ")); pageParams.AddString("JCLLX", PageParam.GetRTrimString("JCLLX")); pageParams.AddString("LJJCLLX", PageParam.GetRTrimString("LJJCLLX")); pageParams.AddString("NeedUpdBJDHQCLCB", PageParam.GetRTrimString("NeedUpdBJDHQCLCB")); pageParams.AddString("BJDHQLY", PageParam.GetRTrimString("BJDHQLY")); pageParams.AddString("TBJCLID", PageParam.GetRTrimString("TBJCLID")); pageParams.AddString("LBJCLID", PageParam.GetRTrimString("LBJCLID")); pageParams.AddString("TJ", PageParam.GetRTrimString("TJ")); pageParams.AddString("LJ", PageParam.GetRTrimString("LJ")); pageParams.AddString("CPBJMRXSWS", PageParam.GetRTrimString("CPBJMRXSWS")); pageParams.AddString("XSYXJ", PageParam.GetRTrimString("XSYXJ")); pageParams.AddString("XSYZ", PageParam.GetRTrimString("XSYZ")); pageParams.AddString("XSYSCP", PageParam.GetRTrimString("XSYSCP")); pageParams.AddString("XSBH", PageParam.GetRTrimString("XSBH")); pageParams.AddString("XSCPBJXJ", PageParam.GetRTrimString("XSCPBJXJ")); pageParams.AddString("YXLRBJCP", PageParam.GetRTrimString("YXLRBJCP")); pageParams.AddString("WBBJDID", sWBBJDID); pageParams.AddString("MLFZH", sMLFZH); //当前选中行的报价单ID pageParams.AddString("SELBJDID", sBJDID); //由程序打开说明是第一次进入,传递参数 pageParams.AddExtString("First_Open", "First_Open"); pageParams.AddString("txtOpen", txtOpen.ClientID); if (!string.IsNullOrEmpty(PageParam.GetRTrimString("HTBH"))) { pageParams.AddString("HTBH", PageParam.GetRTrimString("HTBH")); } OpenDialogClickBtn(pageParams, btnAutoClose.ClientID); } } //外部报价单内容页回调 protected void btnOpenMXJL_Click(object sender, EventArgs e) { if (txtSource.Value.Trim().Equals("OPEN")) { btnOpen_Click(null, null); } } //复制内容回调 protected void btnOpenFZR_Click(object sender, EventArgs e) { moduleGV_PageIndexChanging(null, null); btnOpenMXByFZNR_Click(null, null); } //外部报价单明细页回调 protected void btnAutoClose_Click(object sender, EventArgs e) { if (txtOpen.Value.Trim().Equals("CLOSE")) { CloseWindow(); } } //删除导入 protected void btnSCDRNR_Click(object sender, EventArgs e) { if (ContentGrid.SelectedIndex < 0) { ShowMessage("请选择处理记录!"); return; } //判断是否导入报价单了 string sWBBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_WBBJDID"].ToString().Trim(); string sBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_BJDID"].ToString().Trim(); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); //未导入过 if (sBJDID.Equals("")) { Confirm.Register("IsQD", "是否确认删除导入内容?"); 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(); } try { dberp.BeginTrans(); SQL.Clear(); SQL.Add("delete from XLWBBJDML "); SQL.Add(" where XLWBBJDML_WBBJDID=:pWBBJDID and XLWBBJDML_BJDID=:pBJDID "); SQL.ParamByName("pWBBJDID").Value = sWBBJDID; SQL.ParamByName("pBJDID").Value = sBJDID; dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add("delete from XLWBBJDLM "); SQL.Add(" where XLWBBJDLM_WBBJDID=:pWBBJDID and XLWBBJDLM_BJDID=:pBJDID "); SQL.ParamByName("pWBBJDID").Value = sWBBJDID; SQL.ParamByName("pBJDID").Value = sBJDID; dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add("delete from XLWBBJDNR "); SQL.Add(" where XLWBBJDNR_WBBJDID=:pWBBJDID and XLWBBJDNR_BJDID=:pBJDID "); SQL.ParamByName("pWBBJDID").Value = sWBBJDID; SQL.ParamByName("pBJDID").Value = sBJDID; dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add("delete from XLWBBJDMX "); SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID "); SQL.ParamByName("pWBBJDID").Value = sWBBJDID; SQL.ParamByName("pBJDID").Value = sBJDID; dberp.ExecSQL(SQL); dberp.CommitTrans(); } catch (Exception ex) { ShowMessage("删除失败!" + ex); dberp.RollbackTrans(); } } else { //导入判断 string sSSQL = "select top 1 XLXSBJDMX_BJDID from XLXSBJDMX where 1 = 1 and XLXSBJDMX_WBBJDID= '" + sWBBJDID + "' and XLXSBJDMX_BJDID= '" + sBJDID + "'"; if (CMISproDataBase.ExistsRecord("DBERP", string.Format(sSSQL))) { ShowMessage("已经导入报价单,不允许删除!"); return; } else { Confirm.Register("IsQD", "是否确认删除导入内容?"); 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(); } try { dberp.BeginTrans(); SQL.Clear(); SQL.Add("delete from XLWBBJDML "); SQL.Add(" where XLWBBJDML_WBBJDID=:pWBBJDID and XLWBBJDML_BJDID=:pBJDID "); SQL.ParamByName("pWBBJDID").Value = sWBBJDID; SQL.ParamByName("pBJDID").Value = sBJDID; dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add("delete from XLWBBJDLM "); SQL.Add(" where XLWBBJDLM_WBBJDID=:pWBBJDID and XLWBBJDLM_BJDID=:pBJDID "); SQL.ParamByName("pWBBJDID").Value = sWBBJDID; SQL.ParamByName("pBJDID").Value = sBJDID; dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add("delete from XLWBBJDNR "); SQL.Add(" where XLWBBJDNR_WBBJDID=:pWBBJDID and XLWBBJDNR_BJDID=:pBJDID "); SQL.ParamByName("pWBBJDID").Value = sWBBJDID; SQL.ParamByName("pBJDID").Value = sBJDID; dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add("delete from XLWBBJDMX "); SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID "); SQL.ParamByName("pWBBJDID").Value = sWBBJDID; SQL.ParamByName("pBJDID").Value = sBJDID; dberp.ExecSQL(SQL); dberp.CommitTrans(); } catch (Exception ex) { ShowMessage("删除失败!" + ex); dberp.RollbackTrans(); } } } btnCallBack_Click(null, null); } //刷新界面 protected void btnCallBack_Click(object sender, EventArgs e) { moduleGV_PageIndexChanging(null, null); } //复制内容刷新界面 protected void btnCallBack2_Click(object sender, EventArgs e) { moduleGV_PageIndexChanging(null, null); #region 导入前选中当前行 string sWBBJDID = ""; string sBJDID = ""; string sMLFZH = "0"; if (!txtTimeSpan.Value.Trim().Equals("")) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select top 1 XLWBBJDML_WBBJDID,XLWBBJDML_MLFZH from XLWBBJDML where XLWBBJDML_DRSJ = :pDRSJ and XLWBBJDML_WHRID = :pWHRID order by XLWBBJDML_WBBJDID "); SQL.ParamByName("pWHRID").Value = txtTimeSpan.Value.Split('|')[0]; SQL.ParamByName("pDRSJ").Value = CMISproConvert.StrToDateTime(txtTimeSpan.Value.Split('|')[1]); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sWBBJDID = ds.Tables[0].Rows[0][0].ToString().Trim(); sMLFZH = ds.Tables[0].Rows[0][1].ToString().Trim(); } else { return; } sBJDID = PageParam.GetRTrimString("BJDID").Equals("") ? " " : PageParam.GetRTrimString("BJDID"); int index = -1; SQL.Clear(); SQL.Add("SELECT XLWBBJDML_WBBJDID,XLWBBJDML_BJDID,XLWBBJDML_WBBJDMC,XLWBBJDML_EXCEL,XLWBBJDML_SHEET,XLWBBJDML_DRSJ,"); SQL.Add(" case when isnull(HTGD_HTBH,' ')=' ' then HT_HTBH else HTGD_HTBH end as HTBH, case when isnull(HTGD_HTBH,' ')=' ' then HT_MC else HTGD_MC end as HTMC,XLWBBJDML_HTBH, "); SQL.Add(" XLWBBJDML_WHR,XLWBBJDML_WHSJ "); SQL.Add(" from XLWBBJDML "); SQL.Add(" left join HTGD on HTGD_HTBH=XLWBBJDML_HTBH "); SQL.Add(" left join HT on HT_HTBH=XLWBBJDML_HTBH and isnull(HT_HTBG,'N')='N'"); SQL.Add(" where 1=1 "); SQL.Add(" and (XLWBBJDML_SJLY = 'BJCP' or XLWBBJDML_SJLY = 'XSHT') "); SQL.Add(" and XLWBBJDML_BJDID =:pBJDID "); if (!string.IsNullOrEmpty(PageParam.GetRTrimString("HTBH"))) { SQL.Add(" and XLWBBJDML_HTBH = :pHTBH "); entity.Param.Add("pHTBH", XLBJDUtils.FetEmptyStr(PageParam.GetRTrimString("HTBH"))); } SQL.Add(" order by XLWBBJDML_WBBJDID "); SQL.ParamByName("pBJDID").Value = XLBJDUtils.FetEmptyStr(sBJDID); ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { string sID = ds.Tables[0].Rows[i]["XLWBBJDML_WBBJDID"].ToString().Trim(); if (sID.Equals(sWBBJDID)) { index = i; break; } } } ContentGrid.SelectedIndex = index; } #endregion } //按钮隐藏 protected void btnQR_Click(object sender, EventArgs e) { //不再支持直接导入 } protected void ContentGrid_RowDoubleClick(object sender, GThinking.N_CONTROL.RowDoubleClickEventArgs e) { btnWBBJDMX_Click(null, null); } #endregion #region 私有函数 private string GetQuerySql() { StringBuilder sbSql = new StringBuilder(); sbSql.AppendLine("SELECT XLWBBJDML_WBBJDID,XLWBBJDML_BJDID,XLWBBJDML_WBBJDMC,XLWBBJDML_EXCEL,XLWBBJDML_SHEET,XLWBBJDML_DRSJ,"); sbSql.AppendLine(" case when isnull(HTGD_HTBH,' ')=' ' then HT_HTBH else HTGD_HTBH end as HTBH, case when isnull(HTGD_HTBH,' ')=' ' then HT_MC else HTGD_MC end as HTMC,XLWBBJDML_HTBH, "); sbSql.AppendLine(" XLWBBJDML_WHR,XLWBBJDML_WHSJ,case when isnull(XLXSBJDMX_WBBJDID,' ')<>' ' then 'Y' else 'N' end as BlueFlag,XLWBBJDML_MLFZH,XLWBBJDML_FS,XLWBBJDML_FSXH "); sbSql.AppendLine(" from XLWBBJDML "); sbSql.AppendLine(" left join HTGD on HTGD_HTBH=XLWBBJDML_HTBH "); sbSql.AppendLine(" left join HT on HT_HTBH=XLWBBJDML_HTBH and isnull(HT_HTBG,'N')='N'"); sbSql.AppendLine(" left join ("); sbSql.AppendLine(" SELECT distinct XLXSBJDMX_BJDID, XLXSBJDMX_WBBJDID FROM XLXSBJDMX where XLXSBJDMX_BJDID=:pBJDID"); sbSql.AppendLine(" ) b on b.XLXSBJDMX_BJDID=XLWBBJDML_BJDID and b.XLXSBJDMX_WBBJDID= XLWBBJDML_WBBJDID"); sbSql.AppendLine(" where 1=1 "); //BJCP|报价产品、BJTP|报价图片 //BJWL|报价物料、XSHT|销售合同 sbSql.AppendLine(" and (XLWBBJDML_SJLY = 'BJCP' or XLWBBJDML_SJLY = 'XSHT') "); sbSql.AppendLine(" and XLWBBJDML_BJDID =:pBJDID "); if (!string.IsNullOrEmpty(PageParam.GetRTrimString("HTBH"))) { sbSql.AppendLine(" and XLWBBJDML_HTBH = :pHTBH "); entity.Param.Add("pHTBH", XLBJDUtils.FetEmptyStr(PageParam.GetRTrimString("HTBH"))); } entity.Param.Add("pBJDID",XLBJDUtils.FetEmptyStr(sXLBJDID)); sbSql.AppendLine(" order by XLWBBJDML_WBBJDID "); return sbSql.ToString(); } private void InitGridView(string sXLBJDID)//控制配置的列是否显示 { if (sXLBJDID.Equals("")) { //独立模块 ContentGrid.FindColumnByFieldName("HTBH").Visible = true; ContentGrid.FindColumnByFieldName("HTMC").Visible = true; btnWBBJDMX.Caption = "查看外部线缆产品"; btnWBBJDMX.Width = (Unit)130; } else { ContentGrid.FindColumnByFieldName("HTBH").Visible = false; ContentGrid.FindColumnByFieldName("HTMC").Visible = false; btnWBBJDMX.Caption = "查看外部报价单明细"; btnWBBJDMX.Width = (Unit)142; } } //sWBBJDID:当前外部报价单ID、sSELBJDID:当前外部报价单对应的报价单ID、sBJDID:主页面传入的报价单ID,实际与选中的报价单ID一致 //2023.08.11 LF屏蔽 public static void Reimport(string sBJU002, string sBJU003, string sBJLY, string sBJFLID, string sBJDHQLY, string sBJRQ, string sJGBID, string sJGCIDS, string sXSQYID, string sHSBZ, string sTBJCLID, string sLBJCLID, string sTJ, string sLJ, string sNeedUpdBJDHQCLCB, string sJCLLX, string sLJJCLLX, string sPJLX, string sFKQXNR, string sSYDWID, string sCPBJMRXSWS, string sWBBJDID, string sSELBJDID, string sBJDID, CMISproSession tSession, ref string sMsg) { // int tmpXSWS = string.IsNullOrEmpty(sBJU002) ? 5 : CMISproConvert.StrToInt(sBJU002); // if (tmpXSWS < 0) // tmpXSWS = 0; // else if (tmpXSWS > 8) // tmpXSWS = 8; // bool bNeedUp = false; // double fBJSL = 0.0; // Dictionary dicUpdCPBJ = new Dictionary(); // dicUpdCPBJ.Clear(); // TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); // TSQL sSQL = new TSQL(dberp); // sSQL.Clear(); // sSQL.Add(" SELECT XLXSBJDMX_BJDID,XLXSBJDMX_XH,XLXSBJDMX_WBBJDID, "); // sSQL.Add(" XLWBBJDMX_WBBJDID,XLWBBJDMX_DRHH,XLWBBJDMX_XLXHID,XLWBBJDMX_XLGGID,XLWBBJDMX_XLBZID,XLWBBJDMX_DYDJID, "); // sSQL.Add(" XLWBBJDMX_BJCP,XLWBBJDMX_JLDW,XLWBBJDMX_BJSL,XLWBBJDMX_CPBJ,XLWBBJDMX_XLYSID "); // sSQL.Add(" FROM XLXSBJDMX "); // sSQL.Add(" LEFT JOIN XLWBBJDMX ON XLWBBJDMX_WBBJDID = XLXSBJDMX_WBBJDID AND XLWBBJDMX_DRHH = XLXSBJDMX_DRHH "); // sSQL.Add(" where 1 = 1 and exists( select 1 from XLWBBJDMX where 1 = 1 and XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pSELBJDID "); // sSQL.Add(" and XLXSBJDMX_WBBJDID = XLWBBJDMX_WBBJDID AND XLXSBJDMX_DRHH = XLWBBJDMX_DRHH)"); // sSQL.Add(" and XLXSBJDMX_BJDID =:pBJDID"); // sSQL.ParamByName("pWBBJDID").Value = sWBBJDID; // sSQL.ParamByName("pSELBJDID").Value = sSELBJDID; // sSQL.ParamByName("pBJDID").Value = sBJDID; // DataSet ds = dberp.OpenDataSet(sSQL); // if (ds.Tables[0].Rows.Count > 0) // { // try // { // string sXLXHID = "", sXLYSID = "", sXLGGID = "", sST = "", sDYDJ = ""; // string sJLDW = "";//计量单位 // string sBJCP = ""; // double sCBPJ = 0.0; // int iXH = 0; // dberp.BeginTrans(); // for (int i = 0; i < ds.Tables[0].Rows.Count; i++) // { // sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim(); // sXLGGID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim(); // sJLDW = ds.Tables[0].Rows[i]["XLWBBJDMX_JLDW"].ToString().Trim(); // sBJCP = ds.Tables[0].Rows[i]["XLWBBJDMX_BJCP"].ToString().Trim(); // if (sJLDW.Equals("")) // sJLDW = sBJU003; // if (sBJCP.Equals("") && sXLXHID.Equals("") && sXLGGID.Equals(""))//报价产品、型号、规格都为空认为是空行 // { // continue; // } // else // { // if (sXLXHID.Equals("")) // sXLXHID = "/"; // if (sXLGGID.Equals("")) // sXLGGID = "/"; // } // sSQL.Clear(); // sSQL.Add(" update XLXSBJDMX set "); // sSQL.Add(" XLXSBJDMX_XLXHID=:XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID=:XLXSBJDMX_XLGGID, "); // sSQL.Add(" XLXSBJDMX_XLBZID=:XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID=:XLXSBJDMX_DYDJID,XLXSBJDMX_XLYSID=:XLXSBJDMX_XLYSID,XLXSBJDMX_BJCP=:XLXSBJDMX_BJCP,XLXSBJDMX_WGCPBZ=:XLXSBJDMX_WGCPBZ, "); // sSQL.Add(" XLXSBJDMX_JLDW=:XLXSBJDMX_JLDW,XLXSBJDMX_BJSL=:XLXSBJDMX_BJSL,XLXSBJDMX_TZQCPBJ=:XLXSBJDMX_TZQCPBJ,XLXSBJDMX_TZCPBJ=:XLXSBJDMX_TZCPBJ,XLXSBJDMX_CPBJ=:XLXSBJDMX_CPBJ, "); // sSQL.Add(" XLXSBJDMX_JGBJJ=:XLXSBJDMX_JGBJJ,XLXSBJDMX_CLCB=:XLXSBJDMX_CLCB, XLXSBJDMX_JGBBJ=:XLXSBJDMX_JGBBJ,XLXSBJDMX_WHR=:XLXSBJDMX_WHR,XLXSBJDMX_WHRID=:XLXSBJDMX_WHRID,XLXSBJDMX_WHSJ=:XLXSBJDMX_WHSJ,"); // sSQL.Add(" XLXSBJDMX_BJJE=:XLXSBJDMX_BJJE,XLXSBJDMX_TZQBJJE=:XLXSBJDMX_TZQBJJE,XLXSBJDMX_JGBBJJCE=:XLXSBJDMX_JGBBJJCE,XLXSBJDMX_JGBBJJCL=:XLXSBJDMX_JGBBJJCL,XLXSBJDMX_CLZL=:XLXSBJDMX_CLZL,"); // sSQL.Add(" XLXSBJDMX_BJDHQCLCB=:XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CLCBJCL=:XLXSBJDMX_CLCBJCL,XLXSBJDMX_BZ=:XLXSBJDMX_BZ "); // sSQL.Add(" where XLXSBJDMX_BJDID=:XLXSBJDMX_BJDID and XLXSBJDMX_XH=:XLXSBJDMX_XH "); // iXH = CMISproConvert.StrToInt(ds.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim()); // sXLXHID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLXHID"].ToString().Trim(); // sXLGGID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLGGID"].ToString().Trim(); // sST = ds.Tables[0].Rows[i]["XLWBBJDMX_XLBZID"].ToString().Trim(); // sDYDJ = ds.Tables[0].Rows[i]["XLWBBJDMX_DYDJID"].ToString().Trim().Replace('K', 'k').Replace('v', 'V'); // if (ds.Tables[0].Rows[i]["XLWBBJDMX_XLYSID"].ToString().Trim().Equals("")) // sXLYSID = XLBJDInfo.GetDefaultYSID(sXLXHID, sXLGGID); // else // sXLYSID = ds.Tables[0].Rows[i]["XLWBBJDMX_XLYSID"].ToString().Trim(); // sCBPJ = CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["XLWBBJDMX_CPBJ"].ToString().Trim()); // if (sCBPJ != 0) // { // dicUpdCPBJ.Add(iXH, sCBPJ); // } // double bCLZL = 0.0;// NumberUtils.RoundX(CMISproConvert.StrToFloat(ContentGrid.DataKeys[int.Parse(sRowIndexs[i])]["XLXSCLQD_CLZL"].ToString().Trim()), 3); // double bJJ = 0.0;//基价 // double bCPJJ = 0.0;//表价 // double bCLCB = 0.0;//价格表行情料价 // double bBJDHQCLCB = 0.0;//报价单行情料价 // bool JgIsZero = false;//是否存在有材料用量、无材料价格的情况 // string sJGBJLDW = XLBJDUtils.GetJGBJLDW(sJGBID, sXLXHID, sXLGGID, sST, sDYDJ, sBJU003); // string sJGBJSDW = XLBJDUtils.GetsJSDW(sJGBJLDW, sBJU003); // if (sJGBJLDW.ToUpper().Equals("M") || sJGBJLDW.ToUpper().Equals("KM") || sJGBJLDW.ToUpper().Equals("米") || sJGBJLDW.ToUpper().Equals("千米")) // sSQL.ParamByName("XLXSBJDMX_JLDW").Value = sJLDW; // else // { // sSQL.ParamByName("XLXSBJDMX_JLDW").Value = sJGBJLDW; // sJLDW = sJGBJLDW; // } // double dBJDJLDWHSBL = 1; // string sWGCPBZ = "N"; // if (XLBJDUtils.IsJGFJGBMX(sBJRQ, sXLXHID, sXLGGID, sST, sDYDJ)) // { // sWGCPBZ = "Y"; // double dJGFJJ = 0; // string sJGFJLDW = ""; // XLBJDUtils.GetJGBJJ_JGF(sBJRQ, sXLXHID, sXLGGID, sST, sDYDJ, sHSBZ.Equals("Y"), ref dJGFJJ, ref sJGFJLDW); // //M、KM、米、千米、KG、T、千克、公斤、吨 // if (XLBJDUtils.sJCJLDWList.IndexOf(sJGFJLDW.ToUpper()) >= 0 // && XLBJDUtils.sJCJLDWList.IndexOf(sJLDW.ToUpper()) >= 0) // { // dBJDJLDWHSBL = XLBJDUtils.GetJLDWHSBL_JG(sJGFJLDW, sJLDW, sBJU003, sXLXHID, sXLGGID, sST, sDYDJ); // } // else // { // dBJDJLDWHSBL = XLBJDUtils.GetJLDWHSBL_JG(sJGFJLDW, sJLDW); // } // bCPJJ = dJGFJJ; // bJJ = bCPJJ; // bCLCB = bCPJJ; // bBJDHQCLCB = bCPJJ; // } // else // { // if (!XLBJDUtils.IsJGEJGB(sJGBID))//是否表价实时计算价格表 // { // //M、KM、米、千米、KG、T、千克、公斤、吨 // if (XLBJDUtils.sJCJLDWList.IndexOf(sJGBJSDW.ToUpper()) >= 0 // && XLBJDUtils.sJCJLDWList.IndexOf(sJLDW.ToUpper()) >= 0) // { // dBJDJLDWHSBL = XLBJDUtils.GetJLDWHSBL_JG(sJGBJSDW, sJLDW, sBJU003, sXLXHID, sXLGGID, sST, sDYDJ); // } // else // { // dBJDJLDWHSBL = XLBJDUtils.GetJLDWHSBL_JG(sJGBJLDW, sJLDW); // } // string pJGBID = sJGBID; // string pHSBZ = sHSBZ; // string sCPJJ = ""; // string sJJ = ""; // string sCLCB = ""; // if (sBJLY.Equals("D") || sBJLY.Equals("C")) // { // XLBJDInfo.GetFromJGB(sXLXHID, sXLGGID, sST, sDYDJ, pJGBID, sJGCIDS, pHSBZ.Equals("Y"), ref sCPJJ, ref sJJ, ref sCLCB); // if (sJGBJSDW.Equals("Km") || sJGBJSDW.Equals("M")) // { // Dictionary aryBJHQ = XLBJDUtils.GetCLCB_BJHQ(sBJFLID, pJGBID, sBJRQ, sXLXHID, sXLGGID, sST, sDYDJ, sJGBJLDW, sBJU003); // JgIsZero = aryBJHQ["JgIsZero"] == 1 ? true : false; // if (pHSBZ.Equals("Y")) // sCLCB = aryBJHQ["CLCB"].ToString(); // else // sCLCB = aryBJHQ["WSCLCB"].ToString(); // } // } // else // { // if (sJGBJSDW.Equals("Km") || sJGBJSDW.Equals("M")) // { // if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select top 1 XLXSBJFLBJRHQCL_BJCLID from XLXSBJFLBJRHQCL where XLXSBJFLBJRHQCL_BJFLID='{0}'", // sBJFLID))) // { // XLBJDUtils.GetFromJGB_BJRHQ(sXLXHID, sXLGGID, sST, sDYDJ, pJGBID, sJGCIDS, sBJRQ, pHSBZ.Equals("Y"), sBJU002, // sBJFLID, sJGBJLDW, sBJU003, ref sCPJJ, ref sJJ, ref sCLCB, ref JgIsZero); // } // else // { // XLBJDInfo.GetFromJGB(sXLXHID, sXLGGID, sST, sDYDJ, pJGBID, sJGCIDS, pHSBZ.Equals("Y"), ref sCPJJ, ref sJJ, ref sCLCB); // } // } // else // { // XLBJDInfo.GetFromJGB(sXLXHID, sXLGGID, sST, sDYDJ, pJGBID, sJGCIDS, pHSBZ.Equals("Y"), ref sCPJJ, ref sJJ, ref sCLCB); // } // } // bCPJJ = CMISproConvert.StrToFloat(sCPJJ); // bJJ = CMISproConvert.StrToFloat(sJJ); // bCLCB = CMISproConvert.StrToFloat(sCLCB); // if (sBJDHQLY.Trim().Equals("1")) // { // if (JgIsZero)//若存在有材料用量、无材料价格的情况,则算出的报价单行情料价改为负数显示 // bBJDHQCLCB = bCLCB * -1; // else // bBJDHQCLCB = bCLCB; // } // else // { // Dictionary aryBJRHQ = XLBJDUtils.GetCLCB_BJRHQ(sBJRQ, sXLXHID, sXLGGID, sST, sDYDJ); // JgIsZero = aryBJRHQ["JgIsZero"] == 1 ? true : false; // if (JgIsZero)//若存在有材料用量、无材料价格的情况,则算出的报价单行情料价改为负数显示 // { // if (pHSBZ.Equals("Y")) // bBJDHQCLCB = aryBJRHQ["CLCB"] * -1; // else // bBJDHQCLCB = aryBJRHQ["WSCLCB"] * -1; // } // else // { // if (pHSBZ.Equals("Y")) // bBJDHQCLCB = aryBJRHQ["CLCB"]; // else // bBJDHQCLCB = aryBJRHQ["WSCLCB"]; // } // //统一为价格表计量单位的价格 // double dBJU003_JGB_JLDWHSBL = XLBJDUtils.GetJLDWHSBL_JG(sBJU003, sJGBJLDW); // bBJDHQCLCB = bBJDHQCLCB * dBJU003_JGB_JLDWHSBL; // } // if (sNeedUpdBJDHQCLCB.Equals("Y")) // { // Dictionary aryBJDHQCLCB = XLBJDUtils.GetCLCB_BJDHQ(sBJDID, sBJRQ, sXLXHID, sXLGGID, sST, sDYDJ); // if (pHSBZ.Equals("Y")) // bBJDHQCLCB = aryBJDHQCLCB["CLCB"]; // else // bBJDHQCLCB = aryBJDHQCLCB["WSCLCB"]; // //统一为价格表计量单位的价格 // double dBJU003_JGB_JLDWHSBL = XLBJDUtils.GetJLDWHSBL_JG(sBJU003, sJGBJLDW); // bBJDHQCLCB = bBJDHQCLCB * dBJU003_JGB_JLDWHSBL; // } // } // else//表价实时计算价格表 // { // //M、KM、米、千米、KG、T、千克、公斤、吨 // if (XLBJDUtils.sJCJLDWList.IndexOf(sJGBJSDW.ToUpper()) >= 0 // && XLBJDUtils.sJCJLDWList.IndexOf(sJLDW.ToUpper()) >= 0) // { // dBJDJLDWHSBL = XLBJDUtils.GetJLDWHSBL_JG(sBJU003, sJLDW, sBJU003, sXLXHID, sXLGGID, sST, sDYDJ); // } // else // { // dBJDJLDWHSBL = XLBJDUtils.GetJLDWHSBL_JG(sBJU003, sJLDW); // } // string pHSBZ = sHSBZ; // Dictionary dicJGE = XLBJDUtils.GetCLCB_JGE(sBJRQ, sXLXHID, sXLGGID, sST, sDYDJ, sTBJCLID, sLBJCLID, sTJ, sLJ, pHSBZ.Equals("Y"), // sNeedUpdBJDHQCLCB.Equals("Y"), sBJDID); // JgIsZero = dicJGE["JgIsZero"] == 1 ? true : false; // bCLCB = dicJGE["CLCB"]; // bCPJJ = bCLCB; // bJJ = bCLCB; // bBJDHQCLCB = bCLCB; // } // } // bCPJJ = bCPJJ * dBJDJLDWHSBL; // bJJ = bJJ * dBJDJLDWHSBL; // bCLCB = bCLCB * dBJDJLDWHSBL; // bBJDHQCLCB = bBJDHQCLCB * dBJDJLDWHSBL; // double bCPBJ = bCPJJ; // //处理基本信息之外的数据 // sDYDJ = sDYDJ.Equals("") ? " " : sDYDJ; // fBJSL = CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["XLWBBJDMX_BJSL"].ToString().Trim()); // double dBJU003_BJD_JLDWHSBL = XLBJDUtils.GetJLDWHSBL_JG(sBJU003, sJLDW); // bCLZL = fBJSL * XLBJDUtils.GetCLZL(sXLXHID, sXLGGID, sST, sDYDJ) * dBJU003_BJD_JLDWHSBL; // double jsBJJE = NumberUtils.RoundX(fBJSL * bCPBJ, 2); // //利润 // double bLRE = 0.0; // if (sJCLLX.Equals("1"))//表价价差率公式 // { // bLRE = NumberUtils.RoundX(bCPBJ * fBJSL, 2) - NumberUtils.RoundX(bCPJJ * fBJSL, 2); // } // else if (sJCLLX.Equals("2")) // { // bLRE = NumberUtils.RoundX(bCPJJ * fBJSL, 2) - NumberUtils.RoundX(bCPBJ * fBJSL, 2); // } // double bLRL = 0.0; // if (sJCLLX.Equals("1")) // { // if (bCPBJ != 0 && fBJSL != 0) // bLRL = NumberUtils.RoundX(bLRE * 100 / NumberUtils.RoundX(bCPBJ * fBJSL, 2), 2); // } // else if (sJCLLX.Equals("2")) // { // if (bCPJJ != 0 && fBJSL != 0) // bLRL = NumberUtils.RoundX(bLRE * 100 / NumberUtils.RoundX(bCPJJ * fBJSL, 2), 2); // } // else if (sJCLLX.Equals("3")) // { // if (bCPBJ != 0) // bLRL = NumberUtils.RoundX(bCPJJ * 100 / NumberUtils.RoundX(bCPBJ, 2), 2); // } // double bCLCBLRL = 0.0; // if (sLJJCLLX.Equals("1")) // { // double fCLCBLRE = NumberUtils.RoundX(fBJSL * bCPBJ, 2) - NumberUtils.RoundX(fBJSL * bCLCB, 2); // if (bCPBJ != 0 && fBJSL != 0) // bCLCBLRL = NumberUtils.RoundX(fCLCBLRE * 100 / NumberUtils.RoundX(bCPBJ * fBJSL, 2), 2); // } // else if (sLJJCLLX.Equals("2")) // { // double fCLCBLRE = NumberUtils.RoundX(fBJSL * bCPBJ, 2) - NumberUtils.RoundX(fBJSL * bBJDHQCLCB, 2); // if (bCPBJ != 0 && fBJSL != 0) // bCLCBLRL = NumberUtils.RoundX(fCLCBLRE * 100 / NumberUtils.RoundX(bCPBJ * fBJSL, 2), 2); // } // sSQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID; // sSQL.ParamByName("XLXSBJDMX_XH").Value = iXH; // sSQL.ParamByName("XLXSBJDMX_XLXHID").Value = sXLXHID; // sSQL.ParamByName("XLXSBJDMX_XLGGID").Value = sXLGGID; // sSQL.ParamByName("XLXSBJDMX_XLBZID").Value = sST; // sSQL.ParamByName("XLXSBJDMX_DYDJID").Value = sDYDJ; // sSQL.ParamByName("XLXSBJDMX_XLYSID").Value = sXLYSID; // sSQL.ParamByName("XLXSBJDMX_BJCP").Value = sBJCP; // sSQL.ParamByName("XLXSBJDMX_BJSL").Value = fBJSL; // sSQL.ParamByName("XLXSBJDMX_JGBBJ").Value = bCPJJ; // sSQL.ParamByName("XLXSBJDMX_TZQCPBJ").Value = bCPBJ; // sSQL.ParamByName("XLXSBJDMX_TZCPBJ").Value = 0; // sSQL.ParamByName("XLXSBJDMX_CPBJ").Value = bCPBJ; // sSQL.ParamByName("XLXSBJDMX_JGBJJ").Value = bJJ; // sSQL.ParamByName("XLXSBJDMX_CLCB").Value = bCLCB; // sSQL.ParamByName("XLXSBJDMX_CLZL").Value = bCLZL; // sSQL.ParamByName("XLXSBJDMX_BJDHQCLCB").Value = bBJDHQCLCB; // sSQL.ParamByName("XLXSBJDMX_BJJE").Value = NumberUtils.RoundX(fBJSL * bCPBJ, 2).ToString(); // sSQL.ParamByName("XLXSBJDMX_TZQBJJE").Value = NumberUtils.RoundX(fBJSL * bCPBJ, 2).ToString(); // sSQL.ParamByName("XLXSBJDMX_JGBBJJCE").Value = bLRE; // sSQL.ParamByName("XLXSBJDMX_JGBBJJCL").Value = bLRL; // sSQL.ParamByName("XLXSBJDMX_CLCBJCL").Value = bCLCBLRL; // sSQL.ParamByName("XLXSBJDMX_WGCPBZ").Value = sWGCPBZ; // sSQL.ParamByName("XLXSBJDMX_BZ").Value = ""; // sSQL.ParamByName("XLXSBJDMX_WHR").Value = tSession.UserName; // sSQL.ParamByName("XLXSBJDMX_WHRID").Value = tSession.UserId; // sSQL.ParamByName("XLXSBJDMX_WHSJ").Value = DateTime.Now; // dberp.ExecSQL(sSQL); // if (XLBJDUtils.IsJGEJGB(sJGBID.Trim()))//是否表价实时计算价格表 // { // if (!sWGCPBZ.Equals("Y")) // { // DataSet dsJGBYZ = new DataSet(); // string sJGBTJYSS = ""; // //记录计算公式 // Dictionary dicJGBTZYZGS = new Dictionary(); // //记录价格表调价因素相关信息-线缆基本信息 // Dictionary dicXLJBXX_JGE = new Dictionary(); // XLBJDUtils.GetdsJGBYZ_JGE(sJGBID.Trim(), ref dsJGBYZ); // sJGBTJYSS = XLBJDUtils.GetJGBTJYSSByBJFLID(sBJFLID); // if (dsJGBYZ.Tables[0].Rows.Count > 0 && sJGBTJYSS.Equals("1")) // { // dicXLJBXX_JGE.Clear(); // dicJGBTZYZGS.Clear(); // dicXLJBXX_JGE.Add("XLXHID", sXLXHID); // dicXLJBXX_JGE.Add("XLGGID", sXLGGID); // dicXLJBXX_JGE.Add("XLBZID", sST); // dicXLJBXX_JGE.Add("DYDJID", sDYDJ); // dicXLJBXX_JGE.Add("XSWS", tmpXSWS.ToString().Trim()); // dicXLJBXX_JGE.Add("XH", iXH.ToString().Trim()); // dicXLJBXX_JGE.Add("BJDID", sBJDID); // dicXLJBXX_JGE.Add("BJDJLDWHSBL", dBJDJLDWHSBL.ToString().Trim()); // dicJGBTZYZGS = XLBJDUtils.GetJGBTZYZ_JGE(sJGBID.Trim(), "1", dsJGBYZ, dicXLJBXX_JGE); // XLBJDUtils.InsertXLXSBJDJJYZ_JGE(dberp, sSQL, dsJGBYZ, dicXLJBXX_JGE, dicJGBTZYZGS); // XLBJDUtils.UpdateXLXSBJDMX_JGBBJ_JGE(dberp, sSQL, dsJGBYZ, dicXLJBXX_JGE, dicJGBTZYZGS); // } // else // { // XLBJDUtils.InsertXLXSBJDJJYZ_JGEDef(dberp, sSQL, sBJDID, iXH.ToString().Trim()); // } // if (JgIsZero)//若存在有材料用量、无材料价格的情况,则算出的表价、报价单行情料价改为负数显示 // { // dberp.ExecSQL(string.Format(@"update XLXSBJDMX set // XLXSBJDMX_JGBBJ=ABS(XLXSBJDMX_JGBBJ)*(-1), // XLXSBJDMX_TZQCPBJ=ABS(XLXSBJDMX_TZQCPBJ)*(-1), // XLXSBJDMX_TZCPBJ=ABS(XLXSBJDMX_TZCPBJ), // XLXSBJDMX_CPBJ=ABS(XLXSBJDMX_CPBJ)*(-1), // XLXSBJDMX_JGBJJ=ABS(XLXSBJDMX_JGBJJ)*(-1), // XLXSBJDMX_CLCB = ABS(XLXSBJDMX_CLCB)*(-1), // XLXSBJDMX_BJDHQCLCB = ABS(XLXSBJDMX_BJDHQCLCB)*(-1) // where XLXSBJDMX_BJDID='{0}' and XLXSBJDMX_XH={1}", sBJDID, iXH)); // } // } // else // { // XLBJDUtils.InsertXLXSBJDJJYZ_JGEDef(dberp, sSQL, sBJDID, iXH.ToString().Trim()); // } // } // bNeedUp = true; // //给报价单因子赋默认值 // XLBJDUtils.InsertXLXSBJDYZZ0(dberp, sSQL, sBJFLID, sBJDID, iXH, fBJSL, // sXLXHID, sXLGGID, sST, sDYDJ, sXSQYID, sPJLX, // sFKQXNR, sSYDWID, sJLDW, sBJU003, sWGCPBZ, sXLYSID); // } // if (bNeedUp) // { // //同步报价单明细记录插入XLXSBJDCLCB、XLXSBJDJJYZ // XLBJDInfo.InsertCLCBandJJYZ(TControlState.ctsEdit, sBJDID, sJGBID, tSession.UserId, tSession.UserName, sBJU003, sHSBZ.Equals("Y")); // //使用报价单调价因子重算TZQCPBJ、CPBJ、TZQBJJE、BJJE等 // XLBJDUtils.UpdateBJDMX(dberp, sSQL, sBJFLID, sBJDID, tmpXSWS, // sJCLLX, sLJJCLLX, sCPBJMRXSWS); // //用报价更新计算出来的报价 // foreach (int iKey in dicUpdCPBJ.Keys) // { // string sqlBJJE = "RoundFix(:pUpdCPBJ*XLXSBJDMX_BJSL+XLXSBJDMX_TZBJJE,2)"; // sSQL.Clear(); // sSQL.Add("update XLXSBJDMX set "); // sSQL.Add("XLXSBJDMX_BJSDBZ='Y',");//更新报价的同时,需将BJSDBZ字段设置为Y // sSQL.Add("XLXSBJDMX_CPBJ=:pUpdCPBJ,"); // sSQL.Add("XLXSBJDMX_TZCPBJ=case when XLXSBJDMX_TZQCPBJ=0 then 0 else 100*(:pUpdCPBJ-XLXSBJDMX_TZQCPBJ)/XLXSBJDMX_TZQCPBJ end,"); // sSQL.Add("XLXSBJDMX_TZQBJJE=RoundFix(:pUpdCPBJ*XLXSBJDMX_BJSL,2),"); // sSQL.Add("XLXSBJDMX_BJJE=" + sqlBJJE + ","); // sSQL.Add("XLXSBJDMX_TZBJJE=" + sqlBJJE + "-RoundFix(:pUpdCPBJ*XLXSBJDMX_BJSL,2), "); // if (sJCLLX.Equals("1"))//表价价差率公式 // { // sSQL.Add("XLXSBJDMX_JGBBJJCL =case when " + sqlBJJE + "=0.0 then 0.0 else RoundFix(100*(" + sqlBJJE + "-RoundFix(XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL,2))/(" + sqlBJJE + "),2) end,"); // sSQL.Add("XLXSBJDMX_JGBBJJCE =RoundFix(" + sqlBJJE + "-RoundFix(XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL,2)," + tmpXSWS + "), "); // } // else if (sJCLLX.Equals("2")) // { // sSQL.Add("XLXSBJDMX_JGBBJJCL =case when XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL=0.0 then 0.0 else RoundFix(100*(RoundFix(XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL,2)-" + sqlBJJE + ")/(RoundFix(XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL,2)),2) end,"); // sSQL.Add("XLXSBJDMX_JGBBJJCE =RoundFix(RoundFix(XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL,2)-" + sqlBJJE + "," + tmpXSWS + "), "); // } // else if (sJCLLX.Equals("3")) // { // sSQL.Add("XLXSBJDMX_JGBBJJCL =case when " + sqlBJJE + "=0.0 then 0.0 else RoundFix(100*(RoundFix(XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL,2))/(" + sqlBJJE + "),2) end,"); // sSQL.Add("XLXSBJDMX_JGBBJJCE =0, "); // } // else // { // sSQL.Add("XLXSBJDMX_JGBBJJCL=0,"); // sSQL.Add("XLXSBJDMX_JGBBJJCE=0,"); // } // if (sLJJCLLX.Equals("1"))//料价价差率公式 // { // sSQL.Add("XLXSBJDMX_CLCBJCL =case when " + sqlBJJE + "=0.0 then 0.0 else RoundFix(100*(" + sqlBJJE + "-RoundFix(XLXSBJDMX_CLCB*XLXSBJDMX_BJSL,2))/(" + sqlBJJE + "),2) end"); // } // else if (sLJJCLLX.Equals("2")) // { // sSQL.Add("XLXSBJDMX_CLCBJCL =case when " + sqlBJJE + "=0.0 then 0.0 else RoundFix(100*(" + sqlBJJE + "-RoundFix(XLXSBJDMX_BJDHQCLCB*XLXSBJDMX_BJSL,2))/(" + sqlBJJE + "),2) end"); // } // else // { // sSQL.Add("XLXSBJDMX_CLCBJCL=0"); // } // sSQL.Add(" where XLXSBJDMX_BJDID=:pBJDID and XLXSBJDMX_XH=:pXH"); // sSQL.ParamByName("pUpdCPBJ").Value = NumberUtils.RoundX(dicUpdCPBJ[iKey], tmpXSWS); // sSQL.ParamByName("pBJDID").Value = sBJDID; // sSQL.ParamByName("pXH").Value = iKey; // dberp.ExecSQL(sSQL); // } // //同步补充插入XLXSCLQD、XLXSJGBMX中没有的记录 // XLBJDInfo.InsertCLQDorJGBMX(sBJDID, sJGBID, sJGCIDS, tSession); // } // sMsg = "导入成功!"; // dberp.CommitTrans(); // } // catch (Exception ex) // { // dberp.RollbackTrans(); // sMsg = "导入出现异常情况:" + ex.Message; // return; // } // } } #endregion #region 报表事件 protected void OpenBB(string sBJDID, string sTimeSpan) { //bReadBBYS = false; if (dicReadBBYS.ContainsKey(tSession.UserId)) { dicReadBBYS[tSession.UserId] = "N"; } else { dicReadBBYS.Add(tSession.UserId, "N"); } string sWizard = ""; string sBBYSJS = ""; string sReportizard = ""; string sBBMB = ""; XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000); string sCPML = pzxx.XLXSBJPZ_XSCPML; string sXSPWQD = pzxx.XLXSBJPZ_XSPWQD; string sXSYZ = PageParam.GetRTrimString("XSYZ"); string sXSYXJ = PageParam.GetRTrimString("XSYXJ"); string sXSYSCP = PageParam.GetRTrimString("XSYSCP"); string sXSBH = PageParam.GetRTrimString("XSBH"); string sXSCPBJXJ = PageParam.GetRTrimString("XSCPBJXJ"); bool bXsGWBM = XLBJDUtils.ExistXLXSBJGWWL(); string sHTBH = ""; if (!string.IsNullOrEmpty(PageParam.GetRTrimString("HTBH"))) { sHTBH = PageParam.GetRTrimString("HTBH"); } Dictionary dicGDLM = GetGDLM(); Dictionary dicDRLM = GetDRLM(sXSYXJ, sXSYSCP, sXSYZ, sXSBH, sXSCPBJXJ, sCPML, sXSPWQD, bXsGWBM, sBJDID); BJFLXX bjflxx = XLBJDUtils.GetBJFLXXByBJDID(sBJDID); if (!string.IsNullOrEmpty(bjflxx.XLXSBJFL_JMBGSBM.Trim())) { dicGDLM["O"] = bjflxx.XLXSBJFL_JMBGSBM.Trim(); } Dictionary dicYZGDLM = XLWBBJDUtils.GetWBBJDYZZGDLM(sBJDID); foreach (KeyValuePair kvp in dicYZGDLM) dicGDLM[kvp.Key] = kvp.Value; int ColumnIndex = 1; //导入前的缺省样式 string sXML = ""; foreach (string stDRLM in dicDRLM.Keys) { if (stDRLM.Equals("8") || stDRLM.Equals("G") || stDRLM.Equals("H") || stDRLM.Equals("I") || stDRLM.Equals("K") || stDRLM.Equals("N")) sXML += " "; ColumnIndex++; } sXML += " " + " "; byte[] b4 = new byte[0]; b4 = Encoding.Default.GetBytes(sXML); byte[] zipbuf4 = ZlibCompress.CompressBytes(b4); sBBMB = Convert.ToBase64String(zipbuf4); try { string clientid = this.txtSource.ClientID; string sRun = string.Format("document.all.ActiveXBBForBBYS.OperationType = 'DesignReport';document.all.ActiveXBBForBBYS.EncodedReport = \'{0}\';", sBBMB); sBBYSJS = @" "; TPageParams tpp = new TPageParams(); tpp.Title = "复制内容导入"; tpp.UrlPath = "../N_MODEL/Dialog/BBYS_YSSJ.aspx"; tpp.AddString("BBLink", "Y"); tpp.AddExtString("sRun", sRun.Trim()); tpp.AddExtString("Save", sBBYSJS); tpp.AddExtString("Wizard", sWizard); tpp.AddExtString("ReportWizard", sReportizard); tpp.AddString("FormTitle", "报表样式"); string sFunction = "function CallBackOpenMXFun() {" + " document.getElementById('" + btnOpenFZR.ClientID.ToString() + "').click();" + " }"; OpenFuncModuleDialogWithCallBack(100210034, tpp, "CallBackOpenMXFun", sFunction); //OpenFuncModuleDialog(100210034, tpp); } catch { ShowMessage("打开报表失败!"); } } public void ReadBBYS(string sRep, string sBJDID, string sTimeSpan, string sXSYXJ, string sXSYZ, string sXSYSCP, string sXSBH, string sHTBH,string sXSCPBJXJ) { if (dicReadBBYS.ContainsKey(tSession.UserId) && dicReadBBYS[tSession.UserId] == "N") { dicReadBBYS[tSession.UserId] = "Y"; Dictionary dicColumn = new Dictionary(); XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000); string sCPML = pzxx.XLXSBJPZ_XSCPML; string sXSPWQD = pzxx.XLXSBJPZ_XSPWQD; bool bXsGWBM = XLBJDUtils.ExistXLXSBJGWWL(); dicColumn.Clear(); dicColumn.Add("1", "XLWBBJDNR_LMNR01"); dicColumn.Add("2", "XLWBBJDNR_LMNR02"); dicColumn.Add("3", "XLWBBJDNR_LMNR03"); dicColumn.Add("4", "XLWBBJDNR_LMNR04"); dicColumn.Add("5", "XLWBBJDNR_LMNR05"); dicColumn.Add("6", "XLWBBJDNR_LMNR06"); dicColumn.Add("7", "XLWBBJDNR_LMNR07"); dicColumn.Add("8", "XLWBBJDNR_LMNR08"); dicColumn.Add("9", "XLWBBJDNR_LMNR09"); dicColumn.Add("10", "XLWBBJDNR_LMNR10"); dicColumn.Add("11", "XLWBBJDNR_LMNR11"); dicColumn.Add("12", "XLWBBJDNR_LMNR12"); dicColumn.Add("13", "XLWBBJDNR_LMNR13"); dicColumn.Add("14", "XLWBBJDNR_LMNR14"); dicColumn.Add("15", "XLWBBJDNR_LMNR15"); dicColumn.Add("16", "XLWBBJDNR_LMNR16"); dicColumn.Add("17", "XLWBBJDNR_LMNR17"); dicColumn.Add("18", "XLWBBJDNR_LMNR18"); dicColumn.Add("19", "XLWBBJDNR_LMNR19"); dicColumn.Add("20", "XLWBBJDNR_LMNR20"); dicColumn.Add("21", "XLWBBJDNR_LMNR21"); dicColumn.Add("22", "XLWBBJDNR_LMNR22"); dicColumn.Add("23", "XLWBBJDNR_LMNR23"); dicColumn.Add("24", "XLWBBJDNR_LMNR24"); dicColumn.Add("25", "XLWBBJDNR_LMNR25"); List lst = new List(); lst.Clear(); int ColumnIndex = 0; int indexBJSL = -1; int indexCPBJ = -1; int indexYXJ = -1; int indexCPBJXJ = -1; int indexBJJEXJ = -1 ; Dictionary dicDRLM = GetDRLM(sXSYXJ, sXSYSCP, sXSYZ, sXSBH, sXSCPBJXJ, sCPML, sXSPWQD, bXsGWBM, sBJDID); foreach (string stDRLM in dicDRLM.Keys) { ColumnIndex++; if (stDRLM.Equals("5")) indexBJSL = ColumnIndex; if (stDRLM.Equals("6")) indexCPBJ = ColumnIndex; if (stDRLM.Equals("B")) indexYXJ = ColumnIndex; if (stDRLM.Equals("G")) indexCPBJXJ = ColumnIndex; if (stDRLM.Equals("H")) indexBJJEXJ = ColumnIndex; } Dictionary dicYZColumnIndex = new Dictionary(); Dictionary dicYZGDLM = XLWBBJDUtils.GetWBBJDYZZGDLM(sBJDID); ColumnIndex = 0; foreach (string stDRLM in dicDRLM.Keys) { ColumnIndex++; if (dicYZGDLM.ContainsKey(stDRLM) && !dicYZColumnIndex.ContainsKey(ColumnIndex)) dicYZColumnIndex.Add(ColumnIndex, true); } string sBBMB = ""; string sRow = ""; string sColumn = ""; string sValue = ""; if (sBJDID.Equals("")) { sBJDID = " "; } bool Success = false; string sWBBJDID = ""; double pCount = 0; string sDateTime = sTimeSpan.Split('|')[1]; string sWBBJDIDList = ""; int iZFS = 1; byte[] b = Convert.FromBase64String(sRep); byte[] zipbuf = new byte[0]; zipbuf = ZlibCompress.DecompressBytes(b); sBBMB = System.Text.Encoding.Default.GetString(zipbuf, 0, zipbuf.Length); if (!string.IsNullOrEmpty(sBBMB.Trim())) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(dberp); try { dberp.BeginTrans(); sSQL.Clear(); sSQL.Add("insert into XLWBBJDNR("); sSQL.Add(" XLWBBJDNR_BJDID, XLWBBJDNR_WBBJDID, XLWBBJDNR_DRHH, "); sSQL.Add(" XLWBBJDNR_LMNR01, XLWBBJDNR_LMNR02, XLWBBJDNR_LMNR03, XLWBBJDNR_LMNR04, XLWBBJDNR_LMNR05, XLWBBJDNR_LMNR06,"); sSQL.Add(" XLWBBJDNR_LMNR07, XLWBBJDNR_LMNR08, XLWBBJDNR_LMNR09,XLWBBJDNR_LMNR10,XLWBBJDNR_LMNR11,XLWBBJDNR_LMNR12, "); sSQL.Add(" XLWBBJDNR_LMNR13,XLWBBJDNR_LMNR14,XLWBBJDNR_LMNR15,XLWBBJDNR_LMNR16,XLWBBJDNR_LMNR17,XLWBBJDNR_LMNR18,"); sSQL.Add(" XLWBBJDNR_LMNR19,XLWBBJDNR_LMNR20,XLWBBJDNR_LMNR21,XLWBBJDNR_LMNR22,XLWBBJDNR_LMNR23,XLWBBJDNR_LMNR24,XLWBBJDNR_LMNR25)"); sSQL.Add("values (:XLWBBJDNR_BJDID, :XLWBBJDNR_WBBJDID, :XLWBBJDNR_DRHH, "); sSQL.Add(" isnull(:XLWBBJDNR_LMNR01,' '), isnull(:XLWBBJDNR_LMNR02,' '), isnull(:XLWBBJDNR_LMNR03,' '), isnull(:XLWBBJDNR_LMNR04,' '), isnull(:XLWBBJDNR_LMNR05,' '), isnull(:XLWBBJDNR_LMNR06,' '),"); sSQL.Add(" isnull(:XLWBBJDNR_LMNR07,' '), isnull(:XLWBBJDNR_LMNR08,' '), isnull(:XLWBBJDNR_LMNR09,' '), isnull(:XLWBBJDNR_LMNR10,' '), isnull(:XLWBBJDNR_LMNR11,' '), isnull(:XLWBBJDNR_LMNR12,' '),"); sSQL.Add(" isnull(:XLWBBJDNR_LMNR13,' '), isnull(:XLWBBJDNR_LMNR14,' '), isnull(:XLWBBJDNR_LMNR15,' '), isnull(:XLWBBJDNR_LMNR16,' '), isnull(:XLWBBJDNR_LMNR17,' '), isnull(:XLWBBJDNR_LMNR18,' '),"); sSQL.Add(" isnull(:XLWBBJDNR_LMNR19,' '), isnull(:XLWBBJDNR_LMNR20,' '), isnull(:XLWBBJDNR_LMNR21,' '), isnull(:XLWBBJDNR_LMNR22,' '), isnull(:XLWBBJDNR_LMNR23,' '), isnull(:XLWBBJDNR_LMNR24,' '),"); sSQL.Add(" isnull(:XLWBBJDNR_LMNR25,' '))"); XmlDocument xml = new XmlDocument(); xml.LoadXml(sBBMB); XmlNode XmlRoot = xml.SelectSingleNode("Report"); XmlNodeList XmlRootList = XmlRoot.SelectNodes("Cells"); int iLastDRHH = 1; foreach (XmlNode XmlKey in XmlRootList) { for (int i = 0; i < XmlKey.ChildNodes.Count; i++) { XmlNode XmlKeyC = XmlKey.ChildNodes[i]; if (XmlKeyC.ChildNodes.Count > 0) { int j = 0; for (; j < XmlKeyC.ChildNodes.Count; j++) { sRow = XmlKeyC.ChildNodes[j].Attributes["Row"].Value.Trim(); sColumn = XmlKeyC.ChildNodes[j].Attributes["Column"].Value.Trim(); if (CMISproConvert.StrToFloat(sRow) >= 2) { sValue = XmlKeyC.ChildNodes[j].Attributes["Value"].Value.Trim(); break; } } lst.Clear(); j++; for (; j < XmlKeyC.ChildNodes.Count; j++) { if (!sRow.Equals(XmlKeyC.ChildNodes[j].Attributes["Row"].Value.Trim())) { if (dicColumn.ContainsKey(sColumn)) { if (sColumn.Equals(indexBJSL.ToString()) || sColumn.Equals(indexCPBJ.ToString().Trim()))//报价数量、报价,解决千分位问题 sSQL.ParamByName(dicColumn[sColumn]).Value = CMISproConvert.StrToFloat(sValue).ToString().Trim(); else if (sXSYXJ == "Y" && sColumn.Equals(indexYXJ.ToString())) { sSQL.ParamByName(dicColumn[sColumn]).Value = CMISproConvert.StrToFloat(sValue).ToString().Trim(); } else if (sXSCPBJXJ == "Y" && (sColumn.Equals(indexCPBJXJ.ToString()) || sColumn.Equals(indexBJJEXJ.ToString()))) { sSQL.ParamByName(dicColumn[sColumn]).Value = CMISproConvert.StrToFloat(sValue).ToString().Trim(); } else if (dicYZColumnIndex.ContainsKey(CMISproConvert.StrToInt(sColumn))) sSQL.ParamByName(dicColumn[sColumn]).Value = CMISproConvert.StrToFloat(sValue).ToString().Trim(); else sSQL.ParamByName(dicColumn[sColumn]).Value = sValue; lst.Add(sColumn); } if (!Success) { sWBBJDID = XLWBBJDUtils.GetNewWBBJDID(); sWBBJDIDList += "," + sWBBJDID; InsertWBBJDML(sBJDID, sWBBJDID, sHTBH, sDateTime, tSession); } for (int m = 1; m <= dicColumn.Count; m++) { if (!lst.Contains(m.ToString().Trim())) { sSQL.ParamByName(dicColumn[m.ToString().Trim()]).Value = ""; } } if (CMISproConvert.StrToInt(sRow) > (1 + Rcount * iZFS)) { //先把上一个报价单空行补足 if ((1 + Rcount * iZFS) - iLastDRHH > 1) InsertBlankRow(sBJDID, sWBBJDID, iLastDRHH, (2 + Rcount * iZFS)); iLastDRHH = (1 + Rcount * iZFS); iZFS++; sWBBJDID = XLWBBJDUtils.GetNewWBBJDID(); sWBBJDIDList += "," + sWBBJDID; InsertWBBJDML(sBJDID, sWBBJDID, sHTBH, sDateTime, tSession); } //插入空行,空行数=此次导入行号-上一次导入行号-1 if (CMISproConvert.StrToInt(sRow) - iLastDRHH > 1) InsertBlankRow(sBJDID, sWBBJDID, iLastDRHH, CMISproConvert.StrToInt(sRow)); sSQL.ParamByName("XLWBBJDNR_BJDID").Value = sBJDID; sSQL.ParamByName("XLWBBJDNR_WBBJDID").Value = sWBBJDID; sSQL.ParamByName("XLWBBJDNR_DRHH").Value = CMISproConvert.StrToFloat(sRow); dberp.ExecSQL(sSQL); iLastDRHH = CMISproConvert.StrToInt(sRow); lst.Clear(); Success = true; } else { if (dicColumn.ContainsKey(sColumn)) { if (sColumn.Equals(indexBJSL.ToString()) || sColumn.Equals(indexCPBJ.ToString().Trim()))//报价数量、报价,解决千分位问题 sSQL.ParamByName(dicColumn[sColumn]).Value = CMISproConvert.StrToFloat(sValue).ToString().Trim(); else if (sXSYXJ == "Y" && sColumn.Equals(indexYXJ.ToString())) { sSQL.ParamByName(dicColumn[sColumn]).Value = CMISproConvert.StrToFloat(sValue).ToString().Trim(); } else if (sXSCPBJXJ == "Y" && (sColumn.Equals(indexCPBJXJ.ToString()) || sColumn.Equals(indexBJJEXJ.ToString()))) { sSQL.ParamByName(dicColumn[sColumn]).Value = CMISproConvert.StrToFloat(sValue).ToString().Trim(); } else if (dicYZColumnIndex.ContainsKey(CMISproConvert.StrToInt(sColumn))) sSQL.ParamByName(dicColumn[sColumn]).Value = CMISproConvert.StrToFloat(sValue).ToString().Trim(); else sSQL.ParamByName(dicColumn[sColumn]).Value = sValue; lst.Add(sColumn); } } sRow = XmlKeyC.ChildNodes[j].Attributes["Row"].Value.Trim(); sColumn = XmlKeyC.ChildNodes[j].Attributes["Column"].Value.Trim(); sValue = XmlKeyC.ChildNodes[j].Attributes["Value"].Value.Trim(); } //处理最后一行 if (CMISproConvert.StrToFloat(sRow) >= 2) { if (dicColumn.ContainsKey(sColumn)) { if (sColumn.Equals(indexBJSL.ToString()) || sColumn.Equals(indexCPBJ.ToString().Trim()))//报价数量、报价,解决千分位问题 sSQL.ParamByName(dicColumn[sColumn]).Value = CMISproConvert.StrToFloat(sValue).ToString().Trim(); else if (sXSYXJ == "Y" && sColumn.Equals(indexYXJ.ToString())) { sSQL.ParamByName(dicColumn[sColumn]).Value = CMISproConvert.StrToFloat(sValue).ToString().Trim(); } else if (sXSCPBJXJ == "Y" && (sColumn.Equals(indexCPBJXJ.ToString()) || sColumn.Equals(indexBJJEXJ.ToString()))) { sSQL.ParamByName(dicColumn[sColumn]).Value = CMISproConvert.StrToFloat(sValue).ToString().Trim(); } else if (dicYZColumnIndex.ContainsKey(CMISproConvert.StrToInt(sColumn))) sSQL.ParamByName(dicColumn[sColumn]).Value = CMISproConvert.StrToFloat(sValue).ToString().Trim(); else sSQL.ParamByName(dicColumn[sColumn]).Value = sValue; lst.Add(sColumn); } if (!Success) { sWBBJDID = XLWBBJDUtils.GetNewWBBJDID(); sWBBJDIDList += "," + sWBBJDID; InsertWBBJDML(sBJDID, sWBBJDID, sHTBH, sDateTime, tSession); } for (int m = 1; m <= dicColumn.Count; m++) { if (!lst.Contains(m.ToString().Trim())) { sSQL.ParamByName(dicColumn[m.ToString().Trim()]).Value = ""; } } if (CMISproConvert.StrToInt(sRow) > (1 + Rcount * iZFS)) { //先把上一个报价单空行补足 if ((1 + Rcount * iZFS) - iLastDRHH > 1) InsertBlankRow(sBJDID, sWBBJDID, iLastDRHH, (2 + Rcount * iZFS)); iLastDRHH = (1 + Rcount * iZFS); iZFS++; sWBBJDID = XLWBBJDUtils.GetNewWBBJDID(); sWBBJDIDList += "," + sWBBJDID; InsertWBBJDML(sBJDID, sWBBJDID, sHTBH, sDateTime, tSession); } //插入空行,空行数=此次导入行号-上一次导入行号-1 if (CMISproConvert.StrToInt(sRow) - iLastDRHH > 1) InsertBlankRow(sBJDID, sWBBJDID, iLastDRHH, CMISproConvert.StrToInt(sRow)); sSQL.ParamByName("XLWBBJDNR_BJDID").Value = sBJDID; sSQL.ParamByName("XLWBBJDNR_WBBJDID").Value = sWBBJDID; sSQL.ParamByName("XLWBBJDNR_DRHH").Value = CMISproConvert.StrToFloat(sRow); dberp.ExecSQL(sSQL); iLastDRHH = CMISproConvert.StrToInt(sRow); lst.Clear(); Success = true; if (CMISproConvert.StrToFloat(sRow) > pCount) { pCount = CMISproConvert.StrToFloat(sRow); } } } } } if (Success) { string[] sWBBJDID_list = sWBBJDIDList.TrimStart(',').Split(','); int iMLFZH = CMISproDataBase.GetMaxXH("DBERP", "XLWBBJDML", "XLWBBJDML_MLFZH", "") + 1; for (int i = 0; i < sWBBJDID_list.Length; i++) //插入默认数据 ComplementXLWBBJDML(sWBBJDID_list[i], sBJDID, sDateTime, pCount.ToString().Trim(), i + 1, iZFS, iMLFZH, sXSYXJ, sXSYZ, sXSYSCP, sXSBH,sXSCPBJXJ,tSession); //处理规格列 //XLBJD_WBBJDNRList.ConvertWBBJDMX_XLBZID(dberp, sSQL, sWBBJDID, sBJDID, sDateTime, tSession.UserId, XLBJDUtils.GetDefaultXLBZID()); } dberp.CommitTrans(); } catch (Exception ex) { Success = false; dberp.RollbackTrans(); ShowMessage(ex.Message); } } } } /// /// 插入赋值内容导入的默认格式 /// /// /// /// public static void ComplementXLWBBJDML(string sWBBJDID, string sXLBJDID, string sDateTime, string sRow, int iDRtimes, int iZFS, int iMLFZH, string sXSYXJ, string sXSYZ, string sXSYSCP, string sXSBH, string sXSCPBJXJ, CMISproSession tSession) { ComplementXLWBBJDML(sWBBJDID, sXLBJDID, sDateTime, sRow, iDRtimes, iZFS, iMLFZH, sXSYXJ, sXSYZ, sXSYSCP, sXSBH,sXSCPBJXJ, "N", tSession); } /// /// 插入赋值内容导入的默认格式 /// /// /// /// public static void ComplementXLWBBJDML(string sWBBJDID, string sXLBJDID, string sDateTime, string sRow, int iDRtimes, int iZFS, int iMLFZH, string sXSYXJ, string sXSYZ, string sXSYSCP, string sXSBH, string sXSCPBJXJ, string sXFZDR, CMISproSession tSession) { string sMC = "复制内容导入:" + tSession.UserName + "-" + DateTime.Now.ToString().Trim(); string sErrMsg = ""; Dictionary dicLMMC = new Dictionary(); XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000); BJFLXX bjflxx = XLBJDUtils.GetBJFLXXByBJDID(sXLBJDID); string sCPML = pzxx.XLXSBJPZ_XSCPML; string sXSPWQD = pzxx.XLXSBJPZ_XSPWQD; bool bXsGWBM = XLBJDUtils.ExistXLXSBJGWWL(); dicLMMC.Clear(); //依照Excel样式顺序来 XLXSBJPZXX pzxxwb = XLBJDUtils.GetXLXSBJPZXX(100860043); Dictionary dicGDLM = GetGDLM(); dicLMMC.Clear(); string sDRLMS = pzxxwb.XLXSBJPZ_FZNRDRLM; if (!sDRLMS.Equals("")) { sDRLMS += ","; if (!sXSYXJ.Equals("Y")) sDRLMS = sDRLMS.Replace("B,", ""); if (!sXSYSCP.Equals("Y")) sDRLMS = sDRLMS.Replace("D,", ""); if (!sXSYZ.Equals("Y")) sDRLMS = sDRLMS.Replace("C,", ""); if (!sXSBH.Equals("Y")) sDRLMS = sDRLMS.Replace("E,", ""); if (!sXSCPBJXJ.Equals("Y")) { sDRLMS = sDRLMS.Replace("G,", ""); sDRLMS = sDRLMS.Replace("H,", ""); } if (!sCPML.Equals("Z")) { sDRLMS = sDRLMS.Replace("I,", ""); sDRLMS = sDRLMS.Replace("J,", ""); } if (!sXSPWQD.Equals("Y")) { sDRLMS = sDRLMS.Replace("K,", ""); sDRLMS = sDRLMS.Replace("L,", ""); sDRLMS = sDRLMS.Replace("M,", ""); } if (!bXsGWBM) sDRLMS = sDRLMS.Replace("N,", ""); if (bjflxx.XLXSBJFL_JMBGSYZID.Equals("")) sDRLMS = sDRLMS.Replace("O,", ""); if (!bjflxx.XLXSBJFL_XSLSBJ.Equals("Y")) sDRLMS = sDRLMS.Replace("P,", ""); sDRLMS = sDRLMS.TrimEnd(','); foreach (string stDRLM in sDRLMS.Split(',')) { dicLMMC.Add(stDRLM, dicGDLM[stDRLM]); } } if (!dicLMMC.ContainsKey("1")) dicLMMC.Add("1", "报价产品"); if (!dicLMMC.ContainsKey("8")) dicLMMC.Add("8", "型号/型号-电压"); if (!dicLMMC.ContainsKey("9")) dicLMMC.Add("9", "规格"); if (!dicLMMC.ContainsKey("3")) dicLMMC.Add("3", "标准"); if (!dicLMMC.ContainsKey("2")) dicLMMC.Add("2", "电压等级"); if (!dicLMMC.ContainsKey("A")) dicLMMC.Add("A", "颜色"); if (!dicLMMC.ContainsKey("4")) dicLMMC.Add("4", "计量单位"); if (!dicLMMC.ContainsKey("5")) dicLMMC.Add("5", "报价数量"); if (!dicLMMC.ContainsKey("6")) dicLMMC.Add("6", "报价"); if (sXSYXJ.Equals("Y")) { if (!dicLMMC.ContainsKey("B")) dicLMMC.Add("B", "意向价"); } if (sXSYSCP.Equals("Y")) { if (!dicLMMC.ContainsKey("D")) dicLMMC.Add("D", "原始产品"); } if (!dicLMMC.ContainsKey("7")) dicLMMC.Add("7", "备注"); if (!dicLMMC.ContainsKey("F")) dicLMMC.Add("F", "外购"); if (sXSYZ.Equals("Y")) { if (!dicLMMC.ContainsKey("C")) dicLMMC.Add("C", "印字"); } if (sXSBH.Equals("Y")) { if (!dicLMMC.ContainsKey("E")) dicLMMC.Add("E", "包号"); } if (sXSCPBJXJ.Equals("Y")) { if (!dicLMMC.ContainsKey("G")) dicLMMC.Add("G", "产品报价限价"); if (!dicLMMC.ContainsKey("H")) dicLMMC.Add("H", "报价金额限价"); } if (sCPML == "Z") { if (!dicLMMC.ContainsKey("I")) dicLMMC.Add("I", "组合产品目录"); if (!dicLMMC.ContainsKey("J")) dicLMMC.Add("J", "产品目录"); } if (sXSPWQD == "Y") { if (!dicLMMC.ContainsKey("K")) dicLMMC.Add("K", "配网清单ID"); if (!dicLMMC.ContainsKey("L")) dicLMMC.Add("L", "物料名称"); if (!dicLMMC.ContainsKey("M")) dicLMMC.Add("M", "描述"); } if (bXsGWBM) { if (!dicLMMC.ContainsKey("N")) dicLMMC.Add("N", "国网物料编码"); } if (!bjflxx.XLXSBJFL_JMBGSYZID.Equals("")) { if (!dicLMMC.ContainsKey("O")) dicLMMC.Add("O", "截面比公式"); } if (!string.IsNullOrEmpty(bjflxx.XLXSBJFL_JMBGSBM.Trim())) { if (dicLMMC.ContainsKey("O")) dicLMMC["O"] = bjflxx.XLXSBJFL_JMBGSBM.Trim(); } if (bjflxx.XLXSBJFL_XSLSBJ.Equals("Y")) { if (!dicLMMC.ContainsKey("P")) dicLMMC.Add("P", "临时表价"); } Dictionary dicYZGDLM = XLWBBJDUtils.GetWBBJDYZZGDLM(sXLBJDID); foreach (KeyValuePair kvp in dicYZGDLM) { if (!dicLMMC.ContainsKey(kvp.Key)) dicLMMC.Add(kvp.Key, kvp.Value); } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); #region 更新XLWBBJDML表数据 SQL.Clear(); SQL.Add("update XLWBBJDML set "); SQL.Add(" XLWBBJDML_MLFZH=:pMLFZH ,"); SQL.Add(" XLWBBJDML_FS=:pFS, "); SQL.Add(" XLWBBJDML_FSXH=:pFSXH, "); SQL.Add(" XLWBBJDML_NRHHS=:pNRHHS, "); SQL.Add(" XLWBBJDML_NRHHZ=:pNRHHZ "); SQL.Add(" where XLWBBJDML_BJDID=:pBJDID and XLWBBJDML_WBBJDID=:pWBBJDID "); SQL.ParamByName("pBJDID").Value = sXLBJDID; SQL.ParamByName("pWBBJDID").Value = sWBBJDID; if (iZFS == 1) { SQL.ParamByName("pMLFZH").Value = 0; SQL.ParamByName("pFS").Value = 0; SQL.ParamByName("pFSXH").Value = 0; } else { SQL.ParamByName("pMLFZH").Value = iMLFZH; SQL.ParamByName("pFS").Value = iZFS; SQL.ParamByName("pFSXH").Value = iDRtimes; } if (sXFZDR.Equals("Y"))//新复制导入 { if (iDRtimes < iZFS) { SQL.ParamByName("pNRHHS").Value = 1 + Rcount * (iDRtimes - 1); SQL.ParamByName("pNRHHZ").Value = Rcount * iDRtimes; } else { SQL.ParamByName("pNRHHS").Value = 1 + Rcount * (iDRtimes - 1); SQL.ParamByName("pNRHHZ").Value = CMISproConvert.StrToInt(sRow); } } else { if (iDRtimes < iZFS) { SQL.ParamByName("pNRHHS").Value = 2 + Rcount * (iDRtimes - 1); SQL.ParamByName("pNRHHZ").Value = 1 + Rcount * iDRtimes; } else { SQL.ParamByName("pNRHHS").Value = 2 + Rcount * (iDRtimes - 1); SQL.ParamByName("pNRHHZ").Value = CMISproConvert.StrToInt(sRow); } } dberp.ExecSQL(SQL); #endregion #region 生成XLWBBJDLM表数据----WBBJDID|外部报价单ID=======LMBH|栏目编号/BJDID //此处支持报价产品与型号规格一并插入 SQL.Clear(); SQL.Add("insert into XLWBBJDLM ( "); SQL.Add(" XLWBBJDLM_BJDID,XLWBBJDLM_WBBJDID,XLWBBJDLM_LMBH,XLWBBJDLM_LMMC,XLWBBJDLM_ZDLMLX,XLWBBJDLM_WHR,XLWBBJDLM_WHRID,XLWBBJDLM_WHSJ) "); SQL.Add("values ( "); SQL.Add(" :pBJDID,:pWBBJDID,:pLMBH,:pLMMC,:pZDLMLX,:pWHR,:pWHRID,:pWHSJ) "); //循环dic int j = 1; foreach (KeyValuePair kvp in dicLMMC) { SQL.ParamByName("pBJDID").Value = sXLBJDID; SQL.ParamByName("pWBBJDID").Value = sWBBJDID; SQL.ParamByName("pLMBH").Value = j.ToString().Trim().PadLeft(2, '0'); SQL.ParamByName("pLMMC").Value = kvp.Value; SQL.ParamByName("pZDLMLX").Value = kvp.Key; SQL.ParamByName("pWHRID").Value = tSession.UserId; SQL.ParamByName("pWHR").Value = tSession.UserName; SQL.ParamByName("pWHSJ").Value = CMISproConvert.StrToDateTime(sDateTime); dberp.ExecSQL(SQL); j++; } #endregion #region 生成XLWBBJDMX记录 XLWBBJDUtils.InsXLWBBJDMX(dberp, SQL, sWBBJDID, sXLBJDID, tSession, ref sErrMsg); if (!sErrMsg.Equals("")) { throw new Exception(sErrMsg); } #endregion } public static Dictionary GetGDLM() { Dictionary dicGDLM = new Dictionary(); dicGDLM.Clear(); dicGDLM.Add("1", "报价产品"); dicGDLM.Add("8", "型号/型号-电压"); dicGDLM.Add("9", "规格"); dicGDLM.Add("3", "标准"); dicGDLM.Add("2", "电压等级"); dicGDLM.Add("A", "颜色"); dicGDLM.Add("4", "计量单位"); dicGDLM.Add("5", "报价数量"); dicGDLM.Add("6", "报价"); dicGDLM.Add("B", "意向价"); dicGDLM.Add("D", "原始产品"); dicGDLM.Add("7", "备注"); dicGDLM.Add("F", "外购"); dicGDLM.Add("C", "印字"); dicGDLM.Add("E", "包号"); dicGDLM.Add("G", "产品报价限价"); dicGDLM.Add("H", "报价金额限价"); dicGDLM.Add("I", "组合产品目录"); dicGDLM.Add("J", "产品目录"); dicGDLM.Add("K", "配网清单ID"); dicGDLM.Add("L", "物料名称"); dicGDLM.Add("M", "描述"); dicGDLM.Add("N", "国网物料编码"); dicGDLM.Add("O", "截面比公式"); dicGDLM.Add("P", "临时表价"); return dicGDLM; } public static Dictionary GetDRLM(string sXSYXJ, string sXSYSCP, string sXSYZ, string sXSBH, string sXSCPBJXJ, string sCPML, string sXSPWQD, bool bXsGWBM, string sBJDID) { XLXSBJPZXX pzxxwb = XLBJDUtils.GetXLXSBJPZXX(100860043); BJFLXX bjflxx = XLBJDUtils.GetBJFLXXByBJDID(sBJDID); Dictionary dicDRLM = new Dictionary(); dicDRLM.Clear(); string sDRLMS = pzxxwb.XLXSBJPZ_FZNRDRLM; if (!sDRLMS.Equals("")) { sDRLMS += ","; if (!sXSYXJ.Equals("Y")) sDRLMS = sDRLMS.Replace("B,", ""); if (!sXSYSCP.Equals("Y")) sDRLMS = sDRLMS.Replace("D,", ""); if (!sXSYZ.Equals("Y")) sDRLMS = sDRLMS.Replace("C,", ""); if (!sXSBH.Equals("Y")) sDRLMS = sDRLMS.Replace("E,", ""); if (!sXSCPBJXJ.Equals("Y")) { sDRLMS = sDRLMS.Replace("G,", ""); sDRLMS = sDRLMS.Replace("H,", ""); } if (!sCPML.Equals("Z")) { sDRLMS = sDRLMS.Replace("I,", ""); sDRLMS = sDRLMS.Replace("J,", ""); } if (!sXSPWQD.Equals("Y")) { sDRLMS = sDRLMS.Replace("K,", ""); sDRLMS = sDRLMS.Replace("L,", ""); sDRLMS = sDRLMS.Replace("M,", ""); } if (!bXsGWBM) sDRLMS = sDRLMS.Replace("N,", ""); if (bjflxx.XLXSBJFL_JMBGSYZID.Trim().Equals("")) sDRLMS = sDRLMS.Replace("O,", ""); if (!bjflxx.XLXSBJFL_XSLSBJ.Equals("Y")) sDRLMS = sDRLMS.Replace("P,", ""); sDRLMS = sDRLMS.TrimEnd(','); foreach (string stDRLM in sDRLMS.Split(',')) { dicDRLM.Add(stDRLM, "0"); } } if (!dicDRLM.ContainsKey("1")) dicDRLM.Add("1", "0"); if (!dicDRLM.ContainsKey("8")) dicDRLM.Add("8", "0"); if (!dicDRLM.ContainsKey("9")) dicDRLM.Add("9", "0"); if (!dicDRLM.ContainsKey("3")) dicDRLM.Add("3", "0"); if (!dicDRLM.ContainsKey("2")) dicDRLM.Add("2", "0"); if (!dicDRLM.ContainsKey("A")) dicDRLM.Add("A", "0"); if (!dicDRLM.ContainsKey("4")) dicDRLM.Add("4", "0"); if (!dicDRLM.ContainsKey("5")) dicDRLM.Add("5", "0"); if (!dicDRLM.ContainsKey("6")) dicDRLM.Add("6", "0"); if (sXSYXJ.Equals("Y")) { if (!dicDRLM.ContainsKey("B")) dicDRLM.Add("B", "0"); } if (sXSYSCP.Equals("Y")) { if (!dicDRLM.ContainsKey("D")) dicDRLM.Add("D", "0"); } if (!dicDRLM.ContainsKey("7")) dicDRLM.Add("7", "0"); if (!dicDRLM.ContainsKey("F")) dicDRLM.Add("F", "0"); if (sXSYZ.Equals("Y")) { if (!dicDRLM.ContainsKey("C")) dicDRLM.Add("C", "0"); } if (sXSBH.Equals("Y")) { if (!dicDRLM.ContainsKey("E")) dicDRLM.Add("E", "0"); } if (sXSCPBJXJ.Equals("Y")) { if (!dicDRLM.ContainsKey("G")) dicDRLM.Add("G", "0"); if (!dicDRLM.ContainsKey("H")) dicDRLM.Add("H", "0"); } if (sCPML == "Z") { if (!dicDRLM.ContainsKey("I")) dicDRLM.Add("I", "0"); if (!dicDRLM.ContainsKey("J")) dicDRLM.Add("J", "0"); } if (sXSPWQD == "Y") { if (!dicDRLM.ContainsKey("K")) dicDRLM.Add("K", "0"); if (!dicDRLM.ContainsKey("L")) dicDRLM.Add("L", "0"); if (!dicDRLM.ContainsKey("M")) dicDRLM.Add("M", "0"); } if (bXsGWBM) { if (!dicDRLM.ContainsKey("N")) dicDRLM.Add("N", "0"); } if (!bjflxx.XLXSBJFL_JMBGSYZID.Trim().Equals("")) { if (!dicDRLM.ContainsKey("O")) dicDRLM.Add("O", "0"); } if (bjflxx.XLXSBJFL_XSLSBJ.Equals("Y")) { if (!dicDRLM.ContainsKey("P")) dicDRLM.Add("P", "0"); } AppendWBBJDYZZToDRLM(dicDRLM, sBJDID); return dicDRLM; } public static void AppendWBBJDYZZToDRLM(Dictionary dicDRLM, string sBJDID) { Dictionary dicYZGDLM = XLWBBJDUtils.GetWBBJDYZZGDLM(sBJDID); foreach (KeyValuePair kvp in dicYZGDLM) { if (!dicDRLM.ContainsKey(kvp.Key)) dicDRLM.Add(kvp.Key, "0"); } } public static Dictionary GetAllGDLM(string sBJDID) { Dictionary dicGDLM = GetGDLM(); BJFLXX bjflxx = XLBJDUtils.GetBJFLXXByBJDID(sBJDID); if (!string.IsNullOrEmpty(bjflxx.XLXSBJFL_JMBGSBM.Trim())) dicGDLM["O"] = bjflxx.XLXSBJFL_JMBGSBM.Trim(); Dictionary dicYZGDLM = XLWBBJDUtils.GetWBBJDYZZGDLM(sBJDID); foreach (KeyValuePair kvp in dicYZGDLM) dicGDLM[kvp.Key] = kvp.Value; return dicGDLM; } private void InsertBlankRow(string sBJDID, string sWBBJDID, int start, int end) { TDatabase dberp2 = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL2 = new TSQL(dberp2); for (int i = start + 1; i < end; i++) { sSQL2.Clear(); sSQL2.Add("insert into XLWBBJDNR("); sSQL2.Add(" XLWBBJDNR_BJDID, XLWBBJDNR_WBBJDID, XLWBBJDNR_DRHH )"); sSQL2.Add("values (:XLWBBJDNR_BJDID, :XLWBBJDNR_WBBJDID, :XLWBBJDNR_DRHH)"); sSQL2.ParamByName("XLWBBJDNR_BJDID").Value = sBJDID; sSQL2.ParamByName("XLWBBJDNR_WBBJDID").Value = sWBBJDID; sSQL2.ParamByName("XLWBBJDNR_DRHH").Value = i; dberp2.ExecSQL(sSQL2); } } public static void InsertWBBJDML(string sXLBJDID, string sWBBJDID, string sHTBH, string sDateTime, CMISproSession tSession) { string sMC = "复制内容导入:" + tSession.UserName + "-" + DateTime.Now.ToString().Trim(); TDatabase dberp3 = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL3 = new TSQL(dberp3); sSQL3.Clear(); sSQL3.Add("insert into XLWBBJDML"); sSQL3.Add(" ( XLWBBJDML_BJDID,XLWBBJDML_WBBJDID,XLWBBJDML_SJLY,XLWBBJDML_WBBJDMC, "); sSQL3.Add(" XLWBBJDML_LMHHS,XLWBBJDML_LMHHZ, "); if (!string.IsNullOrEmpty(sHTBH)) { sSQL3.Add(" XLWBBJDML_HTBH, "); } sSQL3.Add(" XLWBBJDML_DRSJ,XLWBBJDML_YCL,XLWBBJDML_WHR,XLWBBJDML_WHRID,XLWBBJDML_WHSJ ) "); sSQL3.Add(" values "); sSQL3.Add(" ( :pBJDID,:pWBBJDID,:pSJLY,:pWBBJDMC, "); sSQL3.Add(" :pLMHHS,:pLMHHZ, "); if (!string.IsNullOrEmpty(sHTBH)) { sSQL3.Add(" :pHTBH, "); sSQL3.ParamByName("pHTBH").Value = sHTBH; } sSQL3.Add(" :pDRSJ, :pYCL, :pWHR,:pWHRID,:pWHSJ ) "); sSQL3.ParamByName("pBJDID").Value = sXLBJDID; sSQL3.ParamByName("pWBBJDID").Value = sWBBJDID; if (!sXLBJDID.Trim().Equals("")) { sSQL3.ParamByName("pSJLY").Value = "BJCP"; } else { sSQL3.ParamByName("pSJLY").Value = "XSHT"; } sSQL3.ParamByName("pWBBJDMC").Value = sMC; sSQL3.ParamByName("pLMHHS").Value = 1; sSQL3.ParamByName("pLMHHZ").Value = 1; sSQL3.ParamByName("pDRSJ").Value = CMISproConvert.StrToDateTime(sDateTime); sSQL3.ParamByName("pYCL").Value = "N"; sSQL3.ParamByName("pWHR").Value = tSession.UserName; sSQL3.ParamByName("pWHRID").Value = tSession.UserId; sSQL3.ParamByName("pWHSJ").Value = DateTime.Now; dberp3.ExecSQL(sSQL3); } #endregion } }