Files
N_XLXSBJ----MX/CX_JGBMXList.aspx.cs
T

366 lines
17 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;
using GThinking.N_MISPRO.TableCache;
namespace GThinking.N_XLXSBJ
{
public partial class CX_JGBMXList : SingleGridBase
{
CX_JGBMX entity = new CX_JGBMX();
CX_JGBMX_M qryEntity = new CX_JGBMX_M();
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860009;
this.UMName = "线缆销售报价价格表查询";
this.CurMaster = Master;
this.ModuleGV = ContentGrid;
this.CurEntity = entity;
this.CurQueryEntity = qryEntity;
this.sURLTarget = "CX_JGBMXInfo.aspx";
this.sQueryURLTarget = "CX_JGBMXQuery.aspx";
this.PageHeight = 600;
this.PageWidth = 750;
base.DataKeyNames = new string[] { "XLXSJGBMX_JGBID", "XLXSJGBMX_XH", "XLXSJGBMX_YXQS", "XLXSJGBMX_YXQZ" };
Master.EnableNewBtn = false;
Master.EnableEditBtn = false;
Master.EnableCopyBtn = false;
Master.EnableDeleteBtn = false;
Master.EnableViewBtn = false;
if (!IsPostBack)
{
//查询条件赋初值
qryEntity.FieldByName("CKRQ").Value = DateTime.Now.Date.ToString();
}
base.InitPage();
if (!IsPostBack)
{
if (base.IsDefaultExecute)
{
Master_OnStandardQuery(null, null);
}
else if (PageParam.ContainsKey("XLJGB_JGBMXList") || PageParam.ContainsKey("XLJGB_JGBMXList_JJ"))
{
Master.EnableQueryBtn = false;
Master_OnStandardQuery(null, null);
}
}
}
#region 模板事件继承
protected override void Master_OnStandardQuery(object sender, EventArgs e)
{
InitGridView();
base.InitEntityByCondition();
entity.EntityTable.QuerySelSql = GetSQL();
base.Master_OnStandardQuery(sender, e);
entity.GridDataBind(ContentGrid, tSession);
}
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
InitGridView();
base.InitEntityByCondition();
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("XLXSJGBMX_JGBID", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGBMX_JGBID"].ToString().Trim());
LinkPageParam.AddString("XLXSJGBMX_XH", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGBMX_XH"].ToString().Trim());
LinkPageParam.AddString("YXQS", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGBMX_YXQS"].ToString().Trim());
LinkPageParam.AddString("YXQZ", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGBMX_YXQZ"].ToString().Trim());
LinkPageParam.AddString("CX", "True");
}
base.moduleGV_RowDataBound(sender, e);
}
#endregion
#region 自定义函数
private string GetSQL()
{
StringBuilder sSQL = new StringBuilder();
if (PageParam.ContainsKey("XLJGB_JGBMXList"))
{
string sJGBIDS = PageParam.GetRTrimString("JGBIDS");
sSQL.AppendLine(" select XLXSJGBMX_JGBID,XLXSJGBMX_XH,a.XLXSJGBMX_XLXHID,a.XLXSJGBMX_XLGGID,a.XLXSJGBMX_XLBZID,a.XLXSJGBMX_DYDJID, ");
sSQL.AppendLine(" XLXSJGBMX_YXQS,XLXSJGBMX_YXQZ,XLXSJGBMX_HSJJ,XLXSJGBMX_HSBJ,XLXSJGBMX_WSBJ,XLXSJGBMX_BZ,XLXSJGBMX_WHR,XLXSJGBMX_WHRID,XLXSJGBMX_WHSJ,a.XLXSJGBMX_XLBZID || '|' || XLBZ_XLBZLXMC as XLBZ");
sSQL.AppendLine(" from XLXSJGBMX a, ");
sSQL.AppendLine(" (select XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID,XLXSJGBMX_DYDJID ");
sSQL.AppendLine(" from XLXSJGBMX ");
sSQL.AppendLine(" where 1 = 1 AND " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBIDS));
sSQL.AppendLine(" group by XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID,XLXSJGBMX_DYDJID ");
sSQL.AppendLine(" having count(XLXSJGBMX_XLXHID)>1 ");
sSQL.AppendLine(" ) b ");
sSQL.AppendLine(" left join XLBZ on XLBZ_XLBZID = XLXSJGBMX_XLBZID ");
sSQL.AppendLine(" where 1 = 1 AND " + CMISproDataBase.GetWhereEqual("a.XLXSJGBMX_JGBID", sJGBIDS));
sSQL.AppendLine(" and a.XLXSJGBMX_XLXHID=b.XLXSJGBMX_XLXHID ");
sSQL.AppendLine(" and a.XLXSJGBMX_XLGGID=b.XLXSJGBMX_XLGGID ");
sSQL.AppendLine(" and a.XLXSJGBMX_XLBZID=b.XLXSJGBMX_XLBZID ");
sSQL.AppendLine(" and a.XLXSJGBMX_DYDJID=b.XLXSJGBMX_DYDJID ");
sSQL.AppendLine(" order by a.XLXSJGBMX_JGBID, a.XLXSJGBMX_XH ");
}
else if (PageParam.ContainsKey("XLJGB_JGBMXList_JJ"))
{
string sJGBIDS = PageParam.GetRTrimString("JGBIDS");
sSQL.AppendLine("select XLXSJGBMX_JGBID,XLXSJGBMX_XH,XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID,XLXSJGBMX_DYDJID,");
sSQL.AppendLine(" XLXSJGBMX_YXQS,XLXSJGBMX_YXQZ,XLXSJGBMX_HSJJ,XLXSJGBMX_HSBJ,XLXSJGBMX_WSBJ,XLXSJGBMX_BZ,XLXSJGBMX_WHR,XLXSJGBMX_WHRID,XLXSJGBMX_WHSJ,XLXSJGBMX_XLBZID || '|' || XLBZ_XLBZLXMC as XLBZ ");
sSQL.AppendLine("from XLXSJGBMX ");
sSQL.AppendLine(" left join XLBZ on XLBZ_XLBZID = XLXSJGBMX_XLBZID ");
sSQL.AppendLine("where 1=1 ");
sSQL.AppendLine(" AND " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBIDS));
}
else
{
if (!CurQueryEntity.FieldByName("JGBID").Value.Trim().Equals("") && CheckRight())//有销售价格表模块权限的才能查看因子值
{
sSQL.AppendLine("select XLXSJGBMX_JGBID,XLXSJGBMX_XH,XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID,XLXSJGBMX_DYDJID,");
sSQL.AppendLine(" XLXSJGBMX_YXQS,XLXSJGBMX_YXQZ,XLXSJGBMX_HSJJ,XLXSJGBMX_HSBJ,XLXSJGBMX_WSBJ,XLXSJGBMX_BZ,XLXSJGBMX_WHR,XLXSJGBMX_WHRID,XLXSJGBMX_WHSJ,XLXSJGBMX_XLBZID || '|' || XLBZ_XLBZLXMC as XLBZ ");
for (int i = 1; i <= 20; i++)
{
string num = i.ToString("D2"); // 格式化为两位数字:01, 02, ... 20
sSQL.AppendFormat(",XLXSJGBYZZ0_YZZ{0} as TZYZ_JZ{0}", num);
}
sSQL.AppendLine(" from XLXSJGBMX ");
sSQL.AppendLine(" left join XLXSJGBYZZ0 on XLXSJGBYZZ0_JGBID=XLXSJGBMX_JGBID and XLXSJGBYZZ0_XH=XLXSJGBMX_XH ");
}
else
{
sSQL.AppendLine("select XLXSJGBMX_JGBID,XLXSJGBMX_XH,XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID,XLXSJGBMX_DYDJID,");
sSQL.AppendLine(" XLXSJGBMX_YXQS,XLXSJGBMX_YXQZ,XLXSJGBMX_HSJJ,XLXSJGBMX_HSBJ,XLXSJGBMX_WSBJ,XLXSJGBMX_BZ,XLXSJGBMX_WHR,XLXSJGBMX_WHRID,XLXSJGBMX_WHSJ,XLXSJGBMX_XLBZID || '|' || XLBZ_XLBZLXMC as XLBZ ");
sSQL.AppendLine(" from XLXSJGBMX ");
}
sSQL.AppendLine(" left join XLBZ on XLBZ_XLBZID = XLXSJGBMX_XLBZID ");
sSQL.AppendLine("where 1=1 ");
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim()))
{
sSQL.AppendLine(" and XLXSJGBMX_XLXHID like :pXLXHID ");
entity.Param.Add("pXLXHID", string.Format("%{0}%", CurQueryEntity.FieldByName("XLXHID").Value.Trim()));
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLGGID").Value.Trim()))
{
sSQL.AppendLine(" and XLXSJGBMX_XLGGID like :pXLGGID ");
entity.Param.Add("pXLGGID", string.Format("%{0}%", CurQueryEntity.FieldByName("XLGGID").Value.Trim()));
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ST").Value.Trim()))
{
sSQL.AppendLine(" and XLXSJGBMX_XLBZID = :pST ");
entity.Param.Add("pST", CurQueryEntity.FieldByName("ST").Value.Trim());
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJ").Value.Trim()))
{
sSQL.AppendLine(" and XLXSJGBMX_DYDJID like :pDYDJ ");
entity.Param.Add("pDYDJ", string.Format("%{0}%", CurQueryEntity.FieldByName("DYDJ").Value.Trim()));
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("JGBID").Value.Trim()))
{
sSQL.AppendLine(" and XLXSJGBMX_JGBID = :pJGBID ");
entity.Param.Add("pJGBID", CurQueryEntity.FieldByName("JGBID").Value.Trim());
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XH").Value.Trim()) && !CurQueryEntity.FieldByName("XH").Value.Trim().Equals("0"))
{
sSQL.AppendLine(" and XLXSJGBMX_XH = :pXH ");
entity.Param.Add("pXH", CurQueryEntity.FieldByName("XH").Value.Trim());
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CKRQ").Value.Trim()))
{
sSQL.AppendLine(" and isnull(XLXSJGBMX_YXQS, convert(datetime, '1900-01-01')) <= :pCKRQ");
sSQL.AppendLine(" and isnull(XLXSJGBMX_YXQZ, convert(datetime, '2099-12-31')) >= :pCKRQ");
entity.Param.Add("pCKRQ", CurQueryEntity.FieldByName("CKRQ").Value);
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("BZ").Value.Trim()))
{
sSQL.AppendLine(" and XLXSJGBMX_BZ like :pBZ ");
entity.Param.Add("pBZ", string.Format("%{0}%", CurQueryEntity.FieldByName("BZ").Value.Trim()));
}
sSQL.AppendLine("order by XLXSJGBMX_JGBID, XLXSJGBMX_XH");
}
return sSQL.ToString();
}
private void InitGridView()
{
int iXSWS = string.IsNullOrEmpty(GetOption(100860001, "BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption(100860001, "BJU002"));
if (iXSWS < 0)
iXSWS = 0;
else if (iXSWS > 8)
iXSWS = 8;
if (CheckRight())//有销售价格表模块权限的才能查看因子值
{
base.InitEntityByCondition();
if (!CurQueryEntity.FieldByName("JGBID").Value.Trim().Equals(""))
{
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' ");
SQL.Add(" and exists(select 1 from XLXSJGBYZ where XLXSJGBYZ_JGBID=:pJGBID and XLXSJGBYZ_YZID=XLXSTZYZ_YZID)");//必须是当前价格表所用的调价因子
SQL.Add(" order by XLXSTZYZ_XSXH");
SQL.ParamByName("pJGBID").Value = CurQueryEntity.FieldByName("JGBID").Value.Trim();
DataSet ds = dberp.OpenDataSet(SQL);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
if (ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("JJ"))
AddColumn("TZYZ_" + ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim(), ds.Tables[0].Rows[i]["XLXSTZYZ_YZMC"].ToString().Trim() + "(元)", iXSWS, 80);
else
AddColumn("TZYZ_" + ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim(), ds.Tables[0].Rows[i]["XLXSTZYZ_YZMC"].ToString().Trim() + "(%)", 2, 80);
}
}
}
AddColumn("XLXSJGBMX_WSBJ", "无税表价", iXSWS, 80);
AddColumn("XLXSJGBMX_HSBJ", "含税表价", iXSWS, 80);
AddColumn("XLXSJGBMX_BZ", "备注", 150);
AddColumn("XLXSJGBMX_WHR", "维护人", 72);
AddColumn("XLXSJGBMX_WHSJ", "维护时间", TDateTimeEditKinds.dtDateTime);
}
//是否有100860001模块权限
private bool CheckRight()
{
UserRight UR = OpRightUtils.GetUserRight(tSession.UserId, 100860001);
return (DSActiveModule.IsActiveModule(100860001) && UR.Open);
}
#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
}
}