Files
N_XLXSBJ----MX/JGCZBMLList.aspx.cs
2026-08-21 17:03:02 +08:00

1258 lines
63 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using GThinking.N_MODEL.Page;
using GThinking.N_MISPRO.Utility;
using GThinking.N_MISPRO.Data;
using GThinking.N_WORKFLOW;
using GThinking.N_PUBLIC;
using GThinking.N_MISPRO;
using GThinking.N_MISPRO.TableCache;
using System.Text;
using System.Data.OleDb;
using GThinking.N_MISPROAS;
using System.Collections.Generic;
using GThinking.N_PUBLIC2;
namespace GThinking.N_XLXSBJ
{
public partial class JGCZBMLList : SingleGridBase
{
JGCZBML entity = new JGCZBML();
JGCZBML_M queryentity = new JGCZBML_M();
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860020;
this.UMName = "线缆销售报价结构尺重表";
this.CurMaster = Master;
this.CurEntity = entity;
this.ModuleGV = grdJGCZBML;
this.CurQueryEntity = queryentity;
this.PageHeight = 600;
this.PageWidth = 750;
this.sURLTarget = "JGCZBMLInfo.aspx";
this.sQueryURLTarget = "JGCZBMLQuery.aspx";
base.DataKeyNames = new string[] { "XLJGCZBML_JGCZBID" };
Master.EnableNewBtn = false;
Master.EnableCopyBtn = false;
Master.EnableEditBtn = false;
Master.EnableDeleteBtn = false;
Master.EnableViewBtn = false;
//仅超级用户可以释放演示数据
if (SystemInfoUtils.GetSystem().FzrGh.Equals("SUPERVISOR"))
btnDRYSSJ.Visible = true;
else
btnDRYSSJ.Visible = false;
if (DSActiveModule.IsActiveModule(102577006))
btnSZXDBZ.Visible = true;
else
btnSZXDBZ.Visible = false;
if (!IsPostBack)
{
CurQueryEntity.FieldByName("CZBLX").Value = "Z";
CurQueryEntity.FieldByName("PXFS").Value = "0";
}
base.InitPage();
if (!IsPostBack)
{
Master_OnStandardQuery(null, null);
}
}
#region 模板事件继承
protected override void Master_OnStandardQuery(object sender, EventArgs e)
{
base.InitEntityByCondition();
btnSZBJCL.Visible = false;
btnTZBJCL.Visible = false;
btnDR.Visible = false;
btnJGCZBNR.Visible = false;
if (CurQueryEntity.FieldByName("CZBLX").Value.Trim().Equals("Z") || CurQueryEntity.FieldByName("CZBLX").Value.Trim().Equals("C") || CurQueryEntity.FieldByName("CZBLX").Value.Trim().Equals("G"))
{
btnSZBJCL.Visible = true;
btnTZBJCL.Visible = true;
btnDR.Visible = false;
btnJGCZBNR.Visible = false;
}
else if (CurQueryEntity.FieldByName("CZBLX").Value.Trim().Equals("B"))
{
btnSZBJCL.Visible = false;
btnTZBJCL.Visible = false;
btnDR.Visible = true;
btnJGCZBNR.Visible = true;
}
else if (CurQueryEntity.FieldByName("CZBLX").Value.Trim().Equals("A"))
{
btnSZBJCL.Visible = false;
btnTZBJCL.Visible = false;
btnDR.Visible = false;
btnJGCZBNR.Visible = false;
}
entity.EntityTable.QuerySelSql = GetQuerySql();
base.Master_OnStandardQuery(sender, e);
entity.GridDataBind(grdJGCZBML, tSession);
}
protected override void BeforeDelete(TDatabase db, ref bool ActionIsDone)
{
entity.Param.Add("XLJGCZBML_JGCZBID", this.grdJGCZBML.SelectedDataKey["XLJGCZBML_JGCZBID"].ToString().Trim());
base.BeforeDelete(db, ref ActionIsDone);
}
protected override void AfterDelete(TDatabase db, ref bool ActionIsDone)
{
base.AfterDelete(db, ref ActionIsDone);
}
protected override bool Master_AfterDeleteAction(object sender, EventArgs e)
{
if (!base.Master_AfterDeleteAction(sender, e)) return false;
base.InitEntityByCondition();
entity.EntityTable.QuerySelSql = GetQuerySql();
entity.GridDataBind(grdJGCZBML, tSession);
grdJGCZBML.SelectedIndex = -1;
return true;
}
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
base.InitEntityByCondition();
entity.EntityTable.QuerySelSql = GetQuerySql();
grdJGCZBML.SelectedIndex = -1;
base.moduleGV_PageIndexChanging(sender, e);
}
protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
LinkPageParam.AddString("XLJGCZBML_JGCZBID", grdJGCZBML.DataKeys[e.Row.RowIndex]["XLJGCZBML_JGCZBID"].ToString().Trim());
}
base.moduleGV_RowDataBound(sender, e);
}
#endregion
#region 自定义
private string GetQuerySql()
{
StringBuilder sSQL = new StringBuilder();
sSQL.AppendLine(" select XLJGCZBML_JGCZBID,XLJGCZBML_JGCZBMC,XLJGCZBML_CZBJLDW,XLJGCZBML_XLGGDW,XLJGCZBML_FZR,XLJGCZBML_DRSJ,XLJGCZBML_WHR,XLJGCZBML_WHSJ, ");
sSQL.AppendLine(" RTRIM(XLJGCZBML_CPMLID)||'|'|| RTRIM(XLXSCPML_CPMLMC) as XLJGCZBML_CPMLID,XLJGCZBML_SYXLXHID,XLJGCZBML_SYDYDJID, ");
sSQL.AppendLine(" RTRIM(XLJGCZBML_XLBZID)||'|'|| RTRIM(XLBZ_XLBZLXMC) as XLJGCZBML_XLBZID ");
sSQL.AppendLine(" from XLJGCZBML ");
sSQL.AppendLine(" left join XLXSCPML on XLXSCPML_CPMLID = XLJGCZBML_CPMLID ");
sSQL.AppendLine(" left join XLBZ on XLBZ_XLBZID = XLJGCZBML_XLBZID ");
if (CurQueryEntity.FieldByName("BJCL").Value.Trim().Equals(""))
{
sSQL.AppendLine(" where 1=1 ");
}
else if (CurQueryEntity.FieldByName("BJCL").Value.Trim().Equals("未设置"))
{
sSQL.AppendLine(" where 1=1 ");
sSQL.AppendLine(" and exists ( ");
sSQL.AppendLine(" select 1 from XLJGCZBLM where XLJGCZBLM_JGCZBID=XLJGCZBML_JGCZBID");
sSQL.AppendLine(" and isnull(XLJGCZBLM_CLQDL,' ')<>' ' ");
sSQL.AppendLine(" and isnull(XLJGCZBLM_BJCLID,' ')=' ' ");
sSQL.AppendLine(" ) ");
}
else
{
sSQL.AppendLine(" where 1=1 ");
sSQL.AppendLine(" and exists ( ");
sSQL.AppendLine(" select 1 from XLJGCZBLM where XLJGCZBLM_JGCZBID=XLJGCZBML_JGCZBID");
sSQL.AppendLine(" and isnull(XLJGCZBLM_CLQDL,' ')<>' ' ");
sSQL.AppendLine(" and isnull(XLJGCZBLM_BJCLID,' ')=:pBJCLID ");
sSQL.AppendLine(" ) ");
entity.Param.Add("pBJCLID", CurQueryEntity.FieldByName("BJCL").Value.Trim());
}
if (!CurQueryEntity.FieldByName("BJCLID").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and exists ( ");
sSQL.AppendLine(" select 1 from XLJGCZBLM where XLJGCZBLM_JGCZBID=XLJGCZBML_JGCZBID");
sSQL.AppendLine(" and isnull(XLJGCZBLM_CLQDL,' ')<>' ' ");
sSQL.AppendLine(" and isnull(XLJGCZBLM_BJCLID,' ') like :BJCLID ");
sSQL.AppendLine(" ) ");
entity.Param.Add("BJCLID", "%" + CurQueryEntity.FieldByName("BJCLID").Value.Trim() + "%");
}
if (!CurQueryEntity.FieldByName("BJCLMC").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and exists ( ");
sSQL.AppendLine(" select 1 from XLJGCZBLM LEFT JOIN XLXSBJCL ON XLXSBJCL_BJCLID = XLJGCZBLM_BJCLID ");
sSQL.AppendLine(" where XLJGCZBLM_JGCZBID=XLJGCZBML_JGCZBID");
sSQL.AppendLine(" and isnull(XLJGCZBLM_CLQDL,' ')<>' ' ");
sSQL.AppendLine(" and isnull(XLXSBJCL_BJCLMC,' ') like :pBJCLMC ");
sSQL.AppendLine(" ) ");
entity.Param.Add("pBJCLMC", "%" + CurQueryEntity.FieldByName("BJCLMC").Value.Trim() + "%");
}
if (!CurQueryEntity.FieldByName("CZBLX").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and XLJGCZBML_CZBLX = :pCZBLX");
entity.Param.Add("pCZBLX", CurQueryEntity.FieldByName("CZBLX").Value.Trim());
}
if (!CurQueryEntity.FieldByName("CPMLID").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and XLJGCZBML_CPMLID = :pXLJGCZBML_CPMLID");
entity.Param.Add("pXLJGCZBML_CPMLID", CurQueryEntity.FieldByName("CPMLID").Value.Trim());
}
if (!CurQueryEntity.FieldByName("JGCZBID").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and XLJGCZBML_JGCZBID like :pXLJGCZBML_JGCZBID ");
entity.Param.Add("pXLJGCZBML_JGCZBID", "%" + CurQueryEntity.FieldByName("JGCZBID").Value.Trim() + "%");
}
if (!CurQueryEntity.FieldByName("JGCZBMC").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and XLJGCZBML_JGCZBMC like :pXLJGCZBML_JGCZBMC ");
entity.Param.Add("pXLJGCZBML_JGCZBMC", "%" + CurQueryEntity.FieldByName("JGCZBMC").Value.Trim() + "%");
}
if (!CurQueryEntity.FieldByName("SYXLXHID").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and ','||XLJGCZBML_SYXLXHID||',' like :pXLJGCZBML_SYXLXHID ");
entity.Param.Add("pXLJGCZBML_SYXLXHID", "%," + CurQueryEntity.FieldByName("SYXLXHID").Value.Trim() + ",%");
}
if (!CurQueryEntity.FieldByName("XLBZID").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and XLJGCZBML_XLBZID = :pXLBZID ");
entity.Param.Add("pXLBZID", CurQueryEntity.FieldByName("XLBZID").Value.Trim());
}
if (!CurQueryEntity.FieldByName("CLYLPSQK").Value.Trim().Equals(""))
{
if (CurQueryEntity.FieldByName("CLYLPSQK").Value.Trim().Equals("已派生"))
{
sSQL.AppendLine(" and exists(select TOP 1 XLXSCLQD_JGCZBID from XLXSCLQD where XLXSCLQD_JGCZBID = XLJGCZBML_JGCZBID) ");
}
else if (CurQueryEntity.FieldByName("CLYLPSQK").Value.Trim().Equals("未派生"))
{
sSQL.AppendLine(" and not exists(select TOP 1 XLXSCLQD_JGCZBID from XLXSCLQD where XLXSCLQD_JGCZBID = XLJGCZBML_JGCZBID) ");
}
}
if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("0"))
{
sSQL.AppendLine(" order by XLJGCZBML_JGCZBID ");
}
else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("1"))
{
sSQL.AppendLine(" order by XLJGCZBML_DRSJ desc,XLJGCZBML_JGCZBID ");
}
else
{
sSQL.AppendLine(" order by XLJGCZBML_JGCZBID ");
}
return sSQL.ToString();
}
#endregion
#region 按钮事件
protected void btnDR_MenuItemClick(object sender, string ItemIndex)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
string sJGCZBID = "";
switch (ItemIndex)
{
case "BJCLMCACT":
btnDR_OnClick(null, null);
break;
//报价材料名(固定栏目)
case "BJCLMC":
//if (grdJGCZBML.SelectedIndex < 0)
//{
// ShowMessage("请选择处理记录!");
// return;
//}
//else if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLJGCZBML where XLJGCZBML_JGCZBID='{0}' and XLJGCZBML_CZBLX='B'",
// grdJGCZBML.SelectedDataKey["XLJGCZBML_JGCZBID"].ToString().Trim())))
//{
// ShowMessage("非“B|材料用量(Excel导入)”类结构尺重表,不允许导入!");
// return;
//}
txtCallBackDRSJ.Value = "";
txtCallBackFlag.Value = "";
txtCallBackJGCZBID.Value = "";
if (grdJGCZBML.SelectedIndex < 0)
{
sJGCZBID = "";
TPageParams pageParams = new TPageParams();
pageParams.UrlPath = "JGCZBDR.aspx";
pageParams.Title = "报价材料名(固定栏目)";
pageParams.AddString("DRLX", "BJCLMC");
pageParams.AddString("JGCZBID", sJGCZBID);
//pageParams.AddString("JGCZBBBID", sJGCZBBBID);
//pageParams.AddString("CPMLID", sCPMLID);
pageParams.AddString("CZBJLDW", "1");
//pageParams.AddString("EXCEL", ds.Tables[0].Rows[0]["XLJGCZBML_EXCEL"].ToString().Trim());
//pageParams.AddString("SHEET", ds.Tables[0].Rows[0]["XLJGCZBML_SHEET"].ToString().Trim());
pageParams.AddString("txtCallBackDRSJCID", txtCallBackDRSJ.ClientID);
pageParams.AddString("txtCallBackFlagCID", txtCallBackFlag.ClientID);
pageParams.AddString("txtCallBackJGCZBIDCID", txtCallBackJGCZBID.ClientID);
OpenDialogClickBtn(pageParams, btnCallBack.ClientID);
}
else
{
sJGCZBID = grdJGCZBML.SelectedDataKey["XLJGCZBML_JGCZBID"].ToString().Trim();
//B类不需要版本概念
SQL.Clear();
SQL.Add("select 1 from XLJGCZBNR where XLJGCZBNR_JGCZBID=:pJGCZBID");
SQL.ParamByName("pJGCZBID").Value = sJGCZBID;
DataSet dsNR = dberp.OpenDataSet(SQL);
if (dsNR.Tables[0].Rows.Count > 0)
{
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();
}
}
SQL.Clear();
SQL.Add("select XLJGCZBML_JGCZBBBID,XLJGCZBML_CPMLID,XLJGCZBML_CZBJLDW,XLJGCZBML_EXCEL,XLJGCZBML_SHEET ");
SQL.Add("from XLJGCZBML ");
SQL.Add("where XLJGCZBML_JGCZBID=:pJGCZBID ");
SQL.ParamByName("pJGCZBID").Value = sJGCZBID;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
string sJGCZBBBID = ds.Tables[0].Rows[0]["XLJGCZBML_JGCZBBBID"].ToString().Trim();
string sCPMLID = ds.Tables[0].Rows[0]["XLJGCZBML_CPMLID"].ToString().Trim();
string sCZBJLDW = ds.Tables[0].Rows[0]["XLJGCZBML_CZBJLDW"].ToString().Trim();
TPageParams pageParams = new TPageParams();
pageParams.UrlPath = "JGCZBDR.aspx";
pageParams.Title = "报价材料名(固定栏目)";
pageParams.AddString("DRLX", "BJCLMC");
pageParams.AddString("JGCZBID", sJGCZBID);
pageParams.AddString("JGCZBBBID", sJGCZBBBID);
pageParams.AddString("CPMLID", sCPMLID);
pageParams.AddString("CZBJLDW", sCZBJLDW);
pageParams.AddString("EXCEL", ds.Tables[0].Rows[0]["XLJGCZBML_EXCEL"].ToString().Trim());
pageParams.AddString("SHEET", ds.Tables[0].Rows[0]["XLJGCZBML_SHEET"].ToString().Trim());
pageParams.AddString("txtCallBackDRSJCID", txtCallBackDRSJ.ClientID);
pageParams.AddString("txtCallBackFlagCID", txtCallBackFlag.ClientID);
OpenDialogClickBtn(pageParams, btnCallBack.ClientID);
//FormAreaUpdate();
}
}
break;
//材料清单列(固定栏目)
case "CLQDL":
txtCallBackDRSJ.Value = "";
txtCallBackFlag.Value = "";
txtCallBackJGCZBID.Value = "";
if (grdJGCZBML.SelectedIndex < 0)
{
sJGCZBID = "";
TPageParams pageParams = new TPageParams();
pageParams.UrlPath = "JGCZBDR.aspx";
pageParams.Title = "材料清单列(固定栏目)";
pageParams.AddString("DRLX", "CLQDL");
pageParams.AddString("JGCZBID", sJGCZBID);
//pageParams.AddString("JGCZBBBID", sJGCZBBBID);
//pageParams.AddString("CPMLID", sCPMLID);
pageParams.AddString("CZBJLDW", "1");
//pageParams.AddString("EXCEL", ds.Tables[0].Rows[0]["XLJGCZBML_EXCEL"].ToString().Trim());
//pageParams.AddString("SHEET", ds.Tables[0].Rows[0]["XLJGCZBML_SHEET"].ToString().Trim());
pageParams.AddString("txtCallBackDRSJCID", txtCallBackDRSJ.ClientID);
pageParams.AddString("txtCallBackFlagCID", txtCallBackFlag.ClientID);
pageParams.AddString("txtCallBackJGCZBIDCID", txtCallBackJGCZBID.ClientID);
OpenDialogClickBtn(pageParams, btnCallBack.ClientID);
}
else
{
sJGCZBID = grdJGCZBML.SelectedDataKey["XLJGCZBML_JGCZBID"].ToString().Trim();
//B类需要版本概念
SQL.Clear();
SQL.Add("select 1 from XLJGCZBNR where XLJGCZBNR_JGCZBID=:pJGCZBID");
SQL.ParamByName("pJGCZBID").Value = sJGCZBID;
DataSet dsNR = dberp.OpenDataSet(SQL);
if (dsNR.Tables[0].Rows.Count > 0)
{
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();
}
}
SQL.Clear();
SQL.Add("select XLJGCZBML_JGCZBBBID,XLJGCZBML_CPMLID,XLJGCZBML_CZBJLDW,XLJGCZBML_EXCEL,XLJGCZBML_SHEET ");
SQL.Add("from XLJGCZBML ");
SQL.Add("where XLJGCZBML_JGCZBID=:pJGCZBID ");
SQL.ParamByName("pJGCZBID").Value = sJGCZBID;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
string sJGCZBBBID = ds.Tables[0].Rows[0]["XLJGCZBML_JGCZBBBID"].ToString().Trim();
string sCPMLID = ds.Tables[0].Rows[0]["XLJGCZBML_CPMLID"].ToString().Trim();
string sCZBJLDW = ds.Tables[0].Rows[0]["XLJGCZBML_CZBJLDW"].ToString().Trim();
TPageParams pageParams = new TPageParams();
pageParams.UrlPath = "JGCZBDR.aspx";
pageParams.Title = "材料清单列(固定栏目)";
pageParams.AddString("DRLX", "CLQDL");
pageParams.AddString("JGCZBID", sJGCZBID);
pageParams.AddString("JGCZBBBID", sJGCZBBBID);
pageParams.AddString("CPMLID", sCPMLID);
pageParams.AddString("CZBJLDW", sCZBJLDW);
pageParams.AddString("EXCEL", ds.Tables[0].Rows[0]["XLJGCZBML_EXCEL"].ToString().Trim());
pageParams.AddString("SHEET", ds.Tables[0].Rows[0]["XLJGCZBML_SHEET"].ToString().Trim());
pageParams.AddString("txtCallBackDRSJCID", txtCallBackDRSJ.ClientID);
pageParams.AddString("txtCallBackFlagCID", txtCallBackFlag.ClientID);
OpenDialogClickBtn(pageParams, btnCallBack.ClientID);
//FormAreaUpdate();
}
}
break;
}
}
protected void btnDR_OnClick(object sender, EventArgs e)
{
txtCallBackDRSJ.Value = "";
txtCallBackFlag.Value = "";
txtCallBackJGCZBID.Value = "";
if (grdJGCZBML.SelectedIndex < 0)
{
string sJGCZBID = "";
TPageParams pageParams = new TPageParams();
pageParams.UrlPath = "JGCZBDR.aspx";
pageParams.Title = "报价材料名(动态栏目)";
pageParams.AddString("DRLX", "BJCLMCACT");
pageParams.AddString("JGCZBID", sJGCZBID);
//pageParams.AddString("JGCZBBBID", sJGCZBBBID);
//pageParams.AddString("CPMLID", sCPMLID);
pageParams.AddString("CZBJLDW", "1");
//pageParams.AddString("EXCEL", ds.Tables[0].Rows[0]["XLJGCZBML_EXCEL"].ToString().Trim());
//pageParams.AddString("SHEET", ds.Tables[0].Rows[0]["XLJGCZBML_SHEET"].ToString().Trim());
pageParams.AddString("txtCallBackDRSJCID", txtCallBackDRSJ.ClientID);
pageParams.AddString("txtCallBackFlagCID", txtCallBackFlag.ClientID);
pageParams.AddString("txtCallBackJGCZBIDCID", txtCallBackJGCZBID.ClientID);
OpenDialogClickBtn(pageParams, btnCallBack.ClientID);
}
else
{
string sJGCZBID = grdJGCZBML.SelectedDataKey["XLJGCZBML_JGCZBID"].ToString().Trim();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
//B类不需要版本概念
SQL.Clear();
SQL.Add("select 1 from XLJGCZBNR where XLJGCZBNR_JGCZBID=:pJGCZBID");
SQL.ParamByName("pJGCZBID").Value = sJGCZBID;
DataSet dsXLJGCZBNR = dberp.OpenDataSet(SQL);
if (dsXLJGCZBNR.Tables[0].Rows.Count > 0)
{
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();
}
}
SQL.Clear();
SQL.Add("select XLJGCZBML_JGCZBBBID,XLJGCZBML_CPMLID,XLJGCZBML_CZBJLDW,XLJGCZBML_EXCEL,XLJGCZBML_SHEET ");
SQL.Add("from XLJGCZBML ");
SQL.Add("where XLJGCZBML_JGCZBID=:pJGCZBID ");
SQL.ParamByName("pJGCZBID").Value = sJGCZBID;
DataSet dsXLJGCZBML = dberp.OpenDataSet(SQL);
if (dsXLJGCZBML.Tables[0].Rows.Count > 0)
{
string sJGCZBBBID = dsXLJGCZBML.Tables[0].Rows[0]["XLJGCZBML_JGCZBBBID"].ToString().Trim();
string sCPMLID = dsXLJGCZBML.Tables[0].Rows[0]["XLJGCZBML_CPMLID"].ToString().Trim();
string sCZBJLDW = dsXLJGCZBML.Tables[0].Rows[0]["XLJGCZBML_CZBJLDW"].ToString().Trim();
TPageParams pageParams = new TPageParams();
pageParams.UrlPath = "JGCZBDR.aspx";
pageParams.Title = "报价材料名(动态栏目)";
pageParams.AddString("DRLX", "BJCLMCACT");
pageParams.AddString("JGCZBID", sJGCZBID);
pageParams.AddString("JGCZBBBID", sJGCZBBBID);
pageParams.AddString("CPMLID", sCPMLID);
pageParams.AddString("CZBJLDW", sCZBJLDW);
pageParams.AddString("EXCEL", dsXLJGCZBML.Tables[0].Rows[0]["XLJGCZBML_EXCEL"].ToString().Trim());
pageParams.AddString("SHEET", dsXLJGCZBML.Tables[0].Rows[0]["XLJGCZBML_SHEET"].ToString().Trim());
pageParams.AddString("txtCallBackDRSJCID", txtCallBackDRSJ.ClientID);
pageParams.AddString("txtCallBackFlagCID", txtCallBackFlag.ClientID);
OpenDialogClickBtn(pageParams, btnCallBack.ClientID);
//FormAreaUpdate();
}
}
}
//Excel导入界面关闭后自动弹出‘结构尺重表内容’界面
protected void btnCallBack_Click(object sender, EventArgs e)
{
if (!txtCallBackDRSJ.Value.Trim().Equals(""))
{
btnJGCZBNR_Click(null, null);
}
}
protected void btnJGCZBNR_Click(object sender, EventArgs e)
{
string sJGCZBID=txtCallBackJGCZBID.Value.Trim();
if (sJGCZBID.Equals(""))
{
if (grdJGCZBML.SelectedIndex < 0)
{
ShowMessage("请选择处理记录!");
return;
}
else if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLJGCZBML where XLJGCZBML_JGCZBID='{0}' and XLJGCZBML_CZBLX='B'",
grdJGCZBML.SelectedDataKey["XLJGCZBML_JGCZBID"].ToString().Trim())))
{
ShowMessage("非“B|材料用量(Excel导入)”类结构尺重表,不允许查看导入内容!");
return;
}
sJGCZBID = grdJGCZBML.DataKeys[grdJGCZBML.SelectedIndex]["XLJGCZBML_JGCZBID"].ToString().Trim();
}
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
sql.Add("select XLJGCZBML_CPMLID,XLJGCZBML_CZBJLDW,XLJGCZBML_JGCZBBBID,XLJGCZBML_JGCZBMC ");
sql.Add("from XLJGCZBML ");
sql.Add("where XLJGCZBML_JGCZBID=:pJGCZBID ");
sql.ParamByName("pJGCZBID").Value = sJGCZBID;
DataSet ds = dberp.OpenDataSet(sql);
if (ds.Tables[0].Rows.Count > 0)
{
TPageParams pageParams = new TPageParams();
pageParams.UrlPath = "JGCZBNRList.aspx";
pageParams.AddString("JGCZBID", sJGCZBID);
pageParams.AddString("JGCZBBBID", ds.Tables[0].Rows[0]["XLJGCZBML_JGCZBBBID"].ToString().Trim());
pageParams.AddString("JGCZBMC", ds.Tables[0].Rows[0]["XLJGCZBML_JGCZBMC"].ToString().Trim());
pageParams.AddString("DRLX", txtCallBackFlag.Value.Trim());
pageParams.AddString("CPMLID", ds.Tables[0].Rows[0]["XLJGCZBML_CPMLID"].ToString().Trim());
pageParams.AddString("CZBJLDW", ds.Tables[0].Rows[0]["XLJGCZBML_CZBJLDW"].ToString().Trim());
OpenDialog(pageParams);
}
}
protected void btnSZBJCL_Click(object sender, EventArgs e)
{
if (grdJGCZBML.SelectedIndex < 0)
{
ShowMessage("请选择处理记录!");
return;
}
string sJGCZBID = grdJGCZBML.DataKeys[grdJGCZBML.SelectedIndex]["XLJGCZBML_JGCZBID"].ToString().Trim();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
sql.Add("select XLJGCZBML_JGCZBBBID, XLJGCZBML_JGCZBMC ");
sql.Add("from XLJGCZBML ");
sql.Add("where XLJGCZBML_JGCZBID=:pJGCZBID ");
sql.ParamByName("pJGCZBID").Value = sJGCZBID;
DataSet ds = dberp.OpenDataSet(sql);
if (ds.Tables[0].Rows.Count > 0)
{
TPageParams tpp = new TPageParams();
tpp.UrlPath = "JGCZBLMList.aspx";
tpp.AddString("JGCZBID", sJGCZBID);
tpp.AddString("JGCZBBBID", ds.Tables[0].Rows[0]["XLJGCZBML_JGCZBBBID"].ToString().Trim());
tpp.AddString("JGCZBMC", ds.Tables[0].Rows[0]["XLJGCZBML_JGCZBMC"].ToString().Trim());
OpenDialog(tpp);
}
}
protected void btnTZBJCL_Click(object sender, EventArgs e)
{
base.InitEntityByCondition();
TPageParams tpp = new TPageParams();
tpp.UrlPath = "JGCZB_TZBJCLList.aspx";
tpp.AddString("CZBLX", CurQueryEntity.FieldByName("CZBLX").Value.Trim());
OpenDialog(tpp);
}
protected void btnSZXDBZ_Click(object sender, EventArgs e)
{
if (grdJGCZBML.SelectedIndex < 0)
{
ShowMessage("请选择处理记录!");
return;
}
string sJGCZBID = grdJGCZBML.DataKeys[grdJGCZBML.SelectedIndex]["XLJGCZBML_JGCZBID"].ToString().Trim();
TPageParams tpp = new TPageParams();
tpp.UrlPath = "../Components/N_XLBJPZ/XDBZSZList.aspx";
tpp.AddString("JGCZBID", sJGCZBID);
OpenModuleDialog(102577006, tpp);
}
//回收演示数据
protected void btnDRYSSJ_MenuItemClick(object sender, string ItemIndex)
{
switch (ItemIndex)
{
case "DEL":
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();
}
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
string sExcel = "导入演示数据.xls";
if (!CMISproDataBase.ExistsRecord("DBERP", "select top 1 XLJGCZBML_JGCZBID from XLJGCZBML where XLJGCZBML_JGCZBID like 'XLXSBJ%' and XLJGCZBML_EXCEL='" + sExcel + "'"))
{
ShowMessage("尚未导入演示数据!");
return;
}
try
{
dberp.BeginTrans();
sSQL.Clear();
sSQL.Add("delete from XLXHJGCZBML where XLXHJGCZBML_JGCZBID in (select XLJGCZBML_JGCZBID from XLJGCZBML where XLJGCZBML_JGCZBID like 'XLXSBJ%' and XLJGCZBML_EXCEL=:pExcel)");
sSQL.ParamByName("pExcel").Value = sExcel;
dberp.ExecSQL(sSQL);
sSQL.Clear();
sSQL.Add("delete from XLXHJGCZBNR where XLXHJGCZBNR_JGCZBID in (select XLJGCZBML_JGCZBID from XLJGCZBML where XLJGCZBML_JGCZBID like 'XLXSBJ%' and XLJGCZBML_EXCEL=:pExcel)");
sSQL.ParamByName("pExcel").Value = sExcel;
dberp.ExecSQL(sSQL);
sSQL.Clear();
sSQL.Add("delete from XLJGCZBNR where XLJGCZBNR_JGCZBID in (select XLJGCZBML_JGCZBID from XLJGCZBML where XLJGCZBML_JGCZBID like 'XLXSBJ%' and XLJGCZBML_EXCEL=:pExcel)");
sSQL.ParamByName("pExcel").Value = sExcel;
dberp.ExecSQL(sSQL);
sSQL.Clear();
sSQL.Add("delete from XLJGCZBLM where XLJGCZBLM_JGCZBID in (select XLJGCZBML_JGCZBID from XLJGCZBML where XLJGCZBML_JGCZBID like 'XLXSBJ%' and XLJGCZBML_EXCEL=:pExcel)");
sSQL.ParamByName("pExcel").Value = sExcel;
dberp.ExecSQL(sSQL);
sSQL.Clear();
sSQL.Add("delete from XLXSCLQD where XLXSCLQD_JGCZBID in (select XLJGCZBML_JGCZBID from XLJGCZBML where XLJGCZBML_JGCZBID like 'XLXSBJ%' and XLJGCZBML_EXCEL=:pExcel)");
sSQL.ParamByName("pExcel").Value = sExcel;
dberp.ExecSQL(sSQL);
sSQL.Clear();
sSQL.Add("delete from XLJGCZBML where XLJGCZBML_JGCZBID like 'XLXSBJ%' and XLJGCZBML_EXCEL=:pExcel");
sSQL.ParamByName("pExcel").Value = sExcel;
dberp.ExecSQL(sSQL);
sSQL.Clear();
sSQL.Add("delete from XLXSBJFL where XLXSBJFL_BJFLID=:pBJFLID");
sSQL.ParamByName("pBJFLID").Value = "--------";
dberp.ExecSQL(sSQL);
sSQL.Clear();
sSQL.Add("delete from XLXSBJFLBJRHQCL where XLXSBJFLBJRHQCL_BJFLID=:pBJFLID");
sSQL.ParamByName("pBJFLID").Value = "--------";
dberp.ExecSQL(sSQL);
sSQL.Clear();
sSQL.Add("delete from XLXSBJFLKH where XLXSBJFLKH_BJFLID=:pBJFLID");
sSQL.ParamByName("pBJFLID").Value = "--------";
dberp.ExecSQL(sSQL);
dberp.CommitTrans();
ShowMessage("回收完成!");
moduleGV_PageIndexChanging(null, null);
}
catch (Exception ex)
{
dberp.RollbackTrans();
ShowMessage(ex.Message);
return;
}
break;
}
}
//导入演示数据
protected void btnDRYSSJ_OnClick(object sender, EventArgs e)
{
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();
}
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
string sExcel = "导入演示数据.xls";
sSQL.Clear();
sSQL.Add("select top 1 XLXSCLQD_XLXHID from XLXSCLQD");
sSQL.Add(" where XLXSCLQD_WPID='ZZZZ'");
sSQL.Add(" and XLXSCLQD_JGCZBID not in (select XLJGCZBML_JGCZBID from XLJGCZBML where XLJGCZBML_JGCZBID like 'XLXSBJ%' and XLJGCZBML_EXCEL='" + sExcel + "')");
DataSet dsUse = dberp.OpenDataSet(sSQL);
if (dsUse.Tables[0].Rows.Count > 0)
{
ShowMessage("已有非演示数据进入材料清单,不再支持导入演示数据!");
return;
}
if (CMISproDataBase.ExistsRecord("DBERP", "select top 1 XLJGCZBML_JGCZBID from XLJGCZBML where XLJGCZBML_JGCZBID like 'XLXSBJ%' and XLJGCZBML_EXCEL='" + sExcel + "'"))
{
ShowMessage("已导入演示数据,不允许重复导入!");
return;
}
string sFilePath = System.AppDomain.CurrentDomain.BaseDirectory + "/Components/N_XLXSBJ/" + sExcel;
string[] arrSheetNames = GetSheetNames(sFilePath);
if (arrSheetNames == null)
return;
string sMessage = "";
DataSet ds = TExcelData.ReadExcel_NPOI(sFilePath, arrSheetNames, 0, false, ref sMessage);
if (!sMessage.Trim().Equals(""))
{
ShowMessage(sMessage);
return;
}
try
{
dberp.BeginTrans();
string sPrefixBJCL = "BJCL99";
double maxBJCL99 = GetMaxBJCL99(sPrefixBJCL);
double maxJGCZBXH = GetMaxJGCZBXH();
//记录已插入的报价材料,避免重复插入
Dictionary<string, string> InsertedBJCLMC = GetBJCL99(sPrefixBJCL);
foreach (DataTable dt in ds.Tables)
{
maxJGCZBXH = maxJGCZBXH + 1;
string sJGCZBID = "XLXSBJ" + maxJGCZBXH.ToString().PadLeft(4, '0');
string sJGCZBBBID = "1.0";
string sJGCZBMC = dt.TableName.Trim();
#region 插入B类尺重表,XLXSBJ????
sSQL.Clear();
sSQL.Add("insert into XLJGCZBML(XLJGCZBML_JGCZBID,XLJGCZBML_JGCZBBBID,XLJGCZBML_JGCZBMC,XLJGCZBML_CZBJLDW,XLJGCZBML_CZBLX,");
sSQL.Add(" XLJGCZBML_GGHLX,XLJGCZBML_XLGGDW,XLJGCZBML_CPMLID,XLJGCZBML_XLBZBN,XLJGCZBML_DYDJBN,XLJGCZBML_XLXHBN,XLJGCZBML_WHRID,XLJGCZBML_WHR,XLJGCZBML_WHSJ,");
sSQL.Add(" XLJGCZBML_EXCEL,XLJGCZBML_SHEET,XLJGCZBML_LMHHS,XLJGCZBML_LMHHZ,XLJGCZBML_NRHHS,XLJGCZBML_NRHHZ,XLJGCZBML_DRSJ)");
sSQL.Add(" values(:XLJGCZBML_JGCZBID,:XLJGCZBML_JGCZBBBID,:XLJGCZBML_JGCZBMC,:XLJGCZBML_CZBJLDW,:XLJGCZBML_CZBLX,");
sSQL.Add(" :XLJGCZBML_GGHLX,:XLJGCZBML_XLGGDW,:XLJGCZBML_CPMLID,:XLJGCZBML_XLBZBN,:XLJGCZBML_DYDJBN,:XLJGCZBML_XLXHBN,:XLJGCZBML_WHRID,:XLJGCZBML_WHR,:XLJGCZBML_WHSJ,");
sSQL.Add(" :XLJGCZBML_EXCEL,:XLJGCZBML_SHEET,:XLJGCZBML_LMHHS,:XLJGCZBML_LMHHZ,:XLJGCZBML_NRHHS,:XLJGCZBML_NRHHZ,:XLJGCZBML_DRSJ)");
sSQL.ParamByName("XLJGCZBML_JGCZBID").Value = sJGCZBID;
sSQL.ParamByName("XLJGCZBML_JGCZBBBID").Value = sJGCZBBBID;
sSQL.ParamByName("XLJGCZBML_JGCZBMC").Value = sJGCZBMC;
sSQL.ParamByName("XLJGCZBML_CZBJLDW").Value = "2";//2|Kg/m
sSQL.ParamByName("XLJGCZBML_CZBLX").Value = "B";//B|材料用量(Excel导入)
sSQL.ParamByName("XLJGCZBML_GGHLX").Value = "1";//1|单行
sSQL.ParamByName("XLJGCZBML_XLGGDW").Value = "mm2";
sSQL.ParamByName("XLJGCZBML_CPMLID").Value = "ZZ";//ZZ|默认产品目录
sSQL.ParamByName("XLJGCZBML_XLBZBN").Value = "Y";
sSQL.ParamByName("XLJGCZBML_DYDJBN").Value = "Y";
sSQL.ParamByName("XLJGCZBML_XLXHBN").Value = "Y";
sSQL.ParamByName("XLJGCZBML_WHRID").Value = tSession.UserId;
sSQL.ParamByName("XLJGCZBML_WHR").Value = tSession.UserName;
sSQL.ParamByName("XLJGCZBML_WHSJ").Value = DateTime.Now;
sSQL.ParamByName("XLJGCZBML_EXCEL").Value = sExcel;
sSQL.ParamByName("XLJGCZBML_SHEET").Value = sJGCZBMC;
sSQL.ParamByName("XLJGCZBML_LMHHS").Value = 1;
sSQL.ParamByName("XLJGCZBML_LMHHZ").Value = 1;
sSQL.ParamByName("XLJGCZBML_NRHHS").Value = 2;
sSQL.ParamByName("XLJGCZBML_NRHHZ").Value = dt.Rows.Count;
sSQL.ParamByName("XLJGCZBML_DRSJ").Value = DateTime.Now;
dberp.ExecSQL(sSQL);
#endregion
#region 插入型号、规格、标准、电压等级栏目
//2005语法不支持value(),()
sSQL.Clear();
sSQL.Add("insert into XLJGCZBLM(");
sSQL.Add("XLJGCZBLM_JGCZBID,XLJGCZBLM_JGCZBBBID,XLJGCZBLM_CZBLMBH,XLJGCZBLM_CZBLMMC,");
sSQL.Add("XLJGCZBLM_HLMLX,XLJGCZBLM_ZDLMLX,XLJGCZBLM_CLQDL,XLJGCZBLM_BJCLID,");
sSQL.Add("XLJGCZBLM_WHRID,XLJGCZBLM_WHR,XLJGCZBLM_WHSJ) ");
sSQL.Add("values ");
sSQL.Add(string.Format("('{0}','{1}','{2}','{3}','{4}','{5}',null,null,'{6}','{7}','{8}'), ", sJGCZBID, sJGCZBBBID, "01", "型号", "Z", "2", tSession.UserId, tSession.UserName, DateTime.Now));
sSQL.Add(string.Format("('{0}','{1}','{2}','{3}','{4}','{5}',null,null,'{6}','{7}','{8}'), ", sJGCZBID, sJGCZBBBID, "02", "规格", "Z", "3", tSession.UserId, tSession.UserName, DateTime.Now));
sSQL.Add(string.Format("('{0}','{1}','{2}','{3}','{4}','{5}',null,null,'{6}','{7}','{8}'), ", sJGCZBID, sJGCZBBBID, "03", "标准", "Z", "0", tSession.UserId, tSession.UserName, DateTime.Now));
sSQL.Add(string.Format("('{0}','{1}','{2}','{3}','{4}','{5}',null,null,'{6}','{7}','{8}') ", sJGCZBID, sJGCZBBBID, "04", "电压等级", "Z", "1", tSession.UserId, tSession.UserName, DateTime.Now));
dberp.ExecSQL(sSQL);
#endregion
for (int i = 4; i < dt.Columns.Count; i++)
{
string sBJCLID = "";
string sBJCLMC = XLBJDUtils.SubStringFunc(dt.Rows[0][i].ToString().Trim(), 60);
#region 若报价材料未被插入过则执行插入,否则取出BJCLID
if (!InsertedBJCLMC.TryGetValue(sBJCLMC, out sBJCLID))
{
maxBJCL99 = maxBJCL99 + 1;
sBJCLID = sPrefixBJCL + maxBJCL99.ToString().PadLeft(4, '0');
sSQL.Clear();
sSQL.Add(" insert into XLXSBJCL(XLXSBJCL_BJCLID,XLXSBJCL_BJCLMC,XLXSBJCL_ZZSL,XLXSBJCL_BZ,XLXSBJCL_WHRID,XLXSBJCL_WHR,XLXSBJCL_WHSJ) ");
sSQL.Add(" values(:XLXSBJCL_BJCLID, :XLXSBJCL_BJCLMC, :XLXSBJCL_ZZSL, :XLXSBJCL_BZ, :XLXSBJCL_WHRID, :XLXSBJCL_WHR, :XLXSBJCL_WHSJ)");
sSQL.ParamByName("XLXSBJCL_BJCLID").Value = sBJCLID;
sSQL.ParamByName("XLXSBJCL_BJCLMC").Value = sBJCLMC;
sSQL.ParamByName("XLXSBJCL_ZZSL").Value = 13;
sSQL.ParamByName("XLXSBJCL_BZ").Value = sJGCZBID + "|" + sJGCZBMC + "(演示数据自动生成)";
sSQL.ParamByName("XLXSBJCL_WHRID").Value = tSession.UserId;
sSQL.ParamByName("XLXSBJCL_WHR").Value = tSession.UserName;
sSQL.ParamByName("XLXSBJCL_WHSJ").Value = DateTime.Now;
dberp.ExecSQL(sSQL);
InsertedBJCLMC.Add(sBJCLMC, sBJCLID);
}
#endregion
#region 插入材料用量栏目
sSQL.Clear();
sSQL.Add("insert into XLJGCZBLM(");
sSQL.Add("XLJGCZBLM_JGCZBID,XLJGCZBLM_JGCZBBBID,XLJGCZBLM_CZBLMBH,XLJGCZBLM_CZBLMMC,");
sSQL.Add("XLJGCZBLM_HLMLX,XLJGCZBLM_ZDLMLX,XLJGCZBLM_CLQDL,XLJGCZBLM_BJCLID,");
sSQL.Add("XLJGCZBLM_WHRID,XLJGCZBLM_WHR,XLJGCZBLM_WHSJ) ");
sSQL.Add("values ( ");
sSQL.Add(":XLJGCZBLM_JGCZBID,:XLJGCZBLM_JGCZBBBID,:XLJGCZBLM_CZBLMBH,:XLJGCZBLM_CZBLMMC,");
sSQL.Add(":XLJGCZBLM_HLMLX,:XLJGCZBLM_ZDLMLX,:XLJGCZBLM_CLQDL,:XLJGCZBLM_BJCLID,");
sSQL.Add(":XLJGCZBLM_WHRID,:XLJGCZBLM_WHR,:XLJGCZBLM_WHSJ ");
sSQL.Add(") ");
sSQL.ParamByName("XLJGCZBLM_JGCZBID").Value = sJGCZBID;
sSQL.ParamByName("XLJGCZBLM_JGCZBBBID").Value = sJGCZBBBID;
sSQL.ParamByName("XLJGCZBLM_CZBLMBH").Value = Convert.ToString(i + 1).PadLeft(2, '0');
sSQL.ParamByName("XLJGCZBLM_CZBLMMC").Value = sBJCLMC;
sSQL.ParamByName("XLJGCZBLM_HLMLX").Value = "Z";
sSQL.ParamByName("XLJGCZBLM_ZDLMLX").Value = "4";
sSQL.ParamByName("XLJGCZBLM_CLQDL").Value = "第" + Convert.ToString(i + 1 - 4).PadLeft(2, '0') + "列";
sSQL.ParamByName("XLJGCZBLM_BJCLID").Value = sBJCLID;
sSQL.ParamByName("XLJGCZBLM_WHRID").Value = tSession.UserId;
sSQL.ParamByName("XLJGCZBLM_WHR").Value = tSession.UserName;
sSQL.ParamByName("XLJGCZBLM_WHSJ").Value = DateTime.Now;
dberp.ExecSQL(sSQL);
#endregion
}
#region 自第二行始逐行插入XLJGCZBNR
for (int i = 1; i < dt.Rows.Count; i++)
{
sSQL.Clear();
sSQL.Add(" insert into XLJGCZBNR(XLJGCZBNR_LMNR01,XLJGCZBNR_LMNR02,XLJGCZBNR_LMNR03,XLJGCZBNR_LMNR04, ");
for (int j = 4; j < dt.Columns.Count; j++)
{
sSQL.Add(string.Format("XLJGCZBNR_LMNR{0},", Convert.ToString(j + 1).PadLeft(2, '0')));
}
sSQL.Add("XLJGCZBNR_JGCZBID, XLJGCZBNR_JGCZBBBID, XLJGCZBNR_DRHH) ");
sSQL.Add(" values(:pXLXHID,:pXLGGID,:pXLBZID,:pDYDJID,");
for (int j = 4; j < dt.Columns.Count; j++)
{
sSQL.Add(string.Format(":XLJGCZBNR_LMNR{0},", Convert.ToString(j + 1).PadLeft(2, '0')));
double dSL = CMISproConvert.StrToFloat(dt.Rows[i][j].ToString(), 0);
if (GetOption(100860002, "BJU003").Equals("Km"))
dSL = dSL * 1000;
sSQL.ParamByName(string.Format("XLJGCZBNR_LMNR{0}", Convert.ToString(j + 1).PadLeft(2, '0'))).Value = XLBJDUtils.SubStringFunc(dSL.ToString(), 30);
}
sSQL.Add(" :XLJGCZBNR_JGCZBID, :XLJGCZBNR_JGCZBBBID, :XLJGCZBNR_DRHH)");
sSQL.ParamByName("pXLXHID").Value = dt.Rows[i][0].ToString().Trim();
sSQL.ParamByName("pXLGGID").Value = dt.Rows[i][1].ToString().Trim();
sSQL.ParamByName("pXLBZID").Value = dt.Rows[i][2].ToString().Trim().Split('|')[0].Trim();
sSQL.ParamByName("pDYDJID").Value = dt.Rows[i][3].ToString().Trim();
sSQL.ParamByName("XLJGCZBNR_JGCZBID").Value = sJGCZBID;
sSQL.ParamByName("XLJGCZBNR_JGCZBBBID").Value = sJGCZBBBID;
sSQL.ParamByName("XLJGCZBNR_DRHH").Value = i + 1;
dberp.ExecSQL(sSQL);
}
#endregion
#region 依XLJGCZBNR构建XLXHJGCZBML、XLXHJGCZBNR
sSQL.Clear();
sSQL.Add("insert into XLXHJGCZBML(XLXHJGCZBML_JGCZBID,XLXHJGCZBML_JGCZBXH,XLXHJGCZBML_XLXHID,XLXHJGCZBML_DYDJID,XLXHJGCZBML_XLBZID,");
sSQL.Add(" XLXHJGCZBML_XLBZBH,XLXHJGCZBML_XYCXJS,XLXHJGCZBML_WHRID,XLXHJGCZBML_WHR,XLXHJGCZBML_WHSJ)");
sSQL.Add(" select JGCZBID,");
sSQL.Add(" row_number() over(partition by JGCZBID order by XLXHID,DYDJID,XLBZID) as JGCZBXH,");
sSQL.Add(" XLXHID,DYDJID,XLBZID,");
sSQL.Add(" ' ',' ',:pWHRID,:pWHR,:pWHSJ");
sSQL.Add(" from (select distinct XLJGCZBNR_JGCZBID as JGCZBID,XLJGCZBNR_LMNR01 as XLXHID,");
sSQL.Add(" XLJGCZBNR_LMNR04 as DYDJID,XLJGCZBNR_LMNR03 as XLBZID");
sSQL.Add(" from XLJGCZBNR");
sSQL.Add(" where XLJGCZBNR_JGCZBID=:pJGCZBID and XLJGCZBNR_JGCZBBBID=:pJGCZBBBID");
sSQL.Add(" ) a ");
sSQL.Add(" left join XLJGCZBML on XLJGCZBML_JGCZBID=JGCZBID");
sSQL.ParamByName("pJGCZBID").Value = sJGCZBID;
sSQL.ParamByName("pJGCZBBBID").Value = sJGCZBBBID;
sSQL.ParamByName("pWHRID").Value = tSession.UserId;
sSQL.ParamByName("pWHR").Value = tSession.UserName;
sSQL.ParamByName("pWHSJ").Value = DateTime.Now;
dberp.ExecSQL(sSQL);
sSQL.Clear();
sSQL.Add("insert into XLXHJGCZBNR(XLXHJGCZBNR_JGCZBID,XLXHJGCZBNR_JGCZBBBID,XLXHJGCZBNR_JGCZBXH,XLXHJGCZBNR_DRHH,XLXHJGCZBNR_XLGGID,XLXHJGCZBNR_CLFLAG)");
sSQL.Add(" select XLJGCZBNR_JGCZBID,XLJGCZBNR_JGCZBBBID,XLXHJGCZBML_JGCZBXH,XLJGCZBNR_DRHH,XLJGCZBNR_LMNR02,'已插入'");
sSQL.Add(" from XLJGCZBNR");
sSQL.Add(" left join XLXHJGCZBML on XLXHJGCZBML_JGCZBID=XLJGCZBNR_JGCZBID and XLXHJGCZBML_XLXHID=XLJGCZBNR_LMNR01 and XLXHJGCZBML_DYDJID=XLJGCZBNR_LMNR04 and XLXHJGCZBML_XLBZID=XLJGCZBNR_LMNR03");
sSQL.Add(" where XLJGCZBNR_JGCZBID=:pJGCZBID and XLJGCZBNR_JGCZBBBID=:pJGCZBBBID");
sSQL.ParamByName("pJGCZBID").Value = sJGCZBID;
sSQL.ParamByName("pJGCZBBBID").Value = sJGCZBBBID;
dberp.ExecSQL(sSQL);
#endregion
#region 派生材料清单
sSQL.Clear();
sSQL.Add("insert into XLXSCLQD(");
sSQL.Add("XLXSCLQD_XLXHID,XLXSCLQD_XLGGID,XLXSCLQD_XLBZID,XLXSCLQD_DYDJID,");
sSQL.Add("XLXSCLQD_JGCZBID,XLXSCLQD_JGCZBBBID,XLXSCLQD_DRHH,XLXSCLQD_JGCZBXH,XLXSCLQD_XH,");
for (int i = 1; i <= 80; i++)
{
sSQL.Add(string.Format("XLXSCLQD_SL{0},", i.ToString().PadLeft(2, '0')));
}
for (int i = 1; i <= 80; i++)
{
sSQL.Add(string.Format("XLXSCLQD_SHL{0},", i.ToString().PadLeft(2, '0')));
}
for (int i = 1; i <= 80; i++)
{
sSQL.Add(string.Format("XLXSCLQD_CLJGBL{0},", i.ToString().PadLeft(2, '0')));
}
sSQL.Add("XLXSCLQD_WPID,XLXSCLQD_WHRID,XLXSCLQD_WHR,XLXSCLQD_WHSJ,XLXSCLQD_CPMLID) ");
sSQL.Add("select XLJGCZBNR_LMNR01,XLJGCZBNR_LMNR02,XLJGCZBNR_LMNR03,XLJGCZBNR_LMNR04, ");
sSQL.Add("XLJGCZBNR_JGCZBID,XLJGCZBNR_JGCZBBBID,XLJGCZBNR_DRHH,XLXHJGCZBML_JGCZBXH,");
sSQL.Add("XLJGCZBNR_DRHH as XH,");
for (int i = 1; i <= 80; i++)
{
sSQL.Add(string.Format("case when isnumeric(XLJGCZBNR_LMNR{0})=1 then convert(float,XLJGCZBNR_LMNR{0}) else 0.0 end as SL{1},", Convert.ToString(i + 4).PadLeft(2, '0'), i.ToString().PadLeft(2, '0')));
}
sSQL.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,");
sSQL.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,");
sSQL.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,");
sSQL.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,");
sSQL.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,");
sSQL.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,");
sSQL.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,");
sSQL.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,");
sSQL.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,");
sSQL.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,");
sSQL.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,");
sSQL.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,");
sSQL.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,");
sSQL.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,");
sSQL.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,");
sSQL.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,");
sSQL.Add("'ZZZZ' as WPID,:pWHRID,:pWHR,:pWHSJ,:pCPMLID ");
sSQL.Add(" from XLJGCZBNR");
sSQL.Add(" left join XLXHJGCZBML on XLXHJGCZBML_JGCZBID=XLJGCZBNR_JGCZBID and XLXHJGCZBML_XLXHID=XLJGCZBNR_LMNR01 ");
sSQL.Add(" and XLXHJGCZBML_DYDJID=XLJGCZBNR_LMNR04 and XLXHJGCZBML_XLBZID=XLJGCZBNR_LMNR03 ");
//sql.Add(" left join XLJGCZBML on XLJGCZBML_JGCZBID=XLJGCZBNR_JGCZBID ");
sSQL.Add(" where XLJGCZBNR_JGCZBID=:pJGCZBID");
sSQL.Add(" and XLJGCZBNR_JGCZBBBID=:pJGCZBBBID");
sSQL.ParamByName("pJGCZBID").Value = sJGCZBID;
sSQL.ParamByName("pJGCZBBBID").Value = sJGCZBBBID;
sSQL.ParamByName("pWHRID").Value = tSession.UserId;
sSQL.ParamByName("pWHR").Value = tSession.UserName;
sSQL.ParamByName("pWHSJ").Value = DateTime.Now;
sSQL.ParamByName("pCPMLID").Value = "ZZ";
dberp.ExecSQL(sSQL);
CLQDList.UpdatCLZL(dberp,sSQL, sJGCZBID, sJGCZBBBID);
#endregion
}
#region 生成演示分类
sSQL.Clear();
sSQL.Add("insert into XLXSBJFL(XLXSBJFL_BJFLID,XLXSBJFL_BJFLMC,XLXSBJFL_MXBH,XLXSBJFL_QYRQ,XLXSBJFL_TYBZ,XLXSBJFL_JGBTJYSS,XLXSBJFL_TZCLHQ,XLXSBJFL_SDJGBCLHQFW,XLXSBJFL_BJDHQLY,");
sSQL.Add("XLXSBJFL_XSJGBJJ,XLXSBJFL_BJJCLLX,XLXSBJFL_XSTZCPBJ,XLXSBJFL_XSTZBJJE,XLXSBJFL_BJCPFZJS,XLXSBJFL_JYF,XLXSBJFL_TZJGBBJ,XLXSBJFL_BJDYBJTXS,XLXSBJFL_BJQSTXS,XLXSBJFL_CPBJMRXSWS,");
sSQL.Add("XLXSBJFL_WHR,XLXSBJFL_WHRID,XLXSBJFL_WHSJ,XLXSBJFL_XHABJCSDP,XLXSBJFL_JLBJDHQ) ");
sSQL.Add("values(:pBJFLID,'演示分类','JGE',:pQYRQ,'N',' ','Y','N','2','N','1','N','N','1','N','3','#FF0000','#FFFF00',:pCPBJMRXSWS,:pWHR,:pWHRID,:pWHSJ,'Y','Y')");
sSQL.ParamByName("pBJFLID").Value = "--------";
sSQL.ParamByName("pQYRQ").Value = DateTime.Now.ToShortDateString();
sSQL.ParamByName("pCPBJMRXSWS").Value = GetOption(100860000, "BJU002");
sSQL.ParamByName("pWHRID").Value = tSession.UserId;
sSQL.ParamByName("pWHR").Value = tSession.UserName;
sSQL.ParamByName("pWHSJ").Value = DateTime.Now;
dberp.ExecSQL(sSQL);
#endregion
#region 释放XLXHB、XLXHDYDJ数据
XLJBXHService.INSERTXLJBXHB("BV,KVV,KVVR,KVVRP,YJLV,YJLV22,YJV,YJV22,ZC-YJLV,ZC-YJLV22,ZC-YJV,ZC-YJV22,ZA-KVVRP,ZB-KVVRP,ZC-KVVRP");
#endregion
dberp.CommitTrans();
ShowMessage("已完成B类尺重表演示数据导入!");
moduleGV_PageIndexChanging(null, null);
}
catch (Exception ex)
{
dberp.RollbackTrans();
ShowMessage(ex.Message);
return;
}
}
//获取文件的所有sheet页名
private string[] GetSheetNames(string sPath)
{
string[] arrSheetNames = null;
// 根据32/64位运行时返回不同的连接字符串。
string connStr;
if (AppRuntime.BitType == AppBitType.Bit32)
{
connStr = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + sPath + ";" + "Extended Properties=Excel 8.0;";
//conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sPath + @";Extended Properties=""Excel 8.0;IMEX=1;ImportMixedTypes=Text""";
}
else // AppBitType.Bit64
{
connStr = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + sPath + ";" + "Extended Properties=Excel 8.0;";
}
OleDbConnection m_conn = new OleDbConnection(connStr);
m_conn.Open();
DataTable sheetNames = m_conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
if (sheetNames.Rows[0].Table.Rows.Count > 0)
arrSheetNames = new string[sheetNames.Rows[0].Table.Rows.Count];
for (int i = 0; i < sheetNames.Rows[0].Table.Rows.Count; i++)
{
string sSheetName = sheetNames.Rows[0].Table.Rows[i]["TABLE_NAME"].ToString().Trim();
if (sSheetName.StartsWith("'") && sSheetName.EndsWith("'"))
sSheetName = sSheetName.TrimStart('\'').TrimEnd('\'');
if (sSheetName.EndsWith("$"))
sSheetName = sSheetName.TrimEnd('$');
arrSheetNames[i] = sSheetName;
}
if (m_conn.State == ConnectionState.Open)
{
m_conn.Dispose();
m_conn = null;
}
return arrSheetNames;
}
//获取BJCL99打头的最大序号
private double GetMaxBJCL99(string sPrefix)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Add("select max(XLXSBJCL_BJCLID) from XLXSBJCL where XLXSBJCL_BJCLID like :pPrefix");
SQL.ParamByName("pPrefix").Value = sPrefix + '%';
DataSet ds = dberp.OpenDataSet(SQL);
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0][0].ToString().Trim()))
{
double dTemp = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0][0].ToString().Trim().Substring(6, 4));
return dTemp;
}
else
{
return 0;
}
}
//获取XLXSBJ打头的最大序号
private double GetMaxJGCZBXH()
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
sql.Clear();
sql.Add("select isnull(max(right(XLJGCZBML_JGCZBID,4)),' ')");
sql.Add(" from XLJGCZBML");
sql.Add(" where XLJGCZBML_JGCZBID like 'XLXSBJ%'");
DataSet dsXH = dberp.OpenDataSet(sql);
double fJGCZBXH = 0;
if (dsXH.Tables[0].Rows.Count > 0)
{
try
{
fJGCZBXH = double.Parse(dsXH.Tables[0].Rows[0][0].ToString().Trim());
}
catch
{
fJGCZBXH = 0;
}
}
return fJGCZBXH;
}
//获取BJCL99打头的报价材料信息
private Dictionary<string, string> GetBJCL99(string sPrefix)
{
Dictionary<string, string> Result = new Dictionary<string, string>();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Add("select XLXSBJCL_BJCLID,XLXSBJCL_BJCLMC from XLXSBJCL where XLXSBJCL_BJCLID like :pPrefix order by XLXSBJCL_BJCLID");
SQL.ParamByName("pPrefix").Value = sPrefix + '%';
DataSet ds = dberp.OpenDataSet(SQL);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
Result.Add(ds.Tables[0].Rows[i]["XLXSBJCL_BJCLMC"].ToString().Trim(), ds.Tables[0].Rows[i]["XLXSBJCL_BJCLID"].ToString().Trim());
}
return Result;
}
#endregion
#region 双击跳转
protected void grdJGCZBML_RowDoubleClick(object sender, GThinking.N_CONTROL.RowDoubleClickEventArgs e)
{
string sJGCZBID = grdJGCZBML.DataKeys[grdJGCZBML.SelectedIndex]["XLJGCZBML_JGCZBID"].ToString().Trim();
string sJGCZBIDFromJGCZBML = "";
string sJGCZBBBIDFromJGCZBML = "";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
sql.Add("select JGCZBID,XLJGCZBML_JGCZBMC as JGCZBMC,JGCZBBBID ");
sql.Add("from ");
sql.Add("( ");
sql.Add(" select distinct XLXSCLQD_JGCZBID as JGCZBID, XLXSCLQD_JGCZBBBID as JGCZBBBID");
sql.Add(" from XLXSCLQD where 1=1 and XLXSCLQD_JGCZBID = :pJGCZBID ");
sql.Add(") a left join XLJGCZBML on XLJGCZBML_JGCZBID=JGCZBID ");
sql.Add("order by JGCZBID");
sql.ParamByName("pJGCZBID").Value = sJGCZBID;
DataSet ds = dberp.OpenDataSet(sql);
if (ds.Tables[0].Rows.Count > 0)
{
sJGCZBBBIDFromJGCZBML = ds.Tables[0].Rows[0]["JGCZBBBID"].ToString().Trim();
sJGCZBIDFromJGCZBML = ds.Tables[0].Rows[0]["JGCZBID"].ToString().Trim() + "|" + sJGCZBBBIDFromJGCZBML;
}
else
{
ShowMessage("当前尺重表未派生材料用量,不允许查看!");
return;
}
TPageParams tpp = new TPageParams();
tpp.UrlPath = "CLQDList.aspx";
tpp.CallAction = TPageCallAction.pcaBrowse;
tpp.AddString("JGCZBIDFromJGCZBML", sJGCZBIDFromJGCZBML);
tpp.AddString("JGCZBBBIDFromJGCZBML", sJGCZBBBIDFromJGCZBML);
OpenFuncModuleDialog(100860002, tpp);
}
#endregion
}
}