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

353 lines
15 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_MODEL.Page;
using GThinking.N_MISPRO.Data;
using GThinking.N_PUBLIC;
using System.Text;
using GThinking.N_MISPRO.Utility;
using GThinking.N_CONTROL;
namespace GThinking.N_XLXSBJ
{
public partial class TZYZJJ2List : SingleGridBase
{
TZYZJJ2Entity entity = new TZYZJJ2Entity();
TZYZJJ2_M qryEntity = new TZYZJJ2_M();
DataSet dsTJYS1 = new DataSet();
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860025;
this.UMName = "按产品用途电压等级分类导体材料调材料损耗";
this.CurMaster = Master;
this.ModuleGV = ContentGrid;
this.CurEntity = entity;
this.CurQueryEntity = qryEntity;
this.sURLTarget = "TZYZJJ2Info.aspx";
this.sQueryURLTarget = "TZYZJJ2Query.aspx";
this.PageHeight = 600;
this.PageWidth = 750;
Master.EnableCopyBtn = false;
//Master.EnableNewBtn = false;
//Master.EnableEditBtn = false;
//Master.EnableViewBtn = false;
//Master.EnableDeleteBtn = false;
base.DataKeyNames = new string[] { "XLXSJGBYZZ2_JGBID", "XLXSJGBYZZ2_CPYT", "XLXSJGBYZZ2_DYDJFL", "XLXSJGBYZZ2_BJCLID", "XLXSJGBYZZ2_DTCLID" };
if (!IsPostBack)
{
if (!PageParam.GetRTrimString("JGBID").Equals(""))
CurQueryEntity.FieldByName("JGBID").Value = PageParam.GetRTrimString("JGBID");
else
CurQueryEntity.FieldByName("JGBID").Value = GetDefaultJGBID();
}
base.InitPage();
if (!IsPostBack)
{
if (!PageParam.GetRTrimString("JGBID").Equals(""))
Master_OnStandardQuery(null, null);
else
{
if (IsDefaultExecute)
Master_OnStandardQuery(null, null);
else
{
this.Master.StandardNewButton.OnClientClick = "alert('请先查询调价表!');";
this.Master.StandardCopyButton.OnClientClick = "alert('请先查询调价表!');";
}
}
}
}
#region 模板事件继承
protected override void Master_OnStandardQuery(object sender, EventArgs e)
{
entity.EntityTable.QuerySelSql = GetSQL();
base.Master_OnStandardQuery(sender, e);
entity.GridDataBind(ContentGrid, tSession);
if (CurQueryEntity.FieldByName("JGBID").Value.Trim().Equals(""))
{
this.Master.StandardNewButton.OnClientClick = "alert('请先查询调价表!');";
this.Master.StandardCopyButton.OnClientClick = "alert('请先查询调价表!');";
}
else
{
this.Master.StandardNewButton.OnClientClick = "OpenCardForm('INSERT');return false;";
this.Master.StandardCopyButton.OnClientClick = "OpenCardForm('COPY');return false;";
}
TPageParams pageParams = new TPageParams();
pageParams.AddString("XLXSJGBYZZ2_JGBID", CurQueryEntity.FieldByName("JGBID").Value.Trim());
pageParams.AddString("TJYZList", txtTJYZList.Value.Trim());
SetNewFormParam(pageParams);
}
protected override void BeforeDelete(TDatabase db, ref bool ActionIsDone)
{
entity.Param.Add("XLXSJGBYZZ2_JGBID", this.ContentGrid.SelectedDataKey["XLXSJGBYZZ2_JGBID"].ToString().Trim());
entity.Param.Add("XLXSJGBYZZ2_CPYT", this.ContentGrid.SelectedDataKey["XLXSJGBYZZ2_CPYT"].ToString().Trim());
entity.Param.Add("XLXSJGBYZZ2_DYDJFL", this.ContentGrid.SelectedDataKey["XLXSJGBYZZ2_DYDJFL"].ToString());
entity.Param.Add("XLXSJGBYZZ2_BJCLID", this.ContentGrid.SelectedDataKey["XLXSJGBYZZ2_BJCLID"].ToString().Trim());
entity.Param.Add("XLXSJGBYZZ2_DTCLID", this.ContentGrid.SelectedDataKey["XLXSJGBYZZ2_DTCLID"].ToString());
base.BeforeDelete(db, ref ActionIsDone);
}
protected override bool Master_AfterDeleteAction(object sender, EventArgs e)
{
if (!base.Master_AfterDeleteAction(sender, e)) return false;
entity.EntityTable.QuerySelSql = GetSQL();
entity.GridDataBind(ContentGrid, tSession);
ContentGrid.SelectedIndex = -1;
return true;
}
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
entity.EntityTable.QuerySelSql = GetSQL();
ContentGrid.SelectedIndex = -1;
base.moduleGV_PageIndexChanging(sender, e);
}
protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
LinkPageParam.AddString("XLXSJGBYZZ2_JGBID", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGBYZZ2_JGBID"].ToString().Trim());
LinkPageParam.AddString("XLXSJGBYZZ2_CPYT", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGBYZZ2_CPYT"].ToString().Trim());
LinkPageParam.AddString("XLXSJGBYZZ2_DYDJFL", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGBYZZ2_DYDJFL"].ToString());
LinkPageParam.AddString("XLXSJGBYZZ2_DTCLID", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGBYZZ2_DTCLID"].ToString());
LinkPageParam.AddString("TJYZList", txtTJYZList.Value.Trim());
}
base.moduleGV_RowDataBound(sender, e);
}
#endregion
#region 自定义函数
private string GetSQL()
{
base.InitEntityByCondition();
InitGridView();
StringBuilder sSQL = new StringBuilder();
sSQL.AppendLine("select :pJGBID as XLXSJGBYZZ2_JGBID,XLXSJGBYZZ2_CPYT,XLXSJGBYZZ2_DYDJFL,XLXSJGBYZZ2_BJCLID,XLXSJGBYZZ2_DTCLID,");
sSQL.AppendLine(" rtrim(XLXSJGBYZZ2_CPYT)|| '|' || XLCPYT_CPYTMC as CPYT,");
sSQL.AppendLine(" rtrim(XLXSJGBYZZ2_DTCLID)|| '|' || rtrim(XLDTCLB_WLMC) as DTCL, ");
sSQL.AppendLine(" rtrim(XLXSJGBYZZ2_BJCLID)|| '|' || XLXSBJCL_BJCLMC as BJCL ");
for (int i = 0; i < dsTJYS1.Tables[0].Rows.Count; i++)
{
sSQL.AppendLine(string.Format(",TZYZ_{0}", dsTJYS1.Tables[0].Rows[i][0].ToString().Trim()));
}
sSQL.AppendLine(" from ");
sSQL.AppendLine(" ( ");
sSQL.AppendLine(" select XLXSJGBYZZ2_CPYT,XLXSJGBYZZ2_DYDJFL,XLXSJGBYZZ2_BJCLID,XLXSJGBYZZ2_DTCLID ");
for (int i = 0; i < dsTJYS1.Tables[0].Rows.Count; i++)
{
sSQL.AppendLine(string.Format(",sum(CASE XLXSJGBYZZ2_YZID WHEN '{0}' THEN XLXSJGBYZZ2_YZZ ELSE 0 END) as TZYZ_{0}", dsTJYS1.Tables[0].Rows[i][0].ToString().Trim()));
}
sSQL.AppendLine(" from XLXSJGBYZZ2 ");
if (string.IsNullOrEmpty(CurQueryEntity.FieldByName("JGBID").Value.Trim()))
{
sSQL.AppendLine(" where 1<>1 ");
}
else
{
sSQL.AppendLine(" where XLXSJGBYZZ2_JGBID = :pJGBID ");
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CPYT").Value.Trim()))
{
sSQL.AppendLine(" and XLXSJGBYZZ2_CPYT = :pCPYT ");
entity.Param.Add("pCPYT", CurQueryEntity.FieldByName("CPYT").Value.Trim());
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJFL").Value.Trim()))
{
sSQL.AppendLine(" and XLXSJGBYZZ2_DYDJFL = :pDYDJFL ");
entity.Param.Add("pDYDJFL", CurQueryEntity.FieldByName("DYDJFL").Value.Trim());
}
sSQL.AppendLine(" group by XLXSJGBYZZ2_CPYT,XLXSJGBYZZ2_DYDJFL,XLXSJGBYZZ2_BJCLID,XLXSJGBYZZ2_DTCLID ");
sSQL.AppendLine(" ) a ");
sSQL.AppendLine(" left join XLCPYT on XLCPYT_CPYT=XLXSJGBYZZ2_CPYT");
sSQL.AppendLine(" left join XLXSBJCL on XLXSBJCL_BJCLID=XLXSJGBYZZ2_BJCLID");
sSQL.AppendLine(" left join XLDTCLB on XLDTCLB_DTCLID=XLXSJGBYZZ2_DTCLID and XLDTCLB_WLID =' ' ");
sSQL.AppendLine(" where 1=1 ");
sSQL.AppendLine(" order by XLXSJGBYZZ2_CPYT,XLXSJGBYZZ2_DYDJFL,XLXSJGBYZZ2_BJCLID");
entity.Param.Add("pJGBID", CurQueryEntity.FieldByName("JGBID").Value.Trim());
return sSQL.ToString();
}
private void InitGridView()
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select XLXSTZYZ_YZID, XLXSTZYZ_YZMC, XLXSTZYZ_JJFS ");
SQL.Add(" from XLXSTZYZ");
SQL.Add(" where XLXSTZYZ_MXBH = 'JZJ' and XLXSTZYZ_TJYS='2' ");
SQL.Add(" and XLXSTZYZ_JGBID = :pJGBID");
SQL.Add("order by XLXSTZYZ_XSXH, XLXSTZYZ_YZID ");
SQL.ParamByName("pJGBID").Value = CurQueryEntity.FieldByName("JGBID").Value.Trim();
DataSet ds = dberp.OpenDataSet(SQL);
dsTJYS1 = ds;
txtTJYZList.Value = "";
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string sJJFSMC = "";
int iXSWS = 2;
//加价类型的基价因子小数位数按BJU002设置的来
if (ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("JJ"))
{
//iXSWS = CMISproConvert.StrToInt(GetOption("BJU002"));
iXSWS = 5;
sJJFSMC = "(元)";
}
else if (ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("JD") || ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("KD"))
{
sJJFSMC = "(%)";
}
AddColumn("TZYZ_" + ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim(), ds.Tables[0].Rows[i]["XLXSTZYZ_YZMC"].ToString().Trim() + sJJFSMC, iXSWS, 80);
txtTJYZList.Value += ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim() + "|" + ds.Tables[0].Rows[i]["XLXSTZYZ_YZMC"].ToString().Trim() + sJJFSMC + ",";
}
txtTJYZList.Value = txtTJYZList.Value.TrimEnd(',');
}
private string GetDefaultJGBID()
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Add("select XLXSJGB_JGBID from XLXSJGB where XLXSJGB_MXBH='JZJ' and XLXSJGB_TJYS='2' order by XLXSJGB_JGBID");
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
return ds.Tables[0].Rows[0][0].ToString().Trim();
}
else
return "";
}
#endregion
#region 控件事件
#endregion
#region GridView增加列
/// <summary>
/// 设置etCheckBox列的属性
/// </summary>
/// <param name="sDataField"></param>
/// <param name="HeadText"></param>
/// <param name="Width"></param>
/// <param name="CheckBox"></param>
private void AddColumn(string sDataField, string HeadText, int Width, TEditType CheckBox)
{
BoundField Column = new BoundField();
Column.DataField = sDataField;
Column.HeaderText = HeadText;
Column.ItemStyle.Width = (Unit)Width;
Column.HeaderStyle.Width = (Unit)Width;
ContentGrid.Columns.Add(Column);
gtGridView_Column ColumnEx = new gtGridView_Column();
ColumnEx.DataField = sDataField;
ColumnEx.EditType = TEditType.etCheckBox;
ContentGrid.ColumnsEx.Insert(0, ColumnEx);
}
/// <summary>
/// 设置etString列的属性
/// </summary>
/// <param name="sDataField"></param>
/// <param name="HeadText"></param>
/// <param name="Width"></param>
private void AddColumn(string sDataField, string HeadText, int Width)
{
BoundField Column = new BoundField();
Column.DataField = sDataField;
Column.HeaderText = HeadText;
Column.ItemStyle.Width = (Unit)Width;
Column.HeaderStyle.Width = (Unit)Width;
ContentGrid.Columns.Add(Column);
gtGridView_Column ColumnEx = new gtGridView_Column();
ColumnEx.DataField = sDataField;
ColumnEx.EditType = TEditType.etString;
ColumnEx.ShowHint = true;
ContentGrid.ColumnsEx.Insert(0, ColumnEx);
}
/// <summary>
/// 设置etNumber列的属
/// </summary>
/// <param name="sDataField"></param>
/// <param name="HeadText"></param>
/// <param name="NumberDecimalPlace"></param>
/// <param name="Width"></param>
private void AddColumn(string sDataField, string HeadText, int NumberDecimalPlace, int Width)
{
BoundField Column = new BoundField();
Column.DataField = sDataField;
Column.HeaderText = HeadText;
Column.ItemStyle.Width = (Unit)Width;
Column.HeaderStyle.Width = (Unit)Width;
Column.ItemStyle.HorizontalAlign = HorizontalAlign.Right;
ContentGrid.Columns.Add(Column);
gtGridView_Column ColumnEx = new gtGridView_Column();
ColumnEx.DataField = sDataField;
ColumnEx.EditType = TEditType.etNumber;
ColumnEx.ShowHint = true;
ColumnEx.NumberDecimalPlace = NumberDecimalPlace;
ContentGrid.ColumnsEx.Insert(0, ColumnEx);
}
/// <summary>
/// 设置etDateTime列的属性
/// </summary>
/// <param name="sDataField"></param>
/// <param name="HeadText"></param>
/// <param name="DateTimeKind"></param>
/// <param name="Width"></param>
private void AddColumn(string sDataField, string HeadText, TDateTimeEditKinds DateTimeKind)
{
BoundField Column = new BoundField();
Column.DataField = sDataField;
Column.HeaderText = HeadText;
Column.ItemStyle.Width = (Unit)(DateTimeKind == TDateTimeEditKinds.dtDateTime ? 125 : 72);
Column.HeaderStyle.Width = (Unit)(DateTimeKind == TDateTimeEditKinds.dtDateTime ? 125 : 72);
ContentGrid.Columns.Add(Column);
gtGridView_Column ColumnEx = new gtGridView_Column();
ColumnEx.DataField = sDataField;
ColumnEx.EditType = TEditType.etDateTime;
ColumnEx.DateTimeEditKins = DateTimeKind;
ContentGrid.ColumnsEx.Insert(0, ColumnEx);
}
#endregion
}
}