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.Data; namespace GThinking.N_XLXSBJ { public partial class TZYZJJ6Info :OperationBase { TZYZJJ6 entity = new TZYZJJ6(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860059; this.UMName = "按型号电压等级调材料损耗"; this.CurMaster = Master; this.Tabs = Tab; this.PageHeight = 600; this.PageWidth = 750; AddListSetMap(new ListSet(pagSHD.ID, null, grdSHD, entity, UPSHD)); if (!IsPostBack) { this.Master.PnlQuery.GroupingText = "查询条件"; this.Master.PnlBill.GroupingText = "单据信息"; InitControls(); if (PageParam.ContainsKey("XLXSJGBYZZ6_XLXHID")) { cbxXLXHID.SelectedValue = PageParam.GetRTrimString("XLXSJGBYZZ6_XLXHID"); txtOLD_XLXHID.Value = PageParam.GetRTrimString("XLXSJGBYZZ6_XLXHID"); cbxXLXHID.Enabled = false; btnDel.Visible = true; } else btnDel.Visible = false; if (PageParam.ContainsKey("XLXSJGBYZZ6_DYDJIDS")) { drpDYDJ.SelectedValue = PageParam.GetRTrimString("XLXSJGBYZZ6_DYDJIDS"); txtOLD_DYDJIDS.Value = PageParam.GetRTrimString("XLXSJGBYZZ6_DYDJIDS"); drpDYDJ.Enabled = false; } if (!string.IsNullOrEmpty(PageParam.GetRTrimString("XLXHID"))) { cbxXLXHID.SelectedValue = PageParam.GetRTrimString("XLXHID"); txtOLD_XLXHID.Value = PageParam.GetRTrimString("XLXHID"); cbxXLXHID.Enabled = false; btnDel.Visible = true; } else btnDel.Visible = false; } InitGrdColumn(); CustomPageSize = 1000; base.InitPage(); if (!IsPostBack) { Master_OnQuery(); GridDataBind(); } } #region 模板继承事件 protected override void Master_OnQuery() { entity.sJGBID = PageParam.GetRTrimString("XLXSJGBYZZ6_JGBID"); entity.sXLXHID = cbxXLXHID.SelectedValue.Trim(); entity.sDYDJID = drpDYDJ.SelectedValue.Trim(); entity.FromJGCZB = chkFromJGCZB.Checked; base.Master_OnQuery(); } protected override void GridDataBind() { base.GridDataBind(); } protected override bool Master_OnBeforeOK(object sender, EventArgs e) { return base.Master_OnBeforeOK(sender, e); } protected override bool DataLogicValid() { if (cbxXLXHID.SelectedValue.Trim().Equals("")) { ShowMessage("线缆型号--不允许为空!"); return false; } if (grdSHD.NewRows.Count == 0) { ShowMessage("没有可设置的报价材料!"); return false; } string sJGBID = PageParam.GetRTrimString("XLXSJGBYZZ6_JGBID"); string sXLXHID = cbxXLXHID.SelectedValue.Trim(); string sDYDJID = drpDYDJ.SelectedValue.Trim(); string sSQL1 = ""; string sSQL2 = ""; if (sDYDJID.Equals("")) { sSQL2 = "select top 1 XLXSJGBYZZ6_JGBID from XLXSJGBYZZ6 where XLXSJGBYZZ6_JGBID ='" + sJGBID + "' and XLXSJGBYZZ6_XLXHID = '" + sXLXHID + "' and XLXSJGBYZZ6_DYDJIDS <> ' '"; if (CMISproDataBase.ExistsRecord("DBERP", sSQL2)) { ShowMessage("型号【" + sXLXHID + "】下已存在电压等级不为空的记录,电压等级不允许为空!"); return false; } } else { sSQL2 = "select top 1 XLXSJGBYZZ6_JGBID from XLXSJGBYZZ6 where XLXSJGBYZZ6_JGBID ='" + sJGBID + "' and XLXSJGBYZZ6_XLXHID = '" + sXLXHID + "' and XLXSJGBYZZ6_DYDJIDS = ' '"; if (CMISproDataBase.ExistsRecord("DBERP", sSQL2)) { ShowMessage("型号【" + sXLXHID + "】下已存在电压等级为空的记录,电压等级只允许为空!"); return false; } } string[] DYDJList = sDYDJID.Split(','); for (int i = 0; i < DYDJList.Length; i++) { sSQL1=""; sSQL1 = "select top 1 XLXSJGBYZZ6_JGBID from XLXSJGBYZZ6 where XLXSJGBYZZ6_JGBID ='" + sJGBID + "' and XLXSJGBYZZ6_XLXHID = '" + sXLXHID + "' and XLXSJGBYZZ6_DYDJIDS <> '" + sDYDJID; sSQL1 += "' and ',' || XLXSJGBYZZ6_DYDJIDS || ',' like '%," + DYDJList[i] + ",%' "; if (CMISproDataBase.ExistsRecord("DBERP", sSQL1)) { ShowMessage("型号【" + sXLXHID + "】、电压【" + DYDJList[i] + "】已被设置过,不允许重复设置!"); return false; } } return base.DataLogicValid(); } protected override bool Master_OnOK() { TDatabase DBERP = null; try { DBERP = TContextDatabases.GetDatabase("DBERP"); DBERP.BeginTrans(); InsertXLXSJGBYZZ6(DBERP); DBERP.CommitTrans(); ShowMessage("设置成功!"); CloseWindow(); } catch (Exception ex) { ShowMessage(ex.Message); DBERP.RollbackTrans(); return false; } return true; } protected override void Grid_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { } base.Grid_RowDataBound(sender, e); } #endregion #region 控件事件 protected void chkFromJGCZB_CheckedChanged(object sender, EventArgs e) { Master_OnQuery(); GridDataBind(); FormAreaUpdate(); } protected void cbxXLXHID_SelectedIndexChanged(object sender, EventArgs e) { drpDYDJ.SelectedValue = ""; drpDYDJ.ClearItems(); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); sql.Clear(); sql.Add("select distinct XLXHDYDJ_DYDJID as ID,XLXHDYDJ_DYDJID as Name,XLDYDJB_XH from XLXHDYDJ left join XLDYDJB on XLDYDJB_DYDJID = XLXHDYDJ_DYDJID "); sql.Add(" where 1=1 "); if (!cbxXLXHID.SelectedValue.Trim().Equals("")) { sql.Add(" and XLXHDYDJ_XLXHID = :pXLXHID "); sql.ParamByName("pXLXHID").Value = cbxXLXHID.SelectedValue.Trim(); } sql.Add(" order by XLDYDJB_XH"); DataSet ds = dberp.OpenDataSet(sql); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { drpDYDJ.Items.Add(new ListItem(ds.Tables[0].Rows[i][1].ToString().Trim(), ds.Tables[0].Rows[i][0].ToString().Trim())); } Master_OnQuery(); GridDataBind(); FormAreaUpdate(); } protected void drpDYDJ_SelectedIndexChanged(object sender, EventArgs e) { Master_OnQuery(); GridDataBind(); FormAreaUpdate(); } #endregion #region 自定义函数 private void InitControls() { TComboBox.SetComboBox("DBERP", cbxXLXHID, "select XLXHB_XLXHID as ID,XLXHB_XLXHID as Name from XLXHB where isnull(XLXHB_TYBZ,'N')<>'Y' order by ID ", false); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); drpDYDJ.ClearItems(); sql.Clear(); sql.Add("select distinct XLXHDYDJ_DYDJID as ID,XLXHDYDJ_DYDJID as Name,XLDYDJB_XH from XLXHDYDJ left join XLDYDJB on XLDYDJB_DYDJID = XLXHDYDJ_DYDJID "); sql.Add(" where 1=1 "); if (!cbxXLXHID.SelectedValue.Trim().Equals("")) { sql.Add(" and XLXHDYDJ_XLXHID = :pXLXHID "); sql.ParamByName("pXLXHID").Value = cbxXLXHID.SelectedValue.Trim(); } sql.Add(" order by XLDYDJB_XH"); sql.ParamByName("pXLXHID").Value = cbxXLXHID.SelectedValue.Trim(); DataSet ds = dberp.OpenDataSet(sql); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { drpDYDJ.Items.Add(new ListItem(ds.Tables[0].Rows[i][1].ToString().Trim(), ds.Tables[0].Rows[i][0].ToString().Trim())); } } private void InitGrdColumn() { grdSHD.FindColumnByFieldName("TZYZ_JZ01").Visible = false; grdSHD.FindColumnByFieldName("TZYZ_JZ02").Visible = false; grdSHD.FindColumnByFieldName("TZYZ_JZ03").Visible = false; grdSHD.FindColumnByFieldName("TZYZ_JZ04").Visible = false; grdSHD.FindColumnByFieldName("TZYZ_JZ05").Visible = false; grdSHD.FindColumnByFieldName("TZYZ_JZ06").Visible = false; grdSHD.FindColumnByFieldName("TZYZ_JZ07").Visible = false; grdSHD.FindColumnByFieldName("TZYZ_JZ08").Visible = false; grdSHD.FindColumnByFieldName("TZYZ_JZ09").Visible = false; grdSHD.FindColumnByFieldName("TZYZ_JZ10").Visible = false; string[] sTJYZList = PageParam.GetRTrimString("TJYZList").Split(','); for (int i = 0; i < sTJYZList.Length; i++) { if (sTJYZList[i].StartsWith("JZ01|")) { grdSHD.FindColumnByFieldName("TZYZ_JZ01").Visible = true; grdSHD.FindColumnByFieldName("TZYZ_JZ01").HeaderText = sTJYZList[i].Replace("JZ01|", ""); if (sTJYZList[i].EndsWith("(元)")) grdSHD.FindColumnByFieldName("TZYZ_JZ01").NumberDecimalPlace = 5; } else if (sTJYZList[i].StartsWith("JZ02|")) { grdSHD.FindColumnByFieldName("TZYZ_JZ02").Visible = true; grdSHD.FindColumnByFieldName("TZYZ_JZ02").HeaderText = sTJYZList[i].Replace("JZ02|", ""); if (sTJYZList[i].EndsWith("(元)")) grdSHD.FindColumnByFieldName("TZYZ_JZ02").NumberDecimalPlace = 5; } else if (sTJYZList[i].StartsWith("JZ03|")) { grdSHD.FindColumnByFieldName("TZYZ_JZ03").Visible = true; grdSHD.FindColumnByFieldName("TZYZ_JZ03").HeaderText = sTJYZList[i].Replace("JZ03|", ""); if (sTJYZList[i].EndsWith("(元)")) grdSHD.FindColumnByFieldName("TZYZ_JZ03").NumberDecimalPlace = 5; } else if (sTJYZList[i].StartsWith("JZ04|")) { grdSHD.FindColumnByFieldName("TZYZ_JZ04").Visible = true; grdSHD.FindColumnByFieldName("TZYZ_JZ04").HeaderText = sTJYZList[i].Replace("JZ04|", ""); if (sTJYZList[i].EndsWith("(元)")) grdSHD.FindColumnByFieldName("TZYZ_JZ04").NumberDecimalPlace = 5; } else if (sTJYZList[i].StartsWith("JZ05|")) { grdSHD.FindColumnByFieldName("TZYZ_JZ05").Visible = true; grdSHD.FindColumnByFieldName("TZYZ_JZ05").HeaderText = sTJYZList[i].Replace("JZ05|", ""); if (sTJYZList[i].EndsWith("(元)")) grdSHD.FindColumnByFieldName("TZYZ_JZ05").NumberDecimalPlace = 5; } else if (sTJYZList[i].StartsWith("JZ06|")) { grdSHD.FindColumnByFieldName("TZYZ_JZ06").Visible = true; grdSHD.FindColumnByFieldName("TZYZ_JZ06").HeaderText = sTJYZList[i].Replace("JZ06|", ""); if (sTJYZList[i].EndsWith("(元)")) grdSHD.FindColumnByFieldName("TZYZ_JZ06").NumberDecimalPlace = 5; } else if (sTJYZList[i].StartsWith("JZ07|")) { grdSHD.FindColumnByFieldName("TZYZ_JZ07").Visible = true; grdSHD.FindColumnByFieldName("TZYZ_JZ07").HeaderText = sTJYZList[i].Replace("JZ07|", ""); if (sTJYZList[i].EndsWith("(元)")) grdSHD.FindColumnByFieldName("TZYZ_JZ07").NumberDecimalPlace = 5; } else if (sTJYZList[i].StartsWith("JZ08|")) { grdSHD.FindColumnByFieldName("TZYZ_JZ08").Visible = true; grdSHD.FindColumnByFieldName("TZYZ_JZ08").HeaderText = sTJYZList[i].Replace("JZ08|", ""); if (sTJYZList[i].EndsWith("(元)")) grdSHD.FindColumnByFieldName("TZYZ_JZ08").NumberDecimalPlace = 5; } else if (sTJYZList[i].StartsWith("JZ09|")) { grdSHD.FindColumnByFieldName("TZYZ_JZ09").Visible = true; grdSHD.FindColumnByFieldName("TZYZ_JZ09").HeaderText = sTJYZList[i].Replace("JZ09|", ""); if (sTJYZList[i].EndsWith("(元)")) grdSHD.FindColumnByFieldName("TZYZ_JZ09").NumberDecimalPlace = 5; } else if (sTJYZList[i].StartsWith("JZ10|")) { grdSHD.FindColumnByFieldName("TZYZ_JZ10").Visible = true; grdSHD.FindColumnByFieldName("TZYZ_JZ10").HeaderText = sTJYZList[i].Replace("JZ10|", ""); if (sTJYZList[i].EndsWith("(元)")) grdSHD.FindColumnByFieldName("TZYZ_JZ10").NumberDecimalPlace = 5; } } } private void InsertXLXSJGBYZZ6(TDatabase dberp) { string sJGBID = PageParam.GetRTrimString("XLXSJGBYZZ6_JGBID"); string sXLXHID = cbxXLXHID.SelectedValue.Trim(); string sDYDJ = drpDYDJ.SelectedValue.Trim().Equals("") ? " " : drpDYDJ.SelectedValue.Trim(); TSQL SQL = new TSQL(dberp); if (sDYDJ.Trim().Equals("")) { SQL.Add("delete from XLXSJGBYZZ6 where XLXSJGBYZZ6_JGBID=:pJGBID and XLXSJGBYZZ6_XLXHID=:pXLXHID "); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pXLXHID").Value = sXLXHID; dberp.ExecSQL(SQL); } else { SQL.Add("delete from XLXSJGBYZZ6 where XLXSJGBYZZ6_JGBID=:pJGBID and XLXSJGBYZZ6_XLXHID=:pXLXHID and XLXSJGBYZZ6_DYDJIDS=:pDYDJ"); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pXLXHID").Value = sXLXHID; SQL.ParamByName("pDYDJ").Value = sDYDJ; dberp.ExecSQL(SQL); } foreach (GridViewRow row in grdSHD.NewRows) { //一行执行一次 SQL.Clear(); SQL.Add("insert into XLXSJGBYZZ6(XLXSJGBYZZ6_JGBID,XLXSJGBYZZ6_XLXHID,XLXSJGBYZZ6_DYDJIDS,XLXSJGBYZZ6_BJCLID,XLXSJGBYZZ6_YZID,XLXSJGBYZZ6_YZZ,XLXSJGBYZZ6_WHR,XLXSJGBYZZ6_WHRID,XLXSJGBYZZ6_WHSJ)"); bool bNeedInsert = false; for (int i = 0; i < grdSHD.Columns.Count; i++) { if (grdSHD.Columns[i].DataField.Contains("TZYZ_")) { string sYZID = grdSHD.Columns[i].DataField.Substring(5); double dYZZ = CMISproConvert.StrToFloat(grdSHD.GetValueByFieldName("TZYZ_" + sYZID, row), 0); if (dYZZ != 0)//因子值不为0才会插入 { if (bNeedInsert) { SQL.Add(" union all "); } else { bNeedInsert = true; } SQL.Add(string.Format("select '{0}' as JGBID,'{1}' as XLXHID,'{2}' as DYDJIDS,'{3}' as BJCLID,'{4}' as YZID,{5} as YZZ,'{6}' as WHR,'{7}' as WHRID,'{8}' as WHSJ ", sJGBID, cbxXLXHID.SelectedValue.Trim(), drpDYDJ.SelectedValue.Trim().Equals("") ? " " : drpDYDJ.SelectedValue.Trim(), grdSHD.GetValueByFieldName("XLXSBJCL_BJCLID", row), sYZID, CMISproConvert.StrToFloat(grdSHD.GetValueByFieldName("TZYZ_" + sYZID, row), 0), CurSession.UserName, CurSession.UserId, DateTime.Now)); } } } if (bNeedInsert) { dberp.ExecSQL(SQL); } } } protected void btnDel_Click(object sender, EventArgs e) { Confirm.Register("IsQD", "将删除当前记录,是否继续?"); Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No; if (Confirm.GetValue("IsQD").Trim().Equals("")) { Confirm.Ask("IsQD"); return; } else if (Confirm.GetValue("IsQD").Trim().Equals("N")) { Confirm.Clear(); return; } else if (Confirm.GetValue("IsQD").Trim().Equals("Y")) { Confirm.Clear(); } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Add("delete from XLXSJGBYZZ6 where XLXSJGBYZZ6_JGBID=:pJGBID and XLXSJGBYZZ6_XLXHID=:pXLXHID and XLXSJGBYZZ6_DYDJIDS=:pDYDJ "); SQL.ParamByName("pJGBID").Value = PageParam.GetRTrimString("XLXSJGBYZZ6_JGBID"); SQL.ParamByName("pXLXHID").Value = cbxXLXHID.SelectedValue.Trim(); SQL.ParamByName("pDYDJ").Value = drpDYDJ.SelectedValue.Trim().Equals("") ? " " : drpDYDJ.SelectedValue.Trim(); dberp.ExecSQL(SQL); ShowMessage("删除成功!"); CloseWindow(); } #endregion } }