224 lines
8.8 KiB
C#
224 lines
8.8 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_MISPRO.Utility;
|
|
using System.Text;
|
|
using GThinking.N_CONTROL;
|
|
|
|
namespace GThinking.N_XLXSBJ
|
|
{
|
|
public partial class BJYF_TLJQJList : SingleGridBase
|
|
{
|
|
BJYF_TLJQJ entity = new BJYF_TLJQJ();
|
|
BJYF_TLJQJ_M qryEntity = new BJYF_TLJQJ_M();
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
this.UMID = 100860173;
|
|
this.UMName = "按运距铜铝价区间维护运费比例";
|
|
this.CurMaster = Master;
|
|
this.ModuleGV = grdContentGrid;
|
|
this.CurEntity = entity;
|
|
this.CurQueryEntity = qryEntity;
|
|
this.sURLTarget = "BJYF_TLJQJInfo.aspx";
|
|
this.sQueryURLTarget = "BJYF_TLJQJQuery.aspx";
|
|
this.PageHeight = 600;
|
|
this.PageWidth = 750;
|
|
base.DataKeyNames = new string[] { "XLXSBJDQYFB_XZQHID" };
|
|
Master.EnableCopyBtn = false;
|
|
|
|
base.InitPage();
|
|
|
|
if (!IsPostBack)
|
|
{
|
|
Master_OnStandardQuery(null, null);
|
|
}
|
|
}
|
|
|
|
#region 模板事件
|
|
protected override void Master_OnStandardQuery(object sender, EventArgs e)
|
|
{
|
|
base.InitEntityByCondition();
|
|
InitGridView();
|
|
entity.EntityTable.QuerySelSql = GetSql();
|
|
base.Master_OnStandardQuery(sender, e);
|
|
entity.GridDataBind(grdContentGrid, tSession);
|
|
}
|
|
|
|
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
|
|
{
|
|
base.InitEntityByCondition();
|
|
InitGridView();
|
|
entity.EntityTable.QuerySelSql = GetSql();
|
|
base.moduleGV_PageIndexChanging(sender, e);
|
|
grdContentGrid.SelectedIndex = -1;
|
|
}
|
|
|
|
protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e)
|
|
{
|
|
if (e.Row.RowType == DataControlRowType.DataRow)
|
|
{
|
|
LinkPageParam.AddString("XLXSBJDQYFB_XZQHID", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDQYFB_XZQHID"].ToString().Trim());
|
|
LinkPageParam.AddString("YFJZQHList", txtYFJZQHList.Value.Trim());
|
|
}
|
|
base.moduleGV_RowDataBound(sender, e);
|
|
}
|
|
|
|
protected override bool Master_BeforeDeleteAction(object sender, EventArgs e)
|
|
{
|
|
entity.Param.Add("XLXSBJDQYFB_XZQHID", grdContentGrid.SelectedDataKey["XLXSBJDQYFB_XZQHID"].ToString().Trim());
|
|
return base.Master_BeforeDeleteAction(sender, e);
|
|
}
|
|
|
|
protected override void AfterDelete(TDatabase db, ref bool ActionIsDone)
|
|
{
|
|
string sXZQHID = grdContentGrid.SelectedDataKey["XLXSBJDQYFB_XZQHID"].ToString().Trim();
|
|
string[] sYFJZQHs = txtYFJZQHList.Value.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
|
if (sYFJZQHs.Length > 0)
|
|
{
|
|
string sIn = "'" + string.Join("','", sYFJZQHs) + "'";
|
|
db.ExecSQL(string.Format("delete from XLXSBJDQYFB where XLXSBJDQYFB_XZQHID='{0}' and XLXSBJDQYFB_YFJZQH in ({1})", sXZQHID, sIn));
|
|
}
|
|
ActionIsDone = true;
|
|
base.AfterDelete(db, ref ActionIsDone);
|
|
}
|
|
|
|
protected override bool Master_AfterDeleteAction(object sender, EventArgs e)
|
|
{
|
|
if (!base.Master_AfterDeleteAction(sender, e))
|
|
{ return false; }
|
|
base.InitEntityByCondition();
|
|
InitGridView();
|
|
entity.EntityTable.QuerySelSql = GetSql();
|
|
entity.GridDataBind(grdContentGrid, tSession);
|
|
grdContentGrid.SelectedIndex = -1;
|
|
return true;
|
|
}
|
|
#endregion
|
|
|
|
protected void btnYFJZQJ_Click(object sender, EventArgs e)
|
|
{
|
|
TPageParams tpp = new TPageParams();
|
|
tpp.UrlPath = "BJYFJZQJList.aspx";
|
|
tpp.AddString("YFJSFS", "6");
|
|
OpenModuleDialog(100860071, tpp, btnRefresh.ClientID);
|
|
}
|
|
|
|
protected void btnRefresh_Click(object sender, EventArgs e)
|
|
{
|
|
moduleGV_PageIndexChanging(null, null);
|
|
}
|
|
|
|
|
|
protected void btnDR_Click(object sender, EventArgs e)
|
|
{
|
|
TPageParams tpp = new TPageParams();
|
|
tpp.UrlPath = "BJYFDRInfo.aspx";
|
|
tpp.AddString("YFJSFS", "6");
|
|
OpenDialog(tpp);
|
|
}
|
|
|
|
|
|
#region 自定义函数
|
|
private string GetSql()
|
|
{
|
|
string[] sYFJZQHs = txtYFJZQHList.Value.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
|
StringBuilder strSQL = new StringBuilder();
|
|
strSQL.AppendLine(" select A.XZQH_XZQHID as XLXSBJDQYFB_XZQHID,");
|
|
strSQL.AppendLine(" isnull(A.XZQH_PROVINCE,'') as XZQH_PROVINCE,");
|
|
strSQL.AppendLine(" isnull(A.XZQH_CITY,'') as XZQH_CITY,");
|
|
for (int i = 0; i < sYFJZQHs.Length; i++)
|
|
{
|
|
strSQL.AppendLine(string.Format(" isnull(sum(case when B.XLXSBJDQYFB_YFJZQH='{0}' then B.XLXSBJDQYFB_YSFL else 0 end),0) as YL_{0},", sYFJZQHs[i].Trim()));
|
|
}
|
|
strSQL.AppendLine(" max(B.XLXSBJDQYFB_WHR) as XLXSBJDQYFB_WHR,");
|
|
strSQL.AppendLine(" max(B.XLXSBJDQYFB_WHSJ) as XLXSBJDQYFB_WHSJ");
|
|
strSQL.AppendLine(" from XZQH A");
|
|
strSQL.AppendLine(" left join XLXSBJDQYFB B on B.XLXSBJDQYFB_XZQHID = A.XZQH_XZQHID");
|
|
if (sYFJZQHs.Length > 0)
|
|
{
|
|
string sIn = "'" + string.Join("','", sYFJZQHs) + "'";
|
|
strSQL.AppendLine(" and B.XLXSBJDQYFB_YFJZQH in (" + sIn + ")");
|
|
strSQL.AppendLine(" where exists(select 1 from XLXSBJDQYFB where XLXSBJDQYFB_XZQHID = A.XZQH_XZQHID and XLXSBJDQYFB_YFJZQH in (" + sIn + "))");
|
|
}
|
|
else
|
|
{
|
|
strSQL.AppendLine(" where 1<>1");
|
|
}
|
|
strSQL.AppendLine(" group by A.XZQH_XZQHID, A.XZQH_PROVINCE, A.XZQH_CITY");
|
|
strSQL.AppendLine(" order by A.XZQH_PROVINCE, A.XZQH_CITY");
|
|
return strSQL.ToString();
|
|
}
|
|
|
|
private void InitGridView()
|
|
{
|
|
// 移除已存在的动态列,避免重复添加
|
|
for (int i = grdContentGrid.Columns.Count - 1; i >= 0; i--)
|
|
{
|
|
BoundField bf = grdContentGrid.Columns[i] as BoundField;
|
|
if (bf != null && bf.DataField.StartsWith("YL_"))
|
|
{
|
|
grdContentGrid.Columns.RemoveAt(i);
|
|
}
|
|
}
|
|
for (int i = grdContentGrid.ColumnsEx.Count - 1; i >= 0; i--)
|
|
{
|
|
if (grdContentGrid.ColumnsEx[i].DataField.StartsWith("YL_"))
|
|
{
|
|
grdContentGrid.ColumnsEx.RemoveAt(i);
|
|
}
|
|
}
|
|
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
SQL.Clear();
|
|
SQL.Add("select XLXSBJYFJZQJ_YFJZQH, XLXSBJYFJZQJ_YFJZQJMC ");
|
|
SQL.Add(" from XLXSBJYFJZQJ");
|
|
SQL.Add(" where XLXSBJYFJZQJ_YFJSGS = '6'");
|
|
SQL.Add(" order by XLXSBJYFJZQJ_YFJZQH");
|
|
DataSet ds = dberp.OpenDataSet(SQL);
|
|
|
|
StringBuilder sbYFJZQH = new StringBuilder();
|
|
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
|
{
|
|
string sYFJZQH = ds.Tables[0].Rows[i]["XLXSBJYFJZQJ_YFJZQH"].ToString().Trim();
|
|
string sYFJZQJMC = ds.Tables[0].Rows[i]["XLXSBJYFJZQJ_YFJZQJMC"].ToString().Trim();
|
|
if (sbYFJZQH.Length > 0)
|
|
sbYFJZQH.Append(",");
|
|
sbYFJZQH.Append(sYFJZQH);
|
|
AddColumn("YL_" + sYFJZQH, sYFJZQJMC, 2, 120);
|
|
}
|
|
txtYFJZQHList.Value = sbYFJZQH.ToString();
|
|
}
|
|
|
|
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.Add(ColumnEx);
|
|
}
|
|
#endregion
|
|
}
|
|
}
|