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_WBXLWLDRList : SingleGridBase { XLBJD_WBXLWLDREntity entity = new XLBJD_WBXLWLDREntity(); private string sWBBJDID = ""; private string sXLBJDID = ""; //指定栏目类型-栏目编号 Dictionary dicLMBH = new Dictionary(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860073; 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" }; 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"); } 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(); ReadBBYS(sRepXML, sBJDID, sTimeSpan); } } #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) { } 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 btnDR_Click(object sender, EventArgs e) { TPageParams pageParams = new TPageParams(); pageParams.UrlPath = "XLBJD_WBXLWLDRInfo.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")); pageParams.AddString("NeedUpdBJDHQCLCB", PageParam.GetRTrimString("NeedUpdBJDHQCLCB")); OpenDialogClickBtn(pageParams, btnCallBack.ClientID); } protected void btnDR_OnDropDown(object sender, EventArgs e) { btnDR.Nodes.Clear(); btnDR.Nodes.Add(new gtTreeNode("1", "复制内容导入")); MenuAreaUpdate(); } protected void btnDR_MenuItemClick(object sender, string value) { if (value.Equals("1")) { string sStr = tSession.UserId + "|" + DateTime.Now.ToString().Trim(); string sScript = ""; sScript = "document.getElementById('" + this.txtTimeSpan.ClientID.ToString().Trim() + "').value = '" + sStr + "';"; AjaxRunScript(this, "setTreePic", sScript); OpenBB(PageParam.GetRTrimString("BJDID"), sStr); } } //查看外部报价单明细 //直接点击 protected void btnWBBJDMX_Click(object sender, EventArgs e) { if (ContentGrid.SelectedIndex < 0) { ShowMessage("请选择处理记录!"); return; } sWBBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_WBBJDID"].ToString().Trim(); sXLBJDID = XLBJDUtils.FetEmptyStr(ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_BJDID"].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("YXLRBJCP", PageParam.GetRTrimString("YXLRBJCP")); pageParams.AddString("WBBJDID", sWBBJDID); //当前选中行的报价单ID pageParams.AddString("SELBJDID", sXLBJDID); pageParams.AddString("txtOpen", txtOpen.ClientID); OpenDialogClickBtn(pageParams, btnAutoClose.ClientID); } protected void btnWBBJDMX_OnDropDown(object sender, EventArgs e) { btnWBBJDMX.Nodes.Clear(); btnWBBJDMX.Nodes.Add(new gtTreeNode("0", "重新导入报价单明细")); MenuAreaUpdate(); } protected void btnWBBJDMX_MenuItemClick(object sender, string value) { if (value.Equals("0")) { if (ContentGrid.SelectedIndex < 0) { ShowMessage("请选择处理记录!"); return; } sWBBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_WBBJDID"].ToString().Trim(); sXLBJDID = XLBJDUtils.FetEmptyStr(ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_BJDID"].ToString().Trim()); 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(); } string sMsg = ""; XLWBBJDUtils.Reimport(GetOption(100860000, "BJU002"), GetOption(100860000, "BJU003"),GetOption(100860000, "BJU018"), 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("BJLJJCLLX"), PageParam.GetRTrimString("PJLX"), PageParam.GetRTrimString("FKQXNR"), PageParam.GetRTrimString("SYDWID"), PageParam.GetRTrimString("CPBJMRXSWS"), sWBBJDID, sXLBJDID, sXLBJDID, "BJWL", tSession, ref sMsg); if (!sMsg.Equals("")) { ShowMessage(sMsg); } } } #region 以下内容由程序内置打开页面 //查看外部报价单明细 //由内容页程序打开 protected void btnOpen_Click(object sender, EventArgs e) { if (ContentGrid.SelectedIndex < 0) { ShowMessage("请选择处理记录!"); return; } sWBBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_WBBJDID"].ToString().Trim(); sXLBJDID = XLBJDUtils.FetEmptyStr(ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_BJDID"].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("YXLRBJCP", PageParam.GetRTrimString("YXLRBJCP")); pageParams.AddString("WBBJDID", sWBBJDID); //当前选中行的报价单ID pageParams.AddString("SELBJDID", sXLBJDID); //由程序打开说明是第一次进入,传递参数 pageParams.AddExtString("First_Open", "First_Open"); pageParams.AddString("txtOpen", txtOpen.ClientID); OpenDialogClickBtn(pageParams, btnAutoClose.ClientID); } //查看外部报价单明细 //由复制内容程序打开 protected void btnOpenMXByFZNR_Click(object sender, EventArgs e) { if (!txtTimeSpan.Value.Trim().Equals("")) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select XLWBBJDML_WBBJDID from XLWBBJDML where XLWBBJDML_DRSJ = :pDRSJ and XLWBBJDML_WHRID = :pWHRID"); 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(); } else { return; } sXLBJDID = XLBJDUtils.FetEmptyStr(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("YXLRBJCP", PageParam.GetRTrimString("YXLRBJCP")); pageParams.AddString("WBBJDID", sWBBJDID); //当前选中行的报价单ID pageParams.AddString("SELBJDID", sXLBJDID); //由程序打开说明是第一次进入,传递参数 pageParams.AddExtString("First_Open", "First_Open"); pageParams.AddString("txtOpen", txtOpen.ClientID); 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) { btnOpenMXByFZNR_Click(null, null); } //外部报价单明细页回调 protected void btnAutoClose_Click(object sender, EventArgs e) { if (txtOpen.Value.Trim().Equals("CLOSE")) { CloseWindow(); } } #endregion //删除导入 protected void btnSCDRNR_Click(object sender, EventArgs e) { //判断是否导入报价单了 sWBBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_WBBJDID"].ToString().Trim(); sXLBJDID = XLBJDUtils.FetEmptyStr(ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLWBBJDML_BJDID"].ToString().Trim()); string sErrorMsg = ""; string sSQL = ""; //未导入过 if (sXLBJDID.Trim().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(); } if (!XLWBBJDUtils.DeleteXLWBBJD(sWBBJDID, sXLBJDID, out sErrorMsg)) { ShowMessage(sErrorMsg); } } else { //导入判断 sSQL = string.Format("select top 1 XLXSBJDMX_BJDID from XLXSBJDMX " + " where 1 = 1 " + " and XLXSBJDMX_WBBJDID= '{0}' " + " and XLXSBJDMX_BJDID= '{1}' ", sWBBJDID, sXLBJDID); if (CMISproDataBase.ExistsRecord("DBERP", sSQL)) { 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(); } if (!XLWBBJDUtils.DeleteXLWBBJD(sWBBJDID, sXLBJDID, out sErrorMsg)) { ShowMessage(sErrorMsg); } } } btnCallBack_Click(null, null); } /// /// 刷新界面使用 /// /// /// protected void btnCallBack_Click(object sender, EventArgs e) { moduleGV_PageIndexChanging(null, null); } 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(" XLWBBJDML_WHR,XLWBBJDML_WHSJ "); sbSql.AppendLine(" from XLWBBJDML "); sbSql.AppendLine(" where 1=1 "); //BJCP|报价产品、BJTP|报价图片 //BJWL|报价物料、XSHT|销售合同 sbSql.AppendLine(" and XLWBBJDML_SJLY = 'BJWL' "); sbSql.AppendLine(" and XLWBBJDML_BJDID =:pBJDID "); entity.Param.Add("pBJDID", sXLBJDID); sbSql.AppendLine(" order by XLWBBJDML_WBBJDID "); return sbSql.ToString(); } //sWBBJDID:当前外部报价单ID、sSELBJDID:当前外部报价单对应的报价单ID、sBJDID:主页面传入的报价单ID,实际与选中的报价单ID一致 #endregion #region 报表事件 protected void OpenBB(string sBJDID, string sTimeSpan) { string sWizard = ""; string sBBYSJS = ""; string sReportizard = ""; string sBBMB = ""; //导入前的缺省样式 string 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) { Dictionary dicColumn = new Dictionary(); dicColumn.Clear(); dicColumn.Add("1", "XLWBBJDNR_LMNR01"); dicColumn.Add("2", "XLWBBJDNR_LMNR02"); dicColumn.Add("3", "XLWBBJDNR_LMNR03"); List lst = new List(); lst.Clear(); int leng = dicColumn.Count; string sBBMB = ""; string sRow = ""; string sColumn = ""; string sValue = ""; sBJDID = XLBJDUtils.FetEmptyStr(sBJDID); bool Success = false; string sWBBJDID = ""; double pCount = 0; string sDateTime = sTimeSpan.Split('|')[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)"); sSQL.Add("values (: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)"); XmlDocument xml = new XmlDocument(); xml.LoadXml(sBBMB); XmlNode XmlRoot = xml.SelectSingleNode("Report"); XmlNodeList XmlRootList = XmlRoot.SelectNodes("Cells"); foreach (XmlNode XmlKey in XmlRootList) { //XmlNodeList XmlKey1 = XmlKey.SelectSingleNode("Style"); 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)) { sSQL.ParamByName(dicColumn[sColumn]).Value = sValue; lst.Add(sColumn); } if (!Success) { sWBBJDID = XLWBBJDUtils.GetNewWBBJDID(); } for (int m = 1; m <= leng; m++) { if (!lst.Contains(m.ToString().Trim())) { sSQL.ParamByName(dicColumn[m.ToString().Trim()]).Value = ""; } } sSQL.ParamByName("XLWBBJDNR_BJDID").Value = sBJDID; sSQL.ParamByName("XLWBBJDNR_WBBJDID").Value = sWBBJDID; sSQL.ParamByName("XLWBBJDNR_DRHH").Value = CMISproConvert.StrToFloat(sRow); dberp.ExecSQL(sSQL); lst.Clear(); Success = true; } else { if (dicColumn.ContainsKey(sColumn)) { 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)) { sSQL.ParamByName(dicColumn[sColumn]).Value = sValue; lst.Add(sColumn); } if (!Success) { sWBBJDID = XLWBBJDUtils.GetNewWBBJDID(); } for (int m = 1; m <= leng; m++) { if (!lst.Contains(m.ToString().Trim())) { sSQL.ParamByName(dicColumn[m.ToString().Trim()]).Value = ""; } } sSQL.ParamByName("XLWBBJDNR_BJDID").Value = sBJDID; sSQL.ParamByName("XLWBBJDNR_WBBJDID").Value = sWBBJDID; sSQL.ParamByName("XLWBBJDNR_DRHH").Value = CMISproConvert.StrToFloat(sRow); dberp.ExecSQL(sSQL); lst.Clear(); Success = true; if (CMISproConvert.StrToFloat(sRow) > pCount) { pCount = CMISproConvert.StrToFloat(sRow); } } } } } if (Success) { //插入默认数据 ComplementXLWBBJDML(sWBBJDID, sBJDID, sDateTime, pCount.ToString().Trim()); //处理标准 //XLWBBJDUtils.ConvertWBBJDMX_XLBZID(dberp, sSQL, sWBBJDID, sBJDID, sDateTime, tSession.UserId); } dberp.CommitTrans(); } catch (Exception ex) { Success = false; dberp.RollbackTrans(); ShowMessage(ex.Message); } } } /// /// 插入赋值内容导入的默认格式 /// /// /// /// private void ComplementXLWBBJDML(string sWBBJDID, string sXLBJDID, string sDateTime, string sRow) { string sMC = "复制内容导入:" + tSession.UserName + "-" + DateTime.Now.ToString().Trim(); string sErrMsg = ""; //导入时同步指定“02|计量单位”栏目对应XLWBBJDLM_ZDLMLX为“4|计量单位”、“03|报价数量”栏目对应XLWBBJDLM_ZDLMLX为“5|报价数量”。 Dictionary dicLMMC = new Dictionary(); dicLMMC.Clear(); dicLMMC.Add("02", "计量单位"); dicLMMC.Add("03", "报价数量"); Dictionary dicZDLMLX = new Dictionary(); dicZDLMLX.Clear(); dicZDLMLX.Add("02", "4"); dicZDLMLX.Add("03", "5"); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); #region 生成XLWBBJDML表数据--WBBJDID|外部报价单/BJDID SQL.Clear(); SQL.Add("insert into XLWBBJDML"); SQL.Add(" ( XLWBBJDML_BJDID,XLWBBJDML_WBBJDID,XLWBBJDML_SJLY,XLWBBJDML_WBBJDMC, "); SQL.Add(" XLWBBJDML_LMHHS,XLWBBJDML_LMHHZ,XLWBBJDML_NRHHS,XLWBBJDML_NRHHZ, "); SQL.Add(" XLWBBJDML_DRSJ,XLWBBJDML_YCL,XLWBBJDML_WHR,XLWBBJDML_WHRID,XLWBBJDML_WHSJ ) "); SQL.Add(" values "); SQL.Add(" ( :pXLBJDID,:pWBBJDID,'BJWL',:pWBBJDMC, "); SQL.Add(" :pLMHHS,:pLMHHZ,:pNRHHS,:pNRHHZ, "); SQL.Add(" :pDRSJ, :pYCL, :pWHR,:pWHRID,:pWHSJ ) "); SQL.ParamByName("pXLBJDID").Value = sXLBJDID; SQL.ParamByName("pWBBJDID").Value = sWBBJDID; SQL.ParamByName("pWBBJDMC").Value = sMC; SQL.ParamByName("pLMHHS").Value = 1; SQL.ParamByName("pLMHHZ").Value = 1; SQL.ParamByName("pNRHHS").Value = 2; SQL.ParamByName("pNRHHZ").Value = CMISproConvert.StrToFloat(sRow); SQL.ParamByName("pDRSJ").Value = CMISproConvert.StrToDateTime(sDateTime); SQL.ParamByName("pYCL").Value = "Y"; SQL.ParamByName("pWHR").Value = tSession.UserName; SQL.ParamByName("pWHRID").Value = tSession.UserId; SQL.ParamByName("pWHSJ").Value = DateTime.Now; 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(" :pXLBJDID,:pWBBJDID,:pLMBH,:pLMMC,:pZDLMLX,:pWHR,:pWHRID,:pWHSJ) "); //循环dic foreach (KeyValuePair kvp in dicLMMC) { SQL.ParamByName("pXLBJDID").Value = sXLBJDID; SQL.ParamByName("pWBBJDID").Value = sWBBJDID; SQL.ParamByName("pLMBH").Value = kvp.Key.PadLeft(2, '0'); SQL.ParamByName("pLMMC").Value = kvp.Value; SQL.ParamByName("pZDLMLX").Value = dicZDLMLX[kvp.Key]; SQL.ParamByName("pWHRID").Value = tSession.UserId; SQL.ParamByName("pWHR").Value = tSession.UserName; SQL.ParamByName("pWHSJ").Value = CMISproConvert.StrToDateTime(sDateTime); dberp.ExecSQL(SQL); } #endregion #region 生成XLWBBJDMX记录 XLWBBJDUtils.InsXLWBBJDMX(dberp, SQL, sWBBJDID, sXLBJDID, tSession, ref sErrMsg); if (!sErrMsg.Equals("")) { throw new Exception(sErrMsg); } //A|× B|* //string sXLJGU007 = GetOption(102579000, "XLJGU007"); //SQL.Clear(); //SQL.Add("insert into XLWBBJDMX(XLWBBJDMX_WBBJDID,XLWBBJDMX_DRHH,XLWBBJDMX_BJDID, "); //SQL.Add(" XLWBBJDMX_WLID,XLWBBJDMX_XLXHID,XLWBBJDMX_XLGGID, "); //SQL.Add(" XLWBBJDMX_XLBZID,XLWBBJDMX_DYDJID,XLWBBJDMX_XLYSID, "); //SQL.Add(" XLWBBJDMX_JLDW,XLWBBJDMX_BJSL,XLWBBJDMX_WHR,XLWBBJDMX_WHRID,XLWBBJDMX_WHSJ)"); //SQL.Add("select XLWBBJDNR_WBBJDID,XLWBBJDNR_DRHH,XLWBBJDNR_BJDID, "); //SQL.Add(" XLWBBJDNR_LMNR01,XLXLB_XLXHID, "); ////A|× B|* //if (sXLJGU007.Equals("B")) //{ // SQL.Add(" replace( XLXLB_XLGGID,'×','*') as XLGGID, "); //} //else //{ // SQL.Add(" replace( XLXLB_XLGGID,'*','×') as XLGGID, "); //} //SQL.Add(" XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID, "); //SQL.Add(" XLWBBJDNR_LMNR02,XLWBBJDNR_LMNR03,:pWHR,:pWHRID,:pWHSJ "); //SQL.Add("from XLWBBJDNR "); //SQL.Add(" left join XLXLB on XLXLB_WLID=XLWBBJDNR_LMNR01 "); //SQL.Add(" where XLWBBJDNR_WBBJDID=:pWBBJDID "); //SQL.Add(" and XLWBBJDNR_BJDID=:pBJDID "); //SQL.Add(" and not exists(select 1 from XLWBBJDMX where XLWBBJDMX_WBBJDID=XLWBBJDNR_WBBJDID and XLWBBJDMX_BJDID=XLWBBJDNR_BJDID and XLWBBJDMX_DRHH=XLWBBJDNR_DRHH) "); //SQL.ParamByName("pWBBJDID").Value = sWBBJDID; //SQL.ParamByName("pBJDID").Value = sBJDID; //SQL.ParamByName("pWHR").Value = tSession.UserName; //SQL.ParamByName("pWHRID").Value = tSession.UserId; //SQL.ParamByName("pWHSJ").Value = CMISproConvert.StrToDateTime(sDateTime); //dberp.ExecSQL(SQL); #endregion } #endregion } }