412 lines
15 KiB
C#
412 lines
15 KiB
C#
#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
|
|
}
|
|
}
|
|
|
|
|