This commit is contained in:
2026-08-21 17:03:02 +08:00
commit f065129b20
2292 changed files with 666241 additions and 0 deletions
+982
View File
@@ -0,0 +1,982 @@
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_WORKFLOW;
using GThinking.N_PUBLIC;
using GThinking.N_MISPRO.Utility;
using System.Text;
namespace GThinking.N_XLXSBJ
{
public partial class XLXSBJCLInfo : SingleCardBase
{
XLXSBJCL entity = new XLXSBJCL();
#region Page类事件继承
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860012;
this.UMName = "线缆销售报价材料";
base.CurMaster = Master;
this.CurEntity = entity;
this.Master.EnableAttachBtn = false;
this.PageHeight = 500;
this.PageWidth = 700;
//Master.EnableInsertBtn = false;
//Master.EnableCopyBtn = false;
if (!IsPostBack)
{
LoadHQBDPLGroup();
InitControls();
}
base.InitPage();
}
#endregion
#region 模板事件继承
protected override void OnNewRecorder()
{
base.OnNewRecorder();
chkQR.Checked = true;
txtOldBJCLID.Value = "";
cbxBJHQ.SelectedValue = "1";
txtZZSL.Value = 13;
datQYRQ.Text = CMISproConvert.ConvertDate(System.DateTime.Today);
datTYRQ.Text = "";
chkTYBZ.Checked = false;
txtWHR.Text = tSession.UserName;
txtWHRID.Value = tSession.UserId;
datWHSJ.Text = CMISproConvert.ConvertTime(System.DateTime.Now);
if (PageParam.ContainsKey("CLMC"))
txtBJCLMC.Text = PageParam.GetRTrimString("CLMC");
}
protected override void OnCopyRecorder()
{
base.OnCopyRecorder();
txtOldBJCLID.Value = "";
datQYRQ.Text = CMISproConvert.ConvertDate(System.DateTime.Today);
datTYRQ.Text = "";
chkTYBZ.Checked = false;
txtWHR.Text = tSession.UserName;
txtWHRID.Value = tSession.UserId;
datWHSJ.Text = CMISproConvert.ConvertTime(System.DateTime.Now);
}
protected override bool DataLogicValid()
{
if (chkCLHQFD.Checked == false && txtOLDCLHQFD.Value == "Y")
{
string SQL = string.Format(" select top 1 XLXSJGBPZ_JGBPZDH from XLXSJGBPZ "
+ " where XLXSJGBPZ_BJCLIDS like '{0}' ", "%" + txtBJCLID.Text.Trim() + "%");
if (CMISproDataBase.ExistsRecord("DBERP", SQL))
{
ShowMessage("此报价材料已经被价格目录配置使用,“材料行情分段”不允许取消勾选!");
return false;
}
}
if (ControlState == TControlState.ctsInsert || ControlState == TControlState.ctsCopy)
{
if (!txtBJCLMC.Text.Trim().Equals(""))
{
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSBJCL where XLXSBJCL_BJCLMC = '{0}'", txtBJCLMC.Text.Trim())))
{
ShowMessage("存在相同材料名称的记录,不允许保存!");
return false;
}
}
}
else
{
if (!txtBJCLMC.Text.Trim().Equals(""))
{
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSBJCL where XLXSBJCL_BJCLMC = '{0}' and XLXSBJCL_BJCLID<>'{1}'", txtBJCLMC.Text.Trim(), txtOldBJCLID.Value.Trim())))
{
ShowMessage("存在相同材料名称的记录,不允许保存!");
return false;
}
}
}
//加工料 加工原料税率一致
if (!cbxJGYBJCLID.SelectedValue.Trim().Equals(""))
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" select XLXSBJCL_ZZSL from XLXSBJCL where XLXSBJCL_BJCLID = :pBJCLID ");
SQL.ParamByName("pBJCLID").Value = cbxJGYBJCLID.SelectedValue.Trim();
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
if (!CMISproConvert.StrToFloat(ds.Tables[0].Rows[0][0].ToString().Trim()).Equals(txtZZSL.Value))
{
ShowMessage("加工料的增值税率必须与加工原料【" + ds.Tables[0].Rows[0][0].ToString().Trim() + "】保持一致!");
return false;
}
}
string sSQL = string.Format(" select XLXSBJCL_BJCLID from XLXSBJCL "
+ " where XLXSBJCL_JGYBJCLID = '{0}' ", txtBJCLID.Text.Trim());
if (CMISproDataBase.ExistsRecord("DBERP", sSQL))
{
ShowMessage("当前报价材料已被当作加工原料使用,不允许设置加工原料!");
return false;
}
}
//
if (cbxBJHQ.SelectedValue.Trim().Equals("2"))
{
string sSQL = string.Format(" select XLXSBJCL_BJCLID from XLXSBJCL "
+ " where XLXSBJCL_JGYBJCLID = '{0}' ", txtBJCLID.Text.Trim());
if (CMISproDataBase.ExistsRecord("DBERP", sSQL))
{
ShowMessage("加工原料仅有一个行情,不允许设置为“2|物料行情”!");
return false;
}
}
if (chkTYBZ.Checked)
{
string sSQL = string.Format(" select XLXSBJCL_BJCLID from XLXSBJCL where XLXSBJCL_JGYBJCLID = '{0}' and isnull(XLXSBJCL_TYBZ,'N') <> 'Y' ", txtBJCLID.Text.Trim());
if (CMISproDataBase.ExistsRecord("DBERP", sSQL))
{
ShowMessage("当前报价材料已作为加工原料被使用,不允许停用!");
return false;
}
sSQL = string.Format(" select XLXSBJFL_TBJCLID,XLXSBJFL_LBJCLID from XLXSBJFL where ISNULL(XLXSBJFL_TYBZ,'N') <> 'Y' and ( XLXSBJFL_TBJCLID = '{0}' or XLXSBJFL_LBJCLID = '{0}' ) ", txtBJCLID.Text.Trim());
if (CMISproDataBase.ExistsRecord("DBERP", sSQL))
{
ShowMessage("当前报价材料已被线缆销售报价分类使用为铜铝报价材料,不允许停用!");
return false;
}
sSQL = string.Format(" select XLXSBJPZ_TBJCLID,XLXSBJPZ_LBJCLID from XLXSBJPZ where ( XLXSBJPZ_TBJCLID = '{0}' or XLXSBJPZ_LBJCLID = '{0}' ) ", txtBJCLID.Text.Trim());
if (CMISproDataBase.ExistsRecord("DBERP", sSQL))
{
ShowMessage("当前报价材料已被销售报价业务配置使用为铜铝报价材料,不允许停用!");
return false;
}
}
if (chkBJJZ.Checked)
{
string sSQL = string.Format("select top 1 XLXSTZYZ_BJCLID from XLXSTZYZ where XLXSTZYZ_BJCLID='{0}'", txtBJCLID.Text.Trim());
if (CMISproDataBase.ExistsRecord("DBERP", sSQL))
{
ShowMessage("当前报价材料已被线缆销售价格表调价因子指定为虚拟报价材料,不允许勾选报价计重!");
return false;
}
}
return base.DataLogicValid();
}
protected override bool Master_BeforeSaveAction(object sender, EventArgs e)
{
bool sReturn = base.Master_BeforeSaveAction(sender, e);
txtWHR.Text = tSession.UserName; //维护人
txtWHRID.Value = tSession.UserId; //维护人ID
datWHSJ.Text = CMISproConvert.ConvertTime(System.DateTime.Now);
if (ControlState == TControlState.ctsEdit)
{
entity.Param.Add("XLXSBJCL_OLDBJCLID", txtOldBJCLID.Value.Trim());
}
else
{
txtBJCLID.Text = GetNewBJCLID();
}
return sReturn;
}
protected override void LoadRecord()
{
//根据EntitySelSql的定义对使用的参数赋值
if (!this.IsPostBack)
{
entity.Param.Add("XLXSBJCL_BJCLID", PageParam.GetRTrimString("BJCLID"));
}
else
{
entity.Param.Add("XLXSBJCL_BJCLID", txtOldBJCLID.Value.Trim());
}
base.LoadRecord();
txtOldBJCLID.Value = txtBJCLID.Text.Trim();
txtOLDCLHQFD.Value = chkCLHQFD.Checked ? "Y" : "N";
txtOLDZZSL.Value = txtZZSL.Value.ToString().Trim();
txtOldTYBZ.Value = chkTYBZ.Checked ? "Y" : "N";
txtOLDJTZ.Value = chkJTZ.Checked ? "Y" : "N";
txtOLDJLZ.Value = chkJLZ.Checked ? "Y" : "N";
}
protected override bool Master_AfterSaveAction(object sender, EventArgs e)
{
txtOldBJCLID.Value = txtBJCLID.Text.Trim();
txtOLDZZSL.Value = txtZZSL.Value.ToString().Trim();
string sJTZ = chkJTZ.Checked ? "Y" : "N";
string sJLZ = chkJLZ.Checked ? "Y" : "N";
if (!txtBJCLID.Text.Trim().Equals("")&&(!sJTZ.Equals(txtOLDJTZ.Value.Trim())||!sJLZ.Equals(txtOLDJLZ.Value.Trim())))
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(@"select XLJGCZBLM_JGCZBID,XLJGCZBLM_JGCZBBBID
from XLJGCZBLM
where XLJGCZBLM_BJCLID=:pBJCLID ");
SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim();
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string sJGCZBID = ds.Tables[0].Rows[i]["XLJGCZBLM_JGCZBID"].ToString().Trim();
string sJGCZBBBID = ds.Tables[0].Rows[i]["XLJGCZBLM_JGCZBBBID"].ToString().Trim();
CLQDList.UpdatCLZL(dberp, SQL, sJGCZBID, sJGCZBBBID);
}
}
}
txtOLDJTZ.Value = chkJTZ.Checked ? "Y" : "N";
txtOLDJLZ.Value = chkJLZ.Checked ? "Y" : "N";
//若为加工原料且存在增值税率不一致得加工料,则同步更新加工料
if (cbxJGYBJCLID.SelectedValue.Trim().Equals(""))
{
string sSQL = string.Format(" select XLXSBJCL_BJCLID from XLXSBJCL "
+ " where XLXSBJCL_JGYBJCLID = '{0}' and XLXSBJCL_ZZSL <> {1} ", txtBJCLID.Text.Trim(),txtZZSL.Value.ToString().Trim());
if (CMISproDataBase.ExistsRecord("DBERP", sSQL))
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" update XLXSBJCL set XLXSBJCL_ZZSL = :pZZSL where XLXSBJCL_JGYBJCLID = :pJGYBJCLID and XLXSBJCL_ZZSL <> :pZZSL ");
SQL.ParamByName("pZZSL").Value = txtZZSL.Value;
SQL.ParamByName("pJGYBJCLID").Value = txtBJCLID.Text.Trim();
dberp.ExecSQL(SQL);
ShowMessage("已同步更新对应加工料的增值税率!");
}
}
if (chkCLHQFD.Checked == false && txtOLDCLHQFD.Value == "Y")
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("delete from XLXSCLHQFD where XLXSCLHQFD_BJCLID=:pXLXSCLHQFD_BJCLID ");
SQL.ParamByName("pXLXSCLHQFD_BJCLID").Value = txtBJCLID.Text.Trim();
dberp.ExecSQL(SQL);
}
txtOLDCLHQFD.Value = chkCLHQFD.Checked ? "Y" : "N";
if (!txtOldTYBZ.Value.Equals("Y") && chkTYBZ.Checked)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
#region 材料行情
SQL.Clear();
SQL.Add(" select XLXSCLHQ_YXQS,XLXSCLHQ_YXQZ,XLXSCLHQ_BDQK,XLXSCLHQ_HSJG,XLXSCLHQ_WHR,XLXSCLHQ_WHSJ from XLXSCLHQ where XLXSCLHQ_JGBID='ZZZZZZZZ' and XLXSCLHQ_BJCLID = :pBJCLID order by XLXSCLHQ_YXQS desc ");
SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim();
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
bool bYXHQ = true;
DateTime dtYXQS = CMISproConvert.StrToDateTime(ds.Tables[0].Rows[0]["XLXSCLHQ_YXQS"].ToString().Trim());
string sYXQZ = ds.Tables[0].Rows[0]["XLXSCLHQ_YXQZ"].ToString().Trim();
if (DateTime.Compare(dtYXQS, DateTime.Now) > 0)
{
bYXHQ = false;
}
else
{
if (!string.IsNullOrEmpty(sYXQZ))
{
DateTime dtYXQZ = CMISproConvert.StrToDateTime(sYXQZ);
dtYXQZ = dtYXQZ.AddDays(1);
if (DateTime.Compare(dtYXQZ, DateTime.Now) <= 0)
bYXHQ = false;
}
}
if (bYXHQ)
{
if (dtYXQS.ToShortDateString().Trim().Equals(DateTime.Now.ToShortDateString().Trim()))
{
string sBDQK = ds.Tables[0].Rows[0]["XLXSCLHQ_BDQK"].ToString().Trim();
string sYWHR = ds.Tables[0].Rows[0]["XLXSCLHQ_WHR"].ToString().Trim();
string sYWHSJ = ds.Tables[0].Rows[0]["XLXSCLHQ_WHSJ"].ToString().Trim();
string sYHSJE = ds.Tables[0].Rows[0]["XLXSCLHQ_HSJG"].ToString().Trim();
CLHQInfo.GetBDQK(sYWHSJ, sYWHR, sYHSJE, ref sBDQK);
SQL.Clear();
SQL.Add(" update XLXSCLHQ set XLXSCLHQ_YXQZ = null,XLXSCLHQ_HSJG = 0,XLXSCLHQ_WSJG = 0,XLXSCLHQ_HSJGF = 0,XLXSCLHQ_WSJGF = 0,XLXSCLHQ_HSCGJG = 0,XLXSCLHQ_WSCGJG = 0, ");
SQL.Add(" XLXSCLHQ_BZ = '报价材料停用自动更新行情',XLXSCLHQ_BDQK = :pBDQK, XLXSCLHQ_WHRID = :XLXSCLHQ_WHRID, XLXSCLHQ_WHR = :XLXSCLHQ_WHR, XLXSCLHQ_WHSJ = :XLXSCLHQ_WHSJ ");
SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' and XLXSCLHQ_YXQS=:pRQ and XLXSCLHQ_BJCLID = :pBJCLID ");
SQL.ParamByName("pBDQK").Value = sBDQK;
SQL.ParamByName("pRQ").Value = dtYXQS;
SQL.ParamByName("XLXSCLHQ_WHRID").Value = tSession.UserId;
SQL.ParamByName("XLXSCLHQ_WHR").Value = tSession.UserName;
SQL.ParamByName("XLXSCLHQ_WHSJ").Value = DateTime.Now;
SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim();
dberp.ExecSQL(SQL);
}
else
{
SQL.Clear();
SQL.Add(" update XLXSCLHQ set XLXSCLHQ_YXQZ = :pYXQZ,XLXSCLHQ_WHRID = :XLXSCLHQ_WHRID, XLXSCLHQ_WHR = :XLXSCLHQ_WHR, XLXSCLHQ_WHSJ = :XLXSCLHQ_WHSJ ");
SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' and XLXSCLHQ_YXQS=:pRQ and XLXSCLHQ_BJCLID = :pBJCLID ");
SQL.ParamByName("pYXQZ").Value = DateTime.Now.AddDays(-1).ToShortDateString().Trim();
SQL.ParamByName("pRQ").Value = dtYXQS;
SQL.ParamByName("XLXSCLHQ_WHRID").Value = tSession.UserId;
SQL.ParamByName("XLXSCLHQ_WHR").Value = tSession.UserName;
SQL.ParamByName("XLXSCLHQ_WHSJ").Value = DateTime.Now;
SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim();
dberp.ExecSQL(SQL);
SQL.Clear();
SQL.Add(" insert into XLXSCLHQ( ");
SQL.Add(" XLXSCLHQ_BJCLID,XLXSCLHQ_JGBID,XLXSCLHQ_YXQS, XLXSCLHQ_WSJG,XLXSCLHQ_HSJG,XLXSCLHQ_HSJGF,XLXSCLHQ_WSJGF,XLXSCLHQ_WSCGJG,XLXSCLHQ_HSCGJG,");
SQL.Add(" XLXSCLHQ_BZ, XLXSCLHQ_WHRID, XLXSCLHQ_WHR, XLXSCLHQ_WHSJ )");
SQL.Add(" values(");
SQL.Add(" :XLXSCLHQ_BJCLID,'ZZZZZZZZ', :XLXSCLHQ_YXQS,0,0,0,0,0,0,");
SQL.Add(" '报价材料停用自动更新行情', :XLXSCLHQ_WHRID, :XLXSCLHQ_WHR, :XLXSCLHQ_WHSJ )");
SQL.ParamByName("XLXSCLHQ_BJCLID").Value = txtBJCLID.Text.Trim();
SQL.ParamByName("XLXSCLHQ_YXQS").Value = DateTime.Now.ToShortDateString().Trim();
SQL.ParamByName("XLXSCLHQ_WHR").Value = tSession.UserName;
SQL.ParamByName("XLXSCLHQ_WHRID").Value = tSession.UserId;
SQL.ParamByName("XLXSCLHQ_WHSJ").Value = DateTime.Now;
dberp.ExecSQL(SQL);
}
}
else
{
SQL.Clear();
SQL.Add(" insert into XLXSCLHQ( ");
SQL.Add(" XLXSCLHQ_BJCLID,XLXSCLHQ_JGBID,XLXSCLHQ_YXQS, XLXSCLHQ_WSJG,XLXSCLHQ_HSJG,XLXSCLHQ_HSJGF,XLXSCLHQ_WSJGF,XLXSCLHQ_WSCGJG,XLXSCLHQ_HSCGJG,");
SQL.Add(" XLXSCLHQ_BZ, XLXSCLHQ_WHRID, XLXSCLHQ_WHR, XLXSCLHQ_WHSJ )");
SQL.Add(" values(");
SQL.Add(" :XLXSCLHQ_BJCLID,'ZZZZZZZZ', :XLXSCLHQ_YXQS,0,0,0,0,0,0,");
SQL.Add(" '报价材料停用自动更新行情', :XLXSCLHQ_WHRID, :XLXSCLHQ_WHR, :XLXSCLHQ_WHSJ )");
SQL.ParamByName("XLXSCLHQ_BJCLID").Value = txtBJCLID.Text.Trim();
SQL.ParamByName("XLXSCLHQ_YXQS").Value = DateTime.Now.ToShortDateString().Trim();
SQL.ParamByName("XLXSCLHQ_WHR").Value = tSession.UserName;
SQL.ParamByName("XLXSCLHQ_WHRID").Value = tSession.UserId;
SQL.ParamByName("XLXSCLHQ_WHSJ").Value = DateTime.Now;
dberp.ExecSQL(SQL);
}
}
#endregion
#region 物料行情
SQL.Clear();
SQL.Add("select XLXSBJCLWL_WLID from XLXSBJCLWL where XLXSBJCLWL_BJCLID = :pBJCLID ");
SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim();
ds.Clear();
ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow trow in ds.Tables[0].Rows)
{
string sWLID = trow["XLXSBJCLWL_WLID"].ToString().Trim();
SQL.Clear();
SQL.Add(" select XLXSWLHQ_YXQS,XLXSWLHQ_YXQZ from XLXSWLHQ where XLXSWLHQ_JGBID=' ' and XLXSWLHQ_WLID = :pWLID order by XLXSWLHQ_YXQS desc ");
SQL.ParamByName("pWLID").Value = sWLID;
DataSet dsWL = dberp.OpenDataSet(SQL);
if (dsWL.Tables[0].Rows.Count > 0)
{
bool bYXHQ = true;
DateTime dtYXQS = CMISproConvert.StrToDateTime(dsWL.Tables[0].Rows[0]["XLXSWLHQ_YXQS"].ToString().Trim());
string sYXQZ = dsWL.Tables[0].Rows[0]["XLXSWLHQ_YXQZ"].ToString().Trim();
if (DateTime.Compare(dtYXQS, DateTime.Now) > 0)
{
bYXHQ = false;
}
else
{
if (!string.IsNullOrEmpty(sYXQZ))
{
DateTime dtYXQZ = CMISproConvert.StrToDateTime(sYXQZ);
dtYXQZ = dtYXQZ.AddDays(1);
if (DateTime.Compare(dtYXQZ, DateTime.Now) <= 0)
bYXHQ = false;
}
}
if (bYXHQ)
{
if (dtYXQS.ToShortDateString().Trim().Equals(DateTime.Now.ToShortDateString().Trim()))
{
SQL.Clear();
SQL.Add(" update XLXSWLHQ set XLXSWLHQ_YXQZ = null,XLXSWLHQ_HSJG = 0,XLXSWLHQ_WSJG = 0,XLXSWLHQ_HSJGF = 0,XLXSWLHQ_WSJGF = 0,XLXSWLHQ_HSCGJG = 0,XLXSWLHQ_WSCGJG = 0, ");
SQL.Add(" XLXSWLHQ_BZ = '报价材料停用自动更新行情', XLXSWLHQ_WHRID = :XLXSWLHQ_WHRID, XLXSWLHQ_WHR = :XLXSWLHQ_WHR, XLXSWLHQ_WHSJ = :XLXSWLHQ_WHSJ ");
SQL.Add(" where XLXSWLHQ_JGBID=' ' and XLXSWLHQ_YXQS=:pRQ and XLXSWLHQ_WLID = :pWLID ");
SQL.ParamByName("pRQ").Value = dtYXQS;
SQL.ParamByName("XLXSWLHQ_WHRID").Value = tSession.UserId;
SQL.ParamByName("XLXSWLHQ_WHR").Value = tSession.UserName;
SQL.ParamByName("XLXSWLHQ_WHSJ").Value = DateTime.Now;
SQL.ParamByName("pWLID").Value = sWLID;
dberp.ExecSQL(SQL);
}
else
{
SQL.Clear();
SQL.Add(" update XLXSWLHQ set XLXSWLHQ_YXQZ = :pYXQZ ,XLXSWLHQ_WHRID = :XLXSWLHQ_WHRID, XLXSWLHQ_WHR = :XLXSWLHQ_WHR, XLXSWLHQ_WHSJ = :XLXSWLHQ_WHSJ ");
SQL.Add(" where XLXSWLHQ_JGBID=' ' and XLXSWLHQ_YXQS=:pRQ and XLXSWLHQ_WLID = :pWLID ");
SQL.ParamByName("pYXQZ").Value = DateTime.Now.AddDays(-1).ToShortDateString().Trim();
SQL.ParamByName("pRQ").Value = dtYXQS;
SQL.ParamByName("XLXSWLHQ_WHRID").Value = tSession.UserId;
SQL.ParamByName("XLXSWLHQ_WHR").Value = tSession.UserName;
SQL.ParamByName("XLXSWLHQ_WHSJ").Value = DateTime.Now;
SQL.ParamByName("pWLID").Value = sWLID;
dberp.ExecSQL(SQL);
SQL.Clear();
SQL.Add(" insert into XLXSWLHQ( ");
SQL.Add(" XLXSWLHQ_WLID,XLXSWLHQ_JGBID,XLXSWLHQ_YXQS, XLXSWLHQ_WSJG,XLXSWLHQ_HSJG,XLXSWLHQ_HSJGF,XLXSWLHQ_WSJGF,XLXSWLHQ_WSCGJG,XLXSWLHQ_HSCGJG,");
SQL.Add(" XLXSWLHQ_BZ, XLXSWLHQ_WHRID, XLXSWLHQ_WHR, XLXSWLHQ_WHSJ )");
SQL.Add(" values(");
SQL.Add(" :XLXSWLHQ_WLID,' ', :XLXSWLHQ_YXQS,0,0,0,0,0,0,");
SQL.Add(" '报价材料停用自动更新行情', :XLXSWLHQ_WHRID, :XLXSWLHQ_WHR, :XLXSWLHQ_WHSJ )");
SQL.ParamByName("XLXSWLHQ_WLID").Value = sWLID;
SQL.ParamByName("XLXSWLHQ_YXQS").Value = DateTime.Now.ToShortDateString().Trim();
SQL.ParamByName("XLXSWLHQ_WHR").Value = tSession.UserName;
SQL.ParamByName("XLXSWLHQ_WHRID").Value = tSession.UserId;
SQL.ParamByName("XLXSWLHQ_WHSJ").Value = DateTime.Now;
dberp.ExecSQL(SQL);
}
}
else
{
SQL.Clear();
SQL.Add(" insert into XLXSWLHQ( ");
SQL.Add(" XLXSWLHQ_WLID,XLXSWLHQ_JGBID,XLXSWLHQ_YXQS, XLXSWLHQ_WSJG,XLXSWLHQ_HSJG,XLXSWLHQ_HSJGF,XLXSWLHQ_WSJGF,XLXSWLHQ_WSCGJG,XLXSWLHQ_HSCGJG,");
SQL.Add(" XLXSWLHQ_BZ, XLXSWLHQ_WHRID, XLXSWLHQ_WHR, XLXSWLHQ_WHSJ )");
SQL.Add(" values(");
SQL.Add(" :XLXSWLHQ_WLID,' ', :XLXSWLHQ_YXQS,0,0,0,0,0,0,");
SQL.Add(" '报价材料停用自动更新行情', :XLXSWLHQ_WHRID, :XLXSWLHQ_WHR, :XLXSWLHQ_WHSJ )");
SQL.ParamByName("XLXSWLHQ_WLID").Value = sWLID;
SQL.ParamByName("XLXSWLHQ_YXQS").Value = DateTime.Now.ToShortDateString().Trim();
SQL.ParamByName("XLXSWLHQ_WHR").Value = tSession.UserName;
SQL.ParamByName("XLXSWLHQ_WHRID").Value = tSession.UserId;
SQL.ParamByName("XLXSWLHQ_WHSJ").Value = DateTime.Now;
dberp.ExecSQL(SQL);
}
}
}
}
#endregion
}
txtOldTYBZ.Value = chkTYBZ.Checked ? "Y" : "N";
if (PageParam.ContainsKey("txtCLID"))
{
DialogOperationScript dos = new DialogOperationScript(this);
dos.SetOwnerControlValue(PageParam.GetRTrimString("txtCLID"), txtBJCLID.Text.Trim());
dos.Execute();
}
return base.Master_AfterSaveAction(sender, e);
}
protected override bool Master_BeforeDeleteAction(object sender, EventArgs e)
{
string sSQL = string.Format(" select XLXSBJCL_BJCLID from XLXSBJCL "
+ " where XLXSBJCL_JGYBJCLID = '{0}' ", txtBJCLID.Text.Trim());
if (CMISproDataBase.ExistsRecord("DBERP", sSQL))
{
ShowMessage(string.Format("报价材料【{0}】已被当作加工原料使用,不允许删除!", txtBJCLID.Text.Trim()));
return false;
}
string sCZBXX = "";
string sWLXX = "";
string sTJYZXX = "";
string sHQFD = "";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" select XLJGCZBLM_JGCZBID,XLJGCZBML_JGCZBMC, ");
SQL.Add(" XLJGCZBLM_JGCZBBBID AS XLJGCZBLM_JGCZBBBID, ");
SQL.Add(" XLJGCZBLM_CZBLMBH,XLJGCZBLM_CZBLMMC ");
SQL.Add(" from XLJGCZBLM,XLJGCZBML ");
SQL.Add(" where XLJGCZBLM_JGCZBID=XLJGCZBML_JGCZBID");
SQL.Add(" and XLJGCZBML_JGCZBBBID = XLJGCZBLM_JGCZBBBID ");
SQL.Add(" and XLJGCZBLM_BJCLID=:pBJCLID ");
SQL.Add(" order by XLJGCZBLM_JGCZBID ");
SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim();
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
sCZBXX = "报价材料涉及如下尺重表,不允许删除:" + "\r\n";
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
sCZBXX += ds.Tables[0].Rows[i][0].ToString().Trim()
+ "|" + ds.Tables[0].Rows[i][1].ToString().Trim()
+ "|" + ds.Tables[0].Rows[i][2].ToString().Trim()
+ "|" + ds.Tables[0].Rows[i][3].ToString().Trim()
+ "|" + ds.Tables[0].Rows[i][4].ToString().Trim() + "\r\n";
}
ShowMessage(sCZBXX);
return false;
}
ds.Clear();
SQL.Clear();
SQL.Add(" select XLXSBJCLWL_WLID,WL_MC,WL_GG, ");
SQL.Add(" WL_TZ,WL_CL ");
SQL.Add(" from XLXSBJCLWL,WL ");
SQL.Add(" where XLXSBJCLWL_WLID=WL_WLID");
SQL.Add(" and XLXSBJCLWL_BJCLID=:pBJCLID ");
SQL.Add(" order by XLXSBJCLWL_WLID ");
SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim();
ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
sWLXX = "报价材料涉及如下报价材料物料,不允许删除:" + "\r\n";
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
sWLXX += ds.Tables[0].Rows[i][0].ToString().Trim()
+ "|" + ds.Tables[0].Rows[i][1].ToString().Trim()
+ "|" + ds.Tables[0].Rows[i][2].ToString().Trim()
+ "|" + ds.Tables[0].Rows[i][3].ToString().Trim()
+ "|" + ds.Tables[0].Rows[i][4].ToString().Trim() + "\r\n";
}
ShowMessage(sWLXX);
return false;
}
ds.Clear();
SQL.Clear();
SQL.Add(" select XLXSJGBYZZ2_JGBID,XLXSJGBYZZ2_CPYT,XLCPYT_CPYTMC,");
SQL.Add(" XLXSJGBYZZ2_DYDJFL,XLXSJGBYZZ2_YZID,XLXSTZYZ_YZMC ");
SQL.Add(" from XLXSJGBYZZ2,XLCPYT,XLXSTZYZ ");
SQL.Add(" where XLXSJGBYZZ2_CPYT=XLCPYT_CPYT ");
SQL.Add(" and XLXSJGBYZZ2_YZID=XLXSTZYZ_YZID and XLXSTZYZ_MXBH='JZJ' and XLXSJGBYZZ2_BJCLID=:pBJCLID ");
SQL.Add(" order by XLXSJGBYZZ2_JGBID,XLXSJGBYZZ2_CPYT,XLXSJGBYZZ2_DYDJFL,XLXSJGBYZZ2_YZID ");
SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim();
ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
sTJYZXX = "报价材料涉及如下销售价格表调价因子值设置,不允许删除:" + "\r\n";
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
sTJYZXX += ds.Tables[0].Rows[i][0].ToString().Trim()
+ "|" + ds.Tables[0].Rows[i][1].ToString().Trim()
+ "|" + ds.Tables[0].Rows[i][2].ToString().Trim()
+ "|" + ds.Tables[0].Rows[i][3].ToString().Trim()
+ "|" + ds.Tables[0].Rows[i][4].ToString().Trim()
+ "|" + ds.Tables[0].Rows[i][5].ToString().Trim() + "\r\n";
}
ShowMessage(sTJYZXX);
return false;
}
ds.Clear();
SQL.Clear();
SQL.Add(" select top 1 XLXSJGBPZ_JGBPZDH from XLXSJGBPZ ");
SQL.Add(" where XLXSJGBPZ_BJCLIDS like :pBJCLID");
SQL.ParamByName("pBJCLID").Value = "%" + txtBJCLID.Text.Trim() + "%";
ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
sHQFD = "此报价材料已经被价格目录配置使用,不允许删除!" + "\r\n";
ShowMessage(sHQFD);
return false;
}
ds.Clear();
SQL.Clear();
SQL.Add(" select top 1 XLXSBJFLBJRHQCL_BJCLID from XLXSBJFLBJRHQCL ");
SQL.Add(" where XLXSBJFLBJRHQCL_BJCLID = :pBJCLID");
SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim();
ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
sHQFD = "此报价材料已经被报价分类引用,不允许删除!" + "\r\n";
ShowMessage(sHQFD);
return false;
}
Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No;
Confirm.Register("askDelete", "报价材料将删除,包含报价材料行情、材料行情分段,是否继续?");
if (Confirm.GetValue("askDelete").Trim().Equals(""))
{
Confirm.Ask("askDelete");
return false;
}
else if (Confirm.GetValue("askDelete").Trim().Equals("N"))
{
//表示进行了提示并选择了取消,直接返回或其他处理
Confirm.Clear();
return false;
}
else if (Confirm.GetValue("askDelete").Trim().Equals("Y"))
{
//表示进行了提示并选择了确认
Confirm.Clear();
}
return base.Master_BeforeDeleteAction(sender, e);
}
protected override void AfterDelete(TDatabase db, ref bool ActionIsDone)
{
db.ExecSQL(string.Format("delete from XLXSCLHQ where XLXSCLHQ_BJCLID ='{0}' ", txtBJCLID.Text.Trim()));
db.ExecSQL(string.Format("delete from XLXSCLHQFD where XLXSCLHQFD_BJCLID ='{0}' ", txtBJCLID.Text.Trim()));
base.AfterDelete(db, ref ActionIsDone);
}
protected override bool Master_AfterDeleteAction(object sender, EventArgs e)
{
return base.Master_AfterDeleteAction(sender, e);
}
protected override void SetControlState()
{
base.SetControlState();
datWHSJ.Enabled = false;
txtWHR.Enabled = false;
txtBJCLID.Enabled = false;
if (ControlState != TControlState.ctsBrowse)
{
if (chkBJJZ.Checked)
{
chkJTZ.Enabled = true;
chkJLZ.Enabled = true;
}
else
{
chkJTZ.Enabled = false;
chkJLZ.Enabled = false;
}
}
}
protected override void SetComboxItems()
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
if (ControlState == TControlState.ctsBrowse)
{
SQL.Clear();
SQL.Add("select XLXSBJCL_BJCLID,XLXSBJCL_BJCLMC ");
SQL.Add(" from XLXSBJCL where XLXSBJCL_BJCLID= :pBJCLID");
SQL.ParamByName("pBJCLID").Value = cbxJGYBJCLID.SelectedValue.Trim();
DataSet ds = dberp.OpenDataSet(SQL);
cbxJGYBJCLID.ClearItems();
cbxJGYBJCLID.Items.Add(new ListItem("", ""));
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
cbxJGYBJCLID.Items.Add(new ListItem(ds.Tables[0].Rows[i]["XLXSBJCL_BJCLMC"].ToString().Trim(), ds.Tables[0].Rows[i]["XLXSBJCL_BJCLID"].ToString().Trim()));
}
}
else
{
SQL.Clear();
if (ControlState == TControlState.ctsEdit)
{
SQL.Add(" select XLXSBJCL_BJCLID,XLXSBJCL_BJCLMC ");
SQL.Add(" from XLXSBJCL");
SQL.Add(" where isnull(XLXSBJCL_BJCLMC,' ')<>' ' and isnull(XLXSBJCL_JGYBJCLID,' ')= ' ' and XLXSBJCL_BJCLID <> :pBJCLID and isnull(XLXSBJCL_TYBZ,'N') <> 'Y' ");
SQL.Add(" order by XLXSBJCL_BJCLID");
SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim();
}
else
{
SQL.Add(" select XLXSBJCL_BJCLID,XLXSBJCL_BJCLMC ");
SQL.Add(" from XLXSBJCL");
SQL.Add(" where isnull(XLXSBJCL_BJCLMC,' ')<>' ' and isnull(XLXSBJCL_JGYBJCLID,' ')= ' ' and isnull(XLXSBJCL_TYBZ,'N') <> 'Y' ");
SQL.Add(" order by XLXSBJCL_BJCLID");
}
DataSet ds = dberp.OpenDataSet(SQL);
cbxJGYBJCLID.Items.Add(new ListItem("", ""));
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
cbxJGYBJCLID.Items.Add(new ListItem((ds.Tables[0].Rows[i][1].ToString().Trim()), (ds.Tables[0].Rows[i][0].ToString().Trim())));
}
}
cbxZCSC.ClearItems();
TComboBox.SetComboBox("DBERP", cbxZCSC, " SELECT distinct XLZCSC_ZCSCID,XLZCSC_ZCSCMC FROM XLZCSC order by XLZCSC_ZCSCID ", true);
base.SetComboxItems();
}
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
string sScript = "";
#region 行情变动频率的快速检索脚本
string sDivSelect = @"
function getPos(el,sProp)
{
var iPos = 0;
while (el!=null)
{
iPos+=el['offset' + sProp]
el = el.offsetParent
}
return iPos;
}
//在客户输入框中自动检索
function edtKeyUp(el,m)
{
if(document.getElementById('" + txtHQBDPL.ClientID + @"').readOnly)
return;
if(event.keyCode == 9)
return;
var sUsers,sRYList,lstBox;
sUSR= el.value;
sUsers=document.getElementById('" + hidHQBDPL.ClientID + @"').value;
lstBox=document.getElementById('lstUSR');
lstBox.length=0;
sRYList=sUsers.split('$$,');
for(var i=0; i<sRYList.length; i++)
{
var sItem,sUSR;
sItem=sRYList[i];
if((sRYList[i].indexOf(sUSR)>=0) || (sRYList[i].indexOf(sUSR.toUpperCase())>=0))
{ var item;
item = sItem.split('↑');
if (item[0] != '')
lstBox.options.add(new Option(item[0]));
}
}
document.getElementById('btnSel').value=el.id;
// event.keyCode=0;
event.returnValue=false;
if(lstBox.length==0)
m.style.display='none';
if(lstBox.length==1)
{
if (lstBox.options[0].text =='')
{m.style.display='none';
}
else if (event.keyCode == 13) m.style.display='none';
else m.style.display='';
}
if(lstBox.length>1)
{
m.style.display='';
}
m.style.pixelLeft =getPos(el,'Left');
if((event.keyCode==40)&&(idSel.style.display==''))
{
var lstBox=document.getElementById('lstUSR');
lstBox.focus();
if(lstBox.length>0)
lstBox.selectedIndex=0;
}
}
var isin=false;
function selectme(obj)
{
if(!isin||obj)
{
idSel.style.display='none';
}
}
function lstUSRClick()
{
var edtSend
var lstBox=document.getElementById('lstUSR');
var ss=lstBox.options[lstBox.selectedIndex].text;
// event.keyCode=0;
event.returnValue=false;
edtSend= document.getElementById(document.getElementById('btnSel').value);
edtSend.value=ss;
idSel.style.display='none';
edtSend.focus();
}
/* 以下使窗体点击时selectme(obj)函数被激活: */
myActivation='selectme(null)';
if(document.body.onclick)
{
eval(document.body.onclick.toString().replace('anonymous()','bodyclick()'));
document.body.onclick=new Function('bodyclick();'+myActivation);
}
else document.body.onclick=new Function(myActivation);
function cc()
{
var e = event.srcElement;
var r =e.createTextRange();
r.moveStart('character',e.value.length);
r.collapse(true);
r.select();
}
";
#endregion
sScript += sDivSelect;
ClientScript.RegisterStartupScript(this.GetType(), "Script_PreRender", sScript, true);
}
#endregion
#region 控件事件
protected void chkBJJZ_CheckedChanged(object sender, EventArgs e)
{
if (chkBJJZ.Checked)
{
chkJTZ.Enabled = true;
chkJLZ.Enabled = true;
}
else
{
chkJTZ.Checked = false;
chkJLZ.Checked = false;
chkJTZ.Enabled = false;
chkJLZ.Enabled = false;
}
}
protected void chkJTZ_CheckedChanged(object sender, EventArgs e)
{
if (chkJTZ.Checked)
{
chkJLZ.Checked = false;
}
}
protected void chkJLZ_CheckedChanged(object sender, EventArgs e)
{
if (chkJLZ.Checked)
{
chkJTZ.Checked = false;
}
}
protected void OncbxZCSCSelectedChanged(object sender, EventArgs e)
{
cbxZCSCPZ.ClearItems();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
sql.Add("SELECT distinct XLZCSC_ZCSCPZ FROM XLZCSC where 1=1 and isnull(XLZCSC_ZCSCPZ, ' ') <> ' '");
if (!cbxZCSC.SelectedValue.Trim().Equals(""))
sql.Add(" and XLZCSC_ZCSCID = '" + cbxZCSC.SelectedValue.Trim() + "' ");
else
sql.Add(" and 1<> 1 ");
sql.Add(" order by XLZCSC_ZCSCPZ ");
DataSet ds = dberp.OpenDataSet(sql);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string sZCSCPZ = ds.Tables[0].Rows[i]["XLZCSC_ZCSCPZ"].ToString().Trim();
cbxZCSCPZ.Items.Add(new ListItem(sZCSCPZ, sZCSCPZ));
}
}
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 = "";
}
}
}
#endregion
#region 自定义事件
private string GetNewBJCLID()
{
string sPrefix = "BJCL00";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Add("select max(XLXSBJCL_BJCLID) from XLXSBJCL where XLXSBJCL_BJCLID like :pPrefix");
SQL.ParamByName("pPrefix").Value = sPrefix + '%';
DataSet ds = dberp.OpenDataSet(SQL);
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0][0].ToString().Trim()))
{
double dTemp = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0][0].ToString().Trim().Substring(6, 4));
return sPrefix + Convert.ToString(dTemp + 1).PadLeft(4, '0');
}
else
{
return sPrefix + "0000";
}
}
private void InitControls()
{
cbxBJHQ.ClearItems();
cbxBJHQ.Items.Add(new ListItem("材料行情", "1"));
cbxBJHQ.Items.Add(new ListItem("物料行情", "2"));
}
private void LoadHQBDPLGroup()
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
StringBuilder sUsers = new StringBuilder();
try
{
TSQL sql = new TSQL(dberp);
DataSet ds;
sql.Clear();
sql.Add("select distinct XLXSBJCL_HQBDPL as HQBDPL from XLXSBJCL ");
ds = dberp.OpenDataSet(sql);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
if (!ds.Tables[0].Rows[i]["HQBDPL"].ToString().Trim().Equals(""))
{
sUsers.Append(ds.Tables[0].Rows[i]["HQBDPL"].ToString().Trim() + "↑" + CMISproConvert.ConvertZJM(ds.Tables[0].Rows[i]["HQBDPL"].ToString().Trim()).ToUpper() + "##" + ds.Tables[0].Rows[i]["HQBDPL"].ToString().Trim() + "$" + "$,");
}
}
}
catch
{
ShowMessage("打开数据集出错,请和系统管理员联系!");
return;
}
finally
{
hidHQBDPL.Text = sUsers.ToString().Trim();
}
}
#endregion
}
}