This commit is contained in:
2026-08-21 17:03:02 +08:00
commit f065129b20
2292 changed files with 666241 additions and 0 deletions
+444
View File
@@ -0,0 +1,444 @@
using System;
using System.Data;
using System.Configuration;
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_MISPRO.Utility;
using GThinking.N_CONTROL;
namespace GThinking.N_XLXSBJ
{
public partial class BDPYBPInfo : SingleCardBase
{
#region Page类事件继承
XLBJD_BDBJ entity = new XLBJD_BDBJ();
DataSet ds;
string sBJDID;
string sBJDXH;
string sJCLLX;
string sLJJCLLX;
string flag;
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860000;
this.UMName = "比对报价";
this.CurMaster = Master;
this.CurEntity = entity;
this.PageHeight = 180;
this.PageWidth = 420;
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();
flag = PageParam.GetRTrimString("FLAG");
sBJDID = PageParam.GetRTrimString("BJDID");
sBJDXH = PageParam.GetRTrimString("BJDXH");
sJCLLX = PageParam.GetRTrimString("JCLLX");
sLJJCLLX = PageParam.GetRTrimString("LJJCLLX");
ds = entity.GetXLXSBJDMX_ds(sBJDID, sBJDXH);
if (!IsPostBack)
{
InitControl();
}
}
#endregion
#region 模板继承事件
#endregion
#region 自定义事件
private void InitControl()
{
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
if (flag.Equals("GLTZBJ"))
{
lblTZ.Text = "报价:";
txtTZ.DecimalPlaces = CMISproConvert.StrToInt(PageParam.GetRTrimString("iXSWS"));
txtTZ.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMX_CPBJ"].ToString().Trim(), 0);
txtCPBJ.Value = ds.Tables[0].Rows[0]["XLXSBJDMX_CPBJ"].ToString().Trim();
}
else if (flag.Equals("GLTZCLCBLRL"))
{
lblTZ.Text = "材料料价价差率:";
txtTZ.DecimalPlaces = 2;
txtTZ.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMX_CLCBJCL"].ToString().Trim(), 0);
txtCLCBLRL.Value =ds.Tables[0].Rows[0]["XLXSBJDMX_CLCBJCL"].ToString().Trim();
}
else if (flag.Equals("GLTZLRL"))
{
lblTZ.Text = "表价价差率:";
txtTZ.DecimalPlaces = 2;
txtTZ.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMX_JGBBJJCL"].ToString().Trim(), 0);
txtLRL.Value =ds.Tables[0].Rows[0]["XLXSBJDMX_JGBBJJCL"].ToString().Trim();
}
}
}
#endregion
#region 控件事件
protected void txtTZ_OnTextChanged(object sender, EventArgs e)
{
if (flag.Equals("GLTZBJ"))
{
txtCPBJ.Value = txtTZ.Value.ToString().Trim();
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
//报价发生变化,反算调整报价(%)
double dTZQCPBJ = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMX_TZQCPBJ"].ToString().Trim(), 0);
double dCPBJ = CMISproConvert.StrToFloat(txtCPBJ.Value.Trim());
double dBJSL = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMX_BJSL"].ToString().Trim(), 0);
double dCPJJ = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMX_JGBBJ"].ToString().Trim(), 0);
double dCLCB = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMX_CLCB"].ToString().Trim(), 0);
double dBJDHQCLCB = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMX_BJDHQCLCB"].ToString().Trim(), 0);
double dTZJG = 0;
if (dTZQCPBJ != 0)
dTZJG = 100 * (dCPBJ - dTZQCPBJ) / dTZQCPBJ;
double dTZQBJJE = NumberUtils.RoundX(dBJSL * dCPBJ, 2);
double dTZJE = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMX_TZBJJE"].ToString().Trim(), 0);
double dBJJE = dTZQBJJE + dTZJE;
double dLRE = 0;
if (sJCLLX.Trim().Equals("1"))//表价价差率公式
dLRE = dBJJE - NumberUtils.RoundX(dCPJJ * dBJSL, 2);
else if (sJCLLX.Trim().Equals("2"))
dLRE = NumberUtils.RoundX(dCPJJ * dBJSL, 2) - dBJJE;
else if (sJCLLX.Trim().Equals("4"))
dLRE = dBJJE - NumberUtils.RoundX(dCPJJ * dBJSL, 2);
//表价价差率公式
//表价金额
double dCPJE = NumberUtils.RoundX(dCPJJ * dBJSL, 2);
double dLRL = 0.0;
if (sJCLLX.Trim().Equals("1"))
{
if (dBJJE != 0)
dLRL = NumberUtils.RoundX(dLRE * 100 / dBJJE, 2);
}
else if (sJCLLX.Trim().Equals("2"))
{
if (dCPJE != 0)
dLRL = NumberUtils.RoundX(dLRE * 100 / dCPJE, 2);
}
else if (sJCLLX.Trim().Equals("3"))
{
if (dBJJE != 0)
dLRL = NumberUtils.RoundX(dCPJE * 100 / dBJJE, 2);
}
else if (sJCLLX.Trim().Equals("4"))
{
if (dCPJE != 0)
dLRL = NumberUtils.RoundX(dLRE * 100 / dCPJE, 2);
}
double dCLCBLRL = 0.0;
if (sLJJCLLX.Trim().Equals("1"))
{
double dCLCBLRE = dBJJE - NumberUtils.RoundX(dCLCB * dBJSL, 2);
if (dBJJE != 0)
dCLCBLRL = NumberUtils.RoundX(dCLCBLRE * 100 / dBJJE, 2);
}
else if (sLJJCLLX.Trim().Equals("2"))
{
double dCLCBLRE = dBJJE - NumberUtils.RoundX(dBJDHQCLCB * dBJSL, 2);
if (dBJJE != 0)
dCLCBLRL = NumberUtils.RoundX(dCLCBLRE * 100 / dBJJE, 2);
}
else if (sLJJCLLX.Trim().Equals("3"))
{
double dCLCBLRE = dBJJE - NumberUtils.RoundX(dBJDHQCLCB * dBJSL, 2);
if (dBJDHQCLCB * dBJSL != 0)
dCLCBLRL = NumberUtils.RoundX(dCLCBLRE * 100 / (dBJDHQCLCB * dBJSL), 2);
}
else if (sLJJCLLX.Trim().Equals("4"))
{
double dCLCBLRE = NumberUtils.RoundX(dBJDHQCLCB * dBJSL, 2);
if (dBJJE != 0)
dCLCBLRL = NumberUtils.RoundX(dCLCBLRE * 100 / dBJJE, 2);
}
txtLRL.Value = dLRL.ToString().Trim();
txtCLCBLRL.Value = dCLCBLRL.ToString().Trim();
txtTZJG.Value = dTZJG.ToString().Trim();
txtTZQBJJE.Value = dTZQBJJE.ToString().Trim();
txtBJJE.Value = dBJJE.ToString().Trim();
txtLRE.Value = dLRE.ToString().Trim();
txtBDBZ.Value = "1";
}
}
else if (flag.Equals("GLTZCLCBLRL"))
{
txtCLCBLRL.Value = txtTZ.Value.ToString().Trim();
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
//CLCBLRL----这里程序做了制约:不变调整金额,变调整报价(%)
double dCLCBLRL = CMISproConvert.StrToFloat(txtCLCBLRL.Value.Trim());
double dTZJE = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMX_TZBJJE"].ToString().Trim(), 0);
double dBJSL = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMX_BJSL"].ToString().Trim(), 0);
double dTZQCPBJ = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMX_TZQCPBJ"].ToString().Trim(), 0);
double dCPJJ = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMX_JGBBJ"].ToString().Trim(), 0);
double dCLCB = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMX_CLCB"].ToString().Trim(), 0);
double dBJDHQCLCB = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMX_BJDHQCLCB"].ToString().Trim(), 0);
if (dBJSL != 0)
{
double dBJJE = 0;
if (sLJJCLLX.Trim().Equals("1"))//1|(调整后报价金额-价格表行情料价金额)/调整后报价金额*100
{
//double dCLCB = CMISproConvert.StrToFloat(e.RowData["XLXSBJDMX_CLCB"].ToString().Trim(), 0);
if (dCLCBLRL != 100)
dBJJE = NumberUtils.RoundX(dBJSL * dCLCB / (1 - dCLCBLRL / 100), 2);
}
else if (sLJJCLLX.Trim().Equals("2"))//2|(调整后报价金额-报价单行情料价金额)/调整后报价金额*100
{
//double dBJDHQCLCB = CMISproConvert.StrToFloat(e.RowData["XLXSBJDMX_BJDHQCLCB"].ToString().Trim(), 0);
if (dCLCBLRL != 0)
dBJJE = NumberUtils.RoundX(dBJSL * dBJDHQCLCB / (1 - dCLCBLRL / 100), 2);
}
else if (sLJJCLLX.Trim().Equals("3"))//3|(调整后报价金额-报价单行情料价金额)/报价单行情料价金额*100
{
//double dBJDHQCLCB = CMISproConvert.StrToFloat(e.RowData["XLXSBJDMX_BJDHQCLCB"].ToString().Trim(), 0);
dBJJE = NumberUtils.RoundX(dBJSL * dBJDHQCLCB * (1 + dCLCBLRL / 100), 2);
}
else if (sLJJCLLX.Trim().Equals("4"))//4|(报价单行情料价金额)/调整后报价金额*100
{
//double dBJDHQCLCB = CMISproConvert.StrToFloat(e.RowData["XLXSBJDMX_BJDHQCLCB"].ToString().Trim(), 0);
if (dCLCBLRL != 0)
dBJJE = NumberUtils.RoundX(dBJSL * dBJDHQCLCB / (dCLCBLRL / 100), 2);
}
double dTZQBJJE = dBJJE - dTZJE;
double dCPBJ = dTZQBJJE / dBJSL;
double dTZJG = 0;
if (dTZQCPBJ != 0)
dTZJG = 100 * (dCPBJ - dTZQCPBJ) / dTZQCPBJ;
//重算表价价差率
double dLRE = 0;
if (sJCLLX.Trim().Equals("1"))//表价价差率公式
dLRE = dBJJE - NumberUtils.RoundX(dCPJJ * dBJSL, 2);
else if (sJCLLX.Trim().Equals("2"))
dLRE = NumberUtils.RoundX(dCPJJ * dBJSL, 2) - dBJJE;
else if (sJCLLX.Trim().Equals("4"))
dLRE = dBJJE - NumberUtils.RoundX(dCPJJ * dBJSL, 2);
//表价价差率公式
//表价金额
double dCPJE = NumberUtils.RoundX(dCPJJ * dBJSL, 2);
double dLRL = 0.0;
if (sJCLLX.Trim().Equals("1"))
{
if (dBJJE != 0)
dLRL = NumberUtils.RoundX(dLRE * 100 / dBJJE, 2);
}
else if (sJCLLX.Trim().Equals("2"))
{
if (dCPJE != 0)
dLRL = NumberUtils.RoundX(dLRE * 100 / dCPJE, 2);
}
else if (sJCLLX.Trim().Equals("3"))
{
if (dBJJE != 0)
dLRL = NumberUtils.RoundX(dCPJE * 100 / dBJJE, 2);
}
else if (sJCLLX.Trim().Equals("4"))
{
if (dCPJE != 0)
dLRL = NumberUtils.RoundX(dLRE * 100 / dCPJE, 2);
}
txtCPBJ.Value = dCPBJ.ToString().Trim();
txtLRL.Value = dLRL.ToString().Trim();
txtTZJG.Value = dTZJG.ToString().Trim();
txtTZQBJJE.Value = dTZQBJJE.ToString().Trim();
txtBJJE.Value = dBJJE.ToString().Trim();
txtLRE.Value = dLRE.ToString().Trim();
txtBDBZ.Value = "2";
}
}
}
else if (flag.Equals("GLTZLRL"))
{
txtLRL.Value = txtTZ.Value.ToString().Trim();
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
//LRL----这里程序做了制约:不变调整金额,变调整报价(%)
double dLRL = CMISproConvert.StrToFloat(txtLRL.Value.Trim());
double dTZJE = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMX_TZBJJE"].ToString().Trim(), 0);
double dBJSL = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMX_BJSL"].ToString().Trim(), 0);
double dTZQCPBJ = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMX_TZQCPBJ"].ToString().Trim(), 0);
double dCPJJ = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMX_JGBBJ"].ToString().Trim(), 0);
double dCLCB = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMX_CLCB"].ToString().Trim(), 0);
double dBJDHQCLCB = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMX_BJDHQCLCB"].ToString().Trim(), 0);
if (dBJSL != 0)
{
//表价价差率公式
double dBJJE = 0;
double dLRE = 0;
if (sJCLLX.Trim().Equals("1"))//1|(调整后报价金额-表价金额)/调整后报价金额*100
{
if (dLRL != 100)
dBJJE = NumberUtils.RoundX(dBJSL * dCPJJ / (1 - dLRL / 100), 2);
dLRE = NumberUtils.RoundX(dLRL * dBJJE /100, 2);
}
else if (sJCLLX.Trim().Equals("2"))//2|(表价金额-调整后报价金额)/表价金额*100
{
if (dLRL != 100)
dBJJE = NumberUtils.RoundX(dBJSL * dCPJJ * (1 - dLRL / 100), 2);
dLRE = NumberUtils.RoundX(dLRL * dBJSL * dCPJJ /100, 2);
}
else if (sJCLLX.Trim().Equals("3"))//3|表价金额/调整后报价金额*100
{
if (dLRL != 0)
dBJJE = NumberUtils.RoundX(dBJSL * dCPJJ / (dLRL / 100), 2);
dLRE = 0;
}
else if (sJCLLX.Trim().Equals("4"))//4|(调整后报价金额-表价金额)/表价金额*100
{
if (dLRL != 100)
dBJJE = NumberUtils.RoundX(dBJSL * dCPJJ * (1 + dLRL / 100), 2);
dLRE = NumberUtils.RoundX(dLRL * dBJSL * dCPJJ / 100, 2);
}
double dTZQBJJE = dBJJE - dTZJE;
double dCPBJ = dTZQBJJE / dBJSL;
double dTZJG = 0;
if (dTZQCPBJ != 0)
dTZJG = 100 * (dCPBJ - dTZQCPBJ) / dTZQCPBJ;
//重算料价价差率
double dCLCBLRL = 0.0;
if (sLJJCLLX.Trim().Equals("1"))
{
double dCLCBLRE = dBJJE - NumberUtils.RoundX(dCLCB * dBJSL, 2);
if (dBJJE != 0)
dCLCBLRL = NumberUtils.RoundX(dCLCBLRE * 100 / dBJJE, 2);
}
else if (sLJJCLLX.Trim().Equals("2"))
{
double dCLCBLRE = dBJJE - NumberUtils.RoundX(dBJDHQCLCB * dBJSL, 2);
if (dBJJE != 0)
dCLCBLRL = NumberUtils.RoundX(dCLCBLRE * 100 / dBJJE, 2);
}
else if (sLJJCLLX.Trim().Equals("3"))
{
double dCLCBLRE = dBJJE - NumberUtils.RoundX(dBJDHQCLCB * dBJSL, 2);
if (dBJDHQCLCB * dBJSL != 0)
dCLCBLRL = NumberUtils.RoundX(dCLCBLRE * 100 / (dBJDHQCLCB * dBJSL), 2);
}
else if (sLJJCLLX.Trim().Equals("4"))
{
double dCLCBLRE = NumberUtils.RoundX(dBJDHQCLCB * dBJSL, 2);
if (dBJJE != 0)
dCLCBLRL = NumberUtils.RoundX(dCLCBLRE * 100 / dBJJE, 2);
}
txtCPBJ.Value = dCPBJ.ToString().Trim();
txtCLCBLRL.Value = dCLCBLRL.ToString().Trim();
txtTZJG.Value = dTZJG.ToString().Trim();
txtTZQBJJE.Value = dTZQBJJE.ToString().Trim();
txtBJJE.Value = dBJJE.ToString().Trim();
txtLRE.Value = dLRE.ToString().Trim();
txtBDBZ.Value = "3";
}
}
}
}
protected void btnQR_Click(object sender, EventArgs e)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
if (!txtBDBZ.Value.ToString().Trim().Equals(""))
{
try
{
dberp.BeginTrans();
SQL.Clear();
SQL.Add(" update XLXSBJDBDMX set ");
SQL.Add(" XLXSBJDBDMX_BDBZ=:XLXSBJDBDMX_BDBZ, ");
SQL.Add(" XLXSBJDBDMX_BDBJDID=' ', ");
SQL.Add(" XLXSBJDBDMX_BDXH=0 ");
SQL.Add(" where XLXSBJDBDMX_BJDID=:XLXSBJDMX_BJDID ");
SQL.Add(" and XLXSBJDBDMX_XH=:XLXSBJDMX_XH ");
SQL.ParamByName("XLXSBJDBDMX_BDBZ").Value = txtBDBZ.Value.Trim();
SQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID;
SQL.ParamByName("XLXSBJDMX_XH").Value = sBJDXH;
dberp.ExecSQL(SQL);
SQL.Clear();
SQL.Add(" update XLXSBJDMX set XLXSBJDMX_TZCPBJ=:XLXSBJDMX_TZCPBJ, XLXSBJDMX_TZQBJJE =:XLXSBJDMX_TZQBJJE, ");
SQL.Add(" XLXSBJDMX_BJJE=:XLXSBJDMX_BJJE, XLXSBJDMX_JGBBJJCL =:XLXSBJDMX_JGBBJJCL, ");
SQL.Add(" XLXSBJDMX_JGBBJJCE=:XLXSBJDMX_JGBBJJCE, XLXSBJDMX_CLCBJCL =:XLXSBJDMX_CLCBJCL,XLXSBJDMX_CPBJ=:XLXSBJDMX_CPBJ ");
SQL.Add(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID and XLXSBJDMX_XH=:XLXSBJDMX_XH ");
SQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID;
SQL.ParamByName("XLXSBJDMX_XH").Value = sBJDXH;
SQL.ParamByName("XLXSBJDMX_TZCPBJ").Value = txtTZJG.Value;
SQL.ParamByName("XLXSBJDMX_TZQBJJE").Value = txtTZQBJJE.Value;
SQL.ParamByName("XLXSBJDMX_BJJE").Value = txtBJJE.Value;
SQL.ParamByName("XLXSBJDMX_JGBBJJCL").Value = txtLRL.Value;
SQL.ParamByName("XLXSBJDMX_JGBBJJCE").Value = txtLRE.Value;
SQL.ParamByName("XLXSBJDMX_CLCBJCL").Value = txtCLCBLRL.Value;
SQL.ParamByName("XLXSBJDMX_CPBJ").Value = txtCPBJ.Value;
dberp.ExecSQL(SQL);
dberp.CommitTrans();
}
catch (Exception ex)
{
ShowMessage("设置价格出错,请联系系统管理员!错误原因:" + ex);
dberp.RollbackTrans();
return;
}
DialogOperationScript dos = new DialogOperationScript(this);
dos.ClickOwnerButton(PageParam.GetRTrimString("RefreshCtrlID"));
dos.CloseSelf();
dos.Execute();
}
else
{
DialogOperationScript dos = new DialogOperationScript(this);
dos.ClickOwnerButton(PageParam.GetRTrimString("RefreshCtrlID"));
dos.CloseSelf();
dos.Execute();
}
}
protected void btnQX_Click(object sender, EventArgs e)
{
CloseWindow();
}
#endregion
}
}