#region 功能说明 /* * 参数说明: * 注意事项: * 更新记录: */ #endregion 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 GThinking.N_MODEL.Dialog; namespace GThinking.N_XLXSBJ { public partial class YWYInfo : SingleCardBase { XSY entity = new XSY(); #region Page类事件继承 protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860006; this.UMName = "线缆销售报价销售员"; this.CurMaster = Master; this.CurEntity = entity; this.PageHeight = 400; this.PageWidth = 500; if (!IsPostBack) { InitControls(); } base.InitPage(); } #endregion #region 模板事件继承 protected override void SetControlState() { base.SetControlState(); txtSJXSYMC.Enabled = false; txtWHR.Enabled = false; datWHSJ.Enabled = false; } protected override void LoadRecord() { if (!IsPostBack) { entity.Param.Add("OLD_XSY_TXY", PageParam.GetRTrimString("XSY_TXY")); } else { entity.Param.Add("OLD_XSY_TXY", txtOLD_TXY.Value); } base.LoadRecord(); txtOLD_TXY.Value = txtTXY.Text.Trim(); } protected override void OnNewRecorder() { base.OnNewRecorder(); datQYRQ.Text = CMISproConvert.ConvertDate(System.DateTime.Today); datTYRQ.Text = ""; chkTYBZ.Checked = false; txtWHR.Text = tSession.UserName; txtWHRID.Value = tSession.UserId; datWHSJ.Text = CMISproConvert.ConvertTime(DateTime.Now); } protected override void OnCopyRecorder() { base.OnCopyRecorder(); chkTYBZ.Checked = false; datTYRQ.Text = ""; datQYRQ.Text = CMISproConvert.ConvertDate(DateTime.Today); txtWHR.Text = tSession.UserName; txtWHRID.Value = tSession.UserId; datWHSJ.Text = CMISproConvert.ConvertTime(DateTime.Now); } protected override bool DataLogicValid() { if (!base.DataLogicValid()) return false; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSql = new TSQL(dberp); sSql.Clear(); if (!txtSJXSYBH.Text.Trim().Equals("")) { sSql.Clear(); sSql.Add("select XSY_XSQYID from XSY where XSY_XSYBH=:pXSYBH"); sSql.ParamByName("pXSYBH").Value = txtSJXSYBH.Text.Trim(); DataSet dsSJXSY = dberp.OpenDataSet(sSql); if (dsSJXSY.Tables[0].Rows.Count > 0) { if (!dsSJXSY.Tables[0].Rows[0][0].ToString().Trim().Equals(cbxQY.SelectedValue.Trim())) { Confirm.Register("IsQD", "当前区域和上级销售员的区域不一致,是否继续?"); Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No; if (Confirm.GetValue("IsQD").Trim().Equals("")) { Confirm.Ask("IsQD"); return false; } else if (Confirm.GetValue("IsQD").Trim().Equals("N")) { Confirm.Clear(); return false; } else if (Confirm.GetValue("IsQD").Trim().Equals("Y")) { Confirm.Clear(); } } } else { ShowMessage("上级销售员编码不存在!"); return false; } if (txtSJXSYBH.Text.Trim().Equals(txtXSYBH.Text.Trim())) { ShowMessage("上级销售员不允许为当前销售员!"); return false; } } sSql.Clear(); sSql.Add("select 1 from XSY where XSY_XSYBH<>' ' and XSY_XSYBH=:pID"); if (ControlState == TControlState.ctsEdit) { sSql.Add(" and XSY_TXY<>:pOldID "); sSql.ParamByName("pOldID").Value = txtOLD_TXY.Value.Trim(); } sSql.ParamByName("pID").Value = txtXSYBH.Text.Trim(); DataSet ds = dberp.OpenDataSet(sSql); if (ds.Tables[0].Rows.Count > 0) { ShowMessage("销售员编码不允许重复!"); return false; } if (!cbxDQ.SelectedValue.Trim().Equals("")) { sSql.Clear(); sSql.Add("select 1 from KHDQ "); sSql.Add(" where KHDQ_MJBZ='N' and " + CMISproDataBase.GetWhereEqual("KHDQ_DQID", cbxDQ.SelectedValue.Trim())); DataSet dsDQ = dberp.OpenDataSet(sSql); if (dsDQ.Tables[0].Rows.Count > 0) { ShowMessage("地区不允许选择非末级地区!"); return false; } } if (chkTYBZ.Checked) { if (datTYRQ.Text.Equals("")) { ShowMessage("当前记录已停用,停用日期不允许为空!"); return false; } } else { if (!datTYRQ.Text.Equals("")) { ShowMessage("当前记录未停用,停用日期不允许填写!"); return false; } } if (!datQYRQ.Text.Trim().Equals("") && !datTYRQ.Text.Trim().Equals("") && CMISproConvert.StrToDateTime(datQYRQ.Text) > CMISproConvert.StrToDateTime(datTYRQ.Text)) { ShowMessage("启用日期不允许大于停用日期!"); return false; } if (GetOption("XSU151").Equals("Y"))//销售员是否必须为用户 { if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from RSRYJBXX where RSRYJBXX_GH='{0}' and RSRYJBXX_RYMC='{1}' and isnull(RSRYJBXX_USER,' ')='Y' and isnull(RSRYJBXX_TYBZ,' ')<>'Y'", txtXSYBH.Text.Trim(), txtTXY.Text.Trim()))) { ShowMessage("销售员必须为用户,请核实!"); return false; } } string sBJU015 = GetOption("BJU015"); if (sBJU015.Trim().Contains("XSY_BMID") && cbxBMID.SelectedValue.Trim().Equals("")) { ShowMessage("销售部门不允许为空!"); return false; } if (sBJU015.Trim().Contains("XSY_DQ") && cbxDQ.SelectedValue.Trim().Equals("")) { ShowMessage("地区不允许为空!"); return false; } if (sBJU015.Trim().Contains("XSY_QY") && cbxQY.SelectedValue.Trim().Equals("")) { ShowMessage("区域不允许为空!"); return false; } if (sBJU015.Trim().Contains("XSY_SJXSYBH") && txtSJXSYBH.Text.Trim().Equals("")) { ShowMessage("上级销售员不允许为空!"); return false; } return true; } protected override bool Master_BeforeSaveAction(object sender, EventArgs e) { if (!base.Master_BeforeSaveAction(sender, e)) return false; txtWHR.Text = tSession.UserName; txtWHRID.Value = tSession.UserId; datWHSJ.Text = CMISproConvert.ConvertTime(System.DateTime.Now); if ((ControlState == TControlState.ctsInsert) || (ControlState == TControlState.ctsCopy)) { txtOLD_TXY.Value = txtTXY.Text.Trim(); } return true; } protected override bool Master_AfterSaveAction(object sender, EventArgs e) { txtOLD_TXY.Value = txtTXY.Text.Trim(); return base.Master_AfterSaveAction(sender, e); } protected override void AfterSave(TDatabase db, ref bool ActionIsDone) { base.AfterSave(db, ref ActionIsDone); //UpdateXJXSYQY(cbxQY.SelectedValue.Trim(), txtSJXSYBH.Text.Trim()); } protected override void SetComboxItems() { if (ControlState == TControlState.ctsBrowse) { TComboBox.SetComboBox("DBERP", cbxBMID, string.Format("select BM_BMID,BM_MC from BM where BM_BMID='{0}'", cbxBMID.SelectedValue.Trim()), true); TComboBox.SetComboBox("DBERP", cbxQY, string.Format("select XSQY_XSQYID,XSQY_XSQYMC from XSQY where XSQY_XSQYID='{0}'", cbxQY.SelectedValue.Trim()), true); } else { if (GetOption("HJU006").Equals("")) TComboBox.SetComboBox("DBERP", cbxBMID, "select BM_BMID,BM_MC from BM where BM_MJBZ='Y' and BM_TYBZ<>'Y' order by BM_BMID", true); else TComboBox.SetComboBox("DBERP", cbxBMID, "select BM_BMID,BM_MC from BM where BM_MJBZ='Y' and BM_TYBZ<>'Y' and " + CMISproDataBase.GetWhereEqual("BM_BMID", GetOption("HJU006")) + " order by BM_BMID", true); TComboBox.SetComboBox("DBERP", cbxQY, "select XSQY_XSQYID,XSQY_XSQYMC from XSQY where 1=1 order by XSQY_XSQYID", true); } TRYXX.SetComboBox_BMRY_GH(cbxGH, "isnull(RSRYJBXX_USER,'N') = 'Y'", "", false, true, ""); base.SetComboxItems(); } #endregion #region 自定义函数 private void InitControls() { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSql = new TSQL(dberp); sSql.Clear(); sSql.Add("select KHDQ_DQID,KHDQ_DQMC from KHDQ where KHDQ_MJBZ='Y' "); if (!GetOption("HJU014").Equals("")) sSql.Add(" and " + CMISproDataBase.GetWhereLead("KHDQ_DQID", GetOption("HJU014"))); sSql.Add(" order by KHDQ_DQID"); DataSet dsDQ = dberp.OpenDataSet(sSql); cbxDQ.ClearItems(); for (int i = 0; i < dsDQ.Tables[0].Rows.Count; i++) { cbxDQ.Items.Add(new ListItem(dsDQ.Tables[0].Rows[i]["KHDQ_DQMC"].ToString().Trim(), dsDQ.Tables[0].Rows[i]["KHDQ_DQID"].ToString().Trim())); } } //更新当前销售员的下级销售员的区域 private void UpdateXJXSYQY(string sQYID, string sSJXSYBH) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSql = new TSQL(dberp); sSql.Clear(); sSql.Add("update XSY set XSY_XSQYID=:pQYID where isnull(XSY_SJXSYBH,' ')<>' ' and XSY_SJXSYBH=:pSJXSYBH"); sSql.ParamByName("pQYID").Value = sQYID.Trim(); sSql.ParamByName("pSJXSYBH").Value = sSJXSYBH.Trim(); dberp.ExecSQL(sSql); sSql.Clear(); sSql.Add("select isnull(XSY_XSYBH,' ') as XSY_XSYBH from XSY where isnull(XSY_SJXSYBH,' ')<>' ' and XSY_SJXSYBH=:pSJXSYBH"); sSql.ParamByName("pSJXSYBH").Value = sSJXSYBH.Trim(); DataSet ds = dberp.OpenDataSet(sSql); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { UpdateXJXSYQY(sQYID, ds.Tables[0].Rows[i][0].ToString().Trim()); } } } private string GetSYDWIDbyBMID(string BMID) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSql = new TSQL(dberp); sSql.Clear(); sSql.Add("select GS_SYDWID,GS_GSMC from BM left join GS on GS_SYDWID = BM_SYDWID where BM_BMID = :pBMID"); sSql.ParamByName("pBMID").Value = BMID; DataSet ds = dberp.OpenDataSet(sSql); if (ds.Tables[0].Rows.Count > 0) { if (!ds.Tables[0].Rows[0][0].ToString().Trim().Equals("")) return ds.Tables[0].Rows[0][0].ToString().Trim() + "|" + ds.Tables[0].Rows[0][1].ToString().Trim(); else return ""; } return ""; } private bool ISXTYHM(string sRYMC) { return CMISproDataBase.ExistsRecord("DBERP","select 1 from RSRYJBXX where RSRYJBXX_RYMC = '" + sRYMC + "'"); } #endregion #region 控件事件 protected void chkTYBZ_CheckedChanged(object sender, EventArgs e) { if (ControlState != TControlState.ctsBrowse) { if (chkTYBZ.Checked) datTYRQ.Text = CMISproConvert.ConvertDate(System.DateTime.Today); else { datQYRQ.Text = CMISproConvert.ConvertDate(System.DateTime.Today); datTYRQ.Text = ""; } } } protected void txtTXY_TextChanged(object sender, EventArgs e) { if (txtZJM.Text.Trim().Equals("")) { txtZJM.Text = CMISproConvert.ConvertZJM(txtTXY.Text.Trim()); } } protected void txtSJXSYBH_TextChanged(object sender, EventArgs e) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSql = new TSQL(dberp); string sBJU014 = GetOption("BJU014"); sSql.Clear(); sSql.Add("select XSY_TXY,XSY_XSQYID from XSY where XSY_XSYBH=:pXSYBH "); sSql.ParamByName("pXSYBH").Value = txtSJXSYBH.Text.Trim(); DataSet ds = dberp.OpenDataSet(sSql); if (ds.Tables[0].Rows.Count > 0) { txtSJXSYMC.Text = ds.Tables[0].Rows[0]["XSY_TXY"].ToString().Trim(); if (sBJU014.Equals("Y")) { cbxQY.SelectedValue = ds.Tables[0].Rows[0]["XSY_XSQYID"].ToString().Trim(); } } else { txtSJXSYMC.Text = ""; } } protected void cbxGH_SelectChanged(object sender, EventArgs e) { if (cbxGH.SelectedValue.Trim().Equals("")) { txtRYID.Value = ""; txtRYMC.Value = ""; } else { txtRYID.Value = TRYXX.GetRYXXByGH(cbxGH.SelectedValue.Trim()).RYID; txtRYMC.Value = TRYXX.GetRYXXByGH(cbxGH.SelectedValue.Trim()).XM; } } #endregion } }