Files
N_XLXSBJ----MX/BJYF_YZYJTJInfo.aspx.cs
2026-08-21 17:03:02 +08:00

448 lines
21 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_MODEL.Page;
using GThinking.N_MISPRO.Data;
using GThinking.N_MISPRO.Utility;
using System.Collections.Generic;
namespace GThinking.N_XLXSBJ
{
public partial class BJYF_YZYJTJInfo : SingleCardBase
{
BJYF_YJYZTJ entity = new BJYF_YJYZTJ();
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860000;
this.UMName = "线缆销售报价单运费";
base.CurMaster = Master;
base.CurEntity = entity;
this.PageHeight = 300;
this.PageWidth = 750;
double dBJU026 = CMISproConvert.StrToFloat(GetOption(100860071, "BJU026"));
if (dBJU026 != 1)
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();
if (!IsPostBack)
{
InitControl();
}
}
#region 自定义事件
protected override void SetControlState()
{
base.SetControlState();
}
private void InitControl()
{
string sBJDID = PageParam.GetRTrimString("BJDID");
double dBJU026 = CMISproConvert.StrToFloat(GetOption(100860071, "BJU026"));
Dictionary<string, double> dicLenJLDWTD = XLBJDUtils.GetLenJLDWTD();
XLXSBJPZXX yfpzxx = XLBJDUtils.GetXLXSBJPZXX(100860071);
string sYFJSGS = yfpzxx.XLXSBJPZ_YFJSGS;
lblPJZZL.Visible = false;
txtPJZZL.Visible = false;
lblPJZL_DW.Visible = false;
lblLCPPJZL.Visible = false;
txtLCPPJZL.Visible = false;
lblLCPPJZL_DW.Visible = false;
if (yfpzxx.XLXSBJPZ_PJZLSFJRYZ == "Y")
{
lblPJZZL.Visible = true;
txtPJZZL.Visible = true;
lblPJZL_DW.Visible = true;
lblLCPPJZL.Visible = true;
txtLCPPJZL.Visible = true;
lblLCPPJZL_DW.Visible = true;
}
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
if (dBJU026 == 1)
{
trDQTL.Visible = false;
trTCP.Visible = false;
trYFTCP.Visible = false;
trLCP.Visible = false;
trYFLCP.Visible = false;
trYZLCP.Visible = false;
trYJLCP.Visible = false;
tr1.Visible = false;
tr2.Visible = false;
tr3.Visible = false;
tr4.Visible = false;
tr5.Visible = false;
lblLCPPJZL.Visible = false;
txtLCPPJZL.Visible = false;
lblLCPPJZL_DW.Visible = false;
SQL.Clear();
SQL.Add(" select XLXSBJD_XZQHID, ");
if (sYFJSGS.Equals("2"))
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_CPBJ) as JGBBJZJE,");
else if (sYFJSGS.Equals("3"))
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) * " + XLBJDUtils.sCJXS + " as JGBBJZJE,");
else
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) as JGBBJZJE,");
SQL.Add(" MAX(isnull(XLXSBJDQYFZB_YSJL,0.0)) as XLXSBJDQYFZB_YSJL, ");
SQL.Add(" sum(XLXSBJDMX_CLZL) as XLXSBJD_ZZL,sum(isnull(XLBJPJDWZL_PJDWZL,0)*XLXSBJDMX_BJSL*(case when XLXSBJDMX_JLDW in ('M','米') then 0.001 else 1 end)) as PJZLL ");
SQL.Add(" from XLXSBJD ");
SQL.Add(" left join XLXSBJDMX on XLXSBJDMX_BJDID=XLXSBJD_BJDID ");
SQL.Add(" left join XLBJPJDWZL on XLBJPJDWZL_XLXHID = XLXSBJDMX_XLXHID and XLBJPJDWZL_DYDJID = XLXSBJDMX_DYDJID and XLBJPJDWZL_XLGGID = XLXSBJDMX_XLGGID and XLBJPJDWZL_XLBZID = XLXSBJDMX_XLBZID ");
SQL.Add(" left join XLXSBJDQYFZB on XLXSBJDQYFZB_XZQHID = XLXSBJD_XZQHID ");
SQL.Add(" where XLXSBJD_BJDID=:pBJDID ");
SQL.Add(" group by XLXSBJD_XZQHID");
SQL.ParamByName("pBJDID").Value = sBJDID;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
double dYZZL = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJD_ZZL"].ToString());
double dPJZL = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["PJZLL"].ToString());
txtCLZZL.Value = dYZZL / 1000.0;//转为吨
txtYZ.Value = txtCLZZL.Value;
if (yfpzxx.XLXSBJPZ_PJZLSFJRYZ == "Y")
{
txtPJZZL.Value = dPJZL/1000.0;
txtYZ.Value += txtPJZZL.Value;
}
txtXZQHID.Value = ds.Tables[0].Rows[0]["XLXSBJD_XZQHID"].ToString().Trim();
txtXZQH.Text = GetXZQHMC(ds.Tables[0].Rows[0]["XLXSBJD_XZQHID"].ToString().Trim());
txtBJZJE.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["JGBBJZJE"].ToString().Trim());
txtYJ.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDQYFZB_YSJL"].ToString().Trim());
lblYSJL.Text = txtYJ.Value.ToString().Trim() + "Km";
txtYZ_TextChanged(null, null);
}
}
else
{
trXDYF.Visible = false;
trYF.Visible = false;
string sTcpList = "";
string sLcpList = "";
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860063);
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_TDTGSCLID))
sTcpList = pzxx.XLXSBJPZ_TDTGSCLID;
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_LDTGSCLID))
sLcpList = pzxx.XLXSBJPZ_LDTGSCLID;
SQL.Clear();
SQL.Add(" select XLXSBJD_XZQHID,XLXSBJDQYFZB_YSJL,XZQH_PROVINCE,XZQH_CITY,XZQH_COUNTY ");
SQL.Add(" from XLXSBJD ");
SQL.Add(" left join XLXSBJDQYFZB on XLXSBJDQYFZB_XZQHID = XLXSBJD_XZQHID ");
SQL.Add(" left join XZQH on XZQH_XZQHID = XLXSBJD_XZQHID ");
SQL.Add(" where XLXSBJD_BJDID=:pBJDID ");
SQL.ParamByName("pBJDID").Value = sBJDID;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
txtXZQHID.Value = ds.Tables[0].Rows[0]["XLXSBJD_XZQHID"].ToString().Trim();
txtXZQHTL.Text = ds.Tables[0].Rows[0]["XZQH_PROVINCE"].ToString().Trim() + ds.Tables[0].Rows[0]["XZQH_CITY"].ToString().Trim() + ds.Tables[0].Rows[0]["XZQH_COUNTY"].ToString().Trim();
txtYJ.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDQYFZB_YSJL"].ToString().Trim());
txtLCPYJ.Value = txtYJ.Value;
lblYSJLTL.Text = txtYJ.Value.ToString().Trim() + "Km";
}
if (!sTcpList.Equals(""))
{
SQL.Clear();
SQL.Add(" select XLXSBJDMX_BJDID, ");
if (sYFJSGS.Equals("2"))
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_CPBJ) as JGBBJZJE,");
else if (sYFJSGS.Equals("3"))
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) * " + XLBJDUtils.sCJXS + " as JGBBJZJE,");
else
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) as JGBBJZJE,");
SQL.Add(" sum(XLXSBJDMX_CLZL) as XLXSBJD_ZZL,sum(isnull(XLBJPJDWZL_PJDWZL,0)*XLXSBJDMX_BJSL*(case when XLXSBJDMX_JLDW in ('M','米') then 0.001 else 1 end)) as PJZLL ");
SQL.Add(" from XLXSBJDMX ");
SQL.Add(" left join XLBJPJDWZL on XLBJPJDWZL_XLXHID = XLXSBJDMX_XLXHID and XLBJPJDWZL_DYDJID = XLXSBJDMX_DYDJID and XLBJPJDWZL_XLGGID = XLXSBJDMX_XLGGID and XLBJPJDWZL_XLBZID = XLXSBJDMX_XLBZID ");
SQL.Add(" left join XLXSBJDGYJD on XLXSBJDGYJD_BJDID = XLXSBJDMX_BJDID and XLXSBJDGYJD_BJDXH = XLXSBJDMX_XH ");
SQL.Add(" left join XLXHB on XLXHB_XLXHID=UPPER(case when isnull(XLXSBJDGYJD_CKXLXHID,' ') = ' ' then XLXSBJDMX_XLXHID else XLXSBJDGYJD_CKXLXHID end) ");
SQL.Add(" where XLXSBJDMX_BJDID=:pBJDID ");
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXHB_DTCLID", sTcpList));
SQL.Add(" group by XLXSBJDMX_BJDID");
SQL.ParamByName("pBJDID").Value = sBJDID;
ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
double dYZZL = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJD_ZZL"].ToString());
txtCLZZL.Value = dYZZL / 1000.0;//转为吨
txtYZ.Value = txtCLZZL.Value;
double dPJZL = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["PJZLL"].ToString());
if (yfpzxx.XLXSBJPZ_PJZLSFJRYZ == "Y")
{
txtPJZZL.Value = dPJZL / 1000.0;
txtYZ.Value += txtPJZZL.Value;
}
txtBJZJE.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["JGBBJZJE"].ToString().Trim());
txtYZ_TextChanged(null, null);
}
}
else
{
txtYJ.Value = 0;
txtTCPYF.Enabled = false;
txtYZ.Enabled = false;
txtYJ.Enabled = false;
}
if (!sLcpList.Equals(""))
{
SQL.Clear();
SQL.Add(" select XLXSBJDMX_BJDID, ");
if (sYFJSGS.Equals("2"))
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_CPBJ) as JGBBJZJE,");
else if (sYFJSGS.Equals("3"))
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) * " + XLBJDUtils.sCJXS + " as JGBBJZJE,");
else
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) as JGBBJZJE,");
SQL.Add(" sum(XLXSBJDMX_CLZL) as XLXSBJD_ZZL,sum(isnull(XLBJPJDWZL_PJDWZL,0)*XLXSBJDMX_BJSL*(case when XLXSBJDMX_JLDW in ('M','米') then 0.001 else 1 end)) as PJZLL ");
SQL.Add(" from XLXSBJDMX ");
SQL.Add(" left join XLBJPJDWZL on XLBJPJDWZL_XLXHID = XLXSBJDMX_XLXHID and XLBJPJDWZL_DYDJID = XLXSBJDMX_DYDJID and XLBJPJDWZL_XLGGID = XLXSBJDMX_XLGGID and XLBJPJDWZL_XLBZID = XLXSBJDMX_XLBZID ");
SQL.Add(" left join XLXSBJDGYJD on XLXSBJDGYJD_BJDID = XLXSBJDMX_BJDID and XLXSBJDGYJD_BJDXH = XLXSBJDMX_XH ");
SQL.Add(" left join XLXHB on XLXHB_XLXHID=UPPER(case when isnull(XLXSBJDGYJD_CKXLXHID,' ') = ' ' then XLXSBJDMX_XLXHID else XLXSBJDGYJD_CKXLXHID end) ");
SQL.Add(" where XLXSBJDMX_BJDID=:pBJDID ");
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXHB_DTCLID", sLcpList));
SQL.Add(" group by XLXSBJDMX_BJDID");
SQL.ParamByName("pBJDID").Value = sBJDID;
ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
double dYZZL = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJD_ZZL"].ToString());
txtLCPCLZZL.Value = dYZZL / 1000.0;//转为吨
txtLCPYZ.Value = txtLCPCLZZL.Value;
double dPJZL = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["PJZLL"].ToString());
if (yfpzxx.XLXSBJPZ_PJZLSFJRYZ == "Y")
{
txtLCPPJZL.Value = dPJZL / 1000.0;
txtLCPYZ.Value += txtLCPPJZL.Value;
}
txtLCPBJZJE.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["JGBBJZJE"].ToString().Trim());
txtLCPYZ_TextChanged(null, null);
}
}
else
{
txtLCPYJ.Value = 0;
txtLCPYF.Enabled = false;
txtLCPYZ.Enabled = false;
txtLCPYJ.Enabled = false;
}
}
if (sYFJSGS.Equals("2"))
{
lblBJZJE.Text = "报价总金额:";
lblLBJZJE.Text = "报价总金额:";
}
else if (sYFJSGS.Equals("3"))
{
lblBJZJE.Text = "厂价总金额:";
lblLBJZJE.Text = "厂价总金额:";
}
}
private string GetXZQHMC(string sXZQHID)
{
string sXZQHMC = "";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" select XZQH_XZQHID,XZQH_FID,XZQH_PROVINCE,XZQH_CITY,XZQH_COUNTY from XZQH where XZQH_XZQHID = :pXZQHID ");
SQL.ParamByName("pXZQHID").Value = sXZQHID;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
sXZQHMC = ds.Tables[0].Rows[0]["XZQH_PROVINCE"].ToString().Trim() + ds.Tables[0].Rows[0]["XZQH_CITY"].ToString().Trim() + ds.Tables[0].Rows[0]["XZQH_COUNTY"].ToString().Trim();
}
return sXZQHMC;
}
public static Dictionary<string, string> GetYJYLXX(string sXZQHID, double fZZL, string sBJU025, string sBJU026)
{
Dictionary<string, string> dicResult = new Dictionary<string, string>();
dicResult.Add("YFYL", "");
dicResult.Add("YFJSGS", "");
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
sql.Add("select XLXSBJDQYFB_YSFL,XLXSBJYFJZQJ_YFJSGS3 ");
sql.Add(" from XLXSBJDQYFB,XLXSBJYFJZQJ ");
sql.Add("where XLXSBJYFJZQJ_YFJZQH=XLXSBJDQYFB_YFJZQH ");
sql.Add(" and XLXSBJDQYFB_XZQHID=:pXZQHID ");
if (sBJU025.Equals("2"))
{
sql.Add(" and XLXSBJYFJZQJ_YFJZXX<:pZZL ");
sql.Add(" and (XLXSBJYFJZQJ_YFJZSX=0 or XLXSBJYFJZQJ_YFJZSX>=:pZZL) ");
}
else
{
sql.Add(" and XLXSBJYFJZQJ_YFJZXX<=:pZZL ");
sql.Add(" and (XLXSBJYFJZQJ_YFJZSX=0 or XLXSBJYFJZQJ_YFJZSX>:pZZL) ");
}
sql.Add("order by XLXSBJDQYFB_YFJZQH");
sql.ParamByName("pXZQHID").Value = sXZQHID;
sql.ParamByName("pZZL").Value = fZZL;
DataSet ds = dberp.OpenDataSet(sql);
if (ds.Tables[0].Rows.Count > 0)
{
double dBJU026 = CMISproConvert.StrToFloat(sBJU026);
double dYFYL = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDQYFB_YSFL"].ToString().Trim()) * dBJU026;
dicResult["YFYL"] = dYFYL.ToString().Trim();
dicResult["YFJSGS"] = ds.Tables[0].Rows[0]["XLXSBJYFJZQJ_YFJSGS3"].ToString().Trim();
}
return dicResult;
}
#endregion
#region 控件事件
protected void btnQR_Click(object sender, EventArgs e)
{
string sYZID = PageParam.GetRTrimString("YZID");
string sYZZList = "";
double dBJU026 = CMISproConvert.StrToFloat(GetOption(100860071, "BJU026"));
if (dBJU026 != 1)
sYZZList = sYZID + "|" + txtTCPYF.Value.ToString().Trim() + ";" + txtLCPYF.Value.ToString().Trim() + "|N,N,N";
else
sYZZList = sYZID + "|" + txtZDYF.Value.ToString() + "|N,N,N";
//使用脚本给父页面的隐藏控件赋值,调用父页面的控件事件
DialogOperationScript dos = new DialogOperationScript(this);
dos.SetOwnerControlValue(PageParam.GetRTrimString("txtPLSZYZListCID"), sYZZList);
dos.ClickOwnerButton(PageParam.GetRTrimString("btnRefreshCID"));
dos.CloseSelf();
dos.Execute();
}
protected void btnQX_Click(object sender, EventArgs e)
{
CloseWindow();
}
protected void txtYJ_TextChanged(object sender, EventArgs e)
{
if (!txtYFJSGS.Value.Trim().Equals(""))
{
string sTmpGS = txtYFJSGS.Value.Replace("运率", txtYL.Value.ToString()).Replace("运距", txtYJ.Value.ToString("F3")).Replace("运重", txtYZ.Value.ToString("F6"));
double fYFJE = 0.0;
gtExpression exp = new gtExpression();
fYFJE = NumberUtils.RoundX(exp.Evaluate(sTmpGS), 15);
txtYFJE.Value = fYFJE;
if (txtBJZJE.Value != 0)
{
txtYF.Value = NumberUtils.RoundX(txtYFJE.Value / txtBJZJE.Value * 100, 2);
}
else
{
txtYF.Value = 0;
}
}
txtZDYF.Value = txtYF.Value;
txtYFTCP.Value = txtYF.Value;
txtTCPYF.Value = txtZDYF.Value;
}
protected void txtYZ_TextChanged(object sender, EventArgs e)
{
Dictionary<string, string> dicYJYZXX = GetYJYLXX(txtXZQHID.Value, txtYZ.Value, GetOption(100860071, "BJU025"), "1");
txtYL.Value = CMISproConvert.StrToFloat(dicYJYZXX["YFYL"]);
if (txtYFJSGS.Value.Trim().Equals(""))
{
txtYFJSGS.Value = dicYJYZXX["YFJSGS"];
}
if (!txtYFJSGS.Value.Trim().Equals(""))
{
string sTmpGS = txtYFJSGS.Value.Replace("运率", txtYL.Value.ToString()).Replace("运距", txtYJ.Value.ToString("F3")).Replace("运重", txtYZ.Value.ToString("F6"));
double fYFJE = 0.0;
gtExpression exp = new gtExpression();
fYFJE = NumberUtils.RoundX(exp.Evaluate(sTmpGS), 15);
txtYFJE.Value = fYFJE;
if (txtBJZJE.Value != 0)
{
txtYF.Value = NumberUtils.RoundX(txtYFJE.Value / txtBJZJE.Value * 100, 2);
}
else
{
txtYF.Value = 0;
}
}
txtZDYF.Value = txtYF.Value;
txtYFTCP.Value = txtYF.Value;
txtTCPYF.Value = txtZDYF.Value;
}
protected void txtLCPYJ_TextChanged(object sender, EventArgs e)
{
if (!txtYFJSGSLCP.Value.Trim().Equals(""))
{
string sTmpGS = txtYFJSGSLCP.Value.Replace("运率", txtLCPYL.Value.ToString()).Replace("运距", txtLCPYJ.Value.ToString("F3")).Replace("运重", txtLCPYZ.Value.ToString("F6"));
double fYFJE = 0.0;
gtExpression exp = new gtExpression();
fYFJE = NumberUtils.RoundX(exp.Evaluate(sTmpGS), 15);
txtLCPYFJE.Value = fYFJE;
if (txtLCPBJZJE.Value != 0)
{
txtYFLCP.Value = NumberUtils.RoundX(txtLCPYFJE.Value / txtLCPBJZJE.Value * 100, 2);
}
else
{
txtYFLCP.Value = 0;
}
}
txtLCPYF.Value = txtYFLCP.Value;
}
protected void txtLCPYZ_TextChanged(object sender, EventArgs e)
{
Dictionary<string, string> dicYJYZXX = GetYJYLXX(txtXZQHID.Value, txtLCPYZ.Value, GetOption(100860071, "BJU025"), GetOption(100860071, "BJU026"));
txtLCPYL.Value = CMISproConvert.StrToFloat(dicYJYZXX["YFYL"]);
if (txtYFJSGSLCP.Value.Trim().Equals(""))
{
txtYFJSGSLCP.Value = dicYJYZXX["YFJSGS"];
}
if (!txtYFJSGSLCP.Value.Trim().Equals(""))
{
string sTmpGS = txtYFJSGSLCP.Value.Replace("运率", txtLCPYL.Value.ToString()).Replace("运距", txtLCPYJ.Value.ToString("F3")).Replace("运重", txtLCPYZ.Value.ToString("F6"));
double fYFJE = 0.0;
gtExpression exp = new gtExpression();
fYFJE = NumberUtils.RoundX(exp.Evaluate(sTmpGS), 15);
txtLCPYFJE.Value = fYFJE;
if (txtLCPBJZJE.Value != 0)
{
txtYFLCP.Value = NumberUtils.RoundX(txtLCPYFJE.Value / txtLCPBJZJE.Value * 100, 2);
}
else
{
txtYFLCP.Value = 0;
}
}
txtLCPYF.Value = txtYFLCP.Value;
}
#endregion
}
}