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 BJYFList : SingleGridBase { BJYFZB entity = new BJYFZB(); BJYF_M qryEntity = new BJYF_M(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860071; this.UMName = "线缆销售报价单运费"; this.CurMaster = Master; this.ModuleGV = grdContentGrid; this.CurEntity = entity; this.CurQueryEntity = qryEntity; //this.sURLTarget = "BJYFInfo.aspx"; this.sQueryURLTarget = "BJYFQuery.aspx"; this.PageHeight = 600; this.PageWidth = 750; Master.EnableCopyBtn = false; base.DataKeyNames = new string[] { "XLXSBJDQYFZB_XZQHID", "XLXSBJDQYFB_YFJZQH", "XLXSBJDQYFZB_YFJSFS", "XLXSBJDQYFZB_YSJL", "XLXSBJDQYFZB_DQYFXX" }; if (!IsPostBack) { CurQueryEntity.FieldByName("YFJSFS").Value = "1"; } base.InitPage(); InitNewBtnClientClick(); 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); //TPageParams pageParams = new TPageParams(); //pageParams.AddString("XLXSBJDQYFB_YFJSFS", CurQueryEntity.FieldByName("YFJSFS").Value.Trim()); //SetNewFormParam(pageParams); } protected override void BeforeDelete(TDatabase db, ref bool ActionIsDone) { if (grdContentGrid.SelectedDataKey["XLXSBJDQYFZB_YFJSFS"].ToString().Trim().Equals("3,4")) { if (txtYFJSFS.Value.Trim().Equals("3")) { db.ExecSQL(string.Format("UPDATE XLXSBJDQYFZB SET XLXSBJDQYFZB_YFJSFS = '4' where XLXSBJDQYFZB_XZQHID = '{0}'", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDQYFZB_XZQHID"].ToString().Trim())); } else if (txtYFJSFS.Value.Trim().Equals("4")) { db.ExecSQL(string.Format("UPDATE XLXSBJDQYFZB SET XLXSBJDQYFZB_YFJSFS = '3' where XLXSBJDQYFZB_XZQHID = '{0}'", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDQYFZB_XZQHID"].ToString().Trim())); } } entity.Param.Add("XLXSBJDQYFZB_XZQHID", grdContentGrid.SelectedDataKey["XLXSBJDQYFZB_XZQHID"].ToString().Trim()); entity.Param.Add("XLXSBJDQYFZB_YFJSFS", txtYFJSFS.Value.Trim()); base.BeforeDelete(db, ref ActionIsDone); } protected override void AfterDelete(TDatabase db, ref bool ActionIsDone) { base.AfterDelete(db, ref ActionIsDone); if (txtYFJSFS.Value.Trim().Equals("1") || txtYFJSFS.Value.Trim().Equals("3")) db.ExecSQL(string.Format("delete from XLXSBJDQYFB where XLXSBJDQYFB_XZQHID = '{0}'", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDQYFZB_XZQHID"].ToString().Trim())); else if (txtYFJSFS.Value.Trim().Equals("4")) db.ExecSQL(string.Format("delete from XLXSBJDQYFB4 where XLXSBJDQYFB4_XZQHID = '{0}'", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDQYFZB_XZQHID"].ToString().Trim())); } 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; } protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { if (grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDQYFZB_YFJSFS"].ToString().Trim().Equals("1") || txtYFJSFS.Value.Trim().Equals("3"))//1|运价运重 { LinkPageParam.UrlPath = "BJYF_YJYZInfo.aspx"; LinkPageParam.AddString("XLXSBJDQYFZB_YSJL", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDQYFZB_YSJL"].ToString().Trim()); LinkPageParam.AddString("XLXSBJDQYFB_YFJZQH", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDQYFB_YFJZQH"].ToString().Trim().Equals("") ? " " : grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDQYFB_YFJZQH"].ToString().Trim()); LinkPageParam.AddString("XLXSBJDQYFZB_DQYFXX", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDQYFZB_DQYFXX"].ToString().Trim()); } else if (grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDQYFZB_YFJSFS"].ToString().Trim().Equals("2"))//2|运金比例 { LinkPageParam.UrlPath = "BJYF_JEBLInfo.aspx"; } else if (txtYFJSFS.Value.Trim().Equals("4"))//4|运距运件 { LinkPageParam.UrlPath = "BJYF_YJYJInfo.aspx"; LinkPageParam.AddString("XLXSBJDQYFZB_YSJL", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDQYFZB_YSJL"].ToString().Trim()); } LinkPageParam.AddString("XLXSBJDQYFZB_XZQHID", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDQYFZB_XZQHID"].ToString().Trim()); LinkPageParam.AddString("XLXSBJDQYFZB_YFJSFS", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDQYFZB_YFJSFS"].ToString().Trim()); } base.moduleGV_RowDataBound(sender, e); } protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e) { base.InitEntityByCondition(); InitGridView(); entity.EntityTable.QuerySelSql = GetSQL(); grdContentGrid.SelectedIndex = -1; base.moduleGV_PageIndexChanging(sender, e); } #endregion #region 控件事件 protected void btnInsert_Click(object sender, EventArgs e) { TPageParams tpp = new TPageParams(); tpp.CallAction = TPageCallAction.pcaInsert; if (txtYFJSFS.Value.Trim().Equals("1")) { tpp.UrlPath = "BJYF_YJYZInfo.aspx"; } else if (txtYFJSFS.Value.Trim().Equals("2")) { tpp.UrlPath = "BJYF_JEBLInfo.aspx"; } else if (txtYFJSFS.Value.Trim().Equals("3")) { tpp.UrlPath = "BJYF_YJYZInfo.aspx"; } else if (txtYFJSFS.Value.Trim().Equals("4")) { if (!CMISproDataBase.ExistsRecord("DBERP", "SELECT 1 FROM XLXSBJDQYFB4SY1 WHERE 1=1")) { ShowMessage("适用产品目录不允许为空!"); return; } tpp.UrlPath = "BJYF_YJYJInfo.aspx"; } tpp.AddString("XLXSBJDQYFZB_YFJSFS", txtYFJSFS.Value.Trim()); OpenDialog(tpp); } protected void btnYFJZQJ_Click(object sender, EventArgs e) { TPageParams tpp = new TPageParams(); if (CurQueryEntity.FieldByName("YFJSFS").Value.Trim().Equals("4")) { tpp.UrlPath = "BJYFJJQJList.aspx"; } else { tpp.UrlPath = "BJYFJZQJList.aspx"; tpp.AddString("YFJSFS", txtYFJSFS.Value.Trim()); } OpenDialogClickBtn(tpp, btnRefresh.ClientID); } protected void btnSYCPML_Click(object sender, EventArgs e) { TPageParams tpp = new TPageParams(); tpp.UrlPath = "BJYFSYCPMLList.aspx"; OpenDialogClickBtn(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"; OpenDialog(tpp); } #endregion private string GetSQL() { string[] sYFJZQHs = txtYFJZQHList.Value.Split(','); string[] sYLJZQHs = txtYLJZQHList.Value.Split(','); string[] sYFJJQHs = txtYFJJQHList.Value.Split(','); StringBuilder sSQL = new StringBuilder(); sSQL.AppendLine("select XLXSBJDQYFZB_XZQHID,XLXSBJDQYFZB_YFJSFS,XLXSBJDQYFZB_YSJL, "); sSQL.AppendLine(" XLXSBJDQYFZB_TCPBL,XLXSBJDQYFZB_LCPBL,XLXSBJDQYFZB_WHR,XLXSBJDQYFZB_WHRID,XLXSBJDQYFZB_WHSJ,XLXSBJDQYFZB_DQYFXX, "); sSQL.AppendLine(" case when isnull(xmd1.XZQH_FID,' ')='86' then isnull(xmd1.XZQH_PROVINCE,' ') when SUBSTRING(xmd1.XZQH_FID, LEN(xmd1.XZQH_FID) - 3, 4) = '0000' then rtrim(isnull(xmd2.XZQH_PROVINCE,' '))||rtrim(isnull(xmd1.XZQH_CITY,' ')) "); sSQL.AppendLine(" else rtrim(isnull(xmd3.XZQH_PROVINCE,' '))||rtrim(isnull(xmd2.XZQH_CITY,' '))||rtrim(isnull(xmd1.XZQH_COUNTY,' ')) end as XZQHXX "); if (txtYFJSFS.Value.Trim().Equals("2")) sSQL.AppendLine(" ,' ' as XLXSBJDQYFB_YFJZQH"); for (int i = 0; i < sYFJZQHs.Length; i++) { if (!sYFJZQHs[i].Trim().Equals("")) { sSQL.AppendLine(" ,min(XLXSBJDQYFB_YFJZQH) as XLXSBJDQYFB_YFJZQH"); sSQL.AppendLine(string.Format(",sum(case when XLXSBJDQYFB_YFJZQH='{0}' then XLXSBJDQYFB_YFDJ else 0.0 end) as YFDJ_{0}", sYFJZQHs[i].Trim())); } } for (int i = 0; i < sYLJZQHs.Length; i++) { if (!sYLJZQHs[i].Trim().Equals("")) { sSQL.AppendLine(" ,min(XLXSBJDQYFB_YFJZQH) as XLXSBJDQYFB_YFJZQH"); sSQL.AppendLine(string.Format(",sum(case when XLXSBJDQYFB_YFJZQH='{0}' then XLXSBJDQYFB_YSFL else 0.0 end) as YL_{0}", sYLJZQHs[i].Trim())); } } for (int i = 0; i < sYFJJQHs.Length; i++) { if (!sYFJJQHs[i].Trim().Equals("")) { sSQL.AppendLine(" ,' ' as XLXSBJDQYFB_YFJZQH"); sSQL.AppendLine(string.Format(",sum(case when XLXSBJDQYFB4_YFJJQH='{0}' then XLXSBJDQYFB4_YSFL else 0.0 end) as YFJJ_{0}", sYFJJQHs[i].Trim())); } } sSQL.AppendLine(" from XLXSBJDQYFZB "); if (txtYFJSFS.Value.Trim().Equals("4")) sSQL.AppendLine(" left join XLXSBJDQYFB4 on XLXSBJDQYFB4_XZQHID =XLXSBJDQYFZB_XZQHID"); if (txtYFJSFS.Value.Trim().Equals("1") || txtYFJSFS.Value.Trim().Equals("3")) sSQL.AppendLine(" left join XLXSBJDQYFB on XLXSBJDQYFB_XZQHID = XLXSBJDQYFZB_XZQHID"); sSQL.AppendLine(" left join XZQH xmd1 on xmd1.XZQH_XZQHID=XLXSBJDQYFZB_XZQHID "); sSQL.AppendLine(" left join XZQH xmd2 on xmd2.XZQH_XZQHID=xmd1.XZQH_FID "); sSQL.AppendLine(" left join XZQH xmd3 on xmd3.XZQH_XZQHID=xmd2.XZQH_FID"); sSQL.AppendLine("where ',' || RTRIM(XLXSBJDQYFZB_YFJSFS) || ',' LIKE '%,' || :pYFJSFS || ',%' "); entity.Param.Add("pYFJSFS", CurQueryEntity.FieldByName("YFJSFS").Value.Trim()); sSQL.AppendLine(" group by XLXSBJDQYFZB_XZQHID,XLXSBJDQYFZB_YFJSFS,XLXSBJDQYFZB_YSJL,XLXSBJDQYFZB_DQYFXX,XLXSBJDQYFZB_TCPBL,XLXSBJDQYFZB_LCPBL,XLXSBJDQYFZB_WHR,XLXSBJDQYFZB_WHRID,XLXSBJDQYFZB_WHSJ,xmd1.XZQH_FID,xmd1.XZQH_PROVINCE,xmd2.XZQH_PROVINCE,xmd3.XZQH_PROVINCE,xmd1.XZQH_CITY,xmd2.XZQH_CITY, xmd1.XZQH_COUNTY"); sSQL.AppendLine(" order by XLXSBJDQYFZB_XZQHID"); return sSQL.ToString(); } private void InitGridView() { txtYFJZQHList.Value = ""; txtYFJJQHList.Value = ""; txtYLJZQHList.Value = ""; if (txtYFJSFS.Value.Trim().Equals("1"))//1|运价运重 { grdContentGrid.FindColumnByFieldName("XLXSBJDQYFZB_YSJL").Visible = false; 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 1=1"); SQL.Add(" order by XLXSBJYFJZQJ_YFJZQH"); DataSet ds = dberp.OpenDataSet(SQL); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { AddColumn("YFDJ_" + ds.Tables[0].Rows[i]["XLXSBJYFJZQJ_YFJZQH"].ToString().Trim(), ds.Tables[0].Rows[i]["XLXSBJYFJZQJ_YFJZQJMC"].ToString().Trim() + "(元/吨)", 2, 120); txtYFJZQHList.Value += ds.Tables[0].Rows[i]["XLXSBJYFJZQJ_YFJZQH"].ToString().Trim() + ","; } AddColumn("XLXSBJDQYFZB_DQYFXX", "地区运费下限", 2, 80); txtYFJZQHList.Value = txtYFJZQHList.Value.TrimEnd(','); txtYFJJQHList.Value = ""; txtYLJZQHList.Value = ""; } else if (txtYFJSFS.Value.Trim().Equals("2"))//2|运金比例 { grdContentGrid.FindColumnByFieldName("XLXSBJDQYFZB_YSJL").Visible = false; AddColumn("XLXSBJDQYFZB_TCPBL", "铜产品(%)", 2, 80); AddColumn("XLXSBJDQYFZB_LCPBL", "铝产品(%)", 2, 80); txtYLJZQHList.Value = ""; txtYFJZQHList.Value = ""; txtYFJJQHList.Value = ""; } else if (txtYFJSFS.Value.Trim().Equals("3"))// 3|运距运重 { grdContentGrid.FindColumnByFieldName("XLXSBJDQYFZB_YSJL").Visible = true; 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 1=1"); SQL.Add(" order by XLXSBJYFJZQJ_YFJZQH"); DataSet ds = dberp.OpenDataSet(SQL); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { AddColumn("YL_" + ds.Tables[0].Rows[i]["XLXSBJYFJZQJ_YFJZQH"].ToString().Trim(), ds.Tables[0].Rows[i]["XLXSBJYFJZQJ_YFJZQJMC"].ToString().Trim() + "(元/吨/Km)", 2, 120); txtYLJZQHList.Value += ds.Tables[0].Rows[i]["XLXSBJYFJZQJ_YFJZQH"].ToString().Trim() + ","; } txtYLJZQHList.Value = txtYLJZQHList.Value.TrimEnd(','); txtYFJZQHList.Value = ""; txtYFJJQHList.Value = ""; } else if (txtYFJSFS.Value.Trim().Equals("4"))//4|运距运件 { grdContentGrid.FindColumnByFieldName("XLXSBJDQYFZB_YSJL").Visible = true; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select XLXSBJYFJJQJ_YFJJQH, XLXSBJYFJJQJ_YFJJQJMC "); SQL.Add(" from XLXSBJYFJJQJ"); SQL.Add(" where 1=1"); SQL.Add(" order by XLXSBJYFJJQJ_YFJJQH"); DataSet ds = dberp.OpenDataSet(SQL); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { AddColumn("YFJJ_" + ds.Tables[0].Rows[i]["XLXSBJYFJJQJ_YFJJQH"].ToString().Trim(), ds.Tables[0].Rows[i]["XLXSBJYFJJQJ_YFJJQJMC"].ToString().Trim() + "(元/件/Km)", 2, 120); txtYFJJQHList.Value += ds.Tables[0].Rows[i]["XLXSBJYFJJQJ_YFJJQH"].ToString().Trim() + ","; } txtYFJJQHList.Value = txtYFJJQHList.Value.TrimEnd(','); txtYFJZQHList.Value = ""; txtYLJZQHList.Value = ""; } AddColumn("XLXSBJDQYFZB_WHR", "维护人", 72); AddColumn("XLXSBJDQYFZB_WHSJ", "维护时间", TDateTimeEditKinds.dtDateTime); } private void InitNewBtnClientClick() { txtYFJSFS.Value = ""; btnDR.Visible = false; base.InitEntityByCondition(); if (CurQueryEntity.FieldByName("YFJSFS").Value.Trim().Equals("1"))//1|运价运重 { btnYFJZQJ.Visible = true; btnDR.Visible = true; txtYFJSFS.Value = CurQueryEntity.FieldByName("YFJSFS").Value.Trim(); this.Master.StandardNewButton.OnClientClick = "document.getElementById('" + btnInsert.ClientID + "').click();return false;"; } else if (CurQueryEntity.FieldByName("YFJSFS").Value.Trim().Equals("2"))//2|运金比例 { btnYFJZQJ.Visible = false; txtYFJSFS.Value = CurQueryEntity.FieldByName("YFJSFS").Value.Trim(); this.Master.StandardNewButton.OnClientClick = "document.getElementById('" + btnInsert.ClientID + "').click();return false;"; } else if (CurQueryEntity.FieldByName("YFJSFS").Value.Trim().Equals("3"))//3|运距运重 { btnYFJZQJ.Visible = true; txtYFJSFS.Value = CurQueryEntity.FieldByName("YFJSFS").Value.Trim(); this.Master.StandardNewButton.OnClientClick = "document.getElementById('" + btnInsert.ClientID + "').click();return false;"; } else if (CurQueryEntity.FieldByName("YFJSFS").Value.Trim().Equals("4"))//4|运距运件 { btnYFJZQJ.Visible = true; txtYFJSFS.Value = CurQueryEntity.FieldByName("YFJSFS").Value.Trim(); this.Master.StandardNewButton.OnClientClick = "document.getElementById('" + btnInsert.ClientID + "').click();return false;"; } if (CurQueryEntity.FieldByName("YFJSFS").Value.Trim().Equals("4"))//4|运距运件 { btnSYCPML.Visible = true; btnYFJZQJ.Caption = "运费计件区间"; } else { btnSYCPML.Visible = false; btnYFJZQJ.Caption = "运费计重区间"; } } /// /// 设置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); } } }