Files
N_XLXSBJ----MX/BJFL_ZDXJGSInfo.aspx.cs
T
2026-09-04 15:17:19 +08:00

317 lines
22 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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_PUBLIC;
using GThinking.N_MISPRO.Utility;
using System.Text.RegularExpressions;
using GThinking.N_CONTROL;
using System.Collections.Generic;
using GThinking.N_MISPRO.Caching;
namespace GThinking.N_XLXSBJ
{
public partial class BJFL_ZDXJGSInfo : SingleCardBase
{
BJFL_ZDXJGS entity = new BJFL_ZDXJGS();
string sBJFLID = "";
#region 页面初始化
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860023;
this.UMName = "线缆销售报价分类";
this.CurMaster = Master;
this.CurEntity = entity;
this.Master.EnableAttachBtn = false;
if (PageParam.ContainsKey("JSJGS"))
{
Title = "结算价公式";
}
if (PageParam.GetRTrimString("MXBH").Equals("JGE"))
{
this.PageWidth = 700;
this.PageHeight = 600;
}
else
{
this.PageWidth = 500;
this.PageHeight = 500;
}
Master.EnableAttachBtn = false;
Master.EnableCancelBtn = false;
Master.EnableCopyBtn = false;
Master.EnableDeleteBtn = false;
Master.EnableEditBtn = false;
Master.EnableInsertBtn = false;
Master.EnablePrintBtn = false;
Master.EnableRefreshBtn = false;
Master.EnableSaveBtn = false;
base.InitPage();
LinkZDXJ.Visible = false;
tr1.Visible = false;
tr2.Visible = false;
trJJYZ1.Visible = false;
trJJYZ2.Visible = false;
trJJYZ3.Visible = false;
trJJYZ4.Visible = false;
sBJFLID = PageParam.GetRTrimString("BJFLID");
if (PageParam.GetRTrimString("MXBH").Equals("JGE"))
{
tr1.Visible = true;
tr2.Visible = true;
trJJYZ1.Visible = true;
trJJYZ2.Visible = true;
trJJYZ3.Visible = true;
trJJYZ4.Visible = true;
}
if (PageParam.ContainsKey("JSJGS"))
{
LinkZDXJ.Visible = true;
lblZDXJGS.Text = "结算价公式:";
}
if (!IsPostBack)
{
InitControl();
}
}
#endregion
#region 模板事件继承
#endregion
#region 成本 基价 表价 报价 最低限价
protected void LinkCLCB_Click(object sender, EventArgs e)
{
txtZDXJGS.Text = txtZDXJGS.Text + "成本";
}
protected void LinkJGBJJ_Click(object sender, EventArgs e)
{
txtZDXJGS.Text = txtZDXJGS.Text + "基价";
}
protected void LinkJGBBJ_Click(object sender, EventArgs e)
{
txtZDXJGS.Text = txtZDXJGS.Text + "表价";
}
protected void LinkCPBJ_Click(object sender, EventArgs e)
{
txtZDXJGS.Text = txtZDXJGS.Text + "报价";
}
protected void LinkZDXJ_Click(object sender, EventArgs e)
{
txtZDXJGS.Text = txtZDXJGS.Text + "最低限价";
}
#endregion
#region 因子
protected void LinkButton_Click(object sender, EventArgs e)
{
// 将 sender 转换为 LinkButton(如果是 LinkButton 的话)
LinkButton btn = sender as LinkButton;
if (btn != null)
{
txtZDXJGS.Text += btn.Text.Trim();
}
}
#endregion
#region 控件事件
protected void btnOK_Click(object sender, EventArgs e)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
sBJFLID = PageParam.GetRTrimString("BJFLID");
//校验公式
if (!txtZDXJGS.Text.Trim().Equals(""))
{
//校验报价单因子名称
SQL.Clear();
SQL.Add("select count(1) from XLXSTZYZ ");
SQL.Add("where XLXSTZYZ_MXBH ='BJD' ");
SQL.Add(" group by XLXSTZYZ_YZMC ");
DataSet dsBJD = dberp.OpenDataSet(SQL);
if (dsBJD.Tables[0].Rows.Count != 20)
{
ShowMessage("报价单因子名称存在重复!");
return;
}
if (PageParam.GetRTrimString("MXBH").Equals("JGE"))
{
//校验价格表因子名称
SQL.Clear();
SQL.Add("select count(1) from XLXSTZYZ ");
SQL.Add("where XLXSTZYZ_MXBH ='JZJ' ");
SQL.Add(" group by XLXSTZYZ_YZMC ");
DataSet dsJGB = dberp.OpenDataSet(SQL);
if (dsJGB.Tables[0].Rows.Count != 20)
{
ShowMessage("价格表因子名称存在重复!");
return;
}
}
txtValue.Value = XLXSBJFL.GetZDXJGSBM(txtZDXJGS.Text.Trim());
string sTmp = txtValue.Value;
sTmp = XLBJDUtils.SubStringFunc(txtValue.Value, 250);
if (!sTmp.Equals(txtValue.Value))
{
ShowMessage("公式超长!");
return;
}
gtExpression exp = new gtExpression();
sTmp = sTmp.Replace(" ", "").Replace("CLCB", "7.1").Replace("JGBJJ", "9.4").Replace("JGBBJ", "5.2").Replace("CPBJ", "11.2").Replace("×", "*").Replace("ZDXJ","10");
sTmp = sTmp.Replace("BJ01", "1.2").Replace("BJ02", "1.6").Replace("BJ03", "2.3").Replace("BJ04", "3.1").Replace("BJ05", "3.6");
sTmp = sTmp.Replace("BJ06", "4.5").Replace("BJ07", "4.6").Replace("BJ08", "5.1").Replace("BJ09", "6.4").Replace("BJ10", "8.1");
sTmp = sTmp.Replace("BJ11", "1.2").Replace("BJ12", "1.6").Replace("BJ13", "2.3").Replace("BJ14", "3.1").Replace("BJ15", "3.6");
sTmp = sTmp.Replace("BJ16", "4.5").Replace("BJ17", "4.6").Replace("BJ18", "5.1").Replace("BJ19", "6.4").Replace("BJ20", "8.1");
if (PageParam.GetRTrimString("MXBH").Equals("JGE"))
{
sTmp = sTmp.Replace("JZ01", "1.2").Replace("JZ02", "1.6").Replace("JZ03", "2.3").Replace("JZ04", "3.1").Replace("JZ05", "3.6");
sTmp = sTmp.Replace("JZ06", "4.5").Replace("JZ07", "4.6").Replace("JZ08", "5.1").Replace("JZ09", "6.4").Replace("JZ10", "8.1");
sTmp = sTmp.Replace("JZ06", "8.1").Replace("JZ07", "8.1").Replace("JZ08", "8.1").Replace("JZ09", "8.1").Replace("JZ10", "8.1");
sTmp = sTmp.Replace("JZ11", "8.1").Replace("JZ12", "8.1").Replace("JZ13", "8.1").Replace("JZ14", "8.1").Replace("JZ15", "8.1");
sTmp = sTmp.Replace("JZ16", "8.1").Replace("JZ17", "8.1").Replace("JZ18", "8.1").Replace("JZ19", "8.1").Replace("JZ20", "8.1");
}
try
{
double dZBZ = NumberUtils.RoundX(exp.Evaluate(sTmp), 4);
//SQL.Clear();
//SQL.Add("select " + sTmp + " as px1 ");
//dberp.ExecSQL(SQL);
}
catch
{
ShowMessage("公式存在语法错误!");
return;
}
}
else
{
txtValue.Value = "";
}
if (PageParam.ContainsKey("JSJGS"))
{
//更新数据
SQL.Clear();
SQL.Add(" UPDATE XLXSBJFL SET XLXSBJFL_JSJGS = :pXLXSBJFL_ZDXJGS where XLXSBJFL_BJFLID = :pXLXSBJFL_BJFLID ");
SQL.ParamByName("pXLXSBJFL_ZDXJGS").Value = txtValue.Value;
SQL.ParamByName("pXLXSBJFL_BJFLID").Value = sBJFLID;
dberp.ExecSQL(SQL);
}
else
{
//更新数据
SQL.Clear();
SQL.Add(" UPDATE XLXSBJFL SET XLXSBJFL_ZDXJGS = :pXLXSBJFL_ZDXJGS where XLXSBJFL_BJFLID = :pXLXSBJFL_BJFLID ");
SQL.ParamByName("pXLXSBJFL_ZDXJGS").Value = txtValue.Value;
SQL.ParamByName("pXLXSBJFL_BJFLID").Value = sBJFLID;
dberp.ExecSQL(SQL);
}
CacheNotify.TableIsUpdated("DBERP", "XLXSBJFL");
//
DialogOperationScript dos = new DialogOperationScript(this);
dos.ClickOwnerButton(PageParam.GetRTrimString("btnRefreshCID"));
dos.CloseSelf();
dos.Execute();
}
protected void btnQX_Click(object sender, EventArgs e)
{
CloseWindow();
}
#endregion
#region 私有函数
private void InitControl()
{
if (PageParam.ContainsKey("JSJGS"))
{
if (!PageParam.GetRTrimString("JSJGS").Equals(""))
{
txtValue.Value = PageParam.GetRTrimString("JSJGS");
txtZDXJGS.Text = XLXSBJFL.GetZDXJGSMC(PageParam.GetRTrimString("JSJGS"));
}
}
else
{
if (!PageParam.GetRTrimString("ZDXJGS").Equals(""))
{
txtValue.Value = PageParam.GetRTrimString("ZDXJGS");
txtZDXJGS.Text = XLXSBJFL.GetZDXJGSMC(PageParam.GetRTrimString("ZDXJGS"));
}
}
//加载界面标签
Dictionary<string, string> dic = XLBJDUtils.GetALLYZIDDic();
foreach (string sYZID in dic.Keys)
{
LinkButton LinkYZID = (LinkButton)Master.ContentFormControl.FindControl("LinkYZ" + sYZID.Replace("BJ", ""));
if (LinkYZID != null)
{
LinkYZID.Text = dic[sYZID];
}
}
if (PageParam.GetRTrimString("MXBH").Equals("JGE"))
{
foreach (string sYZID in dic.Keys)
{
LinkButton LinkYZID = (LinkButton)Master.ContentFormControl.FindControl("LinkJJ" + sYZID.Replace("JZ", ""));
if (LinkYZID != null)
{
LinkYZID.Text = dic[sYZID];
}
}
}
}
public static bool IsNumeric(string value)
{
return Regex.IsMatch(value, @"^[+-]?\d*[.]?\d*$");
}
#endregion
}
}