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 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 GetYJYLXX(string sXZQHID, double fZZL, string sBJU025, string sBJU026) { Dictionary dicResult = new Dictionary(); 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 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 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 } }