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 TZYZJJAList : SingleGridBase { TZYZJJA entity = new TZYZJJA(); TZYZJJA_M qryEntity = new TZYZJJA_M(); DataSet dsTJYSA = new DataSet(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860164; this.UMName = "按产品目录主芯截面调表价"; this.CurMaster = Master; this.ModuleGV = ContentGrid; this.CurEntity = entity; this.CurQueryEntity = qryEntity; this.sURLTarget = "TZYZJJAInfo.aspx"; this.sQueryURLTarget = "TZYZJJAQuery.aspx"; this.PageHeight = 600; this.PageWidth = 750; base.DataKeyNames = new string[] { "XLXSJGBYZZA_JGBID", "XLXSJGBYZZA_CPMLID", "XLXSJGBYZZA_XLGGID", "minYZID" }; ContentGrid.FindColumnByFieldName("XLXSJGBYZZA_JGBID").Visible = false; if (!IsPostBack) { if (!PageParam.GetRTrimString("JGBID").Equals("")) CurQueryEntity.FieldByName("JGBID").Value = PageParam.GetRTrimString("JGBID"); else CurQueryEntity.FieldByName("JGBID").Value = GetDefaultJGBID(); } CanDeleteCheckedRows = true; base.InitPage(); TGtGridView.SetGrdColItems("DBERP", ContentGrid.FindColumnExByFieldName("XLXSJGBYZZA_CPMLID"), "select XLXSCPML_CPMLID, XLXSCPML_CPMLMC from XLXSCPML "); InitControl(); 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("XLXSJGBYZZA_JGBID", CurQueryEntity.FieldByName("JGBID").Value.Trim()); pageParams.AddString("TJYZList", txtTJYZList.Value.Trim()); pageParams.AddString("FirstYZID", txtFirstYZID.Value.Trim()); SetNewFormParam(pageParams); } protected override void BeforeDelete(TDatabase db, ref bool ActionIsDone) { string sYZIDlist = TZYZBJAInfo.GetYZIDList(txtTJYZList.Value.Trim()); entity.EntityTable.DeleteSql = " delete from XLXSJGBYZZA where XLXSJGBYZZA_JGBID=:XLXSJGBYZZA_JGBID and XLXSJGBYZZA_CPMLID =:XLXSJGBYZZA_CPMLID and XLXSJGBYZZA_XLGGID =:XLXSJGBYZZA_XLGGID and " + CMISproDataBase.GetWhereEqual("XLXSJGBYZZA_YZID", sYZIDlist); entity.Param.Add("XLXSJGBYZZA_JGBID", this.ContentGrid.SelectedDataKey["XLXSJGBYZZA_JGBID"].ToString().Trim()); entity.Param.Add("XLXSJGBYZZA_CPMLID", this.ContentGrid.SelectedDataKey["XLXSJGBYZZA_CPMLID"].ToString().Trim()); entity.Param.Add("XLXSJGBYZZA_XLGGID", this.ContentGrid.SelectedDataKey["XLXSJGBYZZA_XLGGID"].ToString().Trim()); 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("XLXSJGBYZZA_JGBID", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGBYZZA_JGBID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZA_CPMLID", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGBYZZA_CPMLID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZA_XLGGID", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGBYZZA_XLGGID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZA_YZID", ContentGrid.DataKeys[e.Row.RowIndex]["minYZID"].ToString().Trim()); LinkPageParam.AddString("TJYZList", txtTJYZList.Value.Trim()); } base.moduleGV_RowDataBound(sender, e); } #endregion #region 自定义函数 private void InitControl() { } private bool XSWHR() { if (!PageParam.GetRTrimString("TJYZID").Equals("") && (!PageParam.GetRTrimString("TJYZID").Contains(",")) && string.IsNullOrEmpty(PageParam.GetRTrimString("SQDH"))) return true; return false; } //判断模块是否存在并且是否有权限 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 GetSQL() { base.InitEntityByCondition(); InitGridView(); string sYZIDlist = TZYZBJAInfo.GetYZIDList(txtTJYZList.Value.Trim()); StringBuilder sSQL = new StringBuilder(); sSQL.AppendLine("select :pJGBID as XLXSJGBYZZA_JGBID,XLXSJGBYZZA_CPMLID,XLXSJGBYZZA_XLGGID "); sSQL.AppendLine(" ,minYZID"); if (XSWHR()) { sSQL.AppendLine(" , WHR, WHSJ "); } else { sSQL.AppendLine(" ,' ' as WHR, ' ' as WHSJ "); } for (int i = 0; i < dsTJYSA.Tables[0].Rows.Count; i++) { sSQL.AppendLine(string.Format(",TZYZ_{0}", dsTJYSA.Tables[0].Rows[i][0].ToString().Trim())); } sSQL.AppendLine(" from "); sSQL.AppendLine(" ( "); sSQL.AppendLine(" select XLXSJGBYZZA_CPMLID,XLXSJGBYZZA_XLGGID,min(XLXSJGBYZZA_YZID) as minYZID "); if (XSWHR()) { sSQL.AppendLine(" ,WHR,WHSJ "); } for (int i = 0; i < dsTJYSA.Tables[0].Rows.Count; i++) { sSQL.AppendLine(string.Format(",sum(CASE XLXSJGBYZZA_YZID WHEN '{0}' THEN XLXSJGBYZZA_YZZ ELSE 0 END) as TZYZ_{0}", dsTJYSA.Tables[0].Rows[i][0].ToString().Trim())); } sSQL.AppendLine(" from "); sSQL.AppendLine(" ("); sSQL.AppendLine(" select distinct XLXSJGBYZZA_CPMLID,XLXSJGBYZZA_XLGGID,XLXSJGBYZZA_YZID,XLXSJGBYZZA_YZZ"); if (XSWHR()) { sSQL.AppendLine(" ,XLXSJGBYZZA_WHR as WHR,XLXSJGBYZZA_WHSJ as WHSJ "); } sSQL.AppendLine(" from XLXSJGBYZZA YZZ1"); if (string.IsNullOrEmpty(CurQueryEntity.FieldByName("JGBID").Value.Trim())) { sSQL.AppendLine(" where 1<>1 "); } else { sSQL.AppendLine(" where YZZ1.XLXSJGBYZZA_JGBID = :pJGBID "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLGG").Value.Trim())) { sSQL.AppendLine(" and YZZ1.XLXSJGBYZZA_XLGGID like :pXLGGID "); entity.Param.Add("pXLGGID", "%" + CurQueryEntity.FieldByName("XLGG").Value.Trim() + "%"); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CPML").Value.Trim())) { sSQL.AppendLine(" and YZZ1.XLXSJGBYZZA_CPMLID like :CPML "); entity.Param.Add("CPML", "%" + CurQueryEntity.FieldByName("CPML").Value.Trim() + "%"); } if (!string.IsNullOrEmpty(sYZIDlist)) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("YZZ1.XLXSJGBYZZA_YZID", sYZIDlist)); } sSQL.AppendLine(" ) tmp"); sSQL.AppendLine(" group by XLXSJGBYZZA_CPMLID,XLXSJGBYZZA_XLGGID "); if (XSWHR()) { sSQL.AppendLine(" , WHR, WHSJ "); } sSQL.AppendLine(" ) a "); sSQL.AppendLine(" where 1=1 "); sSQL.AppendLine(" order by XLXSJGBYZZA_CPMLID,XLXSJGBYZZA_XLGGID "); 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='A' "); 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); dsTJYSA = 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; //加价类型的基价因子小数位数按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(','); if (XSWHR()) { AddColumn("WHR", "维护人", 72); AddColumn("WHSJ", "维护时间", TDateTimeEditKinds.dtDateTime); } } 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='A' 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 ""; } public static string GetTJYZMC(string sTJYZID, string sMXBH) { string sTJYZMC = ""; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XLXSTZYZ_YZMC from XLXSTZYZ where XLXSTZYZ_MXBH = :pMXBH and XLXSTZYZ_YZID = :pYZID "); SQL.ParamByName("pMXBH").Value = sMXBH; SQL.ParamByName("pYZID").Value = sTJYZID; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sTJYZMC = ds.Tables[0].Rows[0]["XLXSTZYZ_YZMC"].ToString().Trim(); } return sTJYZMC; } private void OpenInfo(TPageCallAction tpCallAction) { TPageParams LinkPageParam = new TPageParams(); LinkPageParam.UrlPath = "TZYZJJAInfo.aspx"; LinkPageParam.AddString("XLXSJGBYZZA_JGBID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGBYZZA_JGBID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZA_CPMLID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGBYZZA_CPMLID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZA_XLGGID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGBYZZA_XLGGID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZA_YZID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["minYZID"].ToString().Trim()); LinkPageParam.AddString("TJYZList", txtTJYZList.Value.Trim()); LinkPageParam.CallAction = tpCallAction; OpenDialog(LinkPageParam); } #endregion #region 控件事件 protected void ContentGrid_RowDoubleClick(object sender, GThinking.N_CONTROL.RowDoubleClickEventArgs e) { OpenInfo(TPageCallAction.pcaBrowse); } protected void btnDR_Click(object sender, EventArgs e) { base.InitEntityByCondition(); if (CurQueryEntity.FieldByName("JGBID").Value.Trim().Equals("")) { ShowMessage("调价表条件为空,请先进行查询!"); return; } TPageParams pageParams = new TPageParams(); pageParams.UrlPath = "DRJGBYZZA.aspx"; pageParams.AddString("JGBID", CurQueryEntity.FieldByName("JGBID").Value.Trim()); pageParams.AddString("btnRefresh1CID", btnRefresh2.ClientID); OpenDialog(pageParams); } protected void btnRefreshDRJGBMX_Click(object sender, EventArgs e) { moduleGV_PageIndexChanging(null, null); } #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; ContentGrid.Columns.Add(Column); gtGridView_Column ColumnEx = new gtGridView_Column(); ColumnEx.DataField = sDataField; ColumnEx.EditType = TEditType.etCheckBox; ContentGrid.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; 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); } /// /// 设置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; 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); } /// /// 设置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); 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 } }