This commit is contained in:
2026-08-21 17:03:02 +08:00
commit f065129b20
2292 changed files with 666241 additions and 0 deletions
+290
View File
@@ -0,0 +1,290 @@
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
}
}