2180 lines
107 KiB
C#
2180 lines
107 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_MODEL.Page;
|
|
using GThinking.N_MISPRO.Utility;
|
|
using GThinking.N_CONTROL;
|
|
using GThinking.N_MISPRO.Data;
|
|
using GThinking.N_MISPRO.TableCache;
|
|
using GThinking.N_PUBLIC;
|
|
using GThinking.N_MISPRO.Caching;
|
|
using System.Collections.Generic;
|
|
using GThinking.N_MISPROAS.SysData;
|
|
|
|
|
|
namespace GThinking.N_XLXSBJ
|
|
{
|
|
public partial class JGBMLInfo : SingleCardBase
|
|
{
|
|
JGBML entity = new JGBML();
|
|
|
|
#region PageLoad事件
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
this.UMID = 100860018;
|
|
this.UMName = "线缆销售报价价格目录";
|
|
this.CurMaster = Master;
|
|
this.CurEntity = entity;
|
|
this.PageWidth = 580;
|
|
this.PageHeight = 450;
|
|
|
|
txtTBJCLID.DecimalPlaces = XLBJDUtils.BJCLPriceDecimal;
|
|
txtLBJCLID.DecimalPlaces = XLBJDUtils.BJCLPriceDecimal;
|
|
|
|
base.InitPage();
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 模板继承事件
|
|
|
|
protected override bool CanInsert()
|
|
{
|
|
if (txtMXBH.Value.Trim().Equals("JGD"))
|
|
return false;
|
|
return base.CanInsert();
|
|
}
|
|
|
|
protected override bool CanEdit()
|
|
{
|
|
if (txtMXBH.Value.Trim().Equals("JGD"))
|
|
return false;
|
|
if (txtJGBID.Text.Trim().Equals("00000000"))//00000000|价格表调价因子价格表
|
|
{
|
|
return false;
|
|
}
|
|
return base.CanEdit();
|
|
}
|
|
|
|
protected override bool CanDelete()
|
|
{
|
|
if (txtMXBH.Value.Trim().Equals("JGD"))
|
|
return false;
|
|
if (txtJGBID.Text.Trim().Equals("00000000"))//00000000|价格表调价因子价格表
|
|
{
|
|
return false;
|
|
}
|
|
return base.CanDelete();
|
|
}
|
|
|
|
protected override void SetControlState()
|
|
{
|
|
base.SetControlState();
|
|
txtJGBID.Enabled = false;
|
|
datWHSJ.Enabled = false;
|
|
txtWHR.Enabled = false;
|
|
cbxTJR.Enabled = false;
|
|
cbxTJZT.Enabled = false;
|
|
cbxDRZT.Enabled = false;
|
|
datTJKSSJ.Enabled = false;
|
|
datTJWCSJ.Enabled = false;
|
|
|
|
btnXLXSJGBMX.Enabled = ControlState == TControlState.ctsBrowse;
|
|
lblTBJCLID.Enabled = ControlState == TControlState.ctsBrowse;
|
|
lblLBJCLID.Enabled = ControlState == TControlState.ctsBrowse;
|
|
btnTBZXSJGB.Enabled = ControlState == TControlState.ctsBrowse;
|
|
|
|
btnQXTJ.Enabled = (ControlState == TControlState.ctsBrowse && cbxTJR.SelectedValue.Trim().Equals(tSession.UserId));
|
|
if (cbxTJZT.SelectedValue.Trim().Equals("W") || cbxTJZT.SelectedValue.Trim().Equals("J"))
|
|
btnQXTJ.Visible = true;
|
|
else
|
|
btnQXTJ.Visible = false;
|
|
|
|
btnBJJGB.Enabled = ControlState == TControlState.ctsBrowse;
|
|
if (txtMXBH.Value.Trim().Equals("JGC"))
|
|
btnBJJGB.Visible = true;
|
|
else
|
|
btnBJJGB.Visible = false;
|
|
|
|
if ((txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC")) && CheckXSJGB())
|
|
btnTBZXSJGB.Visible = true;
|
|
else
|
|
btnTBZXSJGB.Visible = false;
|
|
txtTBJCLID.Enabled = false;
|
|
txtLBJCLID.Enabled = false;
|
|
if (ControlState != TControlState.ctsBrowse && ControlState != TControlState.ctsNull)
|
|
{
|
|
if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC"))
|
|
{
|
|
if (cbxJJLY.SelectedValue.Trim() == "D" && txtJGBIDS.Value.Trim().Equals(""))
|
|
{
|
|
txtTBJCLID.Enabled = true;
|
|
txtLBJCLID.Enabled = true;
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (ControlState == TControlState.ctsEdit)
|
|
{
|
|
if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC"))
|
|
{
|
|
cbxJJLY.Enabled = true;
|
|
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGBPZJGB where XLXSJGBPZJGB_JGBID='{0}'", txtJGBID.Text.Trim())))
|
|
{
|
|
cbxTJYS.Enabled = false;
|
|
}
|
|
string sSQL1 = string.Format("select TOP 1 XLXSJGBMX_JGBID from XLXSJGBMX where XLXSJGBMX_JGBID='{0}'", txtJGBID.Text.Trim());
|
|
//string sSQL2 = string.Format("SELECT 1 FROM XLXSJGB LEFT JOIN XLXSCPML ON XLXSCPML_CPMLID = XLXSJGB_CPMLID where XLXSCPML_CPMLLX='Y' and XLXSJGB_JGBID = '{0}' and XLXSJGB_MXBH = 'JGB' ", txtJGBID.Text.Trim());
|
|
//存在价格表明细
|
|
bool bExistsXLXSJGBMX = CMISproDataBase.ExistsRecord("DBERP", sSQL1);
|
|
//值域:Y|组合产品目录、N|单一产品目录
|
|
//bool bZHCPMLLX = CMISproDataBase.ExistsRecord("DBERP", sSQL2);
|
|
|
|
//if (bExistsXLXSJGBMX || bZHCPMLLX)
|
|
if (bExistsXLXSJGBMX)
|
|
{
|
|
cbxBJLY.Enabled = false;
|
|
}
|
|
else
|
|
{
|
|
cbxBJLY.Enabled = true;
|
|
}
|
|
|
|
if (bExistsXLXSJGBMX)
|
|
{
|
|
cbxTJYS.Enabled = false;
|
|
cbxJJLY.Enabled = false;
|
|
}
|
|
|
|
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGB where ','||rtrim(isnull(XLXSJGB_JGCIDS,' '))||',' like '{0}'", "%," + txtJGBID.Text.Trim() + ",%"))
|
|
|| CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGB where isnull(XLXSJGB_JGCIDS,' ')<>' ' and XLXSJGB_JGBID='{0}'", txtJGBID.Text.Trim())))
|
|
{
|
|
cbxCPMLID.Enabled = false;
|
|
}
|
|
else
|
|
cbxCPMLID.Enabled = true;
|
|
}
|
|
else
|
|
{
|
|
cbxJJLY.Enabled = false;
|
|
cbxBJLY.Enabled = false;
|
|
cbxCPMLID.Enabled = false;
|
|
}
|
|
}
|
|
else if (ControlState == TControlState.ctsInsert || ControlState == TControlState.ctsCopy)
|
|
{
|
|
txtJGBMC.Enabled = true;
|
|
if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC"))
|
|
{
|
|
cbxJJLY.Enabled = true;
|
|
cbxBJLY.Enabled = true;
|
|
cbxCPMLID.Enabled = true;
|
|
}
|
|
else
|
|
{
|
|
cbxJJLY.Enabled = false;
|
|
cbxBJLY.Enabled = false;
|
|
cbxCPMLID.Enabled = false;
|
|
}
|
|
}
|
|
|
|
if (ControlState != TControlState.ctsBrowse)
|
|
{
|
|
if (cbxBJLY.SelectedValue.Trim().Equals("J"))
|
|
cbxJSBLFS.Enabled = true;
|
|
else
|
|
cbxJSBLFS.Enabled = false;
|
|
|
|
//if (cbxBJLY.SelectedValue.Trim().Equals("C"))
|
|
// cbxJGCIDS.Enabled = true;
|
|
//else
|
|
//{
|
|
// cbxJGCIDS.Enabled = false;
|
|
//}
|
|
}
|
|
if (cbxTJYS.SelectedValue.Trim().Equals("1") && cbxBJLY.SelectedValue.Trim().Equals("J") && cbxJJLY.SelectedValue.Equals("A"))
|
|
{
|
|
cbxWSJGLY.ClearItems();
|
|
cbxWSJGLY.Items.Add(new ListItem("1|无税材料价格", "1"));
|
|
cbxWSJGLY.Items.Add(new ListItem("2|含税价格×(1-税率%)", "2"));
|
|
lblWSJGLY.Visible = true;
|
|
cbxWSJGLY.Visible = true;
|
|
lblSL.Visible = true;
|
|
txtSL.Visible = true;
|
|
lblFH.Visible = true;
|
|
}
|
|
else
|
|
{
|
|
cbxWSJGLY.SelectedValue = "";
|
|
txtSL.Value = 0;
|
|
lblWSJGLY.Visible = false;
|
|
cbxWSJGLY.Visible = false;
|
|
lblSL.Visible = false;
|
|
txtSL.Visible = false;
|
|
lblFH.Visible = false;
|
|
}
|
|
|
|
if (txtMXBH.Value.Trim().Equals("JGE"))
|
|
{
|
|
datYXQS.Enabled = false;
|
|
datYXQZ.Enabled = false;
|
|
cbxTJYS.Enabled = false;
|
|
}
|
|
|
|
if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC") || txtMXBH.Value.Trim().Equals("JGF"))
|
|
{
|
|
btnXLXSJGBMX.Enabled = true;
|
|
}
|
|
else
|
|
btnXLXSJGBMX.Enabled = false;
|
|
|
|
if (txtMXBH.Value.Trim().Equals("JGF"))
|
|
{
|
|
cbxTJYS.Enabled = false;
|
|
cbxJJLY.Enabled = false;
|
|
cbxBJLY.Enabled = false;
|
|
cbxJSBLFS.Enabled = false;
|
|
lblTBJCLID.Enabled = false;
|
|
lblLBJCLID.Enabled = false;
|
|
}
|
|
|
|
if (txtMXBH.Value.Trim().Equals("JGB") && cbxTJYS.SelectedValue.Trim().Equals("3") && ControlState == TControlState.ctsBrowse)
|
|
{
|
|
btnCOPY3.Visible = true;
|
|
}
|
|
else
|
|
btnCOPY3.Visible = false;
|
|
|
|
if ((cbxJJLY.SelectedValue.Trim().Equals("D") && txtJGBIDS.Value.Trim().Equals("")) || cbxBJLY.SelectedValue.Trim().Equals("D"))
|
|
cbxMXPXFS.Enabled = false;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
protected override void LoadRecord()
|
|
{
|
|
if (!IsPostBack)
|
|
{
|
|
entity.Param.Add("XLXSJGB_MXBH", PageParam.GetRTrimString("XLXSJGB_MXBH"));
|
|
entity.Param.Add("XLXSJGB_JGBID", PageParam.GetRTrimString("XLXSJGB_JGBID"));
|
|
}
|
|
else
|
|
{
|
|
entity.Param.Add("XLXSJGB_MXBH", txtMXBH.Value.Trim());
|
|
entity.Param.Add("XLXSJGB_JGBID", txtJGBID.Text.Trim());
|
|
}
|
|
base.LoadRecord();
|
|
InitJSGS();
|
|
txtOLDTJYS.Value = cbxTJYS.SelectedValue.Trim().Equals("") ? " " : cbxTJYS.SelectedValue.Trim();
|
|
txtOLDJGBMC.Value = txtJGBMC.Text.Trim();
|
|
txtOLDBJLY.Value = cbxBJLY.SelectedValue.Trim();
|
|
txtMXPXFS.Value = cbxMXPXFS.SelectedValue.Trim();
|
|
string sTBJCLID = "";
|
|
string sLBJCLID = "";
|
|
string sJGBID = txtJGBID.Text.Trim();
|
|
if (txtMXBH.Value.Equals("JGB") || txtMXBH.Value.Equals("JGC"))
|
|
{
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
GetTLBJCLID(dberp, SQL, ref sTBJCLID, ref sLBJCLID);
|
|
if (!sTBJCLID.Equals(""))
|
|
{
|
|
SQL.Clear();
|
|
SQL.Add("SELECT XLXSCLHQ_HSJG from XLXSCLHQ where XLXSCLHQ_JGBID=:pJGBID and XLXSCLHQ_BJCLID=:pBJCLID and XLXSCLHQ_YXQS = convert(datetime,'1900-01-01 00:00:00')");
|
|
SQL.ParamByName("pJGBID").Value = sJGBID;
|
|
SQL.ParamByName("pBJCLID").Value = sTBJCLID;
|
|
DataSet ds = dberp.OpenDataSet(SQL);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
txtTBJCLID.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0][0].ToString().Trim());
|
|
}
|
|
}
|
|
if (!sLBJCLID.Equals(""))
|
|
{
|
|
SQL.Clear();
|
|
SQL.Add("SELECT XLXSCLHQ_HSJG from XLXSCLHQ where XLXSCLHQ_JGBID=:pJGBID and XLXSCLHQ_BJCLID=:pBJCLID and XLXSCLHQ_YXQS = convert(datetime,'1900-01-01 00:00:00')");
|
|
SQL.ParamByName("pJGBID").Value = sJGBID;
|
|
SQL.ParamByName("pBJCLID").Value = sLBJCLID;
|
|
DataSet ds = dberp.OpenDataSet(SQL);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
txtLBJCLID.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0][0].ToString().Trim());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
protected override void OnNewRecorder()
|
|
{
|
|
base.OnNewRecorder();
|
|
txtJSGS.Value = "";
|
|
txtWHR.Text = tSession.UserName.ToString().Trim();
|
|
txtWHRID.Value = tSession.UserId.ToString().Trim();
|
|
datWHSJ.Value = CMISproConvert.ConvertTime(System.DateTime.Now.ToString());
|
|
|
|
txtMXBH.Value = PageParam.GetRTrimString("FLID");
|
|
if (txtMXBH.Value.Equals(""))
|
|
txtMXBH.Value = PageParam.GetRTrimString("XLXSJGB_MXBH");
|
|
|
|
if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC"))
|
|
{
|
|
cbxBJLY.SelectedValue = "J";
|
|
cbxJSBLFS.SelectedValue = "R";
|
|
}
|
|
else
|
|
{
|
|
cbxBJLY.SelectedValue = "";
|
|
cbxJSBLFS.SelectedValue = "";
|
|
}
|
|
if (txtMXBH.Value.Trim().Equals("JGF"))
|
|
{
|
|
cbxBJLY.SelectedValue = "D";
|
|
}
|
|
if (PageParam.GetRTrimString("FROM").Equals("BJJGBList"))//新建组合产品目录价格表
|
|
{
|
|
cbxTJYS.SelectedValue = "1";//1|表价(出厂价)=基价(材料价)&调价
|
|
cbxTJYS_SelectedIndexChanged(null, null);
|
|
|
|
cbxBJLY.SelectedValue = "C";//C|基价价格表表价
|
|
cbxCPMLID.SelectedValue = PageParam.GetRTrimString("DefCPMLID");
|
|
}
|
|
if (!txtMXBH.Value.Trim().Equals("JGE"))
|
|
datYXQS.Text = CMISproConvert.ConvertDate(System.DateTime.Today);
|
|
if(IsJGBMRBSX())
|
|
datYXQS.Text = CMISproConvert.ConvertDate(CMISproConvert.StrToDateTime("2099-01-01").Date);
|
|
|
|
}
|
|
|
|
protected override void OnCopyRecorder()
|
|
{
|
|
base.OnCopyRecorder();
|
|
txtMXBH.Value = PageParam.GetRTrimString("FLID");
|
|
if (txtMXBH.Value.Equals(""))
|
|
txtMXBH.Value = PageParam.GetRTrimString("XLXSJGB_MXBH");
|
|
if (!txtMXBH.Value.Trim().Equals("JGE"))
|
|
datYXQS.Text = CMISproConvert.ConvertDate(System.DateTime.Today);
|
|
datYXQZ.Text = "";
|
|
cbxTJR.SelectedValue = "";
|
|
cbxTJZT.SelectedValue = "";
|
|
cbxDRZT.SelectedValue = "";
|
|
datTJKSSJ.Text = "";
|
|
datTJWCSJ.Text = "";
|
|
txtWHR.Text = tSession.UserName.ToString().Trim();
|
|
txtWHRID.Value = tSession.UserId.ToString().Trim();
|
|
datWHSJ.Value = CMISproConvert.ConvertTime(System.DateTime.Now.ToString());
|
|
txtCOPYJGBID.Value = txtOLDJGBID.Value;
|
|
if (IsJGBMRBSX())
|
|
datYXQS.Text = CMISproConvert.ConvertDate(CMISproConvert.StrToDateTime("2099-01-01").Date);
|
|
}
|
|
|
|
protected override bool DataLogicValid()
|
|
{
|
|
if (!base.DataLogicValid()) return false;
|
|
if (datYXQS.Text.Trim().Equals("") && !txtMXBH.Value.Trim().Equals("JGE"))
|
|
{
|
|
ShowMessage("有效期始不允许为空!");
|
|
return false;
|
|
}
|
|
if (!datYXQS.Text.Trim().Equals("") && !datYXQZ.Text.Trim().Equals("") && CMISproConvert.StrToDateTime(datYXQS.Text) > CMISproConvert.StrToDateTime(datYXQZ.Text))
|
|
{
|
|
ShowMessage("有效期始不允许大于有效期止!");
|
|
return false;
|
|
}
|
|
//报价单/价格表--调价表、JGE不再校验调价因素
|
|
if (!txtMXBH.Value.Trim().Equals("JZJ") && !txtMXBH.Value.Trim().Equals("BJD") && !txtMXBH.Value.Trim().Equals("JGE") && !txtMXBH.Value.Trim().Equals("JGF"))
|
|
{
|
|
if (cbxTJYS.SelectedValue.Trim().Equals(""))
|
|
{
|
|
ShowMessage("调价因素不允许为空!");
|
|
return false;
|
|
}
|
|
}
|
|
if (!cbxTJYS.SelectedValue.Trim().Equals(txtOLDTJYS.Value.Trim()) && (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC")))
|
|
{
|
|
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGBMX where XLXSJGBMX_JGBID='{0}'", txtJGBID.Text.Trim())))
|
|
{
|
|
ShowMessage("已有明细记录不能修改调价因素!");
|
|
return false;
|
|
}
|
|
}
|
|
//另外,若调价因素为“2|表价(区域价)=基价(出厂价)&调价”,价格表已维护“基价(出厂价)”或“适用区域”,也要有相应提示,也不能修改。
|
|
if(txtOLDTJYS.Value.Trim().Equals("2") && !cbxTJYS.SelectedValue.Trim().Equals("2"))
|
|
{
|
|
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGB where XLXSJGB_MXBH='{0}' and XLXSJGB_JGBID='{1}' and (ISNULL(XLXSJGB_JGBIDS,' ')<>' ' or ISNULL(XLXSJGB_XSQYIDS,' ')<>' ')", txtMXBH.Value.Trim(), txtJGBID.Text.Trim())))
|
|
{
|
|
ShowMessage("价格表已维护“基价(出厂价)”或“适用区域”,不允许修改调价因素!");
|
|
return false;
|
|
}
|
|
}
|
|
//
|
|
if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC"))
|
|
{
|
|
if (cbxBJLY.SelectedValue.Trim().Equals(""))
|
|
{
|
|
ShowMessage("表价来源不允许为空!");
|
|
return false;
|
|
}
|
|
if (cbxJJLY.SelectedValue.Trim().Equals(""))
|
|
{
|
|
ShowMessage("基价来源不允许为空!");
|
|
return false;
|
|
}
|
|
if (cbxBJLY.SelectedValue.Trim().Equals("J") && cbxJSBLFS.SelectedValue.Trim().Equals(""))
|
|
{
|
|
ShowMessage("表价来源为“J|按调价因素计算”,计算保留方式--不允许为空!");
|
|
return false;
|
|
}
|
|
string sSQL = string.Format("select 1 from XLXSJGBYZ where XLXSJGBYZ_JGBID = '{0}' ", txtJGBID.Text.Trim());
|
|
if (CMISproDataBase.ExistsRecord("DBERP", sSQL) && cbxBJLY.SelectedValue.Trim().Equals("D"))
|
|
{
|
|
ShowMessage("表价来源为直接导入时,不允许设置调价因子,请先删除调价因子!");
|
|
return false;
|
|
}
|
|
if (cbxBJLY.SelectedValue.Trim().Equals("C"))
|
|
{
|
|
if (cbxCPMLID.SelectedValue.Trim().Equals(""))
|
|
{
|
|
ShowMessage("“表价来源”为“C|基价价格表表价”时,产品目录不允许为空!");
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
string sSQL1 = string.Format("SELECT 1 FROM XLXSCPML where ISNULL(XLXSCPML_CPMLLX,' ') <> 'Y' and XLXSCPML_CPMLID = '{0}' ", cbxCPMLID.SelectedValue.Trim());
|
|
if (CMISproDataBase.ExistsRecord("DBERP", sSQL1))
|
|
{
|
|
ShowMessage("“表价来源”为“C|基价价格表表价”时,必须选择组合产品目录!");
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (ControlState == TControlState.ctsCopy)
|
|
{
|
|
if(!txtOLDBJLY.Value.Trim().Equals(cbxBJLY.SelectedValue.Trim()))
|
|
{
|
|
ShowMessage("只允许复制相同表价来源的价格目录!");
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
if (ControlState == TControlState.ctsCopy)
|
|
{
|
|
ctrlState.Value = "C";
|
|
|
|
if (IsJGBMRBSX())
|
|
{
|
|
ctrlState.Value = "CN";
|
|
}
|
|
else
|
|
{
|
|
if (!txtMXBH.Value.Trim().Equals("JGE") && !txtMXBH.Value.Trim().Equals("JGF"))
|
|
{
|
|
string sbefore_JGBID = PageParam.GetRTrimString("XLXSJGB_JGBID");
|
|
//被复制的价格表与当前价格表存在交集
|
|
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGB where XLXSJGB_MXBH='{2}' and XLXSJGB_JGBID='{0}' and XLXSJGB_YXQS<='{1}' and (XLXSJGB_YXQZ is null or XLXSJGB_YXQZ>='{1}')",
|
|
sbefore_JGBID, datYXQS.Text, txtMXBH.Value.Trim())))
|
|
{
|
|
Confirm.Register("ask", string.Format("被复制价格表[{0}]是否需要自动失效?", sbefore_JGBID));
|
|
Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No;
|
|
if (Confirm.GetValue("ask").Trim().Equals(""))
|
|
{
|
|
Confirm.Ask("ask");
|
|
return false;
|
|
}
|
|
else if (Confirm.GetValue("ask").Trim().Equals("N"))
|
|
{
|
|
Confirm.Clear();
|
|
ctrlState.Value = "CN";
|
|
}
|
|
else if (Confirm.GetValue("ask").Trim().Equals("Y"))
|
|
{
|
|
Confirm.Clear();
|
|
ctrlState.Value = "CY";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else if (ControlState == TControlState.ctsInsert)
|
|
{
|
|
ctrlState.Value = "I";
|
|
}
|
|
else if (ControlState == TControlState.ctsEdit)
|
|
{
|
|
ctrlState.Value = "E";
|
|
}
|
|
|
|
if (txtMXBH.Value.Trim().Equals("JGF"))
|
|
{
|
|
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGB where XLXSJGB_MXBH='{2}' and XLXSJGB_JGBID<>'{0}' and XLXSJGB_YXQS= '{1}'",
|
|
txtJGBID.Text.Trim(), datYXQS.Text, txtMXBH.Value.Trim())))
|
|
{
|
|
ShowMessage("已存在相同有效期始的价格表,不允许保存!");
|
|
return false;
|
|
}
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
SQL.Add(string.Format("select XLXSJGB_JGBID from XLXSJGB where XLXSJGB_MXBH='{2}' and XLXSJGB_JGBID<>'{0}' and XLXSJGB_YXQS<'{1}' and (XLXSJGB_YXQZ is null or XLXSJGB_YXQZ>='{1}')",
|
|
txtJGBID.Text.Trim(), datYXQS.Text, txtMXBH.Value.Trim()));
|
|
DataSet ds = dberp.OpenDataSet(SQL);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
string sOldJGBID = ds.Tables[0].Rows[0]["XLXSJGB_JGBID"].ToString().Trim();
|
|
Confirm.Register("ask", string.Format("有效期重叠的价格表[{0}]需要自动设置有效期止,是否确认?", sOldJGBID));
|
|
Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No;
|
|
if (Confirm.GetValue("ask").Trim().Equals(""))
|
|
{
|
|
Confirm.Ask("ask");
|
|
return false;
|
|
}
|
|
else if (Confirm.GetValue("ask").Trim().Equals("N"))
|
|
{
|
|
Confirm.Clear();
|
|
return false;
|
|
}
|
|
else if (Confirm.GetValue("ask").Trim().Equals("Y"))
|
|
{
|
|
ctrlState.Value = "IY";
|
|
Confirm.Clear();
|
|
}
|
|
}
|
|
|
|
if (ControlState == TControlState.ctsCopy)
|
|
{
|
|
ctrlState.Value = "CY";
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
protected override bool Master_BeforeSaveAction(object sender, EventArgs e)
|
|
{
|
|
//if (txtMXBH.Value.Trim().Equals("JZJ") || txtMXBH.Value.Trim().Equals("BJD"))
|
|
//{
|
|
// if (cbxTJYS.SelectedValue.Trim().Equals(""))
|
|
// {
|
|
// ShowMessage("调价因素--不允许为空!");
|
|
// return false;
|
|
// }
|
|
//}
|
|
|
|
if (ControlState == TControlState.ctsInsert || ControlState == TControlState.ctsCopy)
|
|
{
|
|
if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC") || txtMXBH.Value.Trim().Equals("JGE") || txtMXBH.Value.Trim().Equals("JGF"))//不管JGB\JGC\JGE\JGF,都按JGB进行编码,否则两者编码重复,后续所有明细表都得加MXBH
|
|
txtJGBID.Text = getNewJGBBH();
|
|
else if (txtMXBH.Value.Trim().Equals("JZJ") || txtMXBH.Value.Trim().Equals("BJD"))
|
|
txtJGBID.Text = getNewTJBBH(txtMXBH.Value.Trim(), cbxTJYS.SelectedValue.Trim());
|
|
}
|
|
else
|
|
{
|
|
if (txtMXBH.Value.Trim().Equals("JZJ") || txtMXBH.Value.Trim().Equals("BJD"))
|
|
{
|
|
if (!txtOLDTJYS.Value.Trim().Equals(cbxTJYS.SelectedValue.Trim()))
|
|
{
|
|
txtJGBID.Text = getNewTJBBH(txtMXBH.Value.Trim(), cbxTJYS.SelectedValue.Trim());
|
|
}
|
|
}
|
|
}
|
|
txtWHR.Text = tSession.UserName.Trim();
|
|
txtWHRID.Value = tSession.UserId.Trim();
|
|
datWHSJ.Value = CMISproConvert.ConvertTime(System.DateTime.Now.ToString());
|
|
|
|
return base.Master_BeforeSaveAction(sender, e);
|
|
}
|
|
|
|
protected override void AfterSave(TDatabase db, ref bool ActionIsDone)
|
|
{
|
|
TSQL SQL = new TSQL(db);
|
|
if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC"))
|
|
{
|
|
if (!txtOLDJGBMC.Value.Equals(txtJGBMC.Text.Trim()) && ControlState == TControlState.ctsEdit)
|
|
{
|
|
SQL.Clear();
|
|
SQL.Add(" update XLXSJGBPZJGB set XLXSJGBPZJGB_JGBMC=:pJGBMC where XLXSJGBPZJGB_JGBID=:pJGBID ");
|
|
SQL.ParamByName("pJGBMC").Value = txtJGBMC.Text.Trim();
|
|
SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim();
|
|
db.ExecSQL(SQL);
|
|
}
|
|
}
|
|
|
|
base.AfterSave(db, ref ActionIsDone);
|
|
}
|
|
|
|
protected override bool Master_AfterSaveAction(object sender, EventArgs e)
|
|
{
|
|
txtOLDJGBID.Value = txtJGBID.Text.Trim();
|
|
txtOLDJGBMC.Value = txtJGBMC.Text.Trim();
|
|
txtOLDTJYS.Value = cbxTJYS.SelectedValue.Trim().Equals("") ? " " : cbxTJYS.SelectedValue.Trim();
|
|
txtOLDBJLY.Value = cbxBJLY.SelectedValue.Trim();
|
|
btnGXGS_Click(null, null);
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
string sJGBID = txtJGBID.Text.Trim();
|
|
string sJJLY = cbxJJLY.SelectedValue.Trim();
|
|
string sTJYS = cbxTJYS.SelectedValue.Trim();
|
|
string sTBJCLID = "";
|
|
string sLBJCLID = "";
|
|
GetTLBJCLID(dberp, SQL, ref sTBJCLID, ref sLBJCLID);
|
|
|
|
if (sJJLY.Equals("D")&&txtJGBIDS.Value.Trim().Equals(""))
|
|
{
|
|
if (!sTBJCLID.Equals(""))
|
|
{
|
|
SQL.Clear();
|
|
SQL.Add("delete from XLXSCLHQ where XLXSCLHQ_JGBID=:pJGBID and XLXSCLHQ_BJCLID=:pBJCLID and XLXSCLHQ_YXQS = convert(datetime,'1900-01-01 00:00:00') ");
|
|
SQL.ParamByName("pJGBID").Value = sJGBID;
|
|
SQL.ParamByName("pBJCLID").Value = sTBJCLID;
|
|
dberp.ExecSQL(SQL);
|
|
|
|
SQL.Clear();
|
|
SQL.Add("insert into XLXSCLHQ(XLXSCLHQ_JGBID,XLXSCLHQ_BJCLID,XLXSCLHQ_HSJG,XLXSCLHQ_WSJG,XLXSCLHQ_WSJGF,XLXSCLHQ_HSJGF,");
|
|
SQL.Add(" XLXSCLHQ_JGYBJCLID1,XLXSCLHQ_HSJG1,XLXSCLHQ_WSJG1,XLXSCLHQ_JGBL1,");
|
|
SQL.Add(" XLXSCLHQ_YXQS,XLXSCLHQ_YXQZ,XLXSCLHQ_BZ,XLXSCLHQ_WHRID,XLXSCLHQ_WHR,XLXSCLHQ_WHSJ) ");
|
|
SQL.Add("select :pJGBID as JGBID,XLXSBJCL_BJCLID as BJCLID,:pHSJG as HSJG,round(:pHSJG/(1+XLXSBJCL_ZZSL/100),3) as CLJG,0.0 as WSJGF,0.0 as HSJGF,");
|
|
SQL.Add(" ' ' as JGYBJCLID1,:pHSJG as HSJG1,round(:pHSJG/(1+XLXSBJCL_ZZSL),3) as WSJG1,1 as JGBL1, ");
|
|
SQL.Add(" convert(datetime,'1900-01-01 00:00:00') as YXQS,convert(datetime,'1900-01-01 00:00:00') as YXQZ,");
|
|
SQL.Add(" ' ' as BZ,:pWHRID as WHRID,:pWHR as WHR,:pWHSJ as WHSJ ");
|
|
SQL.Add("from XLXSBJCL ");
|
|
SQL.Add("where XLXSBJCL_BJCLID=:pBJCLID ");
|
|
SQL.ParamByName("pJGBID").Value = sJGBID;
|
|
SQL.ParamByName("pHSJG").Value = txtTBJCLID.Value;
|
|
SQL.ParamByName("pWHR").Value = tSession.UserName;
|
|
SQL.ParamByName("pWHRID").Value = tSession.UserId;
|
|
SQL.ParamByName("pWHSJ").Value = DateTime.Now;
|
|
SQL.ParamByName("pBJCLID").Value = sTBJCLID;
|
|
dberp.ExecSQL(SQL);
|
|
}
|
|
if (!sLBJCLID.Equals(""))
|
|
{
|
|
SQL.Clear();
|
|
SQL.Add("delete from XLXSCLHQ where XLXSCLHQ_JGBID=:pJGBID and XLXSCLHQ_BJCLID=:pBJCLID and XLXSCLHQ_YXQS = convert(datetime,'1900-01-01 00:00:00') ");
|
|
SQL.ParamByName("pJGBID").Value = sJGBID;
|
|
SQL.ParamByName("pBJCLID").Value = sLBJCLID;
|
|
dberp.ExecSQL(SQL);
|
|
|
|
SQL.Clear();
|
|
SQL.Add("insert into XLXSCLHQ(XLXSCLHQ_JGBID,XLXSCLHQ_BJCLID,XLXSCLHQ_HSJG,XLXSCLHQ_WSJG,XLXSCLHQ_WSJGF,XLXSCLHQ_HSJGF,");
|
|
SQL.Add(" XLXSCLHQ_JGYBJCLID1,XLXSCLHQ_HSJG1,XLXSCLHQ_WSJG1,XLXSCLHQ_JGBL1,");
|
|
SQL.Add(" XLXSCLHQ_YXQS,XLXSCLHQ_YXQZ,XLXSCLHQ_BZ,XLXSCLHQ_WHRID,XLXSCLHQ_WHR,XLXSCLHQ_WHSJ) ");
|
|
SQL.Add("select :pJGBID as JGBID,XLXSBJCL_BJCLID as BJCLID,:pHSJG as HSJG,round(:pHSJG/(1+XLXSBJCL_ZZSL/100),3) as CLJG,0.0 as WSJGF,0.0 as HSJGF,");
|
|
SQL.Add(" ' ' as JGYBJCLID1,:pHSJG as HSJG1,round(:pHSJG/(1+XLXSBJCL_ZZSL),3) as WSJG1,1 as JGBL1, ");
|
|
SQL.Add(" convert(datetime,'1900-01-01 00:00:00') as YXQS,convert(datetime,'1900-01-01 00:00:00') as YXQZ,");
|
|
SQL.Add(" ' ' as BZ,:pWHRID as WHRID,:pWHR as WHR,:pWHSJ as WHSJ ");
|
|
SQL.Add("from XLXSBJCL ");
|
|
SQL.Add("where XLXSBJCL_BJCLID=:pBJCLID ");
|
|
SQL.ParamByName("pJGBID").Value = sJGBID;
|
|
SQL.ParamByName("pHSJG").Value = txtLBJCLID.Value;
|
|
SQL.ParamByName("pWHR").Value = tSession.UserName;
|
|
SQL.ParamByName("pWHRID").Value = tSession.UserId;
|
|
SQL.ParamByName("pWHSJ").Value = DateTime.Now;
|
|
SQL.ParamByName("pBJCLID").Value = sLBJCLID;
|
|
dberp.ExecSQL(SQL);
|
|
}
|
|
}
|
|
|
|
if (ctrlState.Value.Equals("C") || ctrlState.Value.Equals("CN") || ctrlState.Value.Equals("CY"))//复制保存
|
|
{
|
|
string sbefore_JGBID = txtCOPYJGBID.Value;
|
|
|
|
if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC"))
|
|
{
|
|
if (!sJJLY.Equals("D"))
|
|
{
|
|
//复制主表记录时,同步复制明细记录
|
|
SQL.Clear();
|
|
SQL.Add("insert into XLXSJGBMX(XLXSJGBMX_JGBID,XLXSJGBMX_XH,XLXSJGBMX_YXQS,XLXSJGBMX_YXQZ,XLXSJGBMX_HSJJ,XLXSJGBMX_WSJJ,XLXSJGBMX_HSBJ,XLXSJGBMX_WSBJ,XLXSJGBMX_HSJJM,XLXSJGBMX_HSBJM,XLXSJGBMX_WSJJM,XLXSJGBMX_WSBJM,");
|
|
SQL.Add(" XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID,XLXSJGBMX_DYDJID,XLXSJGBMX_WHR,XLXSJGBMX_WHRID,XLXSJGBMX_WHSJ,XLXSJGBMX_SYXH,XLXSJGBMX_BZ,XLXSJGBMX_JLDW,XLXSJGBMX_YSJDZ,XLXSJGBMX_CLCBYSJDZ,XLXSJGBMX_XSXH)");
|
|
SQL.Add(" select :pJGBID,XLXSJGBMX_XH,:pYXQS,:pYXQZ,XLXSJGBMX_HSJJ,XLXSJGBMX_WSJJ,XLXSJGBMX_HSBJ,XLXSJGBMX_WSBJ,XLXSJGBMX_HSJJM,XLXSJGBMX_HSBJM,XLXSJGBMX_WSJJM,XLXSJGBMX_WSBJM,");
|
|
SQL.Add(" XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID,XLXSJGBMX_DYDJID,:pWHR,:pWHRID,:pWHSJ,XLXSJGBMX_SYXH,XLXSJGBMX_BZ,XLXSJGBMX_JLDW,XLXSJGBMX_YSJDZ,XLXSJGBMX_CLCBYSJDZ,XLXSJGBMX_XSXH");
|
|
SQL.Add(" from XLXSJGBMX where XLXSJGBMX_JGBID=:pbeforeJGBID ");
|
|
SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim();
|
|
SQL.ParamByName("pYXQS").Value = datYXQS.Text;
|
|
SQL.ParamByName("pYXQZ").Value = datYXQZ.Text;
|
|
SQL.ParamByName("pWHR").Value = tSession.UserName.ToString().Trim();
|
|
SQL.ParamByName("pWHRID").Value = tSession.UserId.ToString().Trim();
|
|
SQL.ParamByName("pWHSJ").Value = CMISproConvert.ConvertTime(System.DateTime.Now.ToString());
|
|
SQL.ParamByName("pbeforeJGBID").Value = sbefore_JGBID;
|
|
dberp.ExecSQL(SQL);
|
|
|
|
//同步复制XLXSJGBYZZ0
|
|
SQL.Clear();
|
|
SQL.Add("insert into XLXSJGBYZZ0(XLXSJGBYZZ0_JGBID,XLXSJGBYZZ0_XH");
|
|
for (int i = 1; i <= 20; i++)
|
|
{
|
|
string num = i.ToString("D2"); // 格式化为两位数字:01, 02, ... 20
|
|
SQL.Add(string.Format(",XLXSJGBYZZ0_YZZ{0}", num));
|
|
|
|
}
|
|
SQL.Add(" ) ");
|
|
SQL.Add(" select :pJGBID,XLXSJGBYZZ0_XH ");
|
|
for (int i = 1; i <= 20; i++)
|
|
{
|
|
string num = i.ToString("D2"); // 格式化为两位数字:01, 02, ... 20
|
|
SQL.Add(string.Format(",XLXSJGBYZZ0_YZZ{0}", num));
|
|
|
|
}
|
|
SQL.Add(" from XLXSJGBYZZ0 ");
|
|
SQL.Add(" where XLXSJGBYZZ0_JGBID=:pbeforeJGBID ");
|
|
SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim();
|
|
SQL.ParamByName("pbeforeJGBID").Value = sbefore_JGBID;
|
|
dberp.ExecSQL(SQL);
|
|
|
|
if (!sTJYS.Equals("2"))
|
|
{
|
|
//取材料行情插入新价格表的材料行情
|
|
SQL.Clear();
|
|
SQL.Add("insert into XLXSCLHQ(XLXSCLHQ_JGBID,XLXSCLHQ_BJCLID,XLXSCLHQ_HSJG,XLXSCLHQ_WSJG,XLXSCLHQ_WSJGF,XLXSCLHQ_HSJGF,");
|
|
SQL.Add(" XLXSCLHQ_JGYBJCLID1,XLXSCLHQ_HSJG1,XLXSCLHQ_WSJG1,XLXSCLHQ_JGBL1,");
|
|
SQL.Add(" XLXSCLHQ_YXQS,XLXSCLHQ_YXQZ,XLXSCLHQ_BZ,XLXSCLHQ_WHRID,XLXSCLHQ_WHR,XLXSCLHQ_WHSJ) ");
|
|
SQL.Add("select :pJGBID as JGBID,XLXSBJCL_BJCLID as BJCLID,isnull(HSJG,0.0) as HSJG,isnull(CLJG,0.0) as CLJG,isnull(WSJGF,0.0) as WSJGF,isnull(HSJGF,0.0) as HSJGF,");
|
|
SQL.Add(" isnull(JGYBJCLID1,' ') as JGYBJCLID1,isnull(HSJG1,0.0) as HSJG1,isnull(WSJG1,0.0) as WSJG1,isnull(JGBL1,0.0) as JGBL1, ");
|
|
SQL.Add(" convert(datetime,'1900-01-01 00:00:00') as YXQS,convert(datetime,'1900-01-01 00:00:00') as YXQZ,");
|
|
SQL.Add(" ' ' as BZ,:pWHRID as WHRID,:pWHR as WHR,:pWHSJ as WHSJ ");
|
|
SQL.Add("from XLXSBJCL left join ");
|
|
SQL.Add("(");
|
|
SQL.Add("select XLXSCLHQ_BJCLID as BJCLID,XLXSCLHQ_HSJG as HSJG,XLXSCLHQ_WSJG as CLJG,XLXSCLHQ_WSJGF as WSJGF, XLXSCLHQ_HSJGF as HSJGF, ");
|
|
SQL.Add(" XLXSCLHQ_JGYBJCLID1 as JGYBJCLID1,XLXSCLHQ_HSJG1 as HSJG1,XLXSCLHQ_WSJG1 as WSJG1,XLXSCLHQ_JGBL1 as JGBL1 ");
|
|
SQL.Add("from XLXSCLHQ ");
|
|
SQL.Add("where XLXSCLHQ_JGBID=:pOLDJGBID ");
|
|
SQL.Add("and XLXSCLHQ_YXQS=convert(datetime,'1900-01-01 00:00:00') ");
|
|
SQL.Add(") a on BJCLID=XLXSBJCL_BJCLID ");
|
|
SQL.Add("where isnull(XLXSBJCL_BJCLMC,' ')<>' ' ");
|
|
SQL.Add("and not exists (select 1 from XLXSCLHQ where XLXSCLHQ_JGBID=:pJGBID and XLXSCLHQ_BJCLID=XLXSBJCL_BJCLID and XLXSCLHQ_YXQS=convert(datetime,'1900-01-01 00:00:00')) ");
|
|
SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim();
|
|
SQL.ParamByName("pWHRID").Value = tSession.UserId;
|
|
SQL.ParamByName("pWHR").Value = tSession.UserName;
|
|
SQL.ParamByName("pWHSJ").Value = DateTime.Now;
|
|
SQL.ParamByName("pOLDJGBID").Value = sbefore_JGBID;
|
|
dberp.ExecSQL(SQL);
|
|
|
|
if (XLBJDUtils.HasJGBWLHQ(txtJGBID.Text.Trim()))//判断价格表是否记录物料行情
|
|
{
|
|
SQL.Clear();
|
|
SQL.Add("insert into XLXSWLHQ(XLXSWLHQ_JGBID,XLXSWLHQ_WLID,XLXSWLHQ_HSJG,XLXSWLHQ_WSJG,XLXSWLHQ_WSJGF,XLXSWLHQ_HSJGF,");
|
|
SQL.Add(" XLXSWLHQ_JGYBJCLID1,XLXSWLHQ_HSJG1,XLXSWLHQ_WSJG1,XLXSWLHQ_JGBL1,");
|
|
SQL.Add(" XLXSWLHQ_YXQS,XLXSWLHQ_YXQZ,XLXSWLHQ_BZ,XLXSWLHQ_WHRID,XLXSWLHQ_WHR,XLXSWLHQ_WHSJ) ");
|
|
SQL.Add("select :pJGBID as JGBID,XLXSBJCLWL_WLID as WLID,isnull(HSJG,0.0) as HSJG,isnull(CLJG,0.0) as CLJG,isnull(WSJGF,0.0) as WSJGF,isnull(HSJGF,0.0) as HSJGF,");
|
|
SQL.Add(" isnull(JGYBJCLID1,' ') as JGYBJCLID1,isnull(HSJG1,0.0) as HSJG1,isnull(WSJG1,0.0) as WSJG1,isnull(JGBL1,0.0) as JGBL1, ");
|
|
SQL.Add(" convert(datetime,'1900-01-01 00:00:00') as YXQS,convert(datetime,'1900-01-01 00:00:00') as YXQZ,");
|
|
SQL.Add(" ' ' as BZ,:pWHRID as WHRID,:pWHR as WHR,:pWHSJ as WHSJ ");
|
|
SQL.Add("from XLXSBJCLWL left join ");
|
|
SQL.Add("(");
|
|
SQL.Add("select XLXSWLHQ_WLID as WLID,XLXSWLHQ_HSJG as HSJG,XLXSWLHQ_WSJG as CLJG,XLXSWLHQ_WSJGF as WSJGF, XLXSWLHQ_HSJGF as HSJGF, ");
|
|
SQL.Add(" XLXSWLHQ_JGYBJCLID1 as JGYBJCLID1,XLXSWLHQ_HSJG1 as HSJG1,XLXSWLHQ_WSJG1 as WSJG1,XLXSWLHQ_JGBL1 as JGBL1 ");
|
|
SQL.Add("from XLXSWLHQ ");
|
|
SQL.Add("where XLXSWLHQ_JGBID=:pOLDJGBID ");
|
|
SQL.Add("and XLXSWLHQ_YXQS=convert(datetime,'1900-01-01 00:00:00') ");
|
|
SQL.Add(") a on WLID=XLXSBJCLWL_WLID ");
|
|
SQL.Add("where exists(select 1 from XLXSBJCL where XLXSBJCL_BJCLID=XLXSBJCLWL_BJCLID and XLXSBJCL_BJHQ='2') ");
|
|
SQL.Add("and not exists (select 1 from XLXSWLHQ where XLXSWLHQ_JGBID=:pJGBID and XLXSWLHQ_WLID=XLXSBJCLWL_WLID and XLXSWLHQ_YXQS=convert(datetime,'1900-01-01 00:00:00')) ");
|
|
SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim();
|
|
SQL.ParamByName("pWHRID").Value = tSession.UserId;
|
|
SQL.ParamByName("pWHR").Value = tSession.UserName;
|
|
SQL.ParamByName("pWHSJ").Value = DateTime.Now;
|
|
SQL.ParamByName("pOLDJGBID").Value = sbefore_JGBID;
|
|
dberp.ExecSQL(SQL);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else if (txtMXBH.Value.Trim().Equals("JGF"))
|
|
{
|
|
//复制主表记录时,同步复制明细记录
|
|
SQL.Clear();
|
|
SQL.Add("insert into XLXSJGBMX(XLXSJGBMX_JGBID,XLXSJGBMX_XH,XLXSJGBMX_YXQS,XLXSJGBMX_YXQZ,XLXSJGBMX_HSJJ,XLXSJGBMX_WSJJ,XLXSJGBMX_HSBJ,XLXSJGBMX_WSBJ,XLXSJGBMX_HSJJM,XLXSJGBMX_HSBJM,XLXSJGBMX_WSJJM,XLXSJGBMX_WSBJM,");
|
|
SQL.Add(" XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID,XLXSJGBMX_DYDJID,XLXSJGBMX_WHR,XLXSJGBMX_WHRID,XLXSJGBMX_WHSJ,XLXSJGBMX_SYXH,XLXSJGBMX_BZ,XLXSJGBMX_JLDW,XLXSJGBMX_YSJDZ,XLXSJGBMX_CLCBYSJDZ,XLXSJGBMX_XSXH)");
|
|
SQL.Add(" select :pJGBID,XLXSJGBMX_XH,:pYXQS,:pYXQZ,XLXSJGBMX_HSJJ,XLXSJGBMX_WSJJ,XLXSJGBMX_HSBJ,XLXSJGBMX_WSBJ,XLXSJGBMX_HSJJM,XLXSJGBMX_HSBJM,XLXSJGBMX_WSJJM,XLXSJGBMX_WSBJM,");
|
|
SQL.Add(" XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID,XLXSJGBMX_DYDJID,:pWHR,:pWHRID,:pWHSJ,XLXSJGBMX_SYXH,XLXSJGBMX_BZ,XLXSJGBMX_JLDW,XLXSJGBMX_YSJDZ,XLXSJGBMX_CLCBYSJDZ,XLXSJGBMX_XSXH");
|
|
SQL.Add(" from XLXSJGBMX where XLXSJGBMX_JGBID=:pbeforeJGBID ");
|
|
SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim();
|
|
SQL.ParamByName("pYXQS").Value = datYXQS.Text;
|
|
SQL.ParamByName("pYXQZ").Value = datYXQZ.Text;
|
|
SQL.ParamByName("pWHR").Value = tSession.UserName.ToString().Trim();
|
|
SQL.ParamByName("pWHRID").Value = tSession.UserId.ToString().Trim();
|
|
SQL.ParamByName("pWHSJ").Value = CMISproConvert.ConvertTime(System.DateTime.Now.ToString());
|
|
SQL.ParamByName("pbeforeJGBID").Value = sbefore_JGBID;
|
|
dberp.ExecSQL(SQL);
|
|
|
|
//同步复制XLXSJGBYZZ0
|
|
|
|
SQL.Clear();
|
|
SQL.Add("insert into XLXSJGBYZZ0(XLXSJGBYZZ0_JGBID,XLXSJGBYZZ0_XH");
|
|
for (int i = 1; i <= 20; i++)
|
|
{
|
|
string num = i.ToString("D2"); // 格式化为两位数字:01, 02, ... 20
|
|
SQL.Add(string.Format(",XLXSJGBYZZ0_YZZ{0}", num));
|
|
|
|
}
|
|
SQL.Add(" ) ");
|
|
SQL.Add(" select :pJGBID,XLXSJGBYZZ0_XH ");
|
|
for (int i = 1; i <= 20; i++)
|
|
{
|
|
string num = i.ToString("D2"); // 格式化为两位数字:01, 02, ... 20
|
|
SQL.Add(string.Format(",XLXSJGBYZZ0_YZZ{0}", num));
|
|
|
|
}
|
|
SQL.Add(" from XLXSJGBYZZ0 ");
|
|
SQL.Add(" where XLXSJGBYZZ0_JGBID=:pbeforeJGBID ");
|
|
SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim();
|
|
SQL.ParamByName("pbeforeJGBID").Value = sbefore_JGBID;
|
|
dberp.ExecSQL(SQL);
|
|
}
|
|
|
|
if (ctrlState.Value.Equals("CY"))
|
|
{
|
|
//更新原价格表的有效期止
|
|
SQL.Clear();
|
|
SQL.Add("update XLXSJGB set XLXSJGB_YXQZ=:pRQ where XLXSJGB_MXBH=:pMXBH and XLXSJGB_JGBID=:pJGBID ");
|
|
SQL.ParamByName("pRQ").Value = DateTime.Today.AddDays(-1);
|
|
SQL.ParamByName("pMXBH").Value = txtMXBH.Value.Trim();
|
|
SQL.ParamByName("pJGBID").Value = sbefore_JGBID;
|
|
dberp.ExecSQL(SQL);
|
|
if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGF") || txtMXBH.Value.Trim().Equals("JGC"))
|
|
{
|
|
//更新原价格表明细的有效期止
|
|
SQL.Clear();
|
|
SQL.Add("update XLXSJGBMX set XLXSJGBMX_YXQZ=:XLXSJGBMX_YXQZ where XLXSJGBMX_JGBID=:XLXSJGBMX_JGBID");
|
|
SQL.ParamByName("XLXSJGBMX_YXQZ").Value = DateTime.Today.AddDays(-1);
|
|
SQL.ParamByName("XLXSJGBMX_JGBID").Value = sbefore_JGBID;
|
|
dberp.ExecSQL(SQL);
|
|
}
|
|
}
|
|
|
|
//复制主表时同步复制价格表使用的调价因子
|
|
SQL.Clear();
|
|
SQL.Add("insert into XLXSJGBYZ(XLXSJGBYZ_JGBID,XLXSJGBYZ_YZID,XLXSJGBYZ_BZ,XLXSJGBYZ_WHR,XLXSJGBYZ_WHRID,XLXSJGBYZ_WHSJ)");
|
|
SQL.Add(" select :pJGBID,XLXSJGBYZ_YZID, XLXSJGBYZ_BZ, XLXSJGBYZ_WHR,XLXSJGBYZ_WHRID,XLXSJGBYZ_WHSJ from XLXSJGBYZ where XLXSJGBYZ_JGBID=:pbeforeJGBID");
|
|
SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim();
|
|
SQL.ParamByName("pbeforeJGBID").Value = sbefore_JGBID;
|
|
dberp.ExecSQL(SQL);
|
|
CacheNotify.TableIsUpdated("DBERP", "XLXSJGBYZ");
|
|
}
|
|
else if (ctrlState.Value.Equals("I"))//新建保存
|
|
{
|
|
if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC"))
|
|
{
|
|
if (!sJJLY.Equals("D"))
|
|
{
|
|
//取材料行情插入新价格表的材料行情
|
|
SQL.Clear();
|
|
SQL.Add("insert into XLXSCLHQ(XLXSCLHQ_JGBID,XLXSCLHQ_BJCLID,XLXSCLHQ_HSJG,XLXSCLHQ_WSJG,XLXSCLHQ_WSJGF,XLXSCLHQ_HSJGF, ");
|
|
SQL.Add(" XLXSCLHQ_JGYBJCLID1,XLXSCLHQ_HSJG1,XLXSCLHQ_WSJG1,XLXSCLHQ_JGBL1, ");
|
|
SQL.Add(" XLXSCLHQ_YXQS,XLXSCLHQ_YXQZ,XLXSCLHQ_BZ,XLXSCLHQ_WHRID,XLXSCLHQ_WHR,XLXSCLHQ_WHSJ) ");
|
|
SQL.Add("select :pJGBID as JGBID,XLXSBJCL_BJCLID as BJCLID,isnull(HSJG,0.0) as HSJG,isnull(CLJG,0.0) as CLJG,isnull(WSJGF,0.0) as WSJGF,isnull(HSJGF,0.0) as HSJGF, ");
|
|
SQL.Add(" isnull(JGYBJCLID1,' ') as JGYBJCLID1,isnull(HSJG1,0.0) as HSJG1,isnull(WSJG1,0.0) as WSJG1,isnull(JGBL1,0.0) as JGBL1, ");
|
|
SQL.Add(" convert(datetime,'1900-01-01 00:00:00') as YXQS,convert(datetime,'1900-01-01 00:00:00') as YXQZ,");
|
|
SQL.Add(" ' ' as BZ,:pWHRID as WHRID,:pWHR as WHR, :pWHSJ as WHSJ ");
|
|
SQL.Add("from XLXSBJCL left join ");
|
|
SQL.Add("(");
|
|
SQL.Add("select XLXSCLHQ_BJCLID as BJCLID,XLXSCLHQ_HSJG as HSJG,XLXSCLHQ_WSJG as CLJG,XLXSCLHQ_WSJGF as WSJGF,XLXSCLHQ_HSJGF as HSJGF, ");
|
|
SQL.Add(" XLXSCLHQ_JGYBJCLID1 as JGYBJCLID1,XLXSCLHQ_HSJG1 as HSJG1,XLXSCLHQ_WSJG1 as WSJG1,XLXSCLHQ_JGBL1 as JGBL1 ");
|
|
SQL.Add("from XLXSCLHQ, ");
|
|
SQL.Add("(");
|
|
SQL.Add("select XLXSCLHQ_BJCLID as BJCLID,max(XLXSCLHQ_YXQS) as maxYXQS ");
|
|
SQL.Add("from XLXSCLHQ ");
|
|
SQL.Add("where XLXSCLHQ_JGBID='ZZZZZZZZ' ");
|
|
SQL.Add("and XLXSCLHQ_YXQS<=:pYXQS ");
|
|
if (datYXQZ.Text.Trim().Equals(""))
|
|
SQL.Add("and XLXSCLHQ_YXQZ is null ");
|
|
else
|
|
SQL.Add("and (XLXSCLHQ_YXQZ is null or XLXSCLHQ_YXQZ>=:pYXQZ) ");
|
|
SQL.Add("group by XLXSCLHQ_BJCLID ");
|
|
SQL.Add(") a ");
|
|
SQL.Add("where XLXSCLHQ_JGBID='ZZZZZZZZ' ");
|
|
SQL.Add("and XLXSCLHQ_BJCLID=BJCLID ");
|
|
SQL.Add("and XLXSCLHQ_YXQS=maxYXQS ");
|
|
SQL.Add(") b on BJCLID=XLXSBJCL_BJCLID ");
|
|
SQL.Add("where isnull(XLXSBJCL_BJCLMC,' ')<>' ' and isnull(XLXSBJCL_TYBZ,'N') <> 'Y' ");
|
|
SQL.Add("and not exists (select 1 from XLXSCLHQ where XLXSCLHQ_JGBID=:pJGBID and XLXSCLHQ_BJCLID=XLXSBJCL_BJCLID and XLXSCLHQ_YXQS=convert(datetime,'1900-01-01 00:00:00')) ");
|
|
SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim();
|
|
SQL.ParamByName("pWHRID").Value = tSession.UserId;
|
|
SQL.ParamByName("pWHR").Value = tSession.UserName;
|
|
SQL.ParamByName("pWHSJ").Value = DateTime.Now;
|
|
SQL.ParamByName("pYXQS").Value = datYXQS.Text.Trim();
|
|
if (!datYXQZ.Text.Trim().Equals(""))
|
|
SQL.ParamByName("pYXQZ").Value = datYXQZ.Text.Trim();
|
|
dberp.ExecSQL(SQL);
|
|
|
|
if (XLBJDUtils.HasJGBWLHQ(txtJGBID.Text.Trim()))//判断价格表是否记录物料行情
|
|
{
|
|
//取物料行情插入新价格表的物料行情
|
|
SQL.Clear();
|
|
SQL.Add("insert into XLXSWLHQ(XLXSWLHQ_JGBID,XLXSWLHQ_WLID,XLXSWLHQ_HSJG,XLXSWLHQ_WSJG,XLXSWLHQ_WSJGF,XLXSWLHQ_HSJGF, ");
|
|
SQL.Add(" XLXSWLHQ_JGYBJCLID1,XLXSWLHQ_HSJG1,XLXSWLHQ_WSJG1,XLXSWLHQ_JGBL1,");
|
|
SQL.Add(" XLXSWLHQ_YXQS,XLXSWLHQ_YXQZ,XLXSWLHQ_BZ,XLXSWLHQ_WHRID,XLXSWLHQ_WHR,XLXSWLHQ_WHSJ) ");
|
|
SQL.Add("select :pJGBID as JGBID,XLXSBJCLWL_WLID as WLID,isnull(HSJG,0.0) as HSJG,isnull(CLJG,0.0) as CLJG,isnull(WSJGF,0.0) as WSJGF,isnull(HSJGF,0.0) as HSJGF, ");
|
|
SQL.Add(" isnull(JGYBJCLID1,' ') as JGYBJCLID1,isnull(HSJG1,0.0) as HSJG1,isnull(WSJG1,0.0) as WSJG1,isnull(JGBL1,0.0) as JGBL1, ");
|
|
SQL.Add(" convert(datetime,'1900-01-01 00:00:00') as YXQS,convert(datetime,'1900-01-01 00:00:00') as YXQZ,");
|
|
SQL.Add(" ' ' as BZ,:pWHRID as WHRID,:pWHR as WHR, :pWHSJ as WHSJ ");
|
|
SQL.Add("from XLXSBJCLWL left join ");
|
|
SQL.Add("(");
|
|
SQL.Add("select XLXSWLHQ_WLID as WLID,XLXSWLHQ_HSJG as HSJG,XLXSWLHQ_WSJG as CLJG,XLXSWLHQ_WSJGF as WSJGF,XLXSWLHQ_HSJGF as HSJGF, ");
|
|
SQL.Add(" XLXSWLHQ_JGYBJCLID1 as JGYBJCLID1,XLXSWLHQ_HSJG1 as HSJG1,XLXSWLHQ_WSJG1 as WSJG1,XLXSWLHQ_JGBL1 as JGBL1 ");
|
|
SQL.Add("from XLXSWLHQ, ");
|
|
SQL.Add("(");
|
|
SQL.Add("select XLXSWLHQ_WLID as WLID,max(XLXSWLHQ_YXQS) as maxYXQS ");
|
|
SQL.Add("from XLXSWLHQ ");
|
|
SQL.Add("where XLXSWLHQ_JGBID=' ' ");
|
|
SQL.Add("and XLXSWLHQ_YXQS<=:pYXQS ");
|
|
if (datYXQZ.Text.Trim().Equals(""))
|
|
SQL.Add("and XLXSWLHQ_YXQZ is null ");
|
|
else
|
|
SQL.Add("and (XLXSWLHQ_YXQZ is null or XLXSWLHQ_YXQZ>=:pYXQZ) ");
|
|
SQL.Add("group by XLXSWLHQ_WLID ");
|
|
SQL.Add(") a ");
|
|
SQL.Add("where XLXSWLHQ_JGBID=' ' ");
|
|
SQL.Add("and XLXSWLHQ_WLID=WLID ");
|
|
SQL.Add("and XLXSWLHQ_YXQS=maxYXQS ");
|
|
SQL.Add(") b on WLID=XLXSBJCLWL_WLID ");
|
|
SQL.Add("where exists(select 1 from XLXSBJCL where XLXSBJCL_BJCLID=XLXSBJCLWL_BJCLID and XLXSBJCL_BJHQ='2') ");
|
|
SQL.Add("and not exists (select 1 from XLXSWLHQ where XLXSWLHQ_JGBID=:pJGBID and XLXSWLHQ_WLID=XLXSBJCLWL_WLID and XLXSWLHQ_YXQS=convert(datetime,'1900-01-01 00:00:00')) ");
|
|
SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim();
|
|
SQL.ParamByName("pWHRID").Value = tSession.UserId;
|
|
SQL.ParamByName("pWHR").Value = tSession.UserName;
|
|
SQL.ParamByName("pWHSJ").Value = DateTime.Now;
|
|
SQL.ParamByName("pYXQS").Value = datYXQS.Text.Trim();
|
|
if (!datYXQZ.Text.Trim().Equals(""))
|
|
SQL.ParamByName("pYXQZ").Value = datYXQZ.Text.Trim();
|
|
dberp.ExecSQL(SQL);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else if (ctrlState.Value.Equals("IY"))//JGF价格表更新重叠价格表的有效期止
|
|
{
|
|
SQL.Clear();
|
|
SQL.Add(string.Format("select XLXSJGB_JGBID from XLXSJGB where XLXSJGB_MXBH='{2}' and XLXSJGB_JGBID<>'{0}' and XLXSJGB_YXQS<'{1}' and (XLXSJGB_YXQZ is null or XLXSJGB_YXQZ>='{1}')",
|
|
txtJGBID.Text.Trim(), datYXQS.Text, txtMXBH.Value.Trim()));
|
|
DataSet ds = dberp.OpenDataSet(SQL);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
string sOldJGBID = ds.Tables[0].Rows[0]["XLXSJGB_JGBID"].ToString().Trim();
|
|
//更新重叠价格表的有效期止
|
|
SQL.Clear();
|
|
SQL.Add("update XLXSJGB set XLXSJGB_YXQZ=:pRQ where XLXSJGB_MXBH=:pMXBH and XLXSJGB_JGBID=:pJGBID ");
|
|
SQL.ParamByName("pRQ").Value = CMISproConvert.StrToDateTime(datYXQS.Text).AddDays(-1);
|
|
SQL.ParamByName("pMXBH").Value = txtMXBH.Value.Trim();
|
|
SQL.ParamByName("pJGBID").Value = sOldJGBID;
|
|
dberp.ExecSQL(SQL);
|
|
|
|
//更新重叠价格表明细的有效期止
|
|
SQL.Clear();
|
|
SQL.Add("update XLXSJGBMX set XLXSJGBMX_YXQZ=:XLXSJGBMX_YXQZ where XLXSJGBMX_JGBID=:XLXSJGBMX_JGBID");
|
|
SQL.ParamByName("XLXSJGBMX_YXQZ").Value = CMISproConvert.StrToDateTime(datYXQS.Text).AddDays(-1);
|
|
SQL.ParamByName("XLXSJGBMX_JGBID").Value = sOldJGBID;
|
|
dberp.ExecSQL(SQL);
|
|
}
|
|
}
|
|
|
|
//排序方式变更判断
|
|
if (!txtMXPXFS.Value.Trim().Equals(cbxMXPXFS.SelectedValue.Trim()))
|
|
UpdateJGBMXXSXH(dberp, txtJGBID.Text.Trim(), txtMXBH.Value.Trim(), cbxMXPXFS.SelectedValue.Trim());
|
|
txtMXPXFS.Value = cbxMXPXFS.SelectedValue.Trim();
|
|
|
|
if (txtMXBH.Value.Trim().Equals("JGF"))//JGF更新当前有效期止避免与未来有效的价格表重叠
|
|
{
|
|
SQL.Clear();
|
|
SQL.Add(string.Format("select XLXSJGB_YXQS from XLXSJGB where XLXSJGB_MXBH='{2}' and XLXSJGB_JGBID<>'{0}' and XLXSJGB_YXQS>'{1}' ",
|
|
txtJGBID.Text.Trim(), datYXQS.Text, txtMXBH.Value.Trim()));
|
|
DataSet ds = dberp.OpenDataSet(SQL);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
DateTime futureDate = CMISproConvert.StrToDateTime(ds.Tables[0].Rows[0]["XLXSJGB_YXQS"].ToString().Trim());
|
|
|
|
SQL.Clear();
|
|
SQL.Add("update XLXSJGB set XLXSJGB_YXQZ=:pRQ where XLXSJGB_MXBH=:pMXBH and XLXSJGB_JGBID=:pJGBID ");
|
|
SQL.ParamByName("pRQ").Value = futureDate.AddDays(-1);
|
|
SQL.ParamByName("pMXBH").Value = txtMXBH.Value.Trim();
|
|
SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim();
|
|
dberp.ExecSQL(SQL);
|
|
|
|
SQL.Clear();
|
|
SQL.Add("update XLXSJGBMX set XLXSJGBMX_YXQZ=:XLXSJGBMX_YXQZ where XLXSJGBMX_JGBID=:XLXSJGBMX_JGBID");
|
|
SQL.ParamByName("XLXSJGBMX_YXQZ").Value = futureDate.AddDays(-1);
|
|
SQL.ParamByName("XLXSJGBMX_JGBID").Value = txtJGBID.Text.Trim();
|
|
dberp.ExecSQL(SQL);
|
|
datYXQZ.Text = futureDate.AddDays(-1).ToShortDateString().Trim();
|
|
|
|
ShowMessage("已更新当前价格表有效期止避免有效期重叠!");
|
|
}
|
|
|
|
}
|
|
if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGF") || txtMXBH.Value.Trim().Equals("JGC"))
|
|
{
|
|
if (YXQChanged())
|
|
{
|
|
SQL.Clear();
|
|
SQL.Add("update XLXSJGBMX set XLXSJGBMX_YXQS=:XLXSJGBMX_YXQS, XLXSJGBMX_YXQZ=:XLXSJGBMX_YXQZ where XLXSJGBMX_JGBID=:XLXSJGBMX_JGBID");
|
|
SQL.ParamByName("XLXSJGBMX_YXQS").Value = CMISproConvert.StrToDateTime(datYXQS.Text);
|
|
if (datYXQZ.Text.Trim().Equals(""))
|
|
SQL.ParamByName("XLXSJGBMX_YXQZ").Clear();
|
|
else
|
|
SQL.ParamByName("XLXSJGBMX_YXQZ").Value = CMISproConvert.StrToDateTime(datYXQZ.Text.Trim());
|
|
SQL.ParamByName("XLXSJGBMX_JGBID").Value = txtJGBID.Text.Trim();
|
|
dberp.ExecSQL(SQL);
|
|
}
|
|
if (!sTBJCLID.Equals(""))
|
|
{
|
|
SQL.Clear();
|
|
SQL.Add("SELECT XLXSCLHQ_HSJG from XLXSCLHQ where XLXSCLHQ_JGBID=:pJGBID and XLXSCLHQ_BJCLID=:pBJCLID and XLXSCLHQ_YXQS = convert(datetime,'1900-01-01 00:00:00')");
|
|
SQL.ParamByName("pJGBID").Value = sJGBID;
|
|
SQL.ParamByName("pBJCLID").Value = sTBJCLID;
|
|
DataSet ds = dberp.OpenDataSet(SQL);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
txtTBJCLID.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0][0].ToString().Trim());
|
|
}
|
|
}
|
|
if (!sLBJCLID.Equals(""))
|
|
{
|
|
SQL.Clear();
|
|
SQL.Add("SELECT XLXSCLHQ_HSJG from XLXSCLHQ where XLXSCLHQ_JGBID=:pJGBID and XLXSCLHQ_BJCLID=:pBJCLID and XLXSCLHQ_YXQS = convert(datetime,'1900-01-01 00:00:00')");
|
|
SQL.ParamByName("pJGBID").Value = sJGBID;
|
|
SQL.ParamByName("pBJCLID").Value = sLBJCLID;
|
|
DataSet ds = dberp.OpenDataSet(SQL);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
txtLBJCLID.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0][0].ToString().Trim());
|
|
}
|
|
}
|
|
|
|
}
|
|
CacheNotify.TableIsUpdated("DBERP", "XLXSJGB");
|
|
return base.Master_AfterSaveAction(sender, e);
|
|
}
|
|
|
|
protected override bool Master_AfterDeleteAction(object sender, EventArgs e)
|
|
{
|
|
if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC") || txtMXBH.Value.Trim().Equals("JGE") || txtMXBH.Value.Trim().Equals("JGF"))
|
|
{
|
|
TDatabase db = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL tSQL = new TSQL(db);
|
|
tSQL.Clear();
|
|
tSQL.Add("delete from XLXSJGBMX where XLXSJGBMX_JGBID = :XLXSJGBMX_JGBID ");
|
|
tSQL.ParamByName("XLXSJGBMX_JGBID").Value = txtJGBID.Text.Trim();
|
|
db.ExecSQL(tSQL);
|
|
|
|
tSQL.Clear();
|
|
tSQL.Add("delete from XLXSJGBYZZ0 where XLXSJGBYZZ0_JGBID = :XLXSJGBYZZ0_JGBID ");
|
|
tSQL.ParamByName("XLXSJGBYZZ0_JGBID").Value = txtJGBID.Text.Trim();
|
|
db.ExecSQL(tSQL);
|
|
|
|
tSQL.Clear();
|
|
tSQL.Add("delete from XLXSJGBYZ where XLXSJGBYZ_JGBID = :XLXSJGBYZ_JGBID ");
|
|
tSQL.ParamByName("XLXSJGBYZ_JGBID").Value = txtJGBID.Text.Trim();
|
|
db.ExecSQL(tSQL);
|
|
|
|
tSQL.Clear();
|
|
tSQL.Add("delete from XLXSCLHQ where XLXSCLHQ_JGBID = :XLXSCLHQ_JGBID ");
|
|
tSQL.ParamByName("XLXSCLHQ_JGBID").Value = txtJGBID.Text.Trim();
|
|
db.ExecSQL(tSQL);
|
|
|
|
tSQL.Clear();
|
|
tSQL.Add("delete from XLXSWLHQ where XLXSWLHQ_JGBID = :XLXSWLHQ_JGBID ");
|
|
tSQL.ParamByName("XLXSWLHQ_JGBID").Value = txtJGBID.Text.Trim();
|
|
db.ExecSQL(tSQL);
|
|
|
|
tSQL.Clear();
|
|
tSQL.Add("update XLXSJGBPZJGB set XLXSJGBPZJGB_JGBID=null,XLXSJGBPZJGB_JGBMC=null where XLXSJGBPZJGB_JGBID=:pJGBID");
|
|
tSQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim();
|
|
db.ExecSQL(tSQL);
|
|
|
|
tSQL.Clear();
|
|
tSQL.Add("delete from XLXSJGBCLHQFD where XLXSJGBCLHQFD_MXBH=:pMXBH and XLXSJGBCLHQFD_JGBID=:pJGBID");
|
|
tSQL.ParamByName("pMXBH").Value = txtMXBH.Value.Trim();
|
|
tSQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim();
|
|
db.ExecSQL(tSQL);
|
|
|
|
tSQL.Clear();
|
|
tSQL.Add("delete from XLXSJGBCLQD where XLXSJGBCLQD_JGBID = :XLXSJGBCLQD_JGBID ");
|
|
tSQL.ParamByName("XLXSJGBCLQD_JGBID").Value = txtJGBID.Text.Trim();
|
|
db.ExecSQL(tSQL);
|
|
|
|
tSQL.Clear();
|
|
tSQL.Add("delete from XLXSJGBCLQDWL where XLXSJGBCLQDWL_JGBID = :XLXSJGBCLQDWL_JGBID ");
|
|
tSQL.ParamByName("XLXSJGBCLQDWL_JGBID").Value = txtJGBID.Text.Trim();
|
|
db.ExecSQL(tSQL);
|
|
|
|
tSQL.Clear();
|
|
tSQL.Add("delete from XLXSJGBYLLM where XLXSJGBYLLM_JGBID = :XLXSJGBYLLM_JGBID ");
|
|
tSQL.ParamByName("XLXSJGBYLLM_JGBID").Value = txtJGBID.Text.Trim();
|
|
db.ExecSQL(tSQL);
|
|
}
|
|
if (txtMXBH.Value.Trim().Equals("JZJ"))
|
|
{
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL sSQL = new TSQL(dberp);
|
|
for (int i = 1; i <= 7; i++)
|
|
{
|
|
sSQL.Clear();
|
|
sSQL.Add(string.Format("delete from XLXSJGBYZZ{0} where XLXSJGBYZZ{0}_JGBID = :pJGBID ",i.ToString().Trim()));
|
|
sSQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim();
|
|
dberp.ExecSQL(sSQL);
|
|
}
|
|
}
|
|
if (txtMXBH.Value.Trim().Equals("BJD"))
|
|
{
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL sSQL = new TSQL(dberp);
|
|
for (int i = 1; i <= 14; i++)
|
|
{
|
|
string sHZ = i.ToString().Trim();
|
|
switch (i)
|
|
{
|
|
case 10:
|
|
sHZ = "A";
|
|
break;
|
|
case 11:
|
|
sHZ = "B";
|
|
break;
|
|
case 12:
|
|
sHZ = "C";
|
|
break;
|
|
case 13:
|
|
sHZ = "D";
|
|
break;
|
|
case 14:
|
|
sHZ = "E";
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
sSQL.Clear();
|
|
sSQL.Add(string.Format("delete from XLXSBJDYZZ{0} where XLXSBJDYZZ{0}_JGBID = :pJGBID ", sHZ));
|
|
sSQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim();
|
|
dberp.ExecSQL(sSQL);
|
|
}
|
|
}
|
|
CacheNotify.TableIsUpdated("DBERP", "XLXSJGBYZ");
|
|
CacheNotify.TableIsUpdated("DBERP", "XLXSJGB");
|
|
return base.Master_AfterDeleteAction(sender, e);
|
|
}
|
|
|
|
protected override bool Master_BeforeDeleteAction(object sender, EventArgs e)
|
|
{
|
|
if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC") || txtMXBH.Value.Trim().Equals("JGE") || txtMXBH.Value.Trim().Equals("JGF"))
|
|
{
|
|
if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGE"))
|
|
{
|
|
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSBJD where XLXSBJD_JGBID='{0}'", txtJGBID.Text.Trim())))
|
|
{
|
|
ShowMessage("已被报价单使用,不允许删除!");
|
|
return false;
|
|
}
|
|
}
|
|
|
|
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select top 1 XLXSJGB_JGBID from XLXSJGB where ','||rtrim(isnull(XLXSJGB_JGBIDS,' '))||',' like '{0}'", "%," + txtJGBID.Text.Trim() + ",%")))
|
|
{
|
|
|
|
ShowMessage("已被其他价格表作为所依出厂价,不允许删除!");
|
|
return false;
|
|
}
|
|
|
|
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGB where ','||rtrim(isnull(XLXSJGB_JGCIDS,' '))||',' like '{0}'", "%," + txtJGBID.Text.Trim() + ",%")))
|
|
{
|
|
ShowMessage("已被报价价格表引用,不允许删除!");
|
|
return false;
|
|
}
|
|
|
|
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGBMX where XLXSJGBMX_JGBID='{0}' ", txtJGBID.Text.Trim())))
|
|
{
|
|
Confirm.Register("CheckDel", "存在价格表明细记录,确定删除?");
|
|
if (Confirm.GetValue("CheckDel").Trim().Equals(""))
|
|
{
|
|
Confirm.Ask("CheckDel");
|
|
return false;
|
|
}
|
|
else if (Confirm.GetValue("CheckDel").Trim().Equals("N"))
|
|
{
|
|
//表示进行了提示并选择了取消,直接返回或其他处理
|
|
|
|
Confirm.Clear();
|
|
return false;
|
|
}
|
|
else if (Confirm.GetValue("CheckDel").Trim().Equals("Y"))
|
|
{
|
|
//表示进行了提示并选择了确认
|
|
Confirm.Clear();
|
|
}
|
|
}
|
|
}
|
|
else if (txtMXBH.Value.Trim().Equals("JZJ"))
|
|
{
|
|
Dictionary<string, string> dic = XLBJDUtils.GetALLYZIDDic();
|
|
foreach (string sYZID in dic.Keys)
|
|
{
|
|
TZYZXX yzxx = XLBJDUtils.GetYZXXByYZID(sYZID);
|
|
if (!string.IsNullOrEmpty(yzxx.XLXSTZYZ_JGBID) && yzxx.XLXSTZYZ_JGBID.Equals(txtJGBID.Text.Trim())&&yzxx.XLXSTZYZ_MXBH=="JZJ")
|
|
{
|
|
ShowMessage("被价格表调价因子使用,不允许删除!");
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
Confirm.Register("CheckDel", "将同步删除当前调价表设置的因子值记录,是否继续?");
|
|
if (Confirm.GetValue("CheckDel").Trim().Equals(""))
|
|
{
|
|
Confirm.Ask("CheckDel");
|
|
return false;
|
|
}
|
|
else if (Confirm.GetValue("CheckDel").Trim().Equals("N"))
|
|
{
|
|
//表示进行了提示并选择了取消,直接返回或其他处理
|
|
|
|
Confirm.Clear();
|
|
return false;
|
|
}
|
|
else if (Confirm.GetValue("CheckDel").Trim().Equals("Y"))
|
|
{
|
|
//表示进行了提示并选择了确认
|
|
Confirm.Clear();
|
|
}
|
|
}
|
|
else if (txtMXBH.Value.Trim().Equals("BJD"))
|
|
{
|
|
Dictionary<string, string> dic = XLBJDUtils.GetALLYZIDDic();
|
|
foreach (string sYZID in dic.Keys)
|
|
{
|
|
TZYZXX yzxx = XLBJDUtils.GetYZXXByYZID(sYZID);
|
|
if (!string.IsNullOrEmpty(yzxx.XLXSTZYZ_JGBID) && yzxx.XLXSTZYZ_JGBID.Equals(txtJGBID.Text.Trim()) && yzxx.XLXSTZYZ_MXBH == "BJD")
|
|
{
|
|
ShowMessage("被报价单调价因子使用,不允许删除!");
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
Confirm.Register("CheckDel", "将同步删除当前调价表设置的因子值记录,是否继续?");
|
|
if (Confirm.GetValue("CheckDel").Trim().Equals(""))
|
|
{
|
|
Confirm.Ask("CheckDel");
|
|
return false;
|
|
}
|
|
else if (Confirm.GetValue("CheckDel").Trim().Equals("N"))
|
|
{
|
|
//表示进行了提示并选择了取消,直接返回或其他处理
|
|
|
|
Confirm.Clear();
|
|
return false;
|
|
}
|
|
else if (Confirm.GetValue("CheckDel").Trim().Equals("Y"))
|
|
{
|
|
//表示进行了提示并选择了确认
|
|
Confirm.Clear();
|
|
}
|
|
}
|
|
return base.Master_BeforeDeleteAction(sender, e);
|
|
}
|
|
|
|
protected override void SetComboxItems()
|
|
{
|
|
if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC") || txtMXBH.Value.Trim().Equals("JGF"))
|
|
{
|
|
cbxTJYS.ClearItems();
|
|
cbxTJYS.Items.Add(new ListItem("1|表价(出厂价)=基价(材料价)&调价", "1"));
|
|
if (txtMXBH.Value.Trim().Equals("JGB"))
|
|
{
|
|
cbxTJYS.Items.Add(new ListItem("2|表价(区域价)=基价(出厂价)&调价", "2"));
|
|
cbxTJYS.Items.Add(new ListItem("3|表价(现行价)=基价(出厂价+材料价价差)&调价", "3"));
|
|
}
|
|
|
|
if (ControlState == TControlState.ctsBrowse)
|
|
{
|
|
cbxJJLY.ClearItems();
|
|
cbxJJLY.Items.Add(new ListItem("A|sum(材料用量*材料价格)", "A"));
|
|
cbxJJLY.Items.Add(new ListItem("B|出厂价", "B"));
|
|
cbxJJLY.Items.Add(new ListItem("C|出厂价+材料价价差", "C"));
|
|
cbxJJLY.Items.Add(new ListItem("D|直接导入", "D"));
|
|
}
|
|
else
|
|
{
|
|
cbxTJYS_SelectedIndexChanged(null, null);
|
|
}
|
|
|
|
cbxBJLY.ClearItems();
|
|
cbxBJLY.Items.Add(new ListItem("J|按调价因素计算", "J"));
|
|
cbxBJLY.Items.Add(new ListItem("D|直接导入", "D"));
|
|
if (txtMXBH.Value.Trim().Equals("JGB"))
|
|
{
|
|
cbxBJLY.Items.Add(new ListItem("C|基价价格表表价", "C"));
|
|
}
|
|
|
|
cbxJSBLFS.ClearItems();
|
|
cbxJSBLFS.Items.Add(new ListItem("R|四舍五入法", "R"));
|
|
cbxJSBLFS.Items.Add(new ListItem("C1|进一法(材料价各分项进一)", "C1"));
|
|
cbxJSBLFS.Items.Add(new ListItem("C2|进一法(材料价汇总进一)", "C2"));
|
|
cbxJSBLFS.Items.Add(new ListItem("C3|材料价汇总进一+表价进一到十位", "C3"));
|
|
|
|
cbxWSJGLY.ClearItems();
|
|
cbxWSJGLY.Items.Add(new ListItem("1|无税材料价格", "1"));
|
|
cbxWSJGLY.Items.Add(new ListItem("2|含税价格×(1-税率%)", "2"));
|
|
|
|
|
|
if (ControlState == TControlState.ctsBrowse)
|
|
{
|
|
TComboBox.SetComboBox("DBERP", cbxCPMLID, string.Format("select XLXSCPML_CPMLID,XLXSCPML_CPMLMC from XLXSCPML where XLXSCPML_CPMLID='{0}'", cbxCPMLID.SelectedValue.Trim()), true);
|
|
}
|
|
else
|
|
{
|
|
if (txtMXBH.Value.Trim().Equals("JGB"))//JGB加载组合产品目录
|
|
{
|
|
if (!GetOption("BJU016").Equals(""))
|
|
{
|
|
TComboBox.SetComboBox("DBERP", cbxCPMLID, @"select XLXSCPML_CPMLID,XLXSCPML_CPMLMC from XLXSCPML
|
|
where isnull(XLXSCPML_CPMLLX,' ')='Y' and isnull(XLXSCPML_TYBZ,' ')<>'Y'
|
|
and " + CMISproDataBase.GetWhereEqual("XLXSCPML_CPMLID", GetOption("BJU016")) + " order by XLXSCPML_CPMLID", true);
|
|
}
|
|
else
|
|
{
|
|
TComboBox.SetComboBox("DBERP", cbxCPMLID, @"select XLXSCPML_CPMLID,XLXSCPML_CPMLMC from XLXSCPML
|
|
where isnull(XLXSCPML_CPMLLX,' ')='Y' and isnull(XLXSCPML_TYBZ,' ')<>'Y'
|
|
order by XLXSCPML_CPMLID", true);
|
|
}
|
|
}
|
|
else if (txtMXBH.Value.Trim().Equals("JGC"))//JGC加载单一产品目录
|
|
{
|
|
if (!GetOption("BJU016").Equals(""))
|
|
{
|
|
TComboBox.SetComboBox("DBERP", cbxCPMLID, @"select XLXSCPML_CPMLID,XLXSCPML_CPMLMC from XLXSCPML
|
|
where isnull(XLXSCPML_CPMLLX,' ')<>'Y' and isnull(XLXSCPML_TYBZ,' ')<>'Y'
|
|
and " + CMISproDataBase.GetWhereEqual("XLXSCPML_CPMLID", GetOption("BJU016")) + " order by XLXSCPML_CPMLID", true);
|
|
}
|
|
else
|
|
{
|
|
TComboBox.SetComboBox("DBERP", cbxCPMLID, @"select XLXSCPML_CPMLID,XLXSCPML_CPMLMC from XLXSCPML
|
|
where isnull(XLXSCPML_CPMLLX,' ')<>'Y' and isnull(XLXSCPML_TYBZ,' ')<>'Y'
|
|
order by XLXSCPML_CPMLID", true);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else if (txtMXBH.Value.Trim().Equals("JZJ"))
|
|
{
|
|
cbxTJYS.ClearItems();
|
|
cbxTJYS.Items.Add(new ListItem("", ""));
|
|
if (DSActiveModule.IsActiveModule(100860017))
|
|
cbxTJYS.Items.Add(new ListItem("1|型号&规格&电压&标准", "1"));
|
|
if (DSActiveModule.IsActiveModule(102579011))
|
|
cbxTJYS.Items.Add(new ListItem("2|产品用途&电压等级分类&报价材料", "2"));
|
|
if (DSActiveModule.IsActiveModule(100860026))
|
|
cbxTJYS.Items.Add(new ListItem("3|销售区域&导体材料&线缆型号&主芯截面", "3"));
|
|
if (DSActiveModule.IsActiveModule(100860047))
|
|
cbxTJYS.Items.Add(new ListItem("4|型号&电压等级&芯线结构&主芯截面范围", "4"));
|
|
if (DSActiveModule.IsActiveModule(100860058))
|
|
cbxTJYS.Items.Add(new ListItem("5|型号&电压等级&主芯截面范围&总芯数范围", "5"));
|
|
if (DSActiveModule.IsActiveModule(102579010))
|
|
cbxTJYS.Items.Add(new ListItem("6|型号&电压等级&报价材料", "6"));
|
|
if (DSActiveModule.IsActiveModule(102579009))
|
|
cbxTJYS.Items.Add(new ListItem("7|报价材料", "7"));
|
|
if (DSActiveModule.IsActiveModule(100860096))
|
|
cbxTJYS.Items.Add(new ListItem("8|每吨加价*材料重量", "8"));
|
|
}
|
|
else if (txtMXBH.Value.Trim().Equals("BJD"))
|
|
{
|
|
cbxTJYS.ClearItems();
|
|
cbxTJYS.Items.Add(new ListItem("", ""));
|
|
if (DSActiveModule.IsActiveModule(100860019))
|
|
cbxTJYS.Items.Add(new ListItem("1|付款方式", "1"));
|
|
if (DSActiveModule.IsActiveModule(100860021))
|
|
cbxTJYS.Items.Add(new ListItem("2|导体材料&电压区间&报价数量区间", "2"));
|
|
if (DSActiveModule.IsActiveModule(100860022))
|
|
cbxTJYS.Items.Add(new ListItem("3|产品用途&电压等级分类&报价数量区间", "3"));
|
|
if (DSActiveModule.IsActiveModule(100860028))
|
|
cbxTJYS.Items.Add(new ListItem("4|型号", "4"));
|
|
if (DSActiveModule.IsActiveModule(100860029))
|
|
cbxTJYS.Items.Add(new ListItem("5|销售区域&型号&标准&电压等级&主芯截面范围", "5"));
|
|
if (DSActiveModule.IsActiveModule(100860030))
|
|
cbxTJYS.Items.Add(new ListItem("6|报价数量区间调价米数/报价数量", "6"));
|
|
if (DSActiveModule.IsActiveModule(100860031))
|
|
cbxTJYS.Items.Add(new ListItem("7|型号&电压等级&芯线结构&主芯截面范围", "7"));
|
|
if (DSActiveModule.IsActiveModule(100860039))
|
|
cbxTJYS.Items.Add(new ListItem("8|付款期限", "8"));
|
|
if (DSActiveModule.IsActiveModule(100860040))
|
|
cbxTJYS.Items.Add(new ListItem("9|导体材料&产品用途&电压等级分类&产品特性", "9"));
|
|
if (DSActiveModule.IsActiveModule(100860041))
|
|
cbxTJYS.Items.Add(new ListItem("A|型号&规格&电压&标准", "A"));
|
|
if (DSActiveModule.IsActiveModule(100860054))
|
|
cbxTJYS.Items.Add(new ListItem("B|销售单位", "B"));
|
|
if (DSActiveModule.IsActiveModule(100860072))
|
|
cbxTJYS.Items.Add(new ListItem("C|产品目录&主芯截面范围&产品特性", "C"));
|
|
if (DSActiveModule.IsActiveModule(100860085))
|
|
cbxTJYS.Items.Add(new ListItem("D|颜色", "D"));
|
|
if (DSActiveModule.IsActiveModule(100860086))
|
|
cbxTJYS.Items.Add(new ListItem("E|型号&电压等级&主芯截面范围&报价数量区间", "E"));
|
|
if (DSActiveModule.IsActiveModule(100860089))
|
|
cbxTJYS.Items.Add(new ListItem("F|电压等级&芯线结构&报价数量区间加价/报价数量", "F"));
|
|
}
|
|
|
|
cbxTJZT.ClearItems();
|
|
cbxTJZT.Items.Add(new ListItem("", ""));
|
|
cbxTJZT.Items.Add(new ListItem("等待", "W"));
|
|
cbxTJZT.Items.Add(new ListItem("计算", "J"));
|
|
cbxTJZT.Items.Add(new ListItem("成功", "S"));
|
|
cbxTJZT.Items.Add(new ListItem("失败", "F"));
|
|
cbxTJZT.Items.Add(new ListItem("取消", "C"));
|
|
|
|
cbxDRZT.ClearItems();
|
|
cbxDRZT.Items.Add(new ListItem("", ""));
|
|
cbxDRZT.Items.Add(new ListItem("等待", "W"));
|
|
cbxDRZT.Items.Add(new ListItem("导入", "J"));
|
|
cbxDRZT.Items.Add(new ListItem("成功", "S"));
|
|
cbxDRZT.Items.Add(new ListItem("失败", "F"));
|
|
cbxDRZT.Items.Add(new ListItem("取消", "C"));
|
|
|
|
cbxMXPXFS.ClearItems();
|
|
cbxMXPXFS.Items.Add(new ListItem("序号", "A"));
|
|
cbxMXPXFS.Items.Add(new ListItem("型号+标准+规格序号+电压等级", "B"));
|
|
cbxMXPXFS.Items.Add(new ListItem("型号+电压等级+规格序号+标准", "C"));
|
|
cbxMXPXFS.Items.Add(new ListItem("标准+型号+规格序号+电压等级", "D"));
|
|
cbxMXPXFS.Items.Add(new ListItem("型号+电压等级+标准+规格", "E"));
|
|
cbxMXPXFS.Items.Add(new ListItem("型号+电压等级+芯数截面", "F"));
|
|
|
|
TRYXX.SetComboBox_GH(cbxTJR, "", true, true);
|
|
|
|
base.SetComboxItems();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 私有函数
|
|
|
|
//不管JGB\JGC\JGE\JGF,都按JGB进行编码,否则两者编码重复,后续所有明细表都得加MXBH
|
|
public static string getNewJGBBH()
|
|
{
|
|
string sPrefix = DateTime.Now.Year.ToString().Substring(2, 2) + DateTime.Now.Month.ToString().PadLeft(2, '0');
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
SQL.Add("select max(XLXSJGB_JGBID) from XLXSJGB where XLXSJGB_MXBH in ('JGB','JGC','JGE','JGF') and XLXSJGB_JGBID 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(4, 4));
|
|
return sPrefix + Convert.ToString(dTemp + 1).PadLeft(4, '0');
|
|
}
|
|
else
|
|
{
|
|
return sPrefix + "0001";
|
|
}
|
|
}
|
|
|
|
private string getNewTJBBH(string sMXBH, string sTJYS)
|
|
{
|
|
string sRet = "00000001";
|
|
sTJYS = sTJYS.Trim().Equals("") ? " " : sTJYS.Trim();
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
SQL.Add("select max(SUBSTRING(XLXSJGB_JGBID,2,7)) from XLXSJGB where XLXSJGB_MXBH=:pMXBH and XLXSJGB_TJYS = :pTJYS");
|
|
SQL.ParamByName("pMXBH").Value = sMXBH;
|
|
SQL.ParamByName("pTJYS").Value = sTJYS;
|
|
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());
|
|
if (sTJYS.Trim().Equals(""))
|
|
{
|
|
sRet = "0" + Convert.ToString(dTemp + 1).PadLeft(7, '0');
|
|
}
|
|
else
|
|
{
|
|
sRet = sTJYS + Convert.ToString(dTemp + 1).PadLeft(7, '0');
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (sTJYS.Trim().Equals(""))
|
|
sRet = "00000001";
|
|
else
|
|
sRet = sTJYS.Trim() + "0000001";
|
|
}
|
|
return sRet;
|
|
}
|
|
|
|
private bool YXQChanged()
|
|
{
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
SQL.Clear();
|
|
SQL.Add("select distinct XLXSJGBMX_YXQS,XLXSJGBMX_YXQZ from XLXSJGBMX where XLXSJGBMX_JGBID=:pJGBID ");
|
|
SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim();
|
|
DataSet ds = dberp.OpenDataSet(SQL);
|
|
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
|
{
|
|
string sYXQS = ds.Tables[0].Rows[i]["XLXSJGBMX_YXQS"].ToString().Trim();
|
|
string sYXQZ = ds.Tables[0].Rows[i]["XLXSJGBMX_YXQZ"].ToString().Trim();
|
|
if (!sYXQS.Equals(datYXQS.Text.Trim()) || !sYXQZ.Equals(datYXQZ.Text.Trim()))
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public static void GetTLBJCLID(TDatabase dberp, TSQL SQL, ref string sTBJCLID, ref string sLBJCLID)
|
|
{
|
|
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860018);
|
|
|
|
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_TBJCLID))
|
|
sTBJCLID = pzxx.XLXSBJPZ_TBJCLID;
|
|
|
|
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_LBJCLID))
|
|
sLBJCLID = pzxx.XLXSBJPZ_LBJCLID;
|
|
}
|
|
|
|
public static bool IsJGBMRBSX()
|
|
{
|
|
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860018);
|
|
if (pzxx.XLXSBJPZ_JGBMRBSX == "Y")
|
|
return true;
|
|
return false;
|
|
}
|
|
|
|
public static void UpdateJGBMXXSXH(TDatabase dberp, string sJGBID, string sMXBH, string sPXFS)
|
|
{
|
|
|
|
|
|
TSQL SQL = new TSQL(dberp);
|
|
SQL.Clear();
|
|
SQL.Add(" update XLXSJGB set XLXSJGB_MXPXFS = :pPXFS where XLXSJGB_JGBID = :pJGBID and XLXSJGB_MXBH = :pMXBH ");
|
|
SQL.ParamByName("pPXFS").Value = sPXFS;
|
|
SQL.ParamByName("pJGBID").Value = sJGBID;
|
|
SQL.ParamByName("pMXBH").Value = sMXBH;
|
|
dberp.ExecSQL(SQL);
|
|
|
|
SQL.Clear();
|
|
SQL.Add(" merge into XLXSJGBMX tag ");
|
|
SQL.Add(" using ( ");
|
|
SQL.Add(" select XLXSJGBMX_JGBID,XLXSJGBMX_XH ,");
|
|
if (sPXFS.Equals("A"))
|
|
SQL.Add(" row_number() over(order by XLXSJGBMX_XH) as XH");
|
|
else if (sPXFS.Equals("B"))
|
|
SQL.Add(" row_number() over(order by XLXSJGBMX_XLXHID,XLXSJGBMX_XLBZID,XLGGB_XH,XLXSJGBMX_XLGGID,XLXSJGBMX_DYDJID) as XH ");
|
|
else if (sPXFS.Equals("C"))
|
|
SQL.Add(" row_number() over(order by XLXSJGBMX_XLXHID,XLXSJGBMX_DYDJID,XLGGB_XH,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID) as XH ");
|
|
else if (sPXFS.Equals("D"))
|
|
SQL.Add(" row_number() over(order by XLXSJGBMX_XLBZID,XLXSJGBMX_XLXHID,XLGGB_XH,XLXSJGBMX_XLGGID,XLXSJGBMX_DYDJID) as XH ");
|
|
else if (sPXFS.Equals("E"))
|
|
SQL.Add(@" row_number() over(order by XLXSJGBMX_XLXHID,XLXSJGBMX_DYDJID,XLXSJGBMX_XLBZID,
|
|
XLXXJGB_SFXD7,XLXXJGB_SFXD6,XLXXJGB_SFXD5,XLXXJGB_SFXD4,XLXXJGB_SFXD3,XLXXJGB_SFXD2,XLXXJGB_SFXD1,XLXXJGB_SL7,XLXXJGB_SL6,
|
|
XLXXJGB_SL5,XLXXJGB_SL4,XLXXJGB_SL3,XLXXJGB_SL2,XLXXJGB_SL1,
|
|
|
|
XLDTJMZHB_DTJM1,XLDTJMZHB_DTJM2,XLDTJMZHB_DTJM3,XLDTJMZHB_DTJM4,XLDTJMZHB_DTJM5,XLDTJMZHB_DTJM6,XLDTJMZHB_DTJM7,XLXSJGBMX_XLGGID) as XH ");
|
|
|
|
else if (sPXFS.Equals("F"))
|
|
SQL.Add(@" row_number() over(order by XLXSJGBMX_XLXHID,XLXSJGBMX_DYDJID,
|
|
XLXXJGB_SFXD7,XLXXJGB_SFXD6,XLXXJGB_SFXD5,XLXXJGB_SFXD4,XLXXJGB_SFXD3,XLXXJGB_SFXD2,XLXXJGB_SFXD1,XLXXJGB_SL7,XLXXJGB_SL6,
|
|
XLXXJGB_SL5,XLXXJGB_SL4,XLXXJGB_SL3,XLXXJGB_SL2,XLXXJGB_SL1,
|
|
XLDTJMZHB_DTJM1,XLDTJMZHB_DTJM2,XLDTJMZHB_DTJM3,XLDTJMZHB_DTJM4,XLDTJMZHB_DTJM5,XLDTJMZHB_DTJM6,XLDTJMZHB_DTJM7,XLXSJGBMX_XLGGID) as XH,XLXSJGBMX_XLBZID ");
|
|
else
|
|
SQL.Add(" row_number() over(order by XLXSJGBMX_XLXHID,XLXSJGBMX_XLBZID,XLGGB_XH,XLXSJGBMX_XLGGID,XLXSJGBMX_DYDJID) as XH ");
|
|
SQL.Add(" from XLXSJGBMX ");
|
|
if (!sPXFS.Equals("A"))
|
|
{
|
|
SQL.Add(" left join XLXHB on XLXHB_XLXHID=XLXSJGBMX_XLXHID");
|
|
SQL.Add(" left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSJGBMX_XLGGID ");
|
|
SQL.Add(" left join XLGGB on XLGGB_XLGGID = XLXSBJXLGGTHB_XLGGIDCH and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') ");
|
|
|
|
}
|
|
if (sPXFS.Equals("E") || sPXFS.Equals("F"))
|
|
{
|
|
SQL.Add(" left join XLXXJGB on XLXXJGB_XXJGID=XLGGB_XXJGID ");
|
|
SQL.Add(" left join XLDTJMZHB on XLDTJMZHB_DTJMZHID=XLGGB_DTJMZHID ");
|
|
|
|
}
|
|
|
|
|
|
SQL.Add(" where 1=1 and XLXSJGBMX_JGBID = :pJGBID ");
|
|
SQL.Add(" ) sor ");
|
|
SQL.Add(" on (sor.XLXSJGBMX_JGBID = tag.XLXSJGBMX_JGBID and sor.XLXSJGBMX_XH = tag.XLXSJGBMX_XH ) ");
|
|
SQL.Add(" when matched then update set tag.XLXSJGBMX_XSXH = sor.XH ");
|
|
SQL.ParamByName("pJGBID").Value = sJGBID;
|
|
dberp.ExecSQL(SQL);
|
|
}
|
|
|
|
public static void UpdateJGBMXXSXH(TDatabase dberp, string sJGBID, string sMXBH)
|
|
{
|
|
TSQL SQL = new TSQL(dberp);
|
|
SQL.Clear();
|
|
SQL.Add(" select XLXSJGB_MXPXFS from XLXSJGB where XLXSJGB_JGBID = :pJGBID ");
|
|
if (!sMXBH.Trim().Equals(""))
|
|
{
|
|
SQL.Add(" and XLXSJGB_MXBH = :pMXBH ");
|
|
SQL.ParamByName("pMXBH").Value = sMXBH;
|
|
}
|
|
SQL.ParamByName("pJGBID").Value = sJGBID;
|
|
DataSet ds = dberp.OpenDataSet(SQL);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
string sPXFS = ds.Tables[0].Rows[0]["XLXSJGB_MXPXFS"].ToString().Trim();
|
|
UpdateJGBMXXSXH(dberp, sJGBID, sMXBH, sPXFS);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
//是否有100458003模块权限
|
|
private bool CheckXSJGB()
|
|
{
|
|
UserRight UR = OpRightUtils.GetUserRight(tSession.UserId, 100458003);
|
|
return (DSActiveModule.IsActiveModule(100458003) && UR.Open);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 控件事件
|
|
|
|
protected void cbxBJLY_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
if (cbxBJLY.SelectedValue.Trim().Equals("J"))
|
|
cbxJSBLFS.Enabled = true;
|
|
else
|
|
{
|
|
cbxJSBLFS.SelectedValue = "";
|
|
cbxJSBLFS.Enabled = false;
|
|
}
|
|
int rows = 0;
|
|
txtBZ.Rows = 4;
|
|
if (cbxTJYS.SelectedValue.Trim().Equals("1"))
|
|
{
|
|
rows = rows + 2;
|
|
txtBZ.Rows = 4 - rows;
|
|
}
|
|
if (cbxTJYS.SelectedValue.Trim().Equals("1") && cbxBJLY.SelectedValue.Trim().Equals("J") && cbxJJLY.SelectedValue.Equals("A"))
|
|
{
|
|
cbxWSJGLY.ClearItems();
|
|
cbxWSJGLY.Items.Add(new ListItem("1|无税材料价格", "1"));
|
|
cbxWSJGLY.Items.Add(new ListItem("2|含税价格×(1-税率%)", "2"));
|
|
if (cbxWSJGLY.SelectedValue.Equals(""))
|
|
cbxWSJGLY.SelectedValue = "1";
|
|
lblWSJGLY.Visible = true;
|
|
cbxWSJGLY.Visible = true;
|
|
lblSL.Visible = true;
|
|
txtSL.Visible = true;
|
|
lblFH.Visible = true;
|
|
trWSJGLY.Visible = true;
|
|
rows++;
|
|
txtBZ.Rows = 4 - rows;
|
|
}
|
|
else
|
|
{
|
|
cbxWSJGLY.SelectedValue = "";
|
|
txtSL.Value = 0;
|
|
lblWSJGLY.Visible = false;
|
|
cbxWSJGLY.Visible = false;
|
|
lblSL.Visible = false;
|
|
txtSL.Visible = false;
|
|
lblFH.Visible = false;
|
|
trWSJGLY.Visible = false;
|
|
}
|
|
|
|
if (IsPostBack)
|
|
{
|
|
if ((cbxJJLY.SelectedValue.Trim().Equals("D") && txtJGBIDS.Value.Trim().Equals("")) || cbxBJLY.SelectedValue.Trim().Equals("D"))
|
|
{
|
|
cbxMXPXFS.Enabled = false;
|
|
cbxMXPXFS.SelectedValue = "A";
|
|
}
|
|
else
|
|
{
|
|
cbxMXPXFS.Enabled = true;
|
|
if (ControlState == TControlState.ctsInsert)
|
|
cbxMXPXFS.SelectedValue = "B";
|
|
}
|
|
}
|
|
|
|
//if (cbxBJLY.SelectedValue.Trim().Equals("C"))
|
|
// cbxJGCIDS.Enabled = true;
|
|
//else
|
|
//{
|
|
// cbxJGCIDS.SelectedValue = "";
|
|
// cbxJGCIDS.Enabled = false;
|
|
//}
|
|
}
|
|
|
|
protected void cbxTJYS_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
lblTJR.Visible = false;
|
|
lblTJZT.Visible = false;
|
|
cbxTJR.Visible = false;
|
|
cbxTJZT.Visible = false;
|
|
cbxDRZT.Visible = false;
|
|
lblTJKSSJ.Visible = false;
|
|
lblTJWCSJ.Visible = false;
|
|
datTJKSSJ.Visible = false;
|
|
datTJWCSJ.Visible = false;
|
|
trTJR.Visible = false;
|
|
trTJSJ.Visible = false;
|
|
int rows = 0;
|
|
txtBZ.Rows = 4;
|
|
if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC"))
|
|
{
|
|
cbxJJLY.ClearItems();
|
|
if (cbxTJYS.SelectedValue.Trim().Equals("0"))
|
|
{
|
|
cbxJJLY.Items.Add(new ListItem("A|sum(材料用量*材料价格)", "A"));
|
|
if (ControlState == TControlState.ctsInsert || ControlState == TControlState.ctsCopy)
|
|
{
|
|
cbxJJLY.SelectedValue = "A";
|
|
}
|
|
else if (ControlState == TControlState.ctsEdit)
|
|
{
|
|
cbxJJLY.SelectedValue = "A";
|
|
}
|
|
}
|
|
else if (cbxTJYS.SelectedValue.Trim().Equals("1"))
|
|
{
|
|
lblTJR.Visible = true;
|
|
lblTJZT.Visible = true;
|
|
cbxTJR.Visible = true;
|
|
cbxTJZT.Visible = true;
|
|
cbxDRZT.Visible = true;
|
|
lblTJKSSJ.Visible = true;
|
|
lblTJWCSJ.Visible = true;
|
|
datTJKSSJ.Visible = true;
|
|
datTJWCSJ.Visible = true;
|
|
trTJR.Visible = true;
|
|
trTJSJ.Visible = true;
|
|
rows = rows + 2;
|
|
txtBZ.Rows = 4 - rows;
|
|
|
|
cbxJJLY.Items.Add(new ListItem("A|sum(材料用量*材料价格)", "A"));
|
|
cbxJJLY.Items.Add(new ListItem("D|直接导入", "D"));
|
|
if (ControlState == TControlState.ctsInsert)
|
|
{
|
|
cbxJJLY.SelectedValue = "A";
|
|
}
|
|
}
|
|
else if (cbxTJYS.SelectedValue.Trim().Equals("2"))
|
|
{
|
|
cbxJJLY.Items.Add(new ListItem("B|出厂价", "B"));
|
|
if (ControlState == TControlState.ctsInsert || ControlState == TControlState.ctsCopy)
|
|
{
|
|
cbxJJLY.SelectedValue = "B";
|
|
}
|
|
else if (ControlState == TControlState.ctsEdit)
|
|
{
|
|
cbxJJLY.SelectedValue = "B";
|
|
}
|
|
}
|
|
else if (cbxTJYS.SelectedValue.Trim().Equals("3"))
|
|
{
|
|
cbxJJLY.Items.Add(new ListItem("C|出厂价+材料价价差", "C"));
|
|
if (ControlState == TControlState.ctsInsert || ControlState == TControlState.ctsCopy)
|
|
{
|
|
cbxJJLY.SelectedValue = "C";
|
|
}
|
|
else if (ControlState == TControlState.ctsEdit)
|
|
{
|
|
cbxJJLY.SelectedValue = "C";
|
|
}
|
|
}
|
|
}
|
|
if (cbxTJYS.SelectedValue.Trim().Equals("1") && cbxBJLY.SelectedValue.Trim().Equals("J") && cbxJJLY.SelectedValue.Equals("A"))
|
|
{
|
|
cbxWSJGLY.ClearItems();
|
|
cbxWSJGLY.Items.Add(new ListItem("1|无税材料价格", "1"));
|
|
cbxWSJGLY.Items.Add(new ListItem("2|含税价格×(1-税率%)", "2"));
|
|
if (cbxWSJGLY.SelectedValue.Equals(""))
|
|
cbxWSJGLY.SelectedValue = "1";
|
|
lblWSJGLY.Visible = true;
|
|
cbxWSJGLY.Visible = true;
|
|
lblSL.Visible = true;
|
|
txtSL.Visible = true;
|
|
lblFH.Visible = true;
|
|
trWSJGLY.Visible = true;
|
|
rows++;
|
|
txtBZ.Rows = 4 - rows;
|
|
}
|
|
else
|
|
{
|
|
cbxWSJGLY.SelectedValue = "";
|
|
txtSL.Value = 0;
|
|
lblWSJGLY.Visible = false;
|
|
cbxWSJGLY.Visible = false;
|
|
lblSL.Visible = false;
|
|
txtSL.Visible = false;
|
|
lblFH.Visible = false;
|
|
trWSJGLY.Visible = false;
|
|
}
|
|
|
|
if (IsPostBack)
|
|
{
|
|
if ((cbxJJLY.SelectedValue.Trim().Equals("D") && txtJGBIDS.Value.Trim().Equals("")) || cbxBJLY.SelectedValue.Trim().Equals("D"))
|
|
{
|
|
cbxMXPXFS.Enabled = false;
|
|
cbxMXPXFS.SelectedValue = "A";
|
|
}
|
|
else
|
|
{
|
|
cbxMXPXFS.Enabled = true;
|
|
if (ControlState == TControlState.ctsInsert)
|
|
cbxMXPXFS.SelectedValue = "B";
|
|
}
|
|
}
|
|
}
|
|
|
|
protected void cbxJJLY_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
int rows = 0;
|
|
txtBZ.Rows = 4;
|
|
if (cbxTJYS.SelectedValue.Trim().Equals("1"))
|
|
{
|
|
rows = rows + 2;
|
|
txtBZ.Rows = 4 - rows;
|
|
}
|
|
if (cbxTJYS.SelectedValue.Trim().Equals("1") && cbxBJLY.SelectedValue.Trim().Equals("J") && cbxJJLY.SelectedValue.Equals("A"))
|
|
{
|
|
cbxWSJGLY.ClearItems();
|
|
cbxWSJGLY.Items.Add(new ListItem("1|无税材料价格", "1"));
|
|
cbxWSJGLY.Items.Add(new ListItem("2|含税价格×(1-税率%)", "2"));
|
|
if (cbxWSJGLY.SelectedValue.Equals(""))
|
|
cbxWSJGLY.SelectedValue = "1";
|
|
lblWSJGLY.Visible = true;
|
|
cbxWSJGLY.Visible = true;
|
|
lblSL.Visible = true;
|
|
txtSL.Visible = true;
|
|
lblFH.Visible = true;
|
|
trWSJGLY.Visible = true;
|
|
rows++;
|
|
txtBZ.Rows = 4 - rows;
|
|
}
|
|
else
|
|
{
|
|
cbxWSJGLY.SelectedValue = "";
|
|
txtSL.Value = 0;
|
|
lblWSJGLY.Visible = false;
|
|
cbxWSJGLY.Visible = false;
|
|
lblSL.Visible = false;
|
|
txtSL.Visible = false;
|
|
lblFH.Visible = false;
|
|
trWSJGLY.Visible = false;
|
|
}
|
|
|
|
if (cbxJJLY.SelectedValue.Trim() == "D" && txtJGBIDS.Value.Trim().Equals(""))
|
|
{
|
|
txtTBJCLID.Enabled = false;
|
|
txtLBJCLID.Enabled = false;
|
|
if (ControlState != TControlState.ctsBrowse && ControlState != TControlState.ctsNull)
|
|
{
|
|
if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC"))
|
|
{
|
|
|
|
txtTBJCLID.Enabled = true;
|
|
txtLBJCLID.Enabled = true;
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
if (IsPostBack)
|
|
{
|
|
if ((cbxJJLY.SelectedValue.Trim().Equals("D") && txtJGBIDS.Value.Trim().Equals("")) || cbxBJLY.SelectedValue.Trim().Equals("D"))
|
|
{
|
|
cbxMXPXFS.Enabled = false;
|
|
cbxMXPXFS.SelectedValue = "A";
|
|
}
|
|
else
|
|
{
|
|
cbxMXPXFS.Enabled = true;
|
|
if (ControlState == TControlState.ctsInsert)
|
|
cbxMXPXFS.SelectedValue = "B";
|
|
}
|
|
}
|
|
}
|
|
//铜价标签
|
|
protected void llblTBJCLID_Click(object sender, EventArgs e)
|
|
{
|
|
string sMXBH = txtMXBH.Value;
|
|
string sJGBID = txtJGBID.Text.Trim();
|
|
string sCPMLLX = "";
|
|
string sJGBIDS = "";
|
|
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
SQL.Clear();
|
|
SQL.Add(" SELECT XLXSCPML_CPMLLX,XLXSJGB_JGBIDS FROM XLXSJGB ");
|
|
SQL.Add(" LEFT JOIN XLXSCPML ON XLXSCPML_CPMLID = XLXSJGB_CPMLID ");
|
|
SQL.Add(" where 1=1 and XLXSJGB_JGBID = :pJGBID ");
|
|
SQL.Add(" and XLXSJGB_MXBH = :pMXBH ");
|
|
SQL.ParamByName("pJGBID").Value = sJGBID;
|
|
SQL.ParamByName("pMXBH").Value = sMXBH;
|
|
DataSet ds = dberp.OpenDataSet(SQL);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
sCPMLLX = ds.Tables[0].Rows[0]["XLXSCPML_CPMLLX"].ToString().Trim();
|
|
sJGBIDS = ds.Tables[0].Rows[0]["XLXSJGB_JGBIDS"].ToString().Trim();
|
|
}
|
|
|
|
TPageParams pageParams = new TPageParams();
|
|
pageParams.UrlPath = "XLJGB_CLJGTZList.aspx";
|
|
pageParams.AddString("FromJGBML", "FromJGBML");
|
|
pageParams.AddString("XLXSJGBMX_JGBID", sJGBID);
|
|
pageParams.AddString("MXBH", sMXBH);
|
|
pageParams.AddString("BJLY", cbxBJLY.SelectedValue.Trim());
|
|
pageParams.AddString("CPMLLX", sCPMLLX);
|
|
pageParams.AddString("XLXSJGBMX_JGBIDS", sJGBIDS);
|
|
pageParams.AddString("TJYS", cbxTJYS.SelectedValue.Trim());
|
|
pageParams.AddString("JSBLFS", cbxJSBLFS.SelectedValue.Trim());
|
|
OpenFuncModuleDialog(100860001, pageParams, btnLoarRecord.ClientID);
|
|
}
|
|
|
|
//铝价标签
|
|
protected void lblLBJCLID_Click(object sender, EventArgs e)
|
|
{
|
|
string sMXBH = txtMXBH.Value;
|
|
string sJGBID = txtJGBID.Text.Trim();
|
|
string sCPMLLX = "";
|
|
string sJGBIDS = "";
|
|
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
SQL.Clear();
|
|
SQL.Add(" SELECT XLXSCPML_CPMLLX,XLXSJGB_JGBIDS FROM XLXSJGB ");
|
|
SQL.Add(" LEFT JOIN XLXSCPML ON XLXSCPML_CPMLID = XLXSJGB_CPMLID ");
|
|
SQL.Add(" where 1=1 and XLXSJGB_JGBID = :pJGBID ");
|
|
SQL.Add(" and XLXSJGB_MXBH = :pMXBH ");
|
|
SQL.ParamByName("pJGBID").Value = sJGBID;
|
|
SQL.ParamByName("pMXBH").Value = sMXBH;
|
|
DataSet ds = dberp.OpenDataSet(SQL);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
sCPMLLX = ds.Tables[0].Rows[0]["XLXSCPML_CPMLLX"].ToString().Trim();
|
|
sJGBIDS = ds.Tables[0].Rows[0]["XLXSJGB_JGBIDS"].ToString().Trim();
|
|
}
|
|
TPageParams pageParams = new TPageParams();
|
|
pageParams.UrlPath = "XLJGB_CLJGTZList.aspx";
|
|
pageParams.AddString("FromJGBML", "FromJGBML");
|
|
pageParams.AddString("XLXSJGBMX_JGBID", sJGBID);
|
|
pageParams.AddString("MXBH", sMXBH);
|
|
pageParams.AddString("JSBLFS", cbxJSBLFS.SelectedValue.Trim());
|
|
pageParams.AddString("BJLY", cbxBJLY.SelectedValue.Trim());
|
|
pageParams.AddString("CPMLLX", sCPMLLX);
|
|
pageParams.AddString("XLXSJGBMX_JGBIDS", sJGBIDS);
|
|
pageParams.AddString("TJYS", cbxTJYS.SelectedValue.Trim());
|
|
OpenFuncModuleDialog(100860001, pageParams, btnLoarRecord.ClientID);
|
|
}
|
|
|
|
protected void btnXLXSJGBMX_Click(object sender, EventArgs e)
|
|
{
|
|
string sMXBH = txtMXBH.Value;
|
|
string sJGBID = txtJGBID.Text.Trim();
|
|
TPageParams param = new TPageParams();
|
|
param.UrlPath = "XLJGB_JGBMXList.aspx";
|
|
param.AddString("FromJGBML", "FromJGBML");
|
|
param.AddString("JGBID", sJGBID);
|
|
param.AddString("MXBH", sMXBH);
|
|
OpenFuncModuleDialog(100860001, param, btnLoarRecord.ClientID);
|
|
}
|
|
|
|
//刷新
|
|
protected void btnLoarRecord_Click(object sender, EventArgs e)
|
|
{
|
|
LoadRecord();
|
|
RefreshForm();
|
|
SetControlState();
|
|
MenuAreaUpdate();
|
|
FormAreaUpdate();
|
|
}
|
|
|
|
protected void btnQXTJ_Click(object sender, EventArgs e)
|
|
{
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
SQL.Clear();
|
|
SQL.Add(" update XLXSJGB set XLXSJGB_TJZT='C' where XLXSJGB_JGBID = :pJGBID and XLXSJGB_MXBH= :pMXBH ");
|
|
SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim();
|
|
SQL.ParamByName("pMXBH").Value = txtMXBH.Value.Trim();
|
|
dberp.ExecSQL(SQL);
|
|
CacheNotify.TableIsUpdated("DBERP", "XLXSJGB");
|
|
btnLoarRecord_Click(null, null);
|
|
}
|
|
|
|
protected void btnBJJGB_Click(object sender, EventArgs e)
|
|
{
|
|
string sMXBH = txtMXBH.Value;
|
|
string sJGBID = txtJGBID.Text.Trim();
|
|
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
SQL.Clear();
|
|
SQL.Add(" select XLXSJGB_CPMLID from XLXSJGB where XLXSJGB_JGBID = :pJGBID and XLXSJGB_MXBH= :pMXBH ");
|
|
SQL.ParamByName("pJGBID").Value = sJGBID;
|
|
SQL.ParamByName("pMXBH").Value = sMXBH;
|
|
DataSet ds = dberp.OpenDataSet(SQL);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
string sCPMLID = ds.Tables[0].Rows[0]["XLXSJGB_CPMLID"].ToString().Trim();
|
|
if (sCPMLID.Equals(""))
|
|
{
|
|
ShowMessage("请先维护产品目录!");
|
|
return;
|
|
}
|
|
|
|
SQL.Clear();
|
|
SQL.Add("select XLXSCPML_CPMLID from XLXSCPML where ','||rtrim(isnull(XLXSCPML_CPMLIDS,' '))||',' like :pCPMLID order by XLXSCPML_CPMLID");
|
|
SQL.ParamByName("pCPMLID").Value = "%," + sCPMLID + ",%";
|
|
DataSet dsML = dberp.OpenDataSet(SQL);
|
|
string multiCPMLIDS = "";//组合产品目录
|
|
for (int i = 0; i < dsML.Tables[0].Rows.Count; i++)
|
|
{
|
|
multiCPMLIDS += dsML.Tables[0].Rows[i]["XLXSCPML_CPMLID"].ToString().Trim() + ",";
|
|
}
|
|
multiCPMLIDS = multiCPMLIDS.TrimEnd(',');
|
|
|
|
if (!multiCPMLIDS.Equals(""))
|
|
{
|
|
TPageParams param = new TPageParams();
|
|
param.UrlPath = "JGBML_BJJGBList.aspx";
|
|
param.AddString("JGBID", sJGBID);
|
|
param.AddString("MXBH", sMXBH);
|
|
param.AddString("singleCPMLID", sCPMLID);//单一产品目录
|
|
param.AddString("multiCPMLIDS", multiCPMLIDS);//组合产品目录
|
|
OpenDialog(param);
|
|
}
|
|
else
|
|
{
|
|
ShowMessage("未找到包含当前产品目录的组合产品目录!");
|
|
return;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
ShowMessage("当前记录不存在,请刷新后重试!");
|
|
return;
|
|
}
|
|
}
|
|
|
|
protected void btnCOPY3_Click(object sender, EventArgs e)
|
|
{
|
|
TPageParams param = new TPageParams();
|
|
param.UrlPath = "JGBML_YJFZInfo.aspx";
|
|
param.AddString("TJ", txtTBJCLID.Value.ToString());
|
|
param.AddString("LJ", txtLBJCLID.Value.ToString());
|
|
param.AddString("JGBID", txtJGBID.Text.Trim());
|
|
OpenDialog(param);
|
|
}
|
|
|
|
protected void btnTBZXSJGB_Click(object sender, EventArgs e)
|
|
{
|
|
string sMXBH = txtMXBH.Value;
|
|
string sJGBID = txtJGBID.Text.Trim();
|
|
string sJGBMC = txtJGBMC.Text.Trim();
|
|
string sYXQS = datYXQS.Text.Trim();
|
|
string sYXQZ = datYXQZ.Text.Trim();
|
|
|
|
TPageParams param = new TPageParams();
|
|
param.UrlPath = "JGBML_TBZXSJGBInfo.aspx";
|
|
param.AddString("JGBID", sJGBID);
|
|
param.AddString("JGBMC", sJGBMC);
|
|
param.AddString("MXBH", sMXBH);
|
|
param.AddString("YXQS", sYXQS);
|
|
param.AddString("YXQZ", sYXQZ);
|
|
OpenDialog(param);
|
|
}
|
|
|
|
private void InitJSGS()
|
|
{
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
SQL.Clear();
|
|
SQL.Add("select CJGS from dbo.JGBCJGS where JGBID=:JGBID ");
|
|
SQL.ParamByName("JGBID").Value = txtJGBID.Text.Trim();
|
|
DataSet ds = dberp.OpenDataSet(SQL);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
txtJGGS.Text = ConvertCodeToName(ds.Tables[0].Rows[0]["CJGS"].ToString().Trim());
|
|
}
|
|
|
|
protected void btnGXGS_Click(object sender, EventArgs e)
|
|
{
|
|
string sJGBID = txtJGBID.Text.Trim();
|
|
string sCodeFormula = ConvertNameToCode(txtJGGS.Text.Trim());
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
SQL.Clear();
|
|
SQL.Add("delete from dbo.JGBCJGS where JGBID=:JGBID ");
|
|
SQL.ParamByName("JGBID").Value = sJGBID;
|
|
dberp.ExecSQL(SQL);
|
|
|
|
SQL.Clear();
|
|
SQL.Add("INSERT INTO dbo.JGBCJGS (JGBID, CJGS) VALUES(:pJGBID,:pJSGS) ");
|
|
SQL.ParamByName("pJSGS").Value = sCodeFormula;
|
|
SQL.ParamByName("pJGBID").Value = sJGBID;
|
|
dberp.ExecSQL(SQL);
|
|
txtJGGS.Text = ConvertCodeToName(sCodeFormula);
|
|
//ShowMessage("公式已更新!");
|
|
}
|
|
|
|
private string ConvertCodeToName(string sFormula)
|
|
{
|
|
if (string.IsNullOrEmpty(sFormula))
|
|
return sFormula;
|
|
string sResult = sFormula.Replace("CLCB", "成本").Replace("WSCB", "无税成本");
|
|
Dictionary<string, string> dicYZ = GetYZIDNameMap();
|
|
foreach (KeyValuePair<string, string> kvp in dicYZ)
|
|
{
|
|
sResult = sResult.Replace(kvp.Key, kvp.Value);
|
|
}
|
|
return sResult;
|
|
}
|
|
|
|
private string ConvertNameToCode(string sFormula)
|
|
{
|
|
if (string.IsNullOrEmpty(sFormula))
|
|
return sFormula;
|
|
string sResult = sFormula.Replace("无税成本", "WSCB").Replace("成本", "CLCB");
|
|
Dictionary<string, string> dicYZ = GetYZIDNameMap();
|
|
//按名称长度降序替换,避免短名称被长名称包含时误替换
|
|
List<KeyValuePair<string, string>> lstYZ = new List<KeyValuePair<string, string>>(dicYZ);
|
|
lstYZ.Sort(delegate(KeyValuePair<string, string> a, KeyValuePair<string, string> b)
|
|
{
|
|
return b.Value.Length.CompareTo(a.Value.Length);
|
|
});
|
|
foreach (KeyValuePair<string, string> kvp in lstYZ)
|
|
{
|
|
sResult = sResult.Replace(kvp.Value, kvp.Key);
|
|
}
|
|
return sResult;
|
|
}
|
|
|
|
private Dictionary<string, string> GetYZIDNameMap()
|
|
{
|
|
Dictionary<string, string> dic = new Dictionary<string, string>();
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
SQL.Clear();
|
|
SQL.Add("select XLXSTZYZ_YZID from XLXSTZYZ where XLXSTZYZ_MXBH='JZJ' ");
|
|
DataSet ds = dberp.OpenDataSet(SQL);
|
|
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
|
{
|
|
string sYZID = ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim();
|
|
TZYZXX yzxx = XLBJDUtils.GetYZXXByYZID(sYZID);
|
|
string sYZMC = yzxx.XLXSTZYZ_YZMC.Trim();
|
|
if (!dic.ContainsKey(sYZID))
|
|
dic.Add(sYZID, sYZMC);
|
|
}
|
|
return dic;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|