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.TableCache;
using GThinking.N_MISPRO;
using GThinking.N_MISPRO.Data;
using System.Text;
using GThinking.N_CONTROL;
namespace GThinking.N_XLXSBJ
{//研发自测:王威 2025/06/08 22:10:45
public partial class TZYZBJGList : SingleGridBase
{
TZYZBJG entity = new TZYZBJG();
TZYZBJG_M queryentity = new TZYZBJG_M();
DataSet dsTJYS1 = new DataSet();
#region 页面初始化
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860133;
this.UMName = "按电压芯线结构导体材料主芯截面报价数量";
this.CurMaster = Master;
this.ModuleGV = grdContentGrid;
this.CurEntity = entity;
this.CurQueryEntity = queryentity;
this.sURLTarget = "TZYZBJGInfo.aspx";
this.sQueryURLTarget = "TZYZBJGQuery.aspx";
this.PageHeight = 600;
this.PageWidth = 750;
base.DataKeyNames = new string[] { "XLXSBJDYZZG_JGBID", "minYZID", "XLXSBJDYZZG_DTCLID", "XLXSBJDYZZG_XXJGID", "XLXSBJDYZZG_DYDJID", "XLXSBJDYZZG_ZXJMSX", "XLXSBJDYZZG_ZXJMXX", "XLXSBJDYZZG_BJSLSX", "XLXSBJDYZZG_BJSLXX" };
grdContentGrid.FindColumnByFieldName("XLXSBJDYZZG_JGBID").Visible = false;
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('请先查询调价表!');";
}
}
}
#endregion
#region 模板事件继承
protected override void Master_OnStandardQuery(object sender, EventArgs e)
{
base.InitEntityByCondition();
entity.EntityTable.QuerySelSql = GetSQL();
base.Master_OnStandardQuery(sender, e);
entity.GridDataBind(grdContentGrid, 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;";
}
InitControl();
TPageParams pageParams = new TPageParams();
pageParams.AddString("XLXSBJDYZZG_JGBID", CurQueryEntity.FieldByName("JGBID").Value.Trim());
pageParams.AddString("TJYZList", txtTJYZList.Value.Trim());
pageParams.AddString("FirstYZID", txtFirstYZID.Value.Trim());
if (!PageParam.GetRTrimString("XLXHID").Equals(""))
pageParams.AddString("XLXHID", PageParam.GetRTrimString("XLXHID").Trim());
SetNewFormParam(pageParams);
}
protected override void BeforeDelete(TDatabase db, ref bool ActionIsDone)
{
string sYZIDlist = TZYZBJAInfo.GetYZIDList(txtTJYZList.Value.Trim());
entity.EntityTable.DeleteSql = " delete from XLXSBJDYZZG where XLXSBJDYZZG_JGBID =:XLXSBJDYZZG_JGBID "
+ " and XLXSBJDYZZG_DTCLID=:XLXSBJDYZZG_DTCLID and XLXSBJDYZZG_DYDJID=isnull(:XLXSBJDYZZG_DYDJID,' ')"
+ " and XLXSBJDYZZG_ZXJMSX=:XLXSBJDYZZG_ZXJMSX and XLXSBJDYZZG_ZXJMXX=:XLXSBJDYZZG_ZXJMXX and XLXSBJDYZZG_BJSLSX=:XLXSBJDYZZG_BJSLSX and XLXSBJDYZZG_BJSLXX=:XLXSBJDYZZG_BJSLXX and "
+ CMISproDataBase.GetWhereEqual("XLXSBJDYZZG_YZID", sYZIDlist);
entity.Param.Add("XLXSBJDYZZG_JGBID", this.grdContentGrid.SelectedDataKey["XLXSBJDYZZG_JGBID"].ToString().Trim());
entity.Param.Add("XLXSBJDYZZG_DTCLID", this.grdContentGrid.SelectedDataKey["XLXSBJDYZZG_DTCLID"].ToString().Trim());
entity.Param.Add("XLXSBJDYZZG_XXJGID", this.grdContentGrid.SelectedDataKey["XLXSBJDYZZG_XXJGID"].ToString().Trim());
entity.Param.Add("XLXSBJDYZZG_DYDJID", this.grdContentGrid.SelectedDataKey["XLXSBJDYZZG_DYDJID"].ToString().Trim().Equals("") ? " " : this.grdContentGrid.SelectedDataKey["XLXSBJDYZZE_DYDJID"].ToString().Trim());
entity.Param.Add("XLXSBJDYZZG_ZXJMSX", this.grdContentGrid.SelectedDataKey["XLXSBJDYZZG_ZXJMSX"].ToString().Trim());
entity.Param.Add("XLXSBJDYZZG_ZXJMXX", this.grdContentGrid.SelectedDataKey["XLXSBJDYZZG_ZXJMXX"].ToString().Trim());
entity.Param.Add("XLXSBJDYZZG_BJSLSX", this.grdContentGrid.SelectedDataKey["XLXSBJDYZZG_BJSLSX"].ToString().Trim());
entity.Param.Add("XLXSBJDYZZG_BJSLXX", this.grdContentGrid.SelectedDataKey["XLXSBJDYZZG_BJSLXX"].ToString().Trim());
base.BeforeDelete(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 = GetSQL();
entity.GridDataBind(grdContentGrid, tSession);
grdContentGrid.SelectedIndex = -1;
return true;
}
protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
LinkPageParam.AddString("XLXSBJDYZZG_JGBID", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDYZZG_JGBID"].ToString().Trim());
LinkPageParam.AddString("XLXSBJDYZZG_DTCLID", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDYZZG_DTCLID"].ToString().Trim());
LinkPageParam.AddString("XLXSBJDYZZG_DYDJID", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDYZZG_DYDJID"].ToString().Trim());
LinkPageParam.AddString("XLXSBJDYZZG_XXJGID", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDYZZG_XXJGID"].ToString().Trim());
LinkPageParam.AddString("XLXSBJDYZZG_ZXJMSX", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDYZZG_ZXJMSX"].ToString().Trim());
LinkPageParam.AddString("XLXSBJDYZZG_ZXJMXX", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDYZZG_ZXJMXX"].ToString().Trim());
LinkPageParam.AddString("XLXSBJDYZZG_BJSLSX", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDYZZG_BJSLSX"].ToString().Trim());
LinkPageParam.AddString("XLXSBJDYZZG_BJSLXX", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDYZZG_BJSLXX"].ToString().Trim());
LinkPageParam.AddString("XLXSBJDYZZG_YZID", grdContentGrid.DataKeys[e.Row.RowIndex]["minYZID"].ToString().Trim());
LinkPageParam.AddString("TJYZList", txtTJYZList.Value.Trim());
LinkPageParam.AddString("FirstYZID", txtFirstYZID.Value.Trim());
}
base.moduleGV_RowDataBound(sender, e);
}
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
base.InitEntityByCondition();
entity.EntityTable.QuerySelSql = GetSQL();
grdContentGrid.SelectedIndex = -1;
base.moduleGV_PageIndexChanging(sender, e);
}
#endregion
#region 自定义函数
private void InitControl()
{
}
//判断模块是否存在并且是否有权限
private bool CheckModule(string sUMID)
{
int iUMID = CMISproConvert.StrToInt(sUMID);
UserRight UR = OpRightUtils.GetUserRight(tSession.UserId, iUMID);
return (DSActiveModule.IsActiveModule(iUMID) && UR.Open);
}
private string GetDefaultJGBID()
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Add("SELECT XLXSJGB_JGBID from XLXSJGB where XLXSJGB_MXBH='BJD' and XLXSJGB_TJYS='G' 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 "";
}
private string GetSQL()
{
base.InitEntityByCondition();
InitGridView();
string sYZIDlist = TZYZBJAInfo.GetYZIDList(txtTJYZList.Value.Trim());
StringBuilder sSQL = new StringBuilder();
sSQL.AppendLine(" select :pJGBID as XLXSBJDYZZG_JGBID, XLXSBJDYZZG_DTCLID as DTCLID,XLXSBJDYZZG_DYDJID as DYDJID,XLXSBJDYZZG_XXJGID as XXJGID, ");
sSQL.AppendLine(" XLXSBJDYZZG_ZXJMSX as ZXJMSX, XLXSBJDYZZG_ZXJMXX as ZXJMXX,XLXSBJDYZZG_BJSLSX as BJSLSX, XLXSBJDYZZG_BJSLXX as BJSLXX, ");
sSQL.AppendLine(" XLXSBJDYZZG_DTCLID, XLXSBJDYZZG_DYDJID, XLXSBJDYZZG_XXJGID,");
sSQL.AppendLine(" XLXSBJDYZZG_ZXJMSX, XLXSBJDYZZG_ZXJMXX, XLXSBJDYZZG_BJSLSX, XLXSBJDYZZG_BJSLXX");
sSQL.AppendLine(" ,minYZID");
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 XLXSBJDYZZG_DTCLID, XLXSBJDYZZG_DYDJID,XLXSBJDYZZG_XXJGID, XLXSBJDYZZG_ZXJMSX, XLXSBJDYZZG_ZXJMXX, XLXSBJDYZZG_BJSLXX, XLXSBJDYZZG_BJSLSX, min(XLXSBJDYZZG_YZID) as minYZID ");
for (int i = 0; i < dsTJYS1.Tables[0].Rows.Count; i++)
{
sSQL.AppendLine(string.Format(",sum(CASE XLXSBJDYZZG_YZID WHEN '{0}' THEN XLXSBJDYZZG_YZZ ELSE 0 END) as TZYZ_{0}", dsTJYS1.Tables[0].Rows[i][0].ToString().Trim()));
}
sSQL.AppendLine(" from XLXSBJDYZZG");
if (string.IsNullOrEmpty(CurQueryEntity.FieldByName("JGBID").Value.Trim()))
{
sSQL.AppendLine(" where 1<>1 ");
}
else
{
sSQL.AppendLine(" where XLXSBJDYZZG_JGBID = :pJGBID ");
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DTCLID").Value.Trim()))
{
sSQL.AppendLine(" and XLXSBJDYZZG_DTCLID = :pDTCLID ");
entity.Param.Add("pDTCLID", CurQueryEntity.FieldByName("DTCLID").Value.Trim());
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJID").Value.Trim()))
{
sSQL.AppendLine(" and XLXSBJDYZZG_DYDJID = :pDYDJID ");
entity.Param.Add("pDYDJID", CurQueryEntity.FieldByName("DYDJID").Value.Trim());
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLJGID").Value.Trim()))
{
sSQL.AppendLine(" and XLXSBJDYZZG_XXJGID like :pXLJGID ");
entity.Param.Add("pXLJGID", "%" + CurQueryEntity.FieldByName("XLJGID").Value.Trim() + "%");
}
if (!string.IsNullOrEmpty(sYZIDlist))
{
sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("XLXSBJDYZZG_YZID", sYZIDlist));
}
//ZXJMSDY= :pZXJMSDY ");
entity.Param.Add("pZXJMSDY", CurQueryEntity.FieldByName("ZXJMSDY").Value.Trim());
}
if (CurQueryEntity.FieldByName("ZXJMSXY").Value.ToString().Trim() != "0" && CurQueryEntity.FieldByName("ZXJMSXY").Value.ToString().Trim() != "")
{
sSQL.AppendLine(" and XLXSBJDYZZG_ZXJMXX <= :pZXJMSXY ");
entity.Param.Add("pZXJMSXY", CurQueryEntity.FieldByName("ZXJMSXY").Value.Trim());
}
if (CurQueryEntity.FieldByName("ZXJMZDY").Value.ToString().Trim() != "0" && CurQueryEntity.FieldByName("ZXJMZDY").Value.ToString().Trim() != "")
{
sSQL.AppendLine(" and XLXSBJDYZZG_ZXJMSX >= :pZXJMZDY ");
entity.Param.Add("pZXJMZDY", CurQueryEntity.FieldByName("ZXJMZDY").Value.Trim());
}
if (CurQueryEntity.FieldByName("ZXJMZXY").Value.ToString().Trim() != "0" && CurQueryEntity.FieldByName("ZXJMZXY").Value.ToString().Trim() != "")
{
sSQL.AppendLine(" and XLXSBJDYZZG_ZXJMSX <= :pZXJMZXY ");
entity.Param.Add("pZXJMZXY", CurQueryEntity.FieldByName("ZXJMZXY").Value.Trim());
}
if (CurQueryEntity.FieldByName("BJSLSDY").Value.ToString().Trim() != "0" && CurQueryEntity.FieldByName("ZXJMSDY").Value.ToString().Trim() != "")
{
sSQL.AppendLine(" and XLXSBJDYZZG_BJSLXX >= :pBJSLSDY ");
entity.Param.Add("pBJSLSDY", CurQueryEntity.FieldByName("BJSLSDY").Value.Trim());
}
if (CurQueryEntity.FieldByName("BJSLSXY").Value.ToString().Trim() != "0" && CurQueryEntity.FieldByName("ZXJMSXY").Value.ToString().Trim() != "")
{
sSQL.AppendLine(" and XLXSBJDYZZG_BJSLXX <= :pBJSLSXY ");
entity.Param.Add("pBJSLSXY", CurQueryEntity.FieldByName("BJSLSXY").Value.Trim());
}
if (CurQueryEntity.FieldByName("BJSLZDY").Value.ToString().Trim() != "0" && CurQueryEntity.FieldByName("ZXJMZDY").Value.ToString().Trim() != "")
{
sSQL.AppendLine(" and XLXSBJDYZZG_BJSLSX >= :pBJSLZDY ");
entity.Param.Add("pBJSLZDY", CurQueryEntity.FieldByName("BJSLZDY").Value.Trim());
}
if (CurQueryEntity.FieldByName("BJSLZXY").Value.ToString().Trim() != "0" && CurQueryEntity.FieldByName("ZXJMZXY").Value.ToString().Trim() != "")
{
sSQL.AppendLine(" and XLXSBJDYZZG_BJSLSX <= :pBJSLZXY ");
entity.Param.Add("pBJSLZXY", CurQueryEntity.FieldByName("BJSLZXY").Value.Trim());
}
sSQL.AppendLine(" group by XLXSBJDYZZG_DTCLID, XLXSBJDYZZG_XXJGID, XLXSBJDYZZG_DYDJID,XLXSBJDYZZG_ZXJMXX, XLXSBJDYZZG_ZXJMSX,XLXSBJDYZZG_BJSLXX, XLXSBJDYZZG_BJSLSX ");
sSQL.AppendLine(" ) a ");
sSQL.AppendLine(" where 1=1 ");
sSQL.AppendLine(" order by XLXSBJDYZZG_DTCLID, XLXSBJDYZZG_XXJGID, XLXSBJDYZZG_DYDJID,XLXSBJDYZZG_ZXJMXX, XLXSBJDYZZG_ZXJMSX,XLXSBJDYZZG_BJSLXX, XLXSBJDYZZG_BJSLSX ");
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 = 'BJD' and XLXSTZYZ_TJYS='G' ");
SQL.Add(" and XLXSTZYZ_JGBID = :pJGBID");
if (!string.IsNullOrEmpty(PageParam.GetRTrimString("TJYZID")))
{
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSTZYZ_YZID", PageParam.GetRTrimString("TJYZID").Trim()));
}
SQL.Add("order by XLXSTZYZ_YZID,XLXSTZYZ_XSXH");
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++)
{
if (i == 0)
txtFirstYZID.Value = ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim();
string sJJFSMC = "";
int iXSWS = 2;
//查询时将 BJ01|防火(元)
//加价类型的应当以金额来记,为2位小数位数,
//加点扣点,以小数形式展示应当为4位,即 0.4235或者 42.35%
//乘以/除以形式,应当按照加点扣点形式,但是只能以小数形式展现。
if (ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("JJ"))
{
sJJFSMC = "(元)";
iXSWS = 2;
}
else if (ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("MX") || ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("DX"))
{
sJJFSMC = "(X)";
iXSWS = 4;
}
else
{
sJJFSMC = "(%)";
iXSWS = 2;
}
AddColumn("TZYZ_" + ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim(), ds.Tables[0].Rows[i]["XLXSTZYZ_YZMC"].ToString().Trim() + sJJFSMC.Replace("(X)", ""), 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(',');
}
#endregion
#region GridView增加列
///
/// 设置etCheckBox列的属性
///
///
///
///
///
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;
grdContentGrid.Columns.Add(Column);
gtGridView_Column ColumnEx = new gtGridView_Column();
ColumnEx.DataField = sDataField;
ColumnEx.EditType = TEditType.etCheckBox;
grdContentGrid.ColumnsEx.Insert(0, ColumnEx);
}
///
/// 设置etString列的属性
///
///
///
///
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;
grdContentGrid.Columns.Add(Column);
gtGridView_Column ColumnEx = new gtGridView_Column();
ColumnEx.DataField = sDataField;
ColumnEx.EditType = TEditType.etString;
ColumnEx.ShowHint = true;
grdContentGrid.ColumnsEx.Insert(0, ColumnEx);
}
///
/// 设置etNumber列的属
///
///
///
///
///
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;
grdContentGrid.Columns.Add(Column);
gtGridView_Column ColumnEx = new gtGridView_Column();
ColumnEx.DataField = sDataField;
ColumnEx.EditType = TEditType.etNumber;
ColumnEx.ShowHint = true;
ColumnEx.NumberDecimalPlace = NumberDecimalPlace;
grdContentGrid.ColumnsEx.Insert(0, ColumnEx);
}
///
/// 设置etDateTime列的属性
///
///
///
///
///
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);
grdContentGrid.Columns.Add(Column);
gtGridView_Column ColumnEx = new gtGridView_Column();
ColumnEx.DataField = sDataField;
ColumnEx.EditType = TEditType.etDateTime;
ColumnEx.DateTimeEditKins = DateTimeKind;
grdContentGrid.ColumnsEx.Insert(0, ColumnEx);
}
#endregion
}
}