using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using GThinking.N_MODEL.Page; using GThinking.N_MISPRO.Data; using System.Collections.Generic; using GThinking.N_MISPRO.Utility; using GThinking.N_MISPRO; namespace GThinking.N_XLXSBJ { public partial class CLYLZD_CBZSList : SingleGridBase { CLYLZD_CBZSEntity entity = new CLYLZD_CBZSEntity(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860064; this.UMName = "实时含税料价追溯"; this.CurMaster = Master; this.ModuleGV = grdContentGrid; this.CurEntity = entity; this.PageWidth = 700; this.PageHeight = 500; Master.EnableQueryBtn = false; Master.EnableAttachBtn = false; Master.EnableNewBtn = false; Master.EnableViewBtn = false; Master.EnableEditBtn = false; Master.EnableCopyBtn = false; Master.EnableDeleteBtn = false; base.InitPage(); ModuleGV.OnClientDblClick = "return false;"; grdContentGrid.FindColumnByFieldName("px0").Visible = false; if (GetOption(100860000, "BJU002") != null) { grdContentGrid.FindColumnExByFieldName("CLCB").NumberDecimalPlace = CMISproConvert.StrToInt(GetOption(100860000, "BJU002"), 2); txtCLCB.DecimalPlaces = CMISproConvert.StrToInt(GetOption(100860000, "BJU002"), 2); } if (GetOption(100860000, "BJU003") != null) { grdContentGrid.FindColumnByFieldName("CLSL").HeaderText = "材料用量(Kg/" + GetOption(100860000, "BJU003") + ")"; grdContentGrid.FindColumnByFieldName("CLCB").HeaderText = "材料成本(元/" + GetOption(100860000, "BJU003") + ")"; lblDW.Text = "元/" + GetOption(100860000, "BJU003") + ""; } if (!IsPostBack) { Master_OnStandardQuery(null, null); string sXLXHID = PageParam.GetRTrimString("XLXHID"); string sXLGGID = PageParam.GetRTrimString("XLGGID"); string sXLBZID = PageParam.GetRTrimString("XLBZID"); string sDYDJID = PageParam.GetRTrimString("DYDJID"); lblBJCP.Text = GetBJCP(sXLXHID, sXLGGID, GetXLBZXX(sXLBZID), sDYDJID); } grdContentGrid.FindColumnExByFieldName("CLJG").NumberDecimalPlace = XLBJDUtils.BJCLPriceDecimal; } #region 模板继承事件 protected override void Master_OnStandardQuery(object sender, EventArgs e) { entity.EntityTable.QuerySelSql = "select 1 from XLXSCLQD where 1<>1"; base.Master_OnStandardQuery(sender, e); DataSet ds = GetTable(); entity.GridDataBind(grdContentGrid, tSession); entity.GridDataBind(grdContentGrid, ds.Tables[0], ds.Tables[0].Rows.Count); grdContentGrid.DataSource = ds; } protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e) { entity.EntityTable.QuerySelSql = "select 1 from XLXSCLQD where 1<>1"; base.moduleGV_PageIndexChanging(sender, e); grdContentGrid.SelectedIndex = -1; DataSet ds = GetTable(); entity.GridDataBind(grdContentGrid, tSession); entity.GridDataBind(grdContentGrid, ds.Tables[0], ds.Tables[0].Rows.Count); grdContentGrid.DataSource = ds; } protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { } base.moduleGV_RowDataBound(sender, e); } #endregion #region 自定义事件 private DataSet GetTable() { string sXLXHID = PageParam.GetRTrimString("XLXHID"); string sXLGGID = PageParam.GetRTrimString("XLGGID"); string sXLBZID = PageParam.GetRTrimString("XLBZID"); string sDYDJID = PageParam.GetRTrimString("DYDJID"); Dictionary dicCLHQ = new Dictionary(); Dictionary dicWLHQ = new Dictionary(); DataSet dsWLHQ = null; int iXSWS = string.IsNullOrEmpty(GetOption(100860000, "BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption(100860000, "BJU002")); if (iXSWS < 0) { iXSWS = 0; } else if (iXSWS > 8) { iXSWS = 8; } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL tSql = new TSQL(dberp); tSql.Clear(); tSql.Add("select XLJGCZBLM_CLQDL,XLJGCZBLM_BJCLID,XLXSBJCL_BJHQ"); tSql.Add(" from XLJGCZBLM"); tSql.Add(" left join XLXSCLQD on XLXSCLQD_JGCZBID=XLJGCZBLM_JGCZBID and XLXSCLQD_JGCZBBBID = XLJGCZBLM_JGCZBBBID "); tSql.Add(" left join XLXSBJCL on XLXSBJCL_BJCLID=XLJGCZBLM_BJCLID"); tSql.Add(" where XLXSCLQD_XLXHID=:pXLXHID and XLXSCLQD_XLGGID=:pXLGGID and XLXSCLQD_XLBZID=:pXLBZID and XLXSCLQD_DYDJID=:pDYDJID"); tSql.Add(" and XLXSCLQD_WPID='ZZZZ'"); tSql.Add(" and isnull(XLJGCZBLM_CLQDL,' ')<>' ' "); tSql.Add(" order by XLJGCZBLM_CLQDL"); tSql.ParamByName("pXLXHID").Value = sXLXHID; tSql.ParamByName("pXLGGID").Value = sXLGGID; tSql.ParamByName("pXLBZID").Value = sXLBZID; tSql.ParamByName("pDYDJID").Value = sDYDJID; DataSet dsCZB = dberp.OpenDataSet(tSql); for (int i = 0; i < dsCZB.Tables[0].Rows.Count; i++) { if (dsCZB.Tables[0].Rows[i]["XLXSBJCL_BJHQ"].ToString().Trim().Equals("1"))//1|材料行情 dicCLHQ.Add(dsCZB.Tables[0].Rows[i]["XLJGCZBLM_CLQDL"].ToString().Trim(), dsCZB.Tables[0].Rows[i]["XLJGCZBLM_BJCLID"].ToString().Trim()); else if (dsCZB.Tables[0].Rows[i]["XLXSBJCL_BJHQ"].ToString().Trim().Equals("2"))//2|物料行情 dicWLHQ.Add(dsCZB.Tables[0].Rows[i]["XLJGCZBLM_CLQDL"].ToString().Trim(), dsCZB.Tables[0].Rows[i]["XLJGCZBLM_BJCLID"].ToString().Trim()); } //存在物料行情材料 if (dicWLHQ.Keys.Count > 0) { tSql.Clear(); tSql.Add("select XLXSCLQD_JGCZBID,XLXSCLQD_JGCZBBBID,XLXSCLQD_JGCZBXH,XLXSCLQD_DRHH"); tSql.Add(" from XLXSCLQD "); tSql.Add(" where XLXSCLQD_XLXHID=:pXLXHID and XLXSCLQD_XLGGID=:pXLGGID and XLXSCLQD_XLBZID=:pXLBZID and XLXSCLQD_DYDJID=:pDYDJID"); tSql.ParamByName("pXLXHID").Value = sXLXHID; tSql.ParamByName("pXLGGID").Value = sXLGGID; tSql.ParamByName("pXLBZID").Value = sXLBZID; tSql.ParamByName("pDYDJID").Value = sDYDJID; DataSet dsCZBXL = dberp.OpenDataSet(tSql); if (dsCZBXL.Tables[0].Rows.Count > 0) { string sJGCZBID = dsCZBXL.Tables[0].Rows[0]["XLXSCLQD_JGCZBID"].ToString().Trim(); string sJGCZBBBID = dsCZBXL.Tables[0].Rows[0]["XLXSCLQD_JGCZBBBID"].ToString().Trim(); string sJGCZBXH = dsCZBXL.Tables[0].Rows[0]["XLXSCLQD_JGCZBXH"].ToString().Trim(); string sDRHH = dsCZBXL.Tables[0].Rows[0]["XLXSCLQD_DRHH"].ToString().Trim(); #region 创建临时表 DateTime TimeStamp = MISproUtils.GetServerTime(); int VnewID = CMISproDataBase.GetMaxXH("DBERP", "V_XLXSCLQDWLHQ", "V_XLXSCLQDWLHQ_ID", "") + 1; tSql.Clear(); tSql.Add(@"insert into V_XLXSCLQDWLHQ(V_XLXSCLQDWLHQ_ID,V_XLXSCLQDWLHQ_TIMESTAMP,V_XLXSCLQDWLHQ_JGCZBID,V_XLXSCLQDWLHQ_JGCZBBBID,V_XLXSCLQDWLHQ_JGCZBXH,V_XLXSCLQDWLHQ_DRHH,V_XLXSCLQDWLHQ_HSBZ) select :pID,:pTime,XLXSCLQD_JGCZBID, XLXSCLQD_JGCZBBBID,XLXSCLQD_JGCZBXH,XLXSCLQD_DRHH,:pHSBZ from XLXSCLQD where XLXSCLQD_JGCZBID=:pJGCZBID and XLXSCLQD_JGCZBBBID=:pJGCZBBBID and XLXSCLQD_JGCZBXH=:pJGCZBXH and XLXSCLQD_DRHH=:pDRHH "); tSql.ParamByName("pID").Value = VnewID; tSql.ParamByName("pTime").Value = TimeStamp; tSql.ParamByName("pHSBZ").Value = "Y"; tSql.ParamByName("pJGCZBID").Value = sJGCZBID; tSql.ParamByName("pJGCZBBBID").Value = sJGCZBBBID; tSql.ParamByName("pJGCZBXH").Value = CMISproConvert.StrToFloat(sJGCZBXH); tSql.ParamByName("pDRHH").Value = CMISproConvert.StrToFloat(sDRHH); dberp.ExecSQL(tSql); #endregion #region 循环dsCLQDL更新临时表 #region 含税 string sSQL_1 = " merge into V_XLXSCLQDWLHQ tar " + " using ( " + " select XLXSCLQDWL_JGCZBID,XLXSCLQDWL_JGCZBBBID,XLXSCLQDWL_JGCZBXH,XLXSCLQDWL_DRHH, "; string sSQL_2 = string.Empty; string sSQL_3 = " ' ' as MJBZ from XLXSCLQDWL "; string sSQL_4 = string.Empty; string sSQL_5 = " where XLXSCLQDWL_JGCZBID=:pJGCZBID and XLXSCLQDWL_JGCZBBBID=:pJGCZBBBID and XLXSCLQDWL_JGCZBXH=:pJGCZBXH and XLXSCLQDWL_DRHH=:pDRHH " + " ) sor " + " on ( " + " XLXSCLQDWL_JGCZBID=V_XLXSCLQDWLHQ_JGCZBID and XLXSCLQDWL_JGCZBBBID=V_XLXSCLQDWLHQ_JGCZBBBID and XLXSCLQDWL_JGCZBXH=V_XLXSCLQDWLHQ_JGCZBXH and XLXSCLQDWL_DRHH=V_XLXSCLQDWLHQ_DRHH and V_XLXSCLQDWLHQ_HSBZ=:pHSBZ and V_XLXSCLQDWLHQ_ID=:pID " + " ) when matched then update set V_XLXSCLQDWLHQ_HSBZ=:pHSBZ"; string sSQL_6 = string.Empty; int count = 0;//记录已经拼接的列数 foreach (string sCLQDL in dicWLHQ.Keys) { sSQL_2 += string.Format("XLXSCLQDWL_WLID{0},", sCLQDL.Replace("第", "").Replace("列", "")); sSQL_2 += string.Format("isnull(c{0}.XLXSWLHQ_HSJG,0) as HSJG{0},", sCLQDL.Replace("第", "").Replace("列", "")); sSQL_4 += " left join"; sSQL_4 += " ("; sSQL_4 += " select XLXSWLHQ_WLID,XLXSWLHQ_WSJG,XLXSWLHQ_HSJG"; sSQL_4 += " from XLXSWLHQ,"; sSQL_4 += " ("; sSQL_4 += " select XLXSWLHQ_WLID as WLID,max(XLXSWLHQ_YXQS)as maxYXQS"; sSQL_4 += " from XLXSWLHQ"; sSQL_4 += " where XLXSWLHQ_JGBID=' '"; sSQL_4 += " and XLXSWLHQ_YXQS<=:pRQ and (XLXSWLHQ_YXQZ>=:pRQ or XLXSWLHQ_YXQZ is null)"; sSQL_4 += " group by XLXSWLHQ_WLID"; sSQL_4 += string.Format(") a{0} ", sCLQDL.Replace("第", "").Replace("列", "")); sSQL_4 += " where XLXSWLHQ_JGBID=' ' and XLXSWLHQ_WLID=WLID and XLXSWLHQ_YXQS=maxYXQS"; sSQL_4 += string.Format(") c{0} on c{0}.XLXSWLHQ_WLID=XLXSCLQDWL_WLID{0} ", sCLQDL.Replace("第", "").Replace("列", "")); sSQL_6 += string.Format(" ,V_XLXSCLQDWLHQ_JG{0} = HSJG{0} ", sCLQDL.Replace("第", "").Replace("列", "")); count++; if (count % 25 == 0 || count == dicWLHQ.Count) { tSql.Clear(); tSql.Add(sSQL_1); tSql.Add(sSQL_2); tSql.Add(sSQL_3); tSql.Add(sSQL_4); tSql.Add(sSQL_5); tSql.Add(sSQL_6); tSql.ParamByName("pID").Value = VnewID; tSql.ParamByName("pHSBZ").Value = "Y"; tSql.ParamByName("pRQ").Value = DateTime.Now.Date; tSql.ParamByName("pJGCZBID").Value = sJGCZBID; tSql.ParamByName("pJGCZBBBID").Value = sJGCZBBBID; tSql.ParamByName("pJGCZBXH").Value = CMISproConvert.StrToFloat(sJGCZBXH); tSql.ParamByName("pDRHH").Value = CMISproConvert.StrToFloat(sDRHH); dberp.ExecSQL(tSql); sSQL_2 = string.Empty; sSQL_4 = string.Empty; sSQL_6 = string.Empty; } } #endregion #endregion #region 查询物料行情 tSql.Clear(); tSql.Add("select "); bool bFirst = true; foreach (string sCLQDL in dicWLHQ.Keys) { if (!bFirst) tSql.Add(","); bFirst = false; tSql.Add(string.Format("XLXSCLQDWL_WLID{0},isnull(a.V_XLXSCLQDWLHQ_JG{0},0) as HSJG{0}", sCLQDL.Replace("第", "").Replace("列", ""))); } tSql.Add(" from XLXSCLQDWL"); tSql.Add(" left join"); tSql.Add(" V_XLXSCLQDWLHQ a on "); tSql.Add(" XLXSCLQDWL_JGCZBID=a.V_XLXSCLQDWLHQ_JGCZBID and XLXSCLQDWL_JGCZBBBID=a.V_XLXSCLQDWLHQ_JGCZBBBID and XLXSCLQDWL_JGCZBXH=a.V_XLXSCLQDWLHQ_JGCZBXH and XLXSCLQDWL_DRHH=a.V_XLXSCLQDWLHQ_DRHH and a.V_XLXSCLQDWLHQ_HSBZ='Y' and a.V_XLXSCLQDWLHQ_ID =:pID "); tSql.Add(" where XLXSCLQDWL_JGCZBID=:pJGCZBID and XLXSCLQDWL_JGCZBBBID=:pJGCZBBBID and XLXSCLQDWL_JGCZBXH=:pJGCZBXH and XLXSCLQDWL_DRHH=:pDRHH"); tSql.ParamByName("pID").Value = VnewID; tSql.ParamByName("pRQ").Value = DateTime.Now.Date; tSql.ParamByName("pJGCZBID").Value = sJGCZBID; tSql.ParamByName("pJGCZBBBID").Value = sJGCZBBBID; tSql.ParamByName("pJGCZBXH").Value = sJGCZBXH; tSql.ParamByName("pDRHH").Value = sDRHH; dsWLHQ = dberp.OpenDataSet(tSql); #endregion //删除临时表 tSql.Clear(); tSql.Add("delete from V_XLXSCLQDWLHQ where V_XLXSCLQDWLHQ_ID=:pID "); tSql.ParamByName("pID").Value = VnewID; dberp.ExecSQL(tSql); } } TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select XLJGCZBLM_BJCLID,bjcl.XLXSBJCL_BJCLMC,"); //物料信息 if (dicCLHQ.Count != 0 || dicWLHQ.Count != 0) { SQL.Add(" case "); foreach (string sCLQDL in dicCLHQ.Keys) { SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then ' ' ", sCLQDL)); } foreach (string sCLQDL in dicWLHQ.Keys) { if (dsWLHQ != null && dsWLHQ.Tables[0].Rows.Count > 0) SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then '{1}' ", sCLQDL, GetWLXX(dsWLHQ.Tables[0].Rows[0]["XLXSCLQDWL_WLID" + sCLQDL.Replace("第", "").Replace("列", "")].ToString().Trim()))); else SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then ' ' ", sCLQDL)); } SQL.Add(" end as WLXX, "); } else { SQL.Add(" ' ' as WLXX, "); } //材料价格 if (dicCLHQ.Count != 0 || dicWLHQ.Count != 0) { SQL.Add(" case "); foreach (string sCLQDL in dicCLHQ.Keys) { SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then isnull(HSJG,0.0) ", sCLQDL)); } foreach (string sCLQDL in dicWLHQ.Keys) { if (dsWLHQ != null && dsWLHQ.Tables[0].Rows.Count > 0) { SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then {1} ", sCLQDL, dsWLHQ.Tables[0].Rows[0]["HSJG" + sCLQDL.Replace("第", "").Replace("列", "")].ToString().Trim())); } else { SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then 0.0 ", sCLQDL)); } } SQL.Add(" end as CLJG, "); } else { SQL.Add(" 0 as CLJG, "); } //材料数量 if (dicCLHQ.Count != 0 || dicWLHQ.Count != 0) { SQL.Add(" case "); foreach (string sCLQDL in dicCLHQ.Keys) { SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then XLXSCLQD_SL{1} ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", ""))); } foreach (string sCLQDL in dicWLHQ.Keys) { SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then XLXSCLQD_SL{1} ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", ""))); } SQL.Add(" end as CLSL, "); } else { SQL.Add(" 0 as CLSL, "); } if (dicCLHQ.Count != 0 || dicWLHQ.Count != 0) { SQL.Add(" case "); foreach (string sCLQDL in dicCLHQ.Keys) { SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then ( case when XLXSCLQD_SL{1} = 0 then 0 else 1 end) ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", ""))); } foreach (string sCLQDL in dicWLHQ.Keys) { SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then ( case when XLXSCLQD_SL{1} = 0 then 0 else 1 end) ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", ""))); } SQL.Add(" end as px0, "); } else { SQL.Add(" 0 as px0, "); } //损耗率 if (dicCLHQ.Count != 0 || dicWLHQ.Count != 0) { SQL.Add(" case "); foreach (string sCLQDL in dicCLHQ.Keys) { SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then XLXSCLQD_SHL{1} ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", ""))); } foreach (string sCLQDL in dicWLHQ.Keys) { SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then XLXSCLQD_SHL{1} ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", ""))); } SQL.Add(" end as SHL, "); } else { SQL.Add(" 0 as SHL, "); } //材料用量比例 if (dicCLHQ.Count != 0 || dicWLHQ.Count != 0) { SQL.Add(" case "); foreach (string sCLQDL in dicCLHQ.Keys) { SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then XLXSCLQD_CLJGBL{1} ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", ""))); } foreach (string sCLQDL in dicWLHQ.Keys) { SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then XLXSCLQD_CLJGBL{1} ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", ""))); } SQL.Add(" end as CLJGBL, "); } else { SQL.Add(" 0 as CLJGBL, "); } //材料成本 if (dicCLHQ.Count != 0 || dicWLHQ.Count != 0) { SQL.Add(" case "); foreach (string sCLQDL in dicCLHQ.Keys) { SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then isnull(HSJG,0.0)*XLXSCLQD_SL{1}*(1+XLXSCLQD_SHL{1}/100)*XLXSCLQD_CLJGBL{1} ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", ""))); } foreach (string sCLQDL in dicWLHQ.Keys) { if (dsWLHQ != null && dsWLHQ.Tables[0].Rows.Count > 0) { SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then {2}*XLXSCLQD_SL{1}*(1+XLXSCLQD_SHL{1}/100)*XLXSCLQD_CLJGBL{1} ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", ""), dsWLHQ.Tables[0].Rows[0]["HSJG" + sCLQDL.Replace("第", "").Replace("列", "")].ToString().Trim())); } else { SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then 0.0 ", sCLQDL)); } } SQL.Add(" end as CLCB "); } else { SQL.Add(" 0 as CLCB "); } SQL.Add(" from XLXSCLQD, "); SQL.Add(" XLJGCZBLM"); SQL.Add(" left join XLXSBJCL bjcl on bjcl.XLXSBJCL_BJCLID=XLJGCZBLM_BJCLID"); //SQL.Add(" left join XLJGCZBML on XLJGCZBML_JGCZBID = XLJGCZBLM_JGCZBID "); SQL.Add(" left join "); SQL.Add(" ("); SQL.Add(XLBJD_CLHQTZ.GetBJRHQSql().ToString()); SQL.Add(" ) curbjdhq on curbjdhq.XLXSBJCL_BJCLID=bjcl.XLXSBJCL_BJCLID "); SQL.Add("where XLJGCZBLM_JGCZBID=XLXSCLQD_JGCZBID and XLXSCLQD_JGCZBBBID = XLJGCZBLM_JGCZBBBID and isnull(XLJGCZBLM_CLQDL,' ')<>' ' "); SQL.Add(" and XLXSCLQD_XLXHID=:pXLXHID and XLXSCLQD_XLGGID=:pXLGGID and XLXSCLQD_XLBZID=:pXLBZID and XLXSCLQD_DYDJID=:pDYDJID "); SQL.Add(" and XLXSCLQD_WPID='ZZZZ'"); SQL.Add(" order by px0 desc,XLJGCZBLM_CLQDL,XLJGCZBLM_BJCLID "); SQL.ParamByName("pBJRQ").Value = DateTime.Now.Date; SQL.ParamByName("pXLXHID").Value = sXLXHID; SQL.ParamByName("pXLGGID").Value = sXLGGID; SQL.ParamByName("pXLBZID").Value = sXLBZID; SQL.ParamByName("pDYDJID").Value = sDYDJID; DataSet dsResult = dberp.OpenDataSet(SQL); txtCLCB.Value = 0; for (int i = 0; i < dsResult.Tables[0].Rows.Count; i++) { txtCLCB.Value += CMISproConvert.StrToFloat(dsResult.Tables[0].Rows[i]["CLCB"].ToString()); } return dsResult; } private string GetWLXX(string sWLID) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); sql.Add("select WL_MC,WL_GG from WL where WL_WLID=:pWLID"); sql.ParamByName("pWLID").Value = sWLID.Trim(); DataSet ds = dberp.OpenDataSet(sql); if (ds.Tables[0].Rows.Count > 0) return sWLID.Trim() + "|" + ds.Tables[0].Rows[0]["WL_MC"].ToString().Trim() + "|" + ds.Tables[0].Rows[0]["WL_GG"].ToString().Trim(); else return sWLID.Trim(); } private string GetBJCP(string sXLXHID, string sXLGGID, string sXLBZID, string sDYDJID) { string sRetValue = ""; if (!sXLXHID.Equals("")) { sRetValue = sRetValue + "  " + sXLXHID; } if (!sXLGGID.Equals("")) { sRetValue = sRetValue + "  " + sXLGGID; } if (!sXLBZID.Equals("")) { sRetValue = sRetValue + "  " + sXLBZID; } if (!sDYDJID.Equals("")) { sRetValue = sRetValue + "  " + sDYDJID; } sRetValue = sRetValue.Trim(); return sRetValue; } private string GetXLBZXX(string sXLBZID) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select rtrim(XLBZ_XLBZID)||'|'||rtrim(XLBZ_XLBZLXMC) as XLBZ_XLBZID from XLBZ where XLBZ_XLBZID= :pXLBZID "); SQL.ParamByName("pXLBZID").Value = sXLBZID; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { return ds.Tables[0].Rows[0][0].ToString().Trim(); } else return ""; } private string strPadRight(string s, int x) { string str = s; if (str.Split('.').Length == 2) { str = str.Split('.')[0] + "." + str.Split('.')[1].PadRight(x, '0'); } else { string tmp = "0"; if (x > 0) { tmp = tmp.PadRight(x, '0'); str = str + "." + tmp; } } return str; } #endregion #region 按钮事件 protected void btnRefreshCLHQTZ_Click(object sender, EventArgs e) { int iIndex = grdContentGrid.SelectedIndex; moduleGV_PageIndexChanging(null, null); grdContentGrid.SelectedIndex = iIndex; } protected void lblBJCP_Click(object sender, EventArgs e) { string sJGCZBIDFromJGCZBML = ""; string sJGCZBBBIDFromJGCZBML = ""; string sXLXHID = PageParam.GetRTrimString("XLXHID"); string sXLGGID = PageParam.GetRTrimString("XLGGID"); string sXLBZID = PageParam.GetRTrimString("XLBZID"); string sDYDJID = PageParam.GetRTrimString("DYDJID"); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); sql.Clear(); sql.Add(" select XLXSCLQD_JGCZBID as JGCZBID, XLXSCLQD_JGCZBBBID as JGCZBBBID"); sql.Add(" from XLXSCLQD where 1=1 and XLXSCLQD_WPID ='ZZZZ' "); sql.Add(" and XLXSCLQD_XLXHID = :pXLXHID "); sql.Add(" and XLXSCLQD_XLGGID = :pXLGGID "); sql.Add(" and XLXSCLQD_XLBZID = :pXLBZID "); sql.Add(" and XLXSCLQD_DYDJID = :pDYDJID "); sql.ParamByName("pXLXHID").Value = sXLXHID; sql.ParamByName("pXLGGID").Value = sXLGGID; sql.ParamByName("pXLBZID").Value = sXLBZID; sql.ParamByName("pDYDJID").Value = sDYDJID.Equals("") ? " " : sDYDJID; 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("未查询到结构尺重表信息,请在100860014|线缆销售报价材料用量模块检查该记录是否补充完整并流转结束!"); 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 } }