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

270 lines
9.9 KiB
C#

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using GThinking.N_MISPRO;
using GThinking.N_MISPRO.Data;
using GThinking.N_MODEL.Page;
using GThinking.N_CONTROL;
using GThinking.N_PUBLIC;
using GThinking.N_MISPRO.Caching;
using GThinking.N_MISPRO.Utility;
using System.Collections.Generic;
using System.Text;
namespace GThinking.N_XLXSBJ
{
public partial class XLBJD_CXQSCLList : SingleGridBase
{
XLBJD_CBZS entity = new XLBJD_CBZS();
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860000;
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 (!IsPostBack)
{
Master_OnStandardQuery(null, null);
lblBJCP.Text = GetBJCP();
}
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()
{
return GetTableFromJGE();
}
private DataSet GetTableFromJGE()
{
string sBJDID = PageParam.GetRTrimString("BJDID");
string sXH = PageParam.GetRTrimString("XH");
DataSet dsResult = new DataSet();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL tSql = new TSQL(dberp);
tSql.Clear();
tSql.Add("select XLXSBJDCLCB_BJDID, XLXSBJDCLCB_XH");
for (int i = 1; i <= 80; i++)
{
tSql.Add(string.Format(",XLXSBJDCLCB_CLSL{0}", i.ToString().PadLeft(2, '0').Trim()));
tSql.Add(string.Format(",XLXSBJDCLCB_CLID{0}", i.ToString().PadLeft(2, '0').Trim()));
tSql.Add(string.Format(",XLXSBJDCLCB_CLDJ{0}", i.ToString().PadLeft(2, '0').Trim()));
}
tSql.Add(" from XLXSBJDCLCB ");
tSql.Add(" where XLXSBJDCLCB_BJDID=:pBJDID and XLXSBJDCLCB_XH=:pXH ");
tSql.ParamByName("pBJDID").Value = sBJDID;
tSql.ParamByName("pXH").Value = sXH;
DataSet dsBJCL = dberp.OpenDataSet(tSql);
if (dsBJCL.Tables[0].Rows.Count > 0)
{
DataTable dt1 = new DataTable();
dt1.Columns.Add("BJCLID", typeof(string));
dt1.Columns.Add("BJCLMC", typeof(string));
dt1.Columns.Add("WLXX", typeof(string));
dt1.Columns.Add("CLJG", typeof(string));
dt1.Columns.Add("CLSL", typeof(double));
dt1.Columns.Add("px0", typeof(double));
dt1.Columns.Add("CLCB", typeof(double));
for (int i = 1; i <= 80; i++)
{
string sCLID = dsBJCL.Tables[0].Rows[0][string.Format("XLXSBJDCLCB_CLID{0}", i.ToString().PadLeft(2, '0').Trim())].ToString().Trim();
if (sCLID.Equals(""))
{
//避免出现跳空列的情况
continue;
}
string sBJCLID = "";
string sWLID = "";
if (sCLID.Contains("|"))
{
sBJCLID = sCLID.Split('|')[0];
sWLID = sCLID.Split('|')[1];
}
else
sBJCLID = sCLID;
string sWLXX = GetWLXX(sWLID);
string sBJCLMC = GetBJCLMC(sBJCLID);
string sCLSL = dsBJCL.Tables[0].Rows[0][string.Format("XLXSBJDCLCB_CLSL{0}", i.ToString().PadLeft(2, '0').Trim())].ToString().Trim();
double dCLSL = CMISproConvert.StrToFloat(sCLSL);
string sCLDJ = dsBJCL.Tables[0].Rows[0][string.Format("XLXSBJDCLCB_CLDJ{0}", i.ToString().PadLeft(2, '0').Trim())].ToString().Trim();
string sCLCB = NumberUtils.RoundX(CMISproConvert.StrToFloat(sCLSL) * CMISproConvert.StrToFloat(sCLDJ), 6).ToString().Trim();
if (dCLSL > 0)//数量大于0的存放在dt1,不大于0的存在dt2
{
DataRow dtrow = dt1.NewRow();
dtrow["BJCLID"] = sBJCLID;
dtrow["BJCLMC"] = sBJCLMC;
dtrow["WLXX"] = sWLXX;
dtrow["CLJG"] = sCLDJ;
dtrow["CLSL"] = dCLSL;
dtrow["px0"] = 0;
dtrow["CLCB"] = CMISproConvert.StrToFloat(sCLCB);
dt1.Rows.Add(dtrow);
}
}
dsResult.Tables.Add(dt1);
}
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 sRetValue = "";
string sXLXHID = PageParam.GetRTrimString("XLXHID");
string sXLGGID = PageParam.GetRTrimString("XLGGID");
string sXLBZID = GetXLBZXX(PageParam.GetRTrimString("XLBZID"));
string sDYDJID = PageParam.GetRTrimString("DYDJID");
if (!sXLXHID.Equals(""))
{
sRetValue = sRetValue + "&nbsp;&nbsp;" + sXLXHID;
}
if (!sXLGGID.Equals(""))
{
sRetValue = sRetValue + "&nbsp;&nbsp;" + sXLGGID;
}
if (!sXLBZID.Equals(""))
{
sRetValue = sRetValue + "&nbsp;&nbsp;" + sXLBZID;
}
if (!sDYDJID.Equals(""))
{
sRetValue = sRetValue + "&nbsp;&nbsp;" + 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;
}
private string GetBJCLMC(string sBJCLID)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
sql.Add(" select XLXSBJCL_BJCLMC from XLXSBJCL where XLXSBJCL_BJCLID=:pBJCLID ");
sql.ParamByName("pBJCLID").Value = sBJCLID.Trim();
DataSet ds = dberp.OpenDataSet(sql);
if (ds.Tables[0].Rows.Count > 0)
return ds.Tables[0].Rows[0]["XLXSBJCL_BJCLMC"].ToString().Trim();
else
return "";
}
#endregion
#region 按钮事件
#endregion
}
}