1631 lines
79 KiB
C#
1631 lines
79 KiB
C#
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.U20261363_N_XLXSBJ
|
|
{
|
|
[TableMap(DB = "DBERP", DbTableName = "XLXSCLQD", Umid = 100860174, UseWhr = false, IsWorkFlow = false)]
|
|
public class XLBJD_WBBJDDREntity : EntityManager
|
|
{
|
|
}
|
|
|
|
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<string, string> dicReadBBYS = new Dictionary<string, string>();
|
|
//指定栏目类型-栏目编号
|
|
Dictionary<string, string> dicLMBH = new Dictionary<string, string>();
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
this.UMID = 100860174;
|
|
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 = "../Components/N_XLXSBJ/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);
|
|
}
|
|
|
|
//复制内容导入
|
|
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 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 = XLBJDUtils.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 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 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 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;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#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 = false;
|
|
|
|
string sHTBH = "";
|
|
if (!string.IsNullOrEmpty(PageParam.GetRTrimString("HTBH")))
|
|
{
|
|
sHTBH = PageParam.GetRTrimString("HTBH");
|
|
}
|
|
Dictionary<string, string> dicGDLM = GetGDLM();
|
|
Dictionary<string, string> 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<string, string> dicYZGDLM = XLWBBJDUtils.GetWBBJDYZZGDLM(sBJDID);
|
|
foreach (KeyValuePair<string, string> kvp in dicYZGDLM)
|
|
dicGDLM[kvp.Key] = kvp.Value;
|
|
|
|
int ColumnIndex = 1;
|
|
//导入前的缺省样式
|
|
string sXML = "<?xml version=\"1.0\" encoding=\"GB2312\"?><Report Version=\"1.3\" Name=\"新报表\" Created=\"2015-08-20 08:59:13\" Modified=\"2015-08-20 "
|
|
+ " 08:59:13\" PaperWidth=\"8268\" PaperHeight=\"11693\" RowCount=\"1\" ColumnCount= "
|
|
+ " \"9\"><DataSets></DataSets><Variables></Variables><AliasList></AliasList><Images></Images><Rows></Rows><Columns>";
|
|
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 += " <Column Column=\"" + ColumnIndex.ToString().Trim() + "\" Width= \"1300\"/>";
|
|
ColumnIndex++;
|
|
}
|
|
sXML += " </Columns><Cells><Style Type=\"A\" DisplayFormat=\"\" FontName=\"宋体\" FontSize=\"9\" FontColor=\"#000000\" FontBold=\"N\" "
|
|
+ " FontItalic=\"N\" FontUnderline=\"N\" FontStrikeout=\"N\" LeftBorderStyle=\"0\" LeftBorderColor=\"#000000\" LeftBorderWidth=\"0\" "
|
|
+ " TopBorderStyle=\"0\" TopBorderColor=\"#000000\" TopBorderWidth=\"0\" RightBorderStyle=\"0\" RightBorderColor=\"#000000\" RightBorderWidth= "
|
|
+ " \"0\" BottomBorderStyle=\"0\" BottomBorderColor=\"#000000\" BottomBorderWidth=\"0\" DiagLT2RBStyle=\"0\" DiagLT2RBColor=\"#000000\" "
|
|
+ " DiagLT2RBWidth=\"0\" DiagLB2RTStyle=\"0\" DiagLB2RTColor=\"#000000\" DiagLB2RTWidth=\"0\" Color=\"#FFFFFF\" Transparent=\"N\" Pattern=\"1\" "
|
|
+ " PatternColor=\"#000000\" HAlignment=\"A\" VAlignment=\"C\" LeftMargin=\"39\" TopMargin=\"39\" RightMargin=\"39\" BottomMargin=\"39\" "
|
|
+ " ThreePartText=\"N\" TextControl=\"C\" LineSpace=\"1\" Locked=\"N\" Preview=\"Y\" Print=\"Y\" SmallFontWordWrap=\"N\" FormatFont=\"N\"><Cell Row=\"0\" Column=\"0\" Name=\"新报表\"/></Style> "
|
|
+ " <Style FontSize=\"12\" FontBold=\"Y\" HAlignment=\"C\"> ";
|
|
ColumnIndex = 1;
|
|
foreach (string stDRLM in dicDRLM.Keys)
|
|
{
|
|
string sWidth = "";
|
|
if (stDRLM.Equals("8") || stDRLM.Equals("N"))
|
|
sWidth = " width=\"180\"";
|
|
sXML += " <Cell Row=\"1\" Column=\"" + ColumnIndex.ToString().Trim() + "\" Value=\"" + dicGDLM[stDRLM] + "\"" + sWidth + "/> ";
|
|
ColumnIndex++;
|
|
}
|
|
sXML += "</Style></Cells></Report>";
|
|
|
|
|
|
|
|
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 = @" <script language='JavaScript' for='ActiveXBBForBBYS' event='OnSave'> "
|
|
+ " function AddPostParam1(sParamsPref, sParamName, sParamValue) "
|
|
+ " { "
|
|
+ " if (sParamsPref.length > 0) "
|
|
+ " sParamsPref += '&'; "
|
|
+ " return sParamsPref + encodeURIComponent(sParamName) + '=' + "
|
|
+ " encodeURIComponent(sParamValue); "
|
|
+ " } "
|
|
+ " function ShowCodeClassDialog1(executor, eventArgs) "
|
|
+ " { "
|
|
+ " top._GT_CURRENT.owner.document.getElementById('ctl00_CPHButton_btnCallBack2').click();"
|
|
+ " top._GT_CURRENT.owner.GT_MinWindow._close();"
|
|
+ " if (executor.get_responseAvailable()) "
|
|
+ " { "
|
|
+ " } "
|
|
+ " else "
|
|
+ " { "
|
|
+ " if (executor.get_timedOut()) "
|
|
+ " { "
|
|
+ " alert('连接超时!'); "
|
|
+ " } "
|
|
+ " else if (executor.get_aborted()) "
|
|
+ " { "
|
|
+ " alert('操作被终止!'); "
|
|
+ " } "
|
|
+ " } "
|
|
+ " } "
|
|
+ " function SaveBB(sBBYS) "
|
|
+ " { "
|
|
+ " var sParams = ''; "
|
|
+ " sParams = AddPostParam1(sParams, 'BBYS', sBBYS); "
|
|
+ " sParams = AddPostParam1(sParams, 'BJDID', '" + sBJDID + "'); "
|
|
+ " sParams = AddPostParam1(sParams, 'TimeSpan', '" + sTimeSpan + "'); "
|
|
+ " sParams = AddPostParam1(sParams, 'XSYXJ', '" + sXSYXJ + "'); "
|
|
+ " sParams = AddPostParam1(sParams, 'XSYZ', '" + sXSYZ + "'); "
|
|
+ " sParams = AddPostParam1(sParams, 'XSYSCP', '" + sXSYSCP + "'); "
|
|
+ " sParams = AddPostParam1(sParams, 'XSBH', '" + sXSBH + "'); "
|
|
+ " sParams = AddPostParam1(sParams, 'HTBH', '" + sHTBH + "'); "
|
|
+ " sParams = AddPostParam1(sParams, 'XSCPBJXJ', '" + sXSCPBJXJ + "'); "
|
|
+ " var wRequest = new Sys.Net.WebRequest(); "
|
|
+ " wRequest.set_url('../../components/U20261363_N_XLXSBJ/XLBJD_WBBJDDRList.aspx'); "
|
|
+ " wRequest.set_httpVerb('POST'); "
|
|
+ " wRequest.set_body(sParams); "
|
|
+ " wRequest.add_completed(ShowCodeClassDialog1); "
|
|
+ " wRequest.invoke(); "
|
|
+ " } "
|
|
+ " SaveBB(ActiveXBBForBBYS.EncodedReport); "
|
|
+ " </script> ";
|
|
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);
|
|
}
|
|
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<string, string> dicColumn = new Dictionary<string, string>();
|
|
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000);
|
|
string sCPML = pzxx.XLXSBJPZ_XSCPML;
|
|
string sXSPWQD = pzxx.XLXSBJPZ_XSPWQD;
|
|
bool bXsGWBM = false;
|
|
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<string> lst = new List<string>();
|
|
lst.Clear();
|
|
|
|
int ColumnIndex = 0;
|
|
int indexBJSL = -1;
|
|
int indexCPBJ = -1;
|
|
int indexYXJ = -1;
|
|
int indexCPBJXJ = -1;
|
|
int indexBJJEXJ = -1;
|
|
Dictionary<string, string> 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<int, bool> dicYZColumnIndex = new Dictionary<int, bool>();
|
|
Dictionary<string, string> 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);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 插入赋值内容导入的默认格式
|
|
/// </summary>
|
|
/// <param name="sWBBJDID"></param>
|
|
/// <param name="sBJDID"></param>
|
|
/// <param name="sRow"></param>
|
|
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);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 插入赋值内容导入的默认格式
|
|
/// </summary>
|
|
/// <param name="sWBBJDID"></param>
|
|
/// <param name="sBJDID"></param>
|
|
/// <param name="sRow"></param>
|
|
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<string, string> dicLMMC = new Dictionary<string, string>();
|
|
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000);
|
|
BJFLXX bjflxx = XLBJDUtils.GetBJFLXXByBJDID(sXLBJDID);
|
|
string sCPML = pzxx.XLXSBJPZ_XSCPML;
|
|
string sXSPWQD = pzxx.XLXSBJPZ_XSPWQD;
|
|
bool bXsGWBM = false;
|
|
dicLMMC.Clear();
|
|
//依照Excel样式顺序来
|
|
XLXSBJPZXX pzxxwb = XLBJDUtils.GetXLXSBJPZXX(100860043);
|
|
Dictionary<string, string> 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<string, string> dicYZGDLM = XLWBBJDUtils.GetWBBJDYZZGDLM(sXLBJDID);
|
|
foreach (KeyValuePair<string, string> 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<string, string> 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<string, string> GetGDLM()
|
|
{
|
|
Dictionary<string, string> dicGDLM = new Dictionary<string, string>();
|
|
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<string, string> 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<string, string> dicDRLM = new Dictionary<string, string>();
|
|
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<string, string> dicDRLM, string sBJDID)
|
|
{
|
|
Dictionary<string, string> dicYZGDLM = XLWBBJDUtils.GetWBBJDYZZGDLM(sBJDID);
|
|
foreach (KeyValuePair<string, string> kvp in dicYZGDLM)
|
|
{
|
|
if (!dicDRLM.ContainsKey(kvp.Key))
|
|
dicDRLM.Add(kvp.Key, "0");
|
|
}
|
|
}
|
|
|
|
public static Dictionary<string, string> GetAllGDLM(string sBJDID)
|
|
{
|
|
Dictionary<string, string> dicGDLM = GetGDLM();
|
|
BJFLXX bjflxx = XLBJDUtils.GetBJFLXXByBJDID(sBJDID);
|
|
if (!string.IsNullOrEmpty(bjflxx.XLXSBJFL_JMBGSBM.Trim()))
|
|
dicGDLM["O"] = bjflxx.XLXSBJFL_JMBGSBM.Trim();
|
|
Dictionary<string, string> dicYZGDLM = XLWBBJDUtils.GetWBBJDYZZGDLM(sBJDID);
|
|
foreach (KeyValuePair<string, string> 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
|
|
|
|
|
|
}
|
|
}
|