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 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 GetBJCL99(string sPrefix) { Dictionary Result = new Dictionary(); 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 } }