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_MISPRO.Data; using GThinking.N_MODEL.Page; using GThinking.N_WORKFLOW; using GThinking.N_PUBLIC; using GThinking.N_MISPRO.Utility; using System.Text.RegularExpressions; using System.Text; namespace GThinking.N_XLJC { public partial class XLDYDJInfo : SingleCardBase { XLDYDJ entity = new XLDYDJ(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 101421001; this.UMName = "线缆电压等级"; base.CurMaster = Master; this.CurEntity = entity; this.PageHeight = 400; this.PageWidth = 500; if (!IsPostBack) { InitControls(); } base.InitPage(); } #region 模板继承事件 protected override void LoadRecord() { if (!this.IsPostBack) { entity.Param.Add("XLDYDJB_DYDJID", PageParam.GetRTrimString("XLDYDJB_DYDJID").Trim()); } else { entity.Param.Add("XLDYDJB_DYDJID", txtDYDJID.Text.Trim()); } txtOLDDYDJID.Value = txtDYDJID.Text.Trim(); base.LoadRecord(); } protected override void OnNewRecorder() { base.OnNewRecorder(); datQYRQ.Text = CMISproConvert.ConvertDate(System.DateTime.Now); chkTY.Checked = false; datTYRQ.Text = ""; txtWHR.Text = tSession.UserName; txtWHRID.Value = tSession.UserId; datWHSJ.Text = CMISproConvert.ConvertTime(System.DateTime.Now); } protected override void OnCopyRecorder() { base.OnCopyRecorder(); datQYRQ.Text = CMISproConvert.ConvertDate(System.DateTime.Now); chkTY.Checked = false; datTYRQ.Text = ""; txtWHR.Text = tSession.UserName; txtWHRID.Value = tSession.UserId; datWHSJ.Text = CMISproConvert.ConvertTime(System.DateTime.Now); } protected override void SetControlState() { base.SetControlState(); datWHSJ.Enabled = false; txtWHR.Enabled = false; cbxDYJLDW.Enabled = false; txtXXLXDY.Enabled = false; txtXXXXDY.Enabled = false; } protected override bool DataLogicValid() { if (datQYRQ.Text.Trim() != "" && datTYRQ.Text.Trim() != "") { if (Convert.ToDateTime(datQYRQ.Text.Trim()) > Convert.ToDateTime(datTYRQ.Text.Trim())) { ShowMessage("停用日期不允许小于启用日期!"); return false; } } if(!txtDYDJID.Text.Trim().Equals("") && !cbxDYJLDW.SelectedValue.Equals("-")) { string sDYDJID = txtDYDJID.Text.Trim().ToUpper(); if(sDYDJID.IndexOf('V') < sDYDJID.Length-1) { if (sDYDJID.IndexOf("AC") < 0 || sDYDJID.IndexOf("DC") < 0) { ShowMessage("所输入的【电压等级】不合法,不允许保存!"); return false; } } if(sDYDJID.IndexOf('/') == 0 || sDYDJID.IndexOf('/') == sDYDJID.Length-1) { ShowMessage("所输入的【电压等级】不合法,不允许保存!"); return false; } if (sDYDJID.IndexOf('/') > 0 && (txtXXLXDY.Value <= 0 || txtXXXXDY.Value <= 0)) { if (sDYDJID.IndexOf("AC") < 0 || sDYDJID.IndexOf("DC") < 0) { ShowMessage("所输入的【电压等级】不合法,不允许保存!"); return false; } } else { if (txtXXXXDY.Value <= 0 && txtXXLXDY.Value <= 0) { ShowMessage("所输入的【电压等级】不合法,不允许保存!"); return false; } } } if(cbxDYJLDW.SelectedValue.Trim().Equals("")) { ShowMessage("电压等级单位不允许为空!"); return false; } if(cbxACDC.SelectedValue.Trim().Equals("")) { ShowMessage("ACDC不允许为空!"); return false; } return base.DataLogicValid(); } protected override bool CanDelete() { return base.CanDelete(); } protected override bool Master_BeforeSaveAction(object sender, EventArgs e) { txtWHR.Text = tSession.UserName; txtWHRID.Value = tSession.UserId; datWHSJ.Text = CMISproConvert.ConvertTime(System.DateTime.Now); return base.Master_BeforeSaveAction(sender, e); } protected override bool Master_AfterSaveAction(object sender, EventArgs e) { if (!base.Master_AfterSaveAction(sender, e)) { return false; } txtOLDDYDJID.Value = txtDYDJID.Text.Trim(); return true; } protected override bool Master_BeforeDeleteAction(object sender, EventArgs e) { if (!entity.CanDelete(txtDYDJID.Text.Trim())) { ShowMessage("线缆电压等级已被使用,不允许删除!"); return false; } return base.Master_BeforeDeleteAction(sender, e); } protected override void AfterSave(TDatabase db, ref bool ActionIsDone) { TSQL SQL = new TSQL(db); SQL.Clear(); SQL.Add(" merge into XLDYDJB a "); SQL.Add(" using "); SQL.Add("( "); SQL.Add("select "); SQL.Add(" XLDYDJB_DYDJID, "); SQL.Add(" row_number() "); SQL.Add(" over(order by XLDYDJB_XH,XLDYDJB_DYDJID) as XH "); SQL.Add(" from XLDYDJB"); SQL.Add(" where 1=1"); SQL.Add(" ) b "); SQL.Add(" on( "); SQL.Add(" a.XLDYDJB_DYDJID=b.XLDYDJB_DYDJID "); SQL.Add(" ) "); SQL.Add(" when matched then update set a.XLDYDJB_XH=b.XH "); db.ExecSQL(SQL); SQL.Clear(); SQL.Add("select XLDYDJB_XH from XLDYDJB where XLDYDJB_DYDJID=:pDYDJID"); SQL.ParamByName("pDYDJID").Value = txtDYDJID.Text.Trim(); DataSet ds = db.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { txtXH.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLDYDJB_XH"].ToString()); } SQL.Clear(); SQL.Add(" select XLDYDJB_DYDJID from XLDYDJB "); SQL.Add(" where not exists(select 1 from XLBMYSMX where XLBMYSMX_YSBM =:pYSBM and XLBMYSMX_YSID = XLDYDJB_DYDJID) "); SQL.ParamByName("pYSBM").Value = "DYDJ"; ds = db.OpenDataSet(SQL); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { SQL.Clear(); SQL.Add(" insert into XLBMYSMX(XLBMYSMX_YSBM,XLBMYSMX_YSID,XLBMYSMX_DH,XLBMYSMX_MC,XLBMYSMX_DHMC, "); SQL.Add(" XLBMYSMX_WHR,XLBMYSMX_WHRID,XLBMYSMX_WHSJ) "); SQL.Add(" values( :pYSBM,:pYSID,:pDH,:pMC,:pDHMC, "); SQL.Add(" :pWHR,:pWHRID,:pWHSJ) "); SQL.ParamByName("pYSBM").Value = "DYDJ"; SQL.ParamByName("pYSID").Value = ds.Tables[0].Rows[i]["XLDYDJB_DYDJID"].ToString().Trim(); SQL.ParamByName("pDH").Value = GetNewBH(); SQL.ParamByName("pMC").Value = ds.Tables[0].Rows[i]["XLDYDJB_DYDJID"].ToString().Trim(); SQL.ParamByName("pDHMC").Value = ds.Tables[0].Rows[i]["XLDYDJB_DYDJID"].ToString().Trim(); SQL.ParamByName("pWHR").Value = tSession.UserName; SQL.ParamByName("pWHRID").Value = tSession.UserId; SQL.ParamByName("pWHSJ").Value = DateTime.Now; db.ExecSQL(SQL); } base.AfterSave(db, ref ActionIsDone); } protected override void SetComboxItems() { cbxACDC.ClearItems(); cbxACDC.Items.Add(new ListItem("交流", "AC")); cbxACDC.Items.Add(new ListItem("直流", "DC")); cbxACDC.Items.Add(new ListItem("--", "--")); cbxDYDJFL.ClearItems(); cbxDYDJFL.Items.Add(new ListItem("低压", "低压")); cbxDYDJFL.Items.Add(new ListItem("中压", "中压")); cbxDYDJFL.Items.Add(new ListItem("高压", "高压")); cbxDYDJFL.Items.Add(new ListItem("不标注", "不标注")); cbxDYDJFL.ShowValue = false; cbxDYJLDW.ClearItems(); cbxDYJLDW.Items.Add(new ListItem("kV", "kV")); cbxDYJLDW.Items.Add(new ListItem("V", "V")); cbxDYJLDW.Items.Add(new ListItem("-", "-")); cbxDYJLDW.ShowValue = false; base.SetComboxItems(); } #endregion #region 自定义事件 private void InitControls() { } private string GetNewBH() { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select isnull(max(XLBMYSMX_DH),' ') as maxDH from XLBMYSMX where XLBMYSMX_YSBM=:pYSBM "); SQL.ParamByName("pYSBM").Value = "DYDJ"; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { string maxDH = ds.Tables[0].Rows[0]["maxDH"].ToString().PadLeft(2, '0'); int i = Encoding.ASCII.GetBytes(maxDH)[1]; int j = 0; if (i == 90) { i = 48; j = 1; } else if (i == 57) { i = 65; //第二位置为A j = 0; } else { i = i + 1; j = 0; } if (Encoding.ASCII.GetBytes(maxDH)[0] == 57 && j > 0) { j = j + 64; } else { j = j + Encoding.ASCII.GetBytes(maxDH)[0]; } if (j > 90) j = 48; return Convert.ToChar(j).ToString() + Convert.ToChar(i).ToString(); } return "00"; } #endregion #region 控件事件 protected void chkTY_CheckedChanged(object sender, EventArgs e) { if (chkTY.Checked == true) { datTYRQ.Text = CMISproConvert.ConvertDate(System.DateTime.Now); } else { datQYRQ.Text = CMISproConvert.ConvertDate(System.DateTime.Now); datTYRQ.Text = ""; } } protected void datTYRQ_TextChanged(object sender, EventArgs e) { if (!datTYRQ.Text.ToString().Equals("")) chkTY.Checked = true; else chkTY.Checked = false; } protected void txtDYDJID_TextChanged(object sender, EventArgs e) { string sDYDJID = txtDYDJID.Text.Trim().ToUpper(); try { if (sDYDJID.IndexOf("AC") >= 0 && sDYDJID.IndexOf("DC") >= 0) { if (sDYDJID.IndexOf("KV") > 0 && sDYDJID.IndexOf('/') > 0) { txtXXLXDY.Value = CMISproConvert.StrToFloat(sDYDJID.Substring(sDYDJID.IndexOf("AC") + 2, sDYDJID.IndexOf("KV") - sDYDJID.IndexOf("AC") - 2)); cbxDYJLDW.SelectedValue = "kV"; } else if (sDYDJID.IndexOf("V") > 0 && sDYDJID.IndexOf('/') > 0) { txtXXLXDY.Value = CMISproConvert.StrToFloat(sDYDJID.Substring(sDYDJID.IndexOf("AC") + 2, sDYDJID.IndexOf("V") - sDYDJID.IndexOf("AC") - 2)); cbxDYJLDW.SelectedValue = "V"; } } else if (sDYDJID.IndexOf("KV") > 0) { if (sDYDJID.IndexOf('/') > 0 && sDYDJID.IndexOf('/') < sDYDJID.IndexOf("KV")) { txtXXLXDY.Value = CMISproConvert.StrToFloat(sDYDJID.Substring(0, sDYDJID.IndexOf('/'))); txtXXXXDY.Value = CMISproConvert.StrToFloat(sDYDJID.Substring(sDYDJID.IndexOf('/') + 1).Replace("KV", "")); } else if (sDYDJID.IndexOf('/') < 0) { txtXXXXDY.Value = CMISproConvert.StrToFloat(sDYDJID.Replace("KV", "")); txtXXLXDY.Value = 0; } cbxDYJLDW.SelectedValue = "kV"; } else if (sDYDJID.IndexOf("V") > 0) { if (sDYDJID.IndexOf('/') > 0 && sDYDJID.IndexOf('/') < sDYDJID.IndexOf("V")) { txtXXLXDY.Value = CMISproConvert.StrToFloat(sDYDJID.Substring(0, sDYDJID.IndexOf('/'))); txtXXXXDY.Value = CMISproConvert.StrToFloat(sDYDJID.Substring(sDYDJID.IndexOf('/') + 1).Replace("V", "")); } else if (sDYDJID.IndexOf('/') < 0) { txtXXXXDY.Value = CMISproConvert.StrToFloat(sDYDJID.Replace("V", "")); txtXXLXDY.Value = 0; } cbxDYJLDW.SelectedValue = "V"; } else if (sDYDJID.IndexOf("--") > 0) { txtXXLXDY.Value = 0; txtXXXXDY.Value = 0; cbxDYJLDW.SelectedValue = "-"; } else { txtXXLXDY.Value = 0; txtXXXXDY.Value = 0; cbxDYJLDW.SelectedValue = ""; } } catch { cbxDYJLDW.SelectedValue = ""; ShowMessage("所输入的【电压等级】不合法!"); return; } } #endregion } }