Files
N_XLJC--MX/XLDYDJInfo.aspx.cs
2026-08-21 17:02:49 +08:00

413 lines
15 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_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
}
}