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_MISPRO.Utility; using GThinking.N_PUBLIC; using System.Collections.Generic; namespace GThinking.N_XLJC { public partial class XLDZBZYQInfo : SingleCardBase { XLDZBZYQ entity = new XLDZBZYQ(); Dictionary dicXLCPZLID = new Dictionary(); Dictionary dicDZSCXM = new Dictionary(); Dictionary dicDZSCYQ = new Dictionary(); #region Page事件 protected void Page_Load(object sender, EventArgs e) { this.UMID = 101421011; this.UMName = "线缆定制标准"; this.CurMaster = Master; this.CurEntity = entity; this.PageHeight = 400; this.PageWidth = 500; this.Master.EnableAttachBtn = false; this.Master.EnableCopyBtn = false; base.InitPage(); if (!this.IsPostBack) { //页面第一次加载需要的操作在此实现,只能处理与记录值无关的初始化操作; InitControls(); } } #endregion #region 模板事件继承 protected override void OnNewRecorder() { base.OnNewRecorder(); txtXLBZID.Value = PageParam.GetRTrimString("XLDZBZ_XLBZID"); txtWHR.Text = tSession.UserName; txtWHRID.Value = tSession.UserId; datWHSJ.Value = CMISproConvert.ConvertTime(DateTime.Now); } protected override void LoadRecord() { if (!this.IsPostBack) { entity.Param.Add("XLDZBZ_XLBZID", PageParam.GetRTrimString("XLDZBZ_XLBZID")); entity.Param.Add("XLDZBZ_XH", PageParam.GetRTrimString("XLDZBZ_XH")); } else { entity.Param.Add("XLDZBZ_XLBZID", txtXLBZID.Value.Trim()); entity.Param.Add("XLDZBZ_XH", txtXH_OLD.Value.Trim()); } base.LoadRecord(); txtXH_OLD.Value = txtXH.Text.Trim(); } protected override void SetControlState() { base.SetControlState(); txtXH.Enabled = false; txtWHR.Enabled = false; datWHSJ.Enabled = false; } protected override bool DataLogicValid() { if (cbxXLCPZLID.SelectedValue.Trim().Equals("")) { ShowMessage("线缆产品种类不允许为空!"); return false; } if (cbxDZSCXM.SelectedValue.Trim().Equals("")) { ShowMessage("定制生产项目不允许为空!"); return false; } if (cbxDZSCYQ.SelectedValue.Trim().Equals("")) { ShowMessage("定制生产要求不允许为空!"); return false; } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); if (ControlState == TControlState.ctsInsert) { SQL.Clear(); SQL.Add(" select XLDZBZ_XH from XLDZBZ where XLDZBZ_XLBZID=:XLDZBZ_XLBZID and XLDZBZ_XLCPZLID = :pXLDZBZ_XLCPZLID and XLDZBZ_DZSCXM = :pXLDZBZ_DZSCXM and XLDZBZ_DZSCYQ = :pXLDZBZ_DZSCYQ "); SQL.ParamByName("pXLDZBZ_XLCPZLID").Value = cbxXLCPZLID.SelectedValue.Trim(); SQL.ParamByName("pXLDZBZ_DZSCXM").Value = cbxDZSCXM.SelectedValue.Trim(); SQL.ParamByName("pXLDZBZ_DZSCYQ").Value = cbxDZSCYQ.SelectedValue.Trim(); SQL.ParamByName("XLDZBZ_XLBZID").Value = txtXLBZID.Value.Trim(); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { ShowMessage("已经存在相同线缆产品种类、定制生产项目和定制生产要求的定制标准记录,不允许保存!"); return false; } } else { SQL.Clear(); SQL.Add(" select XLDZBZ_XH from XLDZBZ where XLDZBZ_XLBZID=:XLDZBZ_XLBZID and XLDZBZ_XLCPZLID = :pXLDZBZ_XLCPZLID and XLDZBZ_DZSCXM = :pXLDZBZ_DZSCXM and XLDZBZ_DZSCYQ = :pXLDZBZ_DZSCYQ and XLDZBZ_XH <> :pXLDZBZ_XH "); SQL.ParamByName("pXLDZBZ_XLCPZLID").Value = cbxXLCPZLID.SelectedValue.Trim(); SQL.ParamByName("pXLDZBZ_DZSCXM").Value = cbxDZSCXM.SelectedValue.Trim(); SQL.ParamByName("pXLDZBZ_DZSCYQ").Value = cbxDZSCYQ.SelectedValue.Trim(); SQL.ParamByName("pXLDZBZ_XH").Value = txtXH.Text.Trim(); SQL.ParamByName("XLDZBZ_XLBZID").Value = txtXLBZID.Value.Trim(); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count >= 1) { ShowMessage("已经存在相同线缆产品种类、定制生产项目和定制生产要求的定制标准记录,不允许保存!"); return false; } } return base.DataLogicValid(); } protected override bool Master_BeforeSaveAction(object sender, EventArgs e) { if (ControlState == TControlState.ctsInsert || ControlState == TControlState.ctsCopy) { double xh = CMISproConvert.StrToFloat(GetmaxXH(txtXLBZID.Value)) + 1; txtXH.Text = xh.ToString(); txtXH_OLD.Value = txtXH.Text.Trim(); } txtWHR.Text = tSession.UserName.Trim(); txtWHRID.Value = tSession.UserId.Trim(); datWHSJ.Value = CMISproConvert.ConvertTime(System.DateTime.Now.ToString()); return base.Master_BeforeSaveAction(sender, e); } protected override bool Master_BeforeDeleteAction(object sender, EventArgs e) { return base.Master_BeforeDeleteAction(sender, e); } protected override bool Master_AfterSaveAction(object sender, EventArgs e) { txtXH_OLD.Value = txtXH.Text.Trim(); return base.Master_AfterSaveAction(sender, e); } protected override void AfterSave(TDatabase db, ref bool ActionIsDone) { base.AfterSave(db, ref ActionIsDone); } protected override void AfterDelete(TDatabase db, ref bool ActionIsDone) { base.AfterDelete(db, ref ActionIsDone); } protected override void SetComboxItems() { XLDZBZYQ.GetXLCPZLID(ref dicXLCPZLID); cbxXLCPZLID.ClearItems(); foreach (KeyValuePair kvp in dicXLCPZLID) { cbxXLCPZLID.Items.Add(new ListItem(kvp.Value, kvp.Key)); } base.SetComboxItems(); } #endregion #region 控件事件 protected void cbxXLCPZLID_OnSelectedIndexChanged(object sender, EventArgs e) { cbxDZSCXM.ClearItems(); if (!cbxXLCPZLID.SelectedValue.Trim().Equals("")) { XLDZBZYQ.GetDZSCXM(ref dicDZSCXM, cbxXLCPZLID.SelectedValue.Trim()); foreach (KeyValuePair kvp in dicDZSCXM) { cbxDZSCXM.Items.Add(new ListItem(kvp.Value, kvp.Key)); } } else { cbxDZSCXM.SelectedValue = ""; } } protected void cbxDZSCXM_OnSelectedIndexChanged(object sender, EventArgs e) { cbxDZSCYQ.ClearItems(); if (!cbxXLCPZLID.SelectedValue.Trim().Equals("") && !cbxDZSCXM.SelectedValue.Trim().Equals("")) { XLDZBZYQ.GetDZSCYQ(ref dicDZSCXM, cbxXLCPZLID.SelectedValue.Trim(), cbxDZSCXM.SelectedValue.Trim()); foreach (KeyValuePair kvp in dicDZSCXM) { cbxDZSCYQ.Items.Add(new ListItem(kvp.Value, kvp.Key)); } } else { cbxDZSCYQ.SelectedValue = ""; } } #endregion #region 自定义函数 private void InitControls() { } private static string GetmaxXH(string XLBZID) { string maxXH = string.Empty; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); sql.Clear(); sql.Add("select max(XLDZBZ_XH) from XLDZBZ "); sql.Add("where XLDZBZ_XLBZID=:pXLBZID"); sql.ParamByName("pXLBZID").Value = XLBZID; DataSet ds = dberp.OpenDataSet(sql); if (ds.Tables[0].Rows.Count > 0) { maxXH = ds.Tables[0].Rows[0][0].ToString().Trim(); } return maxXH; } #endregion } }