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_MISPRO; using GThinking.N_WORKFLOW; using System.Collections.Generic; using GThinking.N_PUBLIC2; using GThinking.N_MISPRO.TableCache; using GThinking.N_CONTROL; namespace GThinking.N_XLXSBJ { public partial class JGCZBNRList : SingleGridBase { JGCZBNR entity = new JGCZBNR(); JGCZBNR_M queryentity = new JGCZBNR_M(); Dictionary dicHeaderTextCLMC = new Dictionary(); public static bool isps = false; protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860020; this.UMName = "线缆销售报价结构尺重表"; this.CurMaster = Master; this.ModuleGV = ContentGrid; this.CurEntity = entity; this.CurQueryEntity = queryentity; this.PageHeight = 600; this.PageWidth = 750; this.sQueryURLTarget = "JGCZBNRQuery.aspx"; base.DataKeyNames = new string[] { "XLXHID", "XLGGID", "XLBZID", "DYDJID", "XLJGCZBNR_JGCZBID", "XLJGCZBNR_JGCZBBBID", "XLJGCZBNR_DRHH" }; this.Master.EnableNewBtn = false; this.Master.EnableCopyBtn = false; this.Master.EnableViewBtn = false; this.Master.EnableEditBtn = false; this.Master.EnableDeleteBtn = false; this.Master.EnableAttachBtn = false; if (!IsPostBack) { } base.InitPage(); this.ModuleGV.OnClientDblClick = "return false;"; if (!IsPostBack) { Master_OnStandardQuery(null, null); } } #region 模板继承事件 protected override void Master_OnStandardQuery(object sender, EventArgs e) { entity.EntityTable.QuerySelSql = "select TOP 1 XLJGCZBNR_JGCZBID from XLJGCZBNR where 1<>1"; base.InitEntityByCondition(); base.Master_OnStandardQuery(sender, e); IfExistMC_Get(); initGrid(); DataSet ds = GetSQLDataSet(); entity.GridDataBind(ContentGrid, tSession); entity.GridDataBind(ContentGrid, ds.Tables[0], ds.Tables[0].Rows.Count); ContentGrid.DataSource = ds; } protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e) { entity.EntityTable.QuerySelSql = "select TOP 1 XLJGCZBNR_JGCZBID from XLJGCZBNR where 1<>1"; base.moduleGV_PageIndexChanging(sender, e); ContentGrid.SelectedIndex = -1; base.InitEntityByCondition(); IfExistMC_Get(); initGrid(); DataSet ds = GetSQLDataSet(); entity.GridDataBind(ContentGrid, tSession); entity.GridDataBind(ContentGrid, ds.Tables[0], ds.Tables[0].Rows.Count); ContentGrid.DataSource = ds; } #endregion #region 私有函数 private DataSet GetSQLDataSet() { //oracle //case when REGEXP_LIKE(字段,'(^[ -]?\d{0,}\.?\d{0,}$)') then 'Y' else 'N' end //case when not REGEXP_LIKE(字段,'(^[ -]?\d{0,}\.?\d{0,}$)') then 'Y' else 'N' end TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); if (dberp.DriverName == "ORACLE") { #region oracle语法 SQL.RAW = true; SQL.Add(" select XLJGCZBNR_JGCZBID, XLJGCZBNR_JGCZBBBID, XLJGCZBNR_DRHH,XLJGCZBNR_LMNR01 as XLXHID, XLJGCZBNR_LMNR02 as XLGGID, XLJGCZBNR_LMNR03 as XLBZID,RTRIM(XLJGCZBNR_LMNR03)||'|'|| XLBZ_XLBZLXMC as XLBZ, XLJGCZBNR_LMNR04 as DYDJID,"); for (int i = 5; i < 84; i++) { SQL.Add(" case when REGEXP_LIKE(XLJGCZBNR_LMNR" + i.ToString().PadLeft(2, '0') + ",'(^[ -]?\\d{0,}\\.?\\d{0,}$)') then TO_NUMBER(XLJGCZBNR_LMNR" + i.ToString().PadLeft(2, '0') + ") else 0.0 end as LMNR" + i.ToString().PadLeft(2, '0') + ","); } SQL.Add("case when REGEXP_LIKE(XLJGCZBNR_LMNR84,'(^[ -]?\\d{0,}\\.?\\d{0,}$)') then TO_NUMBER(XLJGCZBNR_LMNR84) else 0.0 end as LMNR84 "); SQL.Add(" from XLJGCZBNR "); SQL.Add(" left join XLBZ on XLBZ_XLBZID = XLJGCZBNR_LMNR03 "); SQL.Add(" where 1=1 "); SQL.Add(" and XLJGCZBNR_JGCZBID = :pJGCZBID "); SQL.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID"); SQL.Add(" and XLJGCZBNR_JGCZBBBID = :pJGCZBBBID "); SQL.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID"); if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())) { SQL.Add(" and XLJGCZBNR_LMNR01 like :pXLXHID "); SQL.ParamByName("pXLXHID").Value ="%" + CurQueryEntity.FieldByName("XLXHID").Value.Trim() + "%"; } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLGGID").Value.Trim())) { if (CurQueryEntity.FieldByName("XLGGID").Value.Trim().Contains("*")) { SQL.Add(" and (XLJGCZBNR_LMNR02 like :pXLGG or XLJGCZBNR_LMNR02 like :pXLGG2) "); SQL.ParamByName("pXLGG").Value = CurQueryEntity.FieldByName("XLGGID").Value.Trim() + "%"; SQL.ParamByName("pXLGG2").Value = CurQueryEntity.FieldByName("XLGGID").Value.Trim().Replace("*", "×") + "%"; } else { SQL.Add(" and XLJGCZBNR_LMNR02 like :pXLGGID "); SQL.ParamByName("pXLGGID").Value = "%" +CurQueryEntity.FieldByName("XLGGID").Value.Trim() + "%"; } } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ST").Value.Trim())) { SQL.Add(" and XLJGCZBNR_LMNR03 = :pST "); SQL.ParamByName("pST").Value = CurQueryEntity.FieldByName("ST").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJ").Value.Trim())) { SQL.Add(" and XLJGCZBNR_LMNR04 like :pDYDJ"); SQL.ParamByName("pDYDJ").Value = "%" +CurQueryEntity.FieldByName("DYDJ").Value.Trim() + "%"; } if (string.IsNullOrEmpty(CurQueryEntity.FieldByName("PS").Value.Trim())) { SQL.Add(" order by XLJGCZBNR_DRHH "); } else//查询条件“派生”选择“重复的线缆物料” { SQL.Add(" and exists"); SQL.Add(" ("); SQL.Add(" select 1"); SQL.Add(" from"); SQL.Add(" ("); SQL.Add(" select XLJGCZBNR_LMNR01 as XLXHID,XLJGCZBNR_LMNR02 as XLGGID,XLJGCZBNR_LMNR03 as XLBZID,XLJGCZBNR_LMNR04 as DYDJID"); SQL.Add(" from XLJGCZBNR"); SQL.Add(" where XLJGCZBNR_JGCZBID=:pJGCZBID and XLJGCZBNR_JGCZBBBID=:pJGCZBBBID "); SQL.Add(" group by XLJGCZBNR_LMNR01,XLJGCZBNR_LMNR02,XLJGCZBNR_LMNR03,XLJGCZBNR_LMNR04"); SQL.Add(" having count(*)>1 "); SQL.Add(" ) a"); SQL.Add(" where XLXHID=XLJGCZBNR_LMNR01"); SQL.Add(" and XLGGID=XLJGCZBNR_LMNR02"); SQL.Add(" and XLBZID=XLJGCZBNR_LMNR03"); SQL.Add(" and DYDJID=XLJGCZBNR_LMNR04"); SQL.Add(" )"); SQL.Add(" order by XLXHID,XLGGID,XLBZID,DYDJID,XLJGCZBNR_DRHH"); } #endregion } else { #region sqlserver语法 SQL.Add(" select XLJGCZBNR_JGCZBID, XLJGCZBNR_JGCZBBBID, XLJGCZBNR_DRHH,XLJGCZBNR_LMNR01 as XLXHID, XLJGCZBNR_LMNR02 as XLGGID, XLJGCZBNR_LMNR03 as XLBZID,RTRIM(XLJGCZBNR_LMNR03)||'|'|| isnull(XLBZ_XLBZLXMC,' ') as XLBZ, XLJGCZBNR_LMNR04 as DYDJID,"); for (int i = 5; i < 84; i++) { SQL.Add(string.Format("case when isnumeric(XLJGCZBNR_LMNR{0})=1 then convert(float,XLJGCZBNR_LMNR{0}) else 0.0 end as LMNR{0},", i.ToString().PadLeft(2, '0'))); } SQL.Add("case when isnumeric(XLJGCZBNR_LMNR84)=1 then convert(float,XLJGCZBNR_LMNR84) else 0.0 end as LMNR84 "); SQL.Add(" from XLJGCZBNR "); SQL.Add(" left join XLBZ on XLBZ_XLBZID = XLJGCZBNR_LMNR03 "); SQL.Add(" where 1=1 "); SQL.Add("\r\n and XLJGCZBNR_JGCZBID = :pJGCZBID "); SQL.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID"); SQL.Add("\r\n and XLJGCZBNR_JGCZBBBID = :pJGCZBBBID "); SQL.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID"); if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())) { SQL.Add(" \r\n and XLJGCZBNR_LMNR01 like :pXLXHID "); SQL.ParamByName("pXLXHID").Value = "%" +CurQueryEntity.FieldByName("XLXHID").Value.Trim() + "%"; } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLGGID").Value.Trim())) { if (CurQueryEntity.FieldByName("XLGGID").Value.Trim().Contains("*")) { SQL.Add(" and (XLJGCZBNR_LMNR02 like :pXLGG or XLJGCZBNR_LMNR02 like :pXLGG2) "); SQL.ParamByName("pXLGG").Value = CurQueryEntity.FieldByName("XLGGID").Value.Trim() + "%"; SQL.ParamByName("pXLGG2").Value = CurQueryEntity.FieldByName("XLGGID").Value.Trim().Replace("*", "×") + "%"; } else { SQL.Add(" and XLJGCZBNR_LMNR02 like :pXLGGID "); SQL.ParamByName("pXLGGID").Value = "%" +CurQueryEntity.FieldByName("XLGGID").Value.Trim() + "%"; } } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ST").Value.Trim())) { SQL.Add(" \r\n and XLJGCZBNR_LMNR03 = :pST "); SQL.ParamByName("pST").Value = CurQueryEntity.FieldByName("ST").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJ").Value.Trim())) { SQL.Add(" \r\n and XLJGCZBNR_LMNR04 like :pDYDJ"); SQL.ParamByName("pDYDJ").Value ="%" + CurQueryEntity.FieldByName("DYDJ").Value.Trim() + "%"; } if (string.IsNullOrEmpty(CurQueryEntity.FieldByName("PS").Value.Trim())) { SQL.Add(" order by XLJGCZBNR_DRHH "); } else//查询条件“派生”选择“重复的线缆物料” { SQL.Add(" and exists"); SQL.Add(" ("); SQL.Add(" select 1"); SQL.Add(" from"); SQL.Add(" ("); SQL.Add(" select XLJGCZBNR_LMNR01 as XLXHID,XLJGCZBNR_LMNR02 as XLGGID,XLJGCZBNR_LMNR03 as XLBZID,XLJGCZBNR_LMNR04 as DYDJID"); SQL.Add(" from XLJGCZBNR"); SQL.Add(" where XLJGCZBNR_JGCZBID=:pJGCZBID and XLJGCZBNR_JGCZBBBID=:pJGCZBBBID "); SQL.Add(" group by XLJGCZBNR_LMNR01,XLJGCZBNR_LMNR02,XLJGCZBNR_LMNR03,XLJGCZBNR_LMNR04"); SQL.Add(" having count(*)>1 "); SQL.Add(" ) a"); SQL.Add(" where XLXHID=XLJGCZBNR_LMNR01"); SQL.Add(" and XLGGID=XLJGCZBNR_LMNR02"); SQL.Add(" and XLBZID=XLJGCZBNR_LMNR03"); SQL.Add(" and DYDJID=XLJGCZBNR_LMNR04"); SQL.Add(" )"); SQL.Add(" order by XLXHID,XLGGID,XLBZID,DYDJID,XLJGCZBNR_DRHH"); } #endregion } DataSet dsQry = dberp.OpenDataSet(SQL); return dsQry; } public void IfExistMC_Get() { dicHeaderTextCLMC.Clear(); if (string.IsNullOrEmpty(PageParam.GetRTrimString("JGCZBID"))) return; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); DataSet ds; sql.Add(" select XLJGCZBLM_CLQDL, "); sql.Add(" case when isnull(XLXSBJCL_BJCLID,' ')=' ' then XLJGCZBLM_CZBLMMC else XLXSBJCL_BJCLMC end as CLMC"); sql.Add(" from XLJGCZBLM "); sql.Add(" left join XLXSBJCL on XLXSBJCL_BJCLID=XLJGCZBLM_BJCLID"); //sql.Add(" left join XLJGCZBML on XLJGCZBML_JGCZBID = XLJGCZBLM_JGCZBID "); sql.Add(" where XLJGCZBLM_JGCZBID=:pJGCZBID and XLJGCZBLM_JGCZBBBID=:pJGCZBBBID and isnull(XLJGCZBLM_CLQDL,' ')<>' '"); sql.Add(" order by XLJGCZBLM_CLQDL "); sql.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID"); sql.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID"); ds = dberp.OpenDataSet(sql); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { dicHeaderTextCLMC.Add((ds.Tables[0].Rows[i]["XLJGCZBLM_CLQDL"].ToString().Trim()), ds.Tables[0].Rows[i]["CLMC"].ToString().Trim()); } SetColumnsVisible(); } private void initGrid() { for (int i = 1; i <= 80; i++) { string sCLQDL = "第" + i.ToString().PadLeft(2, '0') + "列"; string sExist = ""; if (dicHeaderTextCLMC.ContainsKey(sCLQDL)) { sExist = dicHeaderTextCLMC[sCLQDL].Trim(); } if (!sExist.Equals("")) { ContentGrid.FindColumnByFieldName("LMNR" + Convert.ToString(i + 4).PadLeft(2, '0')).HeaderText = sExist; } } } private void SetColumnsVisible() { if (dicHeaderTextCLMC.Count > 0) { for (int i = 1; i <= 80; i++) { string sCLQDL = "第" + i.ToString().PadLeft(2, '0') + "列"; string sExist = ""; if (dicHeaderTextCLMC.ContainsKey(sCLQDL)) { sExist = dicHeaderTextCLMC[sCLQDL].Trim(); } if (sExist.Equals("")) { ContentGrid.FindColumnByFieldName("LMNR" + Convert.ToString(i + 4).PadLeft(2, '0')).Visible = false; } } } } private void InsXLXSCLQD(TDatabase dberp, TSQL sql, bool bFGCFCP) { //A|× B|* string sXLJGU007 = GetOption(100860020, "XLJGU007"); string sCZBJLDW = PageParam.GetRTrimString("CZBJLDW"); //换算比例 double fBL = 1; fBL = GetJLDWBL(dberp, sql, PageParam.GetRTrimString("JGCZBID")); try { dberp.BeginTrans(); //删除XLXSCLQD当前结构尺重表记录 sql.Clear(); sql.Add("delete from XLXSCLQD where 1 = 1 "); sql.Add(" and XLXSCLQD_JGCZBID = :pJGCZBID and XLXSCLQD_JGCZBBBID = :pJGCZBBBID"); sql.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID"); sql.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID"); dberp.ExecSQL(sql); if (bFGCFCP) { //删除与XLXSCLQD四要素相同的记录 sql.Clear(); sql.Add(" select XLXSCLQD_WPID,XLXSCLQD_WFID,XLXSCLQD_WFINST from XLXSCLQD where exists"); sql.Add(" ("); sql.Add(" select 1 from XLJGCZBNR "); sql.Add(" where XLJGCZBNR_JGCZBID=:pJGCZBID "); sql.Add(" and XLJGCZBNR_JGCZBBBID=:pJGCZBBBID "); sql.Add(" and XLJGCZBNR_LMNR01=XLXSCLQD_XLXHID "); if (sXLJGU007.Equals("A")) { sql.Add(" and replace(replace(replace(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'*','×') = XLXSCLQD_XLGGID "); } else if (sXLJGU007.Equals("B")) { sql.Add(" and replace(replace(replace(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'×','*') = XLXSCLQD_XLGGID "); } sql.Add(" and XLJGCZBNR_LMNR03=XLXSCLQD_XLBZID "); sql.Add(" and XLJGCZBNR_LMNR04=XLXSCLQD_DYDJID "); sql.Add(" )"); sql.Add(" and isnull(XLXSCLQD_WPID, 'ZZZZ') <> 'ZZZZ'"); sql.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID"); sql.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID"); DataSet dsXLXSCLQD = dberp.OpenDataSet(sql); if (dsXLXSCLQD.Tables[0].Rows.Count > 0) { TWorkflow xshtWF = new TWorkflow(tSession, new System.Web.Caching.Cache()); for (int i = 0; i < dsXLXSCLQD.Tables[0].Rows.Count; i++) { xshtWF.WFDelete(dsXLXSCLQD.Tables[0].Rows[i]["XLXSCLQD_WFID"].ToString().Trim(), CMISproConvert.StrToFloat(dsXLXSCLQD.Tables[0].Rows[i]["XLXSCLQD_WFINST"].ToString()), ""); } } sql.Clear(); sql.Add(" delete from XLXSCLQD where exists"); sql.Add(" ("); sql.Add(" select 1 from XLJGCZBNR "); sql.Add(" where XLJGCZBNR_JGCZBID=:pJGCZBID "); sql.Add(" and XLJGCZBNR_JGCZBBBID=:pJGCZBBBID "); sql.Add(" and XLJGCZBNR_LMNR01=XLXSCLQD_XLXHID "); if (sXLJGU007.Equals("A")) { sql.Add(" and replace(replace(replace(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'*','×') = XLXSCLQD_XLGGID "); } else if (sXLJGU007.Equals("B")) { sql.Add(" and replace(replace(replace(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'×','*') = XLXSCLQD_XLGGID "); } sql.Add(" and XLJGCZBNR_LMNR03=XLXSCLQD_XLBZID "); sql.Add(" and XLJGCZBNR_LMNR04=XLXSCLQD_DYDJID "); sql.Add(" )"); //sql.Add(" and isnull(XLXSCLQD_WPID, 'ZZZZ') <> 'ZZZZ'"); sql.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID"); sql.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID"); dberp.ExecSQL(sql); } //当前结构尺重表材料用量插入XLXSCLQD if (dberp.DriverName == "ORACLE") { #region oracle语法 sql.RAW = true; sql.Clear(); sql.Add("insert into XLXSCLQD("); sql.Add("XLXSCLQD_XLXHID,XLXSCLQD_XLGGID,XLXSCLQD_XLBZID,XLXSCLQD_DYDJID,"); sql.Add("XLXSCLQD_JGCZBID,XLXSCLQD_JGCZBBBID,XLXSCLQD_DRHH,XLXSCLQD_JGCZBXH,XLXSCLQD_XH,"); for (int i = 1; i <= 80; i++) { sql.Add(string.Format("XLXSCLQD_SL{0},", i.ToString().PadLeft(2, '0'))); } for (int i = 1; i <= 80; i++) { sql.Add(string.Format("XLXSCLQD_SHL{0},", i.ToString().PadLeft(2, '0'))); } for (int i = 1; i <= 80; i++) { sql.Add(string.Format("XLXSCLQD_CLJGBL{0},", i.ToString().PadLeft(2, '0'))); } sql.Add("XLXSCLQD_WPID,XLXSCLQD_WHRID,XLXSCLQD_WHR,XLXSCLQD_WHSJ,XLXSCLQD_CPMLID) "); sql.Add("select XLJGCZBNR_LMNR01, "); if (sXLJGU007.Equals("A")) { sql.Add(" replace(replace(replace(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'*','×') as XLJGCZBNR_LMNR02, "); } else if (sXLJGU007.Equals("B")) { sql.Add(" replace(replace(replace(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'×','*') as XLJGCZBNR_LMNR02, "); } sql.Add(" XLJGCZBNR_LMNR03,XLJGCZBNR_LMNR04, "); sql.Add("XLJGCZBNR_JGCZBID,XLJGCZBNR_JGCZBBBID,XLJGCZBNR_DRHH,XLXHJGCZBML_JGCZBXH,"); sql.Add("XLJGCZBNR_DRHH as XH,"); for (int i = 1; i <= 80; i++) { sql.Add("case when REGEXP_LIKE(XLJGCZBNR_LMNR" + Convert.ToString(i + 4).PadLeft(2, '0') + ",'(^[ -]?\\d{0,}\\.?\\d{0,}$)') then TO_NUMBER(XLJGCZBNR_LMNR" + Convert.ToString(i + 4).PadLeft(2, '0') + ")*:pBL else 0.0 end as SL" + i.ToString().PadLeft(2, '0') + ","); } sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,"); sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,"); sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,"); sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,"); sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,"); sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,"); sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,"); sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,"); sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,"); sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,"); sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,"); sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,"); sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,"); sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,"); sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,"); sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,"); sql.Add("'ZZZZ' as WPID,:pWHRID,:pWHR,:pWHSJ,:pCPMLID "); sql.Add(" from XLJGCZBNR"); sql.Add(" left join XLXHJGCZBML on XLXHJGCZBML_JGCZBID=XLJGCZBNR_JGCZBID and XLXHJGCZBML_XLXHID=XLJGCZBNR_LMNR01 "); sql.Add(" and XLXHJGCZBML_DYDJID=XLJGCZBNR_LMNR04 and XLXHJGCZBML_XLBZID=XLJGCZBNR_LMNR03 "); //sql.Add(" left join XLJGCZBML on XLJGCZBML_JGCZBID=XLJGCZBNR_JGCZBID "); sql.Add(" where XLJGCZBNR_JGCZBID=:pJGCZBID"); sql.Add(" and XLJGCZBNR_JGCZBBBID=:pJGCZBBBID"); //排除型号、规格、标准、电压为空的内容记录 sql.Add(" and nvl(XLJGCZBNR_LMNR01,' ') <> ' ' "); sql.Add(" and nvl(XLJGCZBNR_LMNR02,' ') <> ' ' "); sql.Add(" and nvl(XLJGCZBNR_LMNR03,' ') <> ' ' "); sql.Add(" and nvl(XLJGCZBNR_LMNR04,' ') <> ' ' "); if (!bFGCFCP) { if (sXLJGU007.Equals("A")) { sql.Add(" and not exists( select 1 from XLXSCLQD where XLXSCLQD_XLXHID=XLJGCZBNR_LMNR01 and XLXSCLQD_XLGGID=replace(replace(replace(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'*','×') and XLXSCLQD_XLBZID=XLJGCZBNR_LMNR03 and XLXSCLQD_DYDJID=XLJGCZBNR_LMNR04 ) "); } else if (sXLJGU007.Equals("B")) { sql.Add(" and not exists( select 1 from XLXSCLQD where XLXSCLQD_XLXHID=XLJGCZBNR_LMNR01 and XLXSCLQD_XLGGID=replace(replace(replace(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'×','*') and XLXSCLQD_XLBZID=XLJGCZBNR_LMNR03 and XLXSCLQD_DYDJID=XLJGCZBNR_LMNR04 ) "); } } sql.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID"); sql.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID"); sql.ParamByName("pBL").Value = fBL; sql.ParamByName("pWHRID").Value = tSession.UserId; sql.ParamByName("pWHR").Value = tSession.UserName; sql.ParamByName("pWHSJ").Value = DateTime.Now; sql.ParamByName("pCPMLID").Value = PageParam.GetRTrimString("CPMLID"); dberp.ExecSQL(sql); sql.RAW = false; #endregion } else { #region sqlserver语法 sql.Clear(); sql.Add("insert into XLXSCLQD("); sql.Add("XLXSCLQD_XLXHID,XLXSCLQD_XLGGID,XLXSCLQD_XLBZID,XLXSCLQD_DYDJID,"); sql.Add("XLXSCLQD_JGCZBID,XLXSCLQD_JGCZBBBID,XLXSCLQD_DRHH,XLXSCLQD_JGCZBXH,XLXSCLQD_XH,"); for (int i = 1; i <= 80; i++) { sql.Add(string.Format("XLXSCLQD_SL{0},", i.ToString().PadLeft(2, '0'))); } for (int i = 1; i <= 80; i++) { sql.Add(string.Format("XLXSCLQD_SHL{0},", i.ToString().PadLeft(2, '0'))); } for (int i = 1; i <= 80; i++) { sql.Add(string.Format("XLXSCLQD_CLJGBL{0},", i.ToString().PadLeft(2, '0'))); } sql.Add("XLXSCLQD_WPID,XLXSCLQD_WHRID,XLXSCLQD_WHR,XLXSCLQD_WHSJ,XLXSCLQD_CPMLID) "); sql.Add("select XLJGCZBNR_LMNR01, "); if (sXLJGU007.Equals("A")) { sql.Add(" replace(replace(replace(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'*','×') as XLJGCZBNR_LMNR02, "); } else if (sXLJGU007.Equals("B")) { sql.Add(" replace(replace(replace(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'×','*') as XLJGCZBNR_LMNR02, "); } sql.Add(" XLJGCZBNR_LMNR03,XLJGCZBNR_LMNR04, "); sql.Add("XLJGCZBNR_JGCZBID,XLJGCZBNR_JGCZBBBID,XLJGCZBNR_DRHH,XLXHJGCZBML_JGCZBXH,"); sql.Add("XLJGCZBNR_DRHH as XH,"); for (int i = 1; i <= 80; i++) { sql.Add(string.Format("case when isnumeric(XLJGCZBNR_LMNR{0})=1 then convert(float,XLJGCZBNR_LMNR{0})*{2} else 0.0 end as SL{1},", Convert.ToString(i + 4).PadLeft(2, '0'), i.ToString().PadLeft(2, '0'), fBL)); } sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,"); sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,"); sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,"); sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,"); sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,"); sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,"); sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,"); sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,"); sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,"); sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,"); sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,"); sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,"); sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,"); sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,"); sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,"); sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,"); sql.Add("'ZZZZ' as WPID,:pWHRID,:pWHR,:pWHSJ,:pCPMLID "); sql.Add(" from XLJGCZBNR"); sql.Add(" left join XLXHJGCZBML on XLXHJGCZBML_JGCZBID=XLJGCZBNR_JGCZBID and XLXHJGCZBML_XLXHID=XLJGCZBNR_LMNR01 "); sql.Add(" and XLXHJGCZBML_DYDJID=XLJGCZBNR_LMNR04 and XLXHJGCZBML_XLBZID=XLJGCZBNR_LMNR03 "); //sql.Add(" left join XLJGCZBML on XLJGCZBML_JGCZBID=XLJGCZBNR_JGCZBID "); sql.Add(" where XLJGCZBNR_JGCZBID=:pJGCZBID"); sql.Add(" and XLJGCZBNR_JGCZBBBID=:pJGCZBBBID"); //排除型号、规格、标准、电压为空的内容记录 sql.Add(" and isnull(XLJGCZBNR_LMNR01,' ') <> ' ' "); sql.Add(" and isnull(XLJGCZBNR_LMNR02,' ') <> ' ' "); sql.Add(" and isnull(XLJGCZBNR_LMNR03,' ') <> ' ' "); sql.Add(" and isnull(XLJGCZBNR_LMNR04,' ') <> ' ' "); if (!bFGCFCP) { if (sXLJGU007.Equals("A")) { sql.Add(" and not exists( select 1 from XLXSCLQD where XLXSCLQD_XLXHID=XLJGCZBNR_LMNR01 and XLXSCLQD_XLGGID=replace(replace(replace(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'*','×') and XLXSCLQD_XLBZID=XLJGCZBNR_LMNR03 and XLXSCLQD_DYDJID=XLJGCZBNR_LMNR04 ) "); } else if (sXLJGU007.Equals("B")) { sql.Add(" and not exists( select 1 from XLXSCLQD where XLXSCLQD_XLXHID=XLJGCZBNR_LMNR01 and XLXSCLQD_XLGGID=replace(replace(replace(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'×','*') and XLXSCLQD_XLBZID=XLJGCZBNR_LMNR03 and XLXSCLQD_DYDJID=XLJGCZBNR_LMNR04 ) "); } } sql.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID"); sql.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID"); sql.ParamByName("pWHRID").Value = tSession.UserId; sql.ParamByName("pWHR").Value = tSession.UserName; sql.ParamByName("pWHSJ").Value = DateTime.Now; sql.ParamByName("pCPMLID").Value = PageParam.GetRTrimString("CPMLID"); dberp.ExecSQL(sql); #endregion } sql.Clear(); sql.Add("update XLXHJGCZBNR set XLXHJGCZBNR_CLFLAG='已插入' where XLXHJGCZBNR_JGCZBID=:pJGCZBID and XLXHJGCZBNR_JGCZBBBID=:pJGCZBBBID"); sql.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID"); sql.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID"); dberp.ExecSQL(sql); if (CheckYJXJ(tSession.UserId)) { string sYJTZRY = GetYJTZRY(); if (!sYJTZRY.Trim().Equals("")) { string sCZBXX = "【" + PageParam.GetRTrimString("JGCZBID") + "|" + PageParam.GetRTrimString("JGCZBBBID") + "|" + PageParam.GetRTrimString("JGCZBMC") + "】"; string sYJTitle, sNR, sJSR; sJSR = sYJTZRY; DateTime Ntime = DateTime.Now; sYJTitle = "材料用量派生通知" + sCZBXX; sNR = sCZBXX + "于" + Ntime.Year.ToString().Trim() + "年" + Ntime.Month.ToString().Trim().PadLeft(2, '0') + "月" + Ntime.Day.ToString().Trim().PadLeft(2, '0') + "日" + Ntime.Hour.ToString().Trim().PadLeft(2, '0') + "时" + Ntime.Minute.ToString().Trim().PadLeft(2, '0') + "分完成派生
"; sNR += "本次派生涉及型号目录如下:
"; sql.Clear(); sql.Add(" select XLXHJGCZBML_XLXHID,XLXHJGCZBML_DYDJID,rtrim(XLXHJGCZBML_XLBZID)||'|'||XLBZ_XLBZLXMC as XLBZ "); sql.Add(" from XLXHJGCZBML left join XLBZ on XLBZ_XLBZID=XLXHJGCZBML_XLBZID "); sql.Add(" where XLXHJGCZBML_JGCZBID=:pJGCZBID "); sql.Add(" order by XLXHJGCZBML_JGCZBXH "); sql.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID"); DataSet dsXHML = dberp.OpenDataSet(sql); if (dsXHML.Tables[0].Rows.Count > 0) { int icout = 0; int acout = 0; string sXHML = ""; foreach (DataRow trow in dsXHML.Tables[0].Rows) { if (!sXHML.Equals("")) sXHML += "、"; sXHML += trow["XLXHJGCZBML_XLXHID"].ToString().Trim() + " " + trow["XLXHJGCZBML_DYDJID"].ToString().Trim() + " " + trow["XLBZ"].ToString().Trim(); icout++; acout++; if (icout == 3) { sNR += sXHML + "
"; sXHML = ""; icout = 0; } if (acout == 31) { sXHML = ""; sNR += "……等等"; break; } } if (!sXHML.Equals("")) sNR += sXHML; } CMISproSystemOperation.SendMail2(tSession, CurUserID, FormatRecever(sJSR), sYJTitle, sNR, "", "", 0.0, "", ""); } } sql.Clear(); sql.Add("select XLXSTZYZ_YZID,XLXSTZYZ_YZMC,XLXSTZYZ_TJYS from XLXSTZYZ "); sql.Add("where XLXSTZYZ_MXBH='JZJ' and (XLXSTZYZ_TJYS='2' or XLXSTZYZ_TJYS='6' or XLXSTZYZ_TJYS='7') "); sql.Add("order by XLXSTZYZ_XSXH,XLXSTZYZ_YZID"); DataSet ds = dberp.OpenDataSet(sql); if (ds.Tables[0].Rows.Count >0) { string sTJYS = ds.Tables[0].Rows[0]["XLXSTZYZ_TJYS"].ToString().Trim(); CLQDList.UpdateSHL(dberp, sql, PageParam.GetRTrimString("JGCZBID"), PageParam.GetRTrimString("JGCZBBBID"), sTJYS); } CLQDList.UpdatCLZL(dberp, sql, PageParam.GetRTrimString("JGCZBID"), PageParam.GetRTrimString("JGCZBBBID")); ShowMessage("派生材料用量--完成!"); dberp.CommitTrans(); } catch (Exception ex) { dberp.RollbackTrans(); ShowMessage(ex.Message); return; } } private void InsXLXSCLQD(TDatabase dberp, TSQL sql) { InsXLXSCLQD(dberp, sql, true); } //是否有100232002|邮件模块新建权限 private bool CheckYJXJ(string sGH) { UserRight UR = OpRightUtils.GetUserRight(sGH, 100232002); return (DSActiveModule.IsActiveModule(100232002) && UR.Insert); } //获取邮件通知人员 private string GetYJTZRY() { string sYJTZRY = ""; XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860020); if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_YJTZRYLIST)) sYJTZRY = pzxx.XLXSBJPZ_YJTZRYLIST; return sYJTZRY; } private string FormatRecever(string p_GHList) { List lstResult = new List(); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Add("select RSRYJBXX_GH, RSRYJBXX_RYMC from RSRYJBXX where " + CMISproDataBase.GetWhereEqual("RSRYJBXX_GH", p_GHList)); DataSet ds = dberp.OpenDataSet(SQL); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { lstResult.Add(string.Format("{0}<{1}>", ds.Tables[0].Rows[i]["RSRYJBXX_RYMC"].ToString().Trim(), ds.Tables[0].Rows[i]["RSRYJBXX_GH"].ToString().Trim())); } return string.Join(",", lstResult.ToArray()); } private double GetJLDWBL(TDatabase dberp, TSQL SQL, string sJGCZBID) { double fBL = 1.0; SQL.Clear(); SQL.Add("select XLJGCZBML_JGCZBBBID,XLJGCZBML_CZBJLDW "); 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) { //1|Kg/Km //2|Kg/m if (dsXLJGCZBML.Tables[0].Rows[0]["XLJGCZBML_CZBJLDW"].ToString().Trim().Equals("1") && (GetOption(100860002, "BJU003").Equals("M") || GetOption(100860002, "BJU003").Equals("米"))) { fBL = 0.001; } else if (dsXLJGCZBML.Tables[0].Rows[0]["XLJGCZBML_CZBJLDW"].ToString().Trim().Equals("2") && (GetOption(100860002, "BJU003").Equals("Km") || GetOption(100860002, "BJU003").Equals("千米"))) { fBL = 1000; } } return fBL; } //校验待派生用量的产品已通过其他尺重表派生过 private bool ISPS(string JGCZBID, string JGCZBBBID) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); string sXLJGU007 = GetOption(100860020, "XLJGU007"); sql.Clear(); sql.Add("select top 1 XLXSCLQD_JGCZBID"); sql.Add("from XLXSCLQD,XLJGCZBNR"); sql.Add("left join XLXHJGCZBML on XLXHJGCZBML_JGCZBID=XLJGCZBNR_JGCZBID and XLXHJGCZBML_XLXHID=XLJGCZBNR_LMNR01"); sql.Add(" and XLXHJGCZBML_DYDJID=XLJGCZBNR_LMNR04 and XLXHJGCZBML_XLBZID=XLJGCZBNR_LMNR03"); sql.Add("where rtrim(XLJGCZBNR_JGCZBID)||'|'||rtrim(XLJGCZBNR_JGCZBBBID) in (rtrim(:pJGCZBID)||'|'||rtrim(:pJGCZBBBID))"); sql.Add(" and rtrim(XLXSCLQD_JGCZBID)||'|'||rtrim(XLXSCLQD_JGCZBBBID) not in (rtrim(:pJGCZBID)||'|'||rtrim(:pJGCZBBBID))"); sql.Add(" and XLJGCZBNR_LMNR01=XLXSCLQD_XLXHID"); if (sXLJGU007.Equals("A")) sql.Add(" and REPLACE(REPLACE(REPLACE(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'*','×') =XLXSCLQD_XLGGID"); else sql.Add(" and REPLACE(REPLACE(REPLACE(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'×','*') =XLXSCLQD_XLGGID "); sql.Add(" and XLJGCZBNR_LMNR03=XLXSCLQD_XLBZID"); sql.Add(" and XLJGCZBNR_LMNR04=XLXSCLQD_DYDJID"); sql.Add(" and isnull(XLXSCLQD_WPID,'ZZZZ')='ZZZZ'"); sql.ParamByName("pJGCZBID").Value = JGCZBID; sql.ParamByName("pJGCZBBBID").Value = JGCZBBBID; DataSet ds = dberp.OpenDataSet(sql); if (ds.Tables[0].Rows.Count > 0) { return true; } return false; } #endregion #region 按钮事件 protected void grd_DblClick(object sender, RowDoubleClickEventArgs e) { string DRHH = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLJGCZBNR_DRHH"].ToString().Trim(); if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSCLQD where XLXSCLQD_JGCZBID='{0}'and XLXSCLQD_JGCZBBBID='{1}' and XLXSCLQD_DRHH={2} ", PageParam.GetRTrimString("JGCZBID"), PageParam.GetRTrimString("JGCZBBBID"),DRHH))) { ShowMessage("当前行已经派生材料用量,不允许修改导入内容!"); return; } TPageParams tpp = new TPageParams(); tpp.UrlPath = "JGCZBNRInfo.aspx"; //tpp.CallAction = TPageCallAction; tpp.AddString("XLJGCZBNR_DRHH", DRHH); tpp.AddString("JGCZBID", PageParam.GetRTrimString("JGCZBID")); tpp.AddString("JGCZBBBID", PageParam.GetRTrimString("JGCZBBBID")); tpp.AddString("RefreshCtrlID", btnRefresh1.ClientID.Trim()); OpenFuncModuleDialog(100860020, tpp); } //派生材料用量 protected void btnPSCLYL_Click(object sender, EventArgs e) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); if (Confirm.GetValue("ask").Trim().Equals("N")) { Confirm.Clear(); if (isps) { TPageParams pageParams = new TPageParams(); pageParams.UrlPath = "JGCZBCFCPList.aspx"; pageParams.AddString("JGCZBID", PageParam.GetRTrimString("JGCZBID")); pageParams.AddString("JGCZBBBID", PageParam.GetRTrimString("JGCZBBBID")); pageParams.AddString("txtFGBZ", txtFGBZ.ClientID); pageParams.AddString("btnCRCLQD", btnCRCLQD.ClientID); OpenDialog(pageParams); } else { return; } } else if (Confirm.GetValue("ask").Trim().Equals("Y")) { Confirm.Clear(); if (isps) { InsXLXSCLQD(dberp, sql); } else { //判断是否存在已经派生过用量的产品 if (ISPS(PageParam.GetRTrimString("JGCZBID"), PageParam.GetRTrimString("JGCZBBBID"))) { isps = true; Confirm.Register("ask", "待派生用量的产品已通过其他尺重表派生过,点“是”进行用量覆盖,点“否”终止用量派生、查看重复产品清单!"); Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No; Confirm.Ask("ask"); return; } else { InsXLXSCLQD(dberp, sql); } } } else if(Confirm.GetValue("ask").Trim().Equals("")) { //检查当前结构尺重表本身型号、规格、标准、电压等级是否重复 sql.Clear(); sql.Add("select top 1 XLJGCZBNR_LMNR01,XLJGCZBNR_LMNR02,XLJGCZBNR_LMNR03,XLJGCZBNR_LMNR04"); sql.Add(" from XLJGCZBNR"); sql.Add(" where XLJGCZBNR_JGCZBID=:pJGCZBID"); sql.Add(" and XLJGCZBNR_JGCZBBBID=:pJGCZBBBID"); sql.Add(" group by XLJGCZBNR_LMNR01,XLJGCZBNR_LMNR02,XLJGCZBNR_LMNR03,XLJGCZBNR_LMNR04"); sql.Add(" having count(*)>1"); sql.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID"); sql.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID"); DataSet ds1 = dberp.OpenDataSet(sql); if (ds1.Tables[0].Rows.Count > 0) { ShowMessage("型号、规格、标准、电压等级存在重复!"); return; } //接收参数DRLX, //CLQDL,BJCLMC,空保持导入 //BJCLMCACT进行强校验 sql.Clear(); sql.Add("select XLJGCZBNR_LMNR01 "); sql.Add(" from XLJGCZBNR"); sql.Add(" where XLJGCZBNR_JGCZBID=:pJGCZBID"); sql.Add(" and XLJGCZBNR_JGCZBBBID=:pJGCZBBBID"); sql.Add(" and not exists( select 1 from XLXHB WHERE XLXHB_XLXHID = XLJGCZBNR_LMNR01 ) "); sql.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID"); sql.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID"); DataSet ds2 = dberp.OpenDataSet(sql); if (ds2.Tables[0].Rows.Count > 0) { ShowMessage(String.Format("型号【{0}】不在线缆型号表中,不允许派生!", ds2.Tables[0].Rows[0][0].ToString().Trim())); return; } //校验材料清单是否有数据 sql.Clear(); sql.Add("select top 1 XLXSCLQD_XLXHID "); sql.Add(" from XLXSCLQD"); sql.Add(" where XLXSCLQD_JGCZBID=:pJGCZBID"); sql.Add(" and XLXSCLQD_JGCZBBBID=:pJGCZBBBID"); sql.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID"); sql.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID"); DataSet ds4 = dberp.OpenDataSet(sql); if (ds4.Tables[0].Rows.Count > 0) { isps = false; Confirm.Register("ask", "当前尺重表下已有材料清单记录,是否清空后重新派生?"); Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No; if (Confirm.GetValue("ask").Trim().Equals("")) { Confirm.Ask("ask"); return; } } else { //判断是否存在已经派生过用量的产品 if (ISPS(PageParam.GetRTrimString("JGCZBID"), PageParam.GetRTrimString("JGCZBBBID"))) { isps = true; Confirm.Register("ask", "待派生用量的产品已通过其他尺重表派生过,点“是”进行用量覆盖,点“否”终止用量派生、查看重复产品清单!"); Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No; if (Confirm.GetValue("ask").Trim().Equals("")) { Confirm.Ask("ask"); return; } } else { InsXLXSCLQD(dberp, sql); } } } } protected void btnDelCLYL_Click(object sender, EventArgs e) { string sMsg = "将删除当前尺重表下的材料清单记录,是否继续?"; Confirm.Register("IsQD", sMsg); 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 sql = new TSQL(dberp); sql.Clear(); sql.Add("delete from XLXSCLQD where 1 = 1 "); sql.Add(" and XLXSCLQD_JGCZBID = :pJGCZBID and XLXSCLQD_JGCZBBBID = :pJGCZBBBID"); sql.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID"); sql.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID"); dberp.ExecSQL(sql); ShowMessage("删除完成!"); } protected void btnRefresh1_Click(object sender, EventArgs e) { int index = ContentGrid.SelectedIndex; moduleGV_PageIndexChanging(null, null); FormAreaUpdate(); ContentGrid.SelectedIndex = index; } protected void btnCRCLQD_Click(object sender, EventArgs e) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); if (txtFGBZ.Value == "Y") InsXLXSCLQD(dberp, sql, true); else InsXLXSCLQD(dberp, sql, false); } #endregion } }