291 lines
12 KiB
C#
291 lines
12 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_MODEL.Dialog;
|
|
using GThinking.N_MISPRO.Utility;
|
|
|
|
namespace GThinking.N_XLXSBJ
|
|
{
|
|
public partial class JGBPZInfo : SingleCardBase
|
|
{
|
|
JGBPZ entity = new JGBPZ();
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
this.UMID = 100860036;
|
|
this.UMName = "线缆销售报价价格目录配置";
|
|
this.CurMaster = Master;
|
|
this.CurEntity = entity;
|
|
this.PageHeight = 400;
|
|
this.PageWidth = 500;
|
|
this.Master.EnableAttachBtn = false;
|
|
|
|
if (!IsPostBack)
|
|
{
|
|
InitControls();
|
|
}
|
|
base.InitPage();
|
|
}
|
|
|
|
#region 模板事件继承
|
|
|
|
protected override void LoadRecord()
|
|
{
|
|
if (!IsPostBack)
|
|
{
|
|
this.CurEntity.Param.Add("XLXSJGBPZ_JGBPZDH", PageParam.GetRTrimString("XLXSJGBPZ_JGBPZDH"));
|
|
}
|
|
else
|
|
{
|
|
this.CurEntity.Param.Add("XLXSJGBPZ_JGBPZDH", txtOLDJGBPZDH.Value.Trim());
|
|
}
|
|
|
|
base.LoadRecord();
|
|
txtOLDBJCLIDS.Value = cbxBJCLIDS.SelectedValue.Trim();
|
|
}
|
|
|
|
protected override void OnNewRecorder()
|
|
{
|
|
base.OnNewRecorder();
|
|
|
|
txtWHR.Text = tSession.UserName;
|
|
txtWHRID.Value = tSession.UserId;
|
|
datWHSJ.Value = CMISproConvert.ConvertTime(DateTime.Now);
|
|
}
|
|
|
|
protected override void OnCopyRecorder()
|
|
{
|
|
base.OnCopyRecorder();
|
|
|
|
txtWHR.Text = tSession.UserName;
|
|
txtWHRID.Value = tSession.UserId;
|
|
datWHSJ.Value = CMISproConvert.ConvertTime(DateTime.Now);
|
|
}
|
|
|
|
protected override bool DataLogicValid()
|
|
{
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
SQL.Clear();
|
|
SQL.Add("select 1 from XLXSJGBPZ where XLXSJGBPZ_CPMLID=:pCPMLID");
|
|
if (ControlState == TControlState.ctsEdit)
|
|
{
|
|
SQL.Add(" and XLXSJGBPZ_JGBPZDH<>:pJGBPZDH");
|
|
SQL.ParamByName("pJGBPZDH").Value = txtOLDJGBPZDH.Value.Trim();
|
|
}
|
|
SQL.ParamByName("pCPMLID").Value = cbxCPMLID.SelectedValue.Trim();
|
|
DataSet dsTmp = dberp.OpenDataSet(SQL);
|
|
if (dsTmp.Tables[0].Rows.Count > 0)
|
|
{
|
|
ShowMessage("同一产品目录不允许维护多条配置记录!");
|
|
return false;
|
|
}
|
|
|
|
SQL.Clear();
|
|
SQL.Add("select XLXSCPML_CPMLLX,XLXSCPML_CPMLIDS");
|
|
SQL.Add(" from XLXSCPML");
|
|
SQL.Add(" where XLXSCPML_CPMLID=:pCPMLID");
|
|
SQL.ParamByName("pCPMLID").Value = cbxCPMLID.SelectedValue.Trim();
|
|
DataSet dsCPML = dberp.OpenDataSet(SQL);
|
|
if (dsCPML.Tables[0].Rows.Count > 0)
|
|
{
|
|
string sCPMLLX = dsCPML.Tables[0].Rows[0]["XLXSCPML_CPMLLX"].ToString().Trim();
|
|
string sCPMLIDS = dsCPML.Tables[0].Rows[0]["XLXSCPML_CPMLIDS"].ToString().Trim();
|
|
|
|
if (sCPMLLX.Equals("Y"))//组合
|
|
{
|
|
//组合产品目录一定包含其引用的单一产品目录的所有材料
|
|
if (!cbxBJCLIDS.SelectedValue.Trim().Equals(""))
|
|
{
|
|
string curBJCLIDs = "," + cbxBJCLIDS.SelectedValue.Trim() + ",";
|
|
|
|
//把单一产品目录的‘行情分段材料’找出来
|
|
SQL.Clear();
|
|
SQL.Add("select XLXSJGBPZ_JGBPZDH,XLXSJGBPZ_CPMLID,XLXSJGBPZ_BJCLIDS from XLXSJGBPZ where " + CMISproDataBase.GetWhereEqual("XLXSJGBPZ_CPMLID", sCPMLIDS));
|
|
if (ControlState == TControlState.ctsEdit)
|
|
{
|
|
SQL.Add(" and XLXSJGBPZ_JGBPZDH<>:pJGBPZDH");
|
|
SQL.ParamByName("pJGBPZDH").Value = txtOLDJGBPZDH.Value.Trim();
|
|
}
|
|
SQL.Add(" order by XLXSJGBPZ_JGBPZDH");
|
|
DataSet dsML = dberp.OpenDataSet(SQL);
|
|
for (int i = 0; i < dsML.Tables[0].Rows.Count; i++)
|
|
{
|
|
string sJGBPZDH = dsML.Tables[0].Rows[i]["XLXSJGBPZ_JGBPZDH"].ToString().Trim();
|
|
string sDYCPMLID = dsML.Tables[0].Rows[i]["XLXSJGBPZ_CPMLID"].ToString().Trim();
|
|
string[] sBJCLIDs = dsML.Tables[0].Rows[i]["XLXSJGBPZ_BJCLIDS"].ToString().Trim().Split(',');
|
|
|
|
for (int j = 0; j < sBJCLIDs.Length; j++)
|
|
{
|
|
if (!curBJCLIDs.Contains("," + sBJCLIDs[j].Trim() + ","))
|
|
{
|
|
ShowMessage("漏选产品目录[" + sDYCPMLID + "]对应配置记录[" + sJGBPZDH + "]包含的行情分段材料[" + sBJCLIDs[j].Trim() + "],不允许保存!");
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return base.DataLogicValid();
|
|
}
|
|
|
|
protected override bool Master_BeforeDeleteAction(object sender, EventArgs e)
|
|
{
|
|
// if (CMISproDataBase.ExistsRecord("DBERP", string.Format(@"select 1 from XLXSJGBPZ left join XLXSCPML on XLXSCPML_CPMLID=XLXSJGBPZ_CPMLID
|
|
// where isnull(XLXSCPML_CPMLIDS,' ')<>' ' and ','||rtrim(XLXSCPML_CPMLIDS)||',' like '{0}'",
|
|
// "%," + cbxCPMLID.SelectedValue.Trim() + ",%")))
|
|
// {
|
|
// ShowMessage("当前产品目录存在引用的组合产品目录的配置记录,不允许删除!");
|
|
// return false;
|
|
// }
|
|
string sJGBPZDH = txtJGBPZDH.Text.Trim();
|
|
string sSQL = string.Format("select top 1 XLXSJGBPZJGB_CLHQZH from XLXSJGBPZJGB where XLXSJGBPZJGB_JGBPZDH = '{0}' and isnull(XLXSJGBPZJGB_JGBID,' ')<>' '",
|
|
sJGBPZDH);
|
|
if (CMISproDataBase.ExistsRecord("DBERP", sSQL))
|
|
{
|
|
ShowMessage("已派生价格表,不允许删除!");
|
|
return false;
|
|
}
|
|
return base.Master_BeforeDeleteAction(sender, e);
|
|
}
|
|
|
|
protected override bool Master_BeforeSaveAction(object sender, EventArgs e)
|
|
{
|
|
txtJGBPZDH.Text = cbxMXBH.SelectedValue.Trim() + cbxTJYS.SelectedValue.Trim() + cbxCPMLID.SelectedValue.Trim();
|
|
txtWHR.Text = tSession.UserName;
|
|
txtWHRID.Value = tSession.UserId;
|
|
datWHSJ.Value = CMISproConvert.ConvertTime(DateTime.Now);
|
|
return base.Master_BeforeSaveAction(sender, e);
|
|
}
|
|
|
|
protected override void SetControlState()
|
|
{
|
|
base.SetControlState();
|
|
|
|
txtJGBPZDH.Enabled = false;
|
|
txtWHR.Enabled = false;
|
|
datWHSJ.Enabled = false;
|
|
|
|
if (ControlState == TControlState.ctsEdit)
|
|
{
|
|
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select top 1 XLXSJGBPZJGB_CLHQZH from XLXSJGBPZJGB where XLXSJGBPZJGB_JGBPZDH = '{0}' and isnull(XLXSJGBPZJGB_JGBID,' ')<>' '",
|
|
txtJGBPZDH.Text.Trim())))
|
|
{
|
|
cbxCPMLID.Enabled = false;
|
|
cbxBJCLIDS.Enabled = false;
|
|
cbxMXBH.Enabled = false;
|
|
cbxTJYS.Enabled = false;
|
|
}
|
|
}
|
|
}
|
|
|
|
protected override void AfterSave(TDatabase db, ref bool ActionIsDone)
|
|
{
|
|
TSQL SQL = new TSQL(db);
|
|
if (ControlState == TControlState.ctsEdit && !txtOLDBJCLIDS.Value.Equals(cbxBJCLIDS.SelectedValue.Trim()))
|
|
{
|
|
/*删除修改前产品目录的材料行情分段*/
|
|
SQL.Clear();
|
|
SQL.Add("delete from XLXSJGBPZCLHQFD where XLXSJGBPZCLHQFD_JGBPZDH=:pJGBPZDH");
|
|
SQL.ParamByName("pJGBPZDH").Value = txtOLDJGBPZDH.Value.Trim();
|
|
db.ExecSQL(SQL);
|
|
|
|
/*删除修改前产品目录的价格表记录*/
|
|
SQL.Clear();
|
|
SQL.Add("delete from XLXSJGBPZJGB where XLXSJGBPZJGB_JGBPZDH=:pJGBPZDH");
|
|
SQL.ParamByName("pJGBPZDH").Value = txtOLDJGBPZDH.Value.Trim();
|
|
db.ExecSQL(SQL);
|
|
}
|
|
base.AfterSave(db, ref ActionIsDone);
|
|
}
|
|
|
|
protected override bool Master_AfterSaveAction(object sender, EventArgs e)
|
|
{
|
|
txtOLDBJCLIDS.Value = cbxBJCLIDS.SelectedValue.Trim();
|
|
txtOLDJGBPZDH.Value = txtJGBPZDH.Text.Trim();
|
|
return base.Master_AfterSaveAction(sender, e);
|
|
}
|
|
|
|
protected override void AfterDelete(TDatabase db, ref bool ActionIsDone)
|
|
{
|
|
base.AfterDelete(db, ref ActionIsDone);
|
|
db.ExecSQL(string.Format("delete from XLXSJGBPZJGB where XLXSJGBPZJGB_JGBPZDH='{0}'", txtJGBPZDH.Text.Trim()));
|
|
db.ExecSQL(string.Format("delete from XLXSJGBPZCLHQFD where XLXSJGBPZCLHQFD_JGBPZDH='{0}'", txtJGBPZDH.Text.Trim()));
|
|
}
|
|
|
|
protected override void SetComboxItems()
|
|
{
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL sql = new TSQL(dberp);
|
|
|
|
if (ControlState == TControlState.ctsBrowse)
|
|
{
|
|
TComboBox.SetComboBox("DBERP", cbxCPMLID, string.Format("select XLXSCPML_CPMLID,XLXSCPML_CPMLMC from XLXSCPML where XLXSCPML_CPMLID='{0}' order by XLXSCPML_CPMLID",
|
|
cbxCPMLID.SelectedValue.Trim()), false);
|
|
|
|
sql.Clear();
|
|
sql.Add("select XLXSBJCL_BJCLID,XLXSBJCL_BJCLMC from XLXSBJCL where 1=1 ");
|
|
sql.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJCL_BJCLID", cbxBJCLIDS.SelectedValue.Trim()));
|
|
sql.Add(" order by XLXSBJCL_BJCLID");
|
|
DataSet ds = dberp.OpenDataSet(sql);
|
|
cbxBJCLIDS.ClearItems();
|
|
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
|
{
|
|
cbxBJCLIDS.Items.Add(new ListItem(ds.Tables[0].Rows[i]["XLXSBJCL_BJCLMC"].ToString().Trim(), ds.Tables[0].Rows[i]["XLXSBJCL_BJCLID"].ToString().Trim()));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
TComboBox.SetComboBox("DBERP", cbxCPMLID, "select XLXSCPML_CPMLID,XLXSCPML_CPMLMC from XLXSCPML where isnull(XLXSCPML_TYBZ,' ')<>'Y' and XLXSCPML_SJY = 'Y' order by XLXSCPML_CPMLID", false);
|
|
|
|
sql.Clear();
|
|
sql.Add("select XLXSBJCL_BJCLID,XLXSBJCL_BJCLMC from XLXSBJCL where XLXSBJCL_CLHQFD='Y' and isnull(XLXSBJCL_TYBZ,'N') <> 'Y' ");
|
|
sql.Add(" order by XLXSBJCL_BJCLID");
|
|
DataSet ds = dberp.OpenDataSet(sql);
|
|
cbxBJCLIDS.ClearItems();
|
|
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
|
{
|
|
cbxBJCLIDS.Items.Add(new ListItem(ds.Tables[0].Rows[i]["XLXSBJCL_BJCLMC"].ToString().Trim(), ds.Tables[0].Rows[i]["XLXSBJCL_BJCLID"].ToString().Trim()));
|
|
}
|
|
}
|
|
base.SetComboxItems();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 自定义事件
|
|
|
|
private void InitControls()
|
|
{
|
|
cbxMXBH.ClearItems();
|
|
cbxMXBH.Items.Add(new ListItem("报价价格表", "JGB"));
|
|
cbxMXBH.Items.Add(new ListItem("基价价格表", "JGC"));
|
|
|
|
cbxTJYS.ClearItems();
|
|
cbxTJYS.Items.Add(new ListItem("表价(出厂价)=基价(材料价)&调价", "1"));
|
|
cbxTJYS.Items.Add(new ListItem("表价(区域价)=基价(出厂价)&调价", "2"));
|
|
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 控件事件
|
|
|
|
|
|
#endregion
|
|
}
|
|
}
|