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

530 lines
25 KiB
C#
Raw Permalink 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_MODEL.Page;
using GThinking.N_MISPRO.Data;
using System.Collections.Generic;
using GThinking.N_PUBLIC2;
using GThinking.N_MISPRO.Utility;
using GThinking.N_MISPRO;
namespace GThinking.N_XLXSBJ
{
public partial class BJYF_YZYJList : SingleGridBase
{
BJYF_YZYJ entity = new BJYF_YZYJ();
BJYF_YZYJ_M queryentity = new BJYF_YZYJ_M();
#region Page类事件继承
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860084;
this.UMName = "按运距运重运距运件调运费";
this.CurMaster = Master;
this.ModuleGV = ContentGrid;
this.CurEntity = entity;
this.CurQueryEntity = queryentity;
this.PageHeight = 600;
this.PageWidth = 750;
this.sQueryURLTarget = "BJYF_YZYJQuery.aspx";
base.DataKeyNames = new string[] { "XLXSBJDMX_BJDID", "XLXSBJDMX_XH" };
this.Master.EnableAttachBtn = false;
this.CurMaster.EnableNewBtn = false;
this.CurMaster.EnableCopyBtn = false;
this.CurMaster.EnableEditBtn = false;
this.CurMaster.EnableDeleteBtn = false;
this.CurMaster.EnableWorkflowBtn = false;
this.CurMaster.EnableViewBtn = false;
base.InitPage();
ContentGrid.FindColumnByFieldName("BJYF").HeaderText = PageParam.GetRTrimString("YZMC") + "%";
lblYF.Text = PageParam.GetRTrimString("YZMC") + ":";
if (!IsPostBack)
{
InitControl();
Master_OnStandardQuery(null, null);
}
}
#endregion
#region 模板继承事件
protected override void Master_OnStandardQuery(object sender, EventArgs e)
{
base.InitEntityByCondition();
base.Master_OnStandardQuery(sender, e);
entity.EntityTable.QuerySelSql = GetQuerySql();
entity.GridDataBind(ContentGrid, tSession);
}
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
base.InitEntityByCondition();
entity.EntityTable.QuerySelSql = GetQuerySql();
ContentGrid.SelectedIndex = -1;
base.moduleGV_PageIndexChanging(sender, e);
}
protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
LinkPageParam.AddString("XLXSBJDMX_BJDID", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_BJDID"].ToString().Trim());
LinkPageParam.AddString("XLXSBJDMX_XH", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_XH"].ToString().Trim());
LinkPageParam.AddString("XZQHID", PageParam.GetRTrimString("XZQHID"));
}
base.moduleGV_RowDataBound(sender, e);
}
#endregion
#region 私有函数
private void InitControl()
{
//this.CurMaster.EnableQueryBtn = false;
this.CurMaster.EnableNewBtn = false;
this.CurMaster.EnableCopyBtn = false;
this.CurMaster.EnableEditBtn = false;
this.CurMaster.EnableDeleteBtn = false;
this.CurMaster.EnableWorkflowBtn = false;
this.CurMaster.EnableViewBtn = false;
string sBJDID = PageParam.GetRTrimString("BJDID");
Dictionary<string, double> dicLenJLDWTD = XLBJDUtils.GetLenJLDWTD();
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860071);
string sYFJSGS = pzxx.XLXSBJPZ_YFJSGS;
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
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, ");
if (PageParam.GetRTrimString("YFJSFS").Contains("4"))
{
SQL.Add(" sum(XLXSBJDMX_CLZL) as XLXSBJD_ZZL");
}
else
{
SQL.Add(" XLXSBJD_ZZL");
}
SQL.Add(" from XLXSBJD ");
SQL.Add(" left join XLXSBJDMX on XLXSBJDMX_BJDID=XLXSBJD_BJDID ");
SQL.Add(" left join XLXSBJDQYFZB on XLXSBJDQYFZB_XZQHID = XLXSBJD_XZQHID ");
if (PageParam.GetRTrimString("YFJSFS").Contains("4"))
{
SQL.Add(" left join XLXSBJXHML A on A.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and A.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
SQL.Add(" left join XLXSBJXHML B on B.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and B.XLXSBJXHML_DYDJID = ' ' ");
SQL.Add(" left join XLXSCPML on XLXSCPML_CPMLID = case when ISNULL(A.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(B.XLXSBJXHML_CPMLID,' ') else ISNULL(A.XLXSBJXHML_CPMLID,' ') end ");
}
SQL.Add(" where XLXSBJD_BJDID=:pBJDID ");
if (PageParam.GetRTrimString("YFJSFS").Contains("4"))
{
SQL.Add(" and ( XLXSBJDMX_BJSL<=0 or ");
SQL.Add(" ( XLXSBJDMX_JLDW not in ('Km', '千米','M','米') ");
foreach (string sKey in dicLenJLDWTD.Keys)
{
SQL.Add(string.Format(" and XLXSBJDMX_JLDW <> '{0}' ", sKey));
}
SQL.Add(" ) ");
SQL.Add(" or not exists(select 1 from XLXSBJDQYFB4SY1 where XLXSBJDQYFB4SY1_CPMLID = XLXSCPML_CPMLID )) ");
SQL.Add(" group by XLXSBJD_XZQHID");
}
else
SQL.Add("group by XLXSBJD_ZZL,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());
txtCLZZL.Value = dYZZL / 1000.0;//转为吨
txtYZ.Value = txtCLZZL.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);
}
if (sYFJSGS.Equals("2"))
{
lblBJZJE.Text = "报价总金额:";
ContentGrid.FindColumnByFieldName("BJJE").HeaderText = "报价金额(元)";
}
else if (sYFJSGS.Equals("3"))
{
lblBJZJE.Text = "厂价总金额:";
ContentGrid.FindColumnByFieldName("BJJE").HeaderText = "厂价金额(元)";
}
}
private string GetQuerySql()
{
string sSQL = "";
if (PageParam.GetRTrimString("YFJSFS").Equals("3"))
{
sSQL = " select ' ' AS XLXSBJDMX_BJDID,0 AS XLXSBJDMX_XH,0 AS XLXSBJDMX_XSSX,' ' AS XLXSBJDMX_XLXHID,' ' AS XLXSBJDMX_XLGGID,' ' AS XLXSBJDMX_XLBZID,"
+ " ' ' as XLBZ,' ' AS XLXSBJDMX_DYDJID,";
sSQL += " 0 AS BJMS,' ' AS XLXSBJDMXFD_PJPPQK,' ' AS XLXSBJDMXFD_XLFDYQ,";
sSQL += " 0 as YFJE,0 as BJJE, 0 as BJYF,";
sSQL += " ' ' AS XLXSBJDMXFD_WHR,NULL AS XLXSBJDMXFD_WHSJ ";
sSQL += " from XLXSBJDMX where 1<>1 ";
return sSQL;
}
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860071);
string sYFJSGT = pzxx.XLXSBJPZ_YFJSGS;
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select top 1 XLXSBJYFJJQJ_YFJSGS from XLXSBJYFJJQJ where 1=1 order by XLXSBJYFJJQJ_YFJJQH");
DataSet ds = dberp.OpenDataSet(SQL);
string sYFJSGS = "";
if (ds.Tables[0].Rows.Count > 0)
{
sYFJSGS = ds.Tables[0].Rows[0]["XLXSBJYFJJQJ_YFJSGS"].ToString().Trim();
}
string sBJDID = PageParam.GetRTrimString("BJDID");
Dictionary<string, double> dicLenJLDWTD = XLBJDUtils.GetLenJLDWTD();
sSQL = " select XLXSBJDMX_BJDID,XLXSBJDMX_XH,XLXSBJDMX_XSSX,XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID,"
+ " case when isnull(XLBZ_XLBZID,' ') = ' ' then ' ' else rtrim(XLBZ_XLBZID) || '|' || rtrim(XLBZ_XLBZLXMC) end as XLBZ,XLXSBJDMX_DYDJID,"
+ " (case when XLXSBJDMX_JLDW in ('Km', '千米') then 1000 when XLXSBJDMX_JLDW in ('M', '米') then 1 ";
foreach (string sKey in dicLenJLDWTD.Keys)
{
sSQL += string.Format(" when XLXSBJDMX_JLDW='{0}' then {1} ", sKey, dicLenJLDWTD[sKey]);
}
sSQL += " else 0 end ) * XLXSBJDMX_BJSL as BJMS,XLXSBJDMXFD_PJPPQK,XLXSBJDMXFD_XLFDYQ,";
if (PageParam.GetRTrimString("YFJSFS").Contains("4"))
{
if (sYFJSGT.Equals("2"))
sSQL += " YFJE,XLXSBJDMX_BJSL * XLXSBJDMX_CPBJ as BJJE,";
else if (sYFJSGT.Equals("3"))
sSQL += " YFJE,XLXSBJDMX_BJSL * XLXSBJDMX_JGBBJ * " + XLBJDUtils.sCJXS + " as BJJE,";
else
sSQL += " YFJE,XLXSBJDMX_BJSL * XLXSBJDMX_JGBBJ as BJJE,";
sSQL += " case when XLXSBJDMX_BJSL * XLXSBJDMX_JGBBJ = 0 then 0 else ROUNDFIX(C.YFJE/(XLXSBJDMX_BJSL * XLXSBJDMX_JGBBJ)*100,2) end as BJYF, ";
}
else
{
sSQL += " 0 as YFJE,0 as BJJE, 0 as BJYF,";
}
sSQL += " XLXSBJDMXFD_WHR,XLXSBJDMXFD_WHSJ from XLXSBJDMX ";
sSQL += " left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSBJDMX_XLGGID ";
if (PageParam.GetRTrimString("YFJSFS").Contains("4"))
{
sSQL += " left join XLBZ on XLBZ_XLBZID = XLXSBJDMX_XLBZID "
+ " left join XLXSBJDMXFD on XLXSBJDMXFD_BJDID = XLXSBJDMX_BJDID and XLXSBJDMXFD_BJDXH = XLXSBJDMX_XH "
+ " left join ( "
+ " select XLXSBJDMXZP_BJDID,XLXSBJDMXZP_BJDXH,sum(" + sYFJSGS.Replace("运距", txtYJ.Value.ToString().Trim()).Replace("运率", "XLXSBJDMXZP_YSFL").Replace("运件", "XLXSBJDMXZP_DS") + ") as YFJE from XLXSBJDMXZP "
+ " where XLXSBJDMXZP_BJDID = '" + sBJDID + "' group by XLXSBJDMXZP_BJDID,XLXSBJDMXZP_BJDXH "
+ " ) C on C.XLXSBJDMXZP_BJDID = XLXSBJDMX_BJDID and C.XLXSBJDMXZP_BJDXH = XLXSBJDMX_XH "
+ " left join XLXSBJXHML A on A.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and A.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') "
+ " left join XLXSBJXHML B on B.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and B.XLXSBJXHML_DYDJID = ' ' "
+ " left join XLXSCPML on XLXSCPML_CPMLID = case when ISNULL(A.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(B.XLXSBJXHML_CPMLID,' ') else ISNULL(A.XLXSBJXHML_CPMLID,' ') end "
+ " where XLXSBJDMX_BJDID ='" + sBJDID + "' and XLXSBJDMX_BJSL>0 and (XLXSBJDMX_JLDW in ('Km', '千米','M','米') ";
foreach (string sKey in dicLenJLDWTD.Keys)
{
sSQL += string.Format(" or XLXSBJDMX_JLDW='{0}'", sKey);
}
sSQL += " ) and exists(select 1 from XLXSBJDQYFB4SY1 where XLXSBJDQYFB4SY1_CPMLID = XLXSCPML_CPMLID )";
//型号模糊
if (!CurQueryEntity.FieldByName("XLXHIDJQPP").Value.ToString().Trim().ToUpper().Equals("TRUE"))
{
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim()))
{
sSQL += " \r\n and XLXSBJDMX_XLXHID like :pXLXHID ";
entity.Param.Add("pXLXHID", "%" + CurQueryEntity.FieldByName("XLXHID").Value.Trim() + "%");
}
}
else
{
string sXLXHID = CurQueryEntity.FieldByName("XLXHID").Value.Trim();
if (!string.IsNullOrEmpty(sXLXHID))
{
string[] sTemp = sXLXHID.Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
if (sTemp.Length >= 2)
{
sSQL += "\r\n and " + CMISproDataBase.GetWhereEqual("XLXSBJDMX_XLXHID", sXLXHID);
}
else
{
sSQL += " \r\n and XLXSBJDMX_XLXHID = :pXLXHID ";
entity.Param.Add("pXLXHID", sXLXHID);
}
}
}
//规格模糊
if (!CurQueryEntity.FieldByName("XLGGIDJQPP").Value.ToString().Trim().ToUpper().Equals("TRUE"))
{
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLGGID").Value.Trim()))
{
sSQL += " and XLXSBJXLGGTHB_XLGGIDCH like :pXLGGID ";
entity.Param.Add("pXLGGID", "%" + CurQueryEntity.FieldByName("XLGGID").Value.Trim().Replace("*", "×") + "%");
}
}
else
{
string sXLGGID = CurQueryEntity.FieldByName("XLGGID").Value.Trim();
if (!string.IsNullOrEmpty(sXLGGID))
{
string[] sTemp = sXLGGID.Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
if (sTemp.Length >= 2)
{
sSQL += " and " + CMISproDataBase.GetWhereEqual(" XLXSBJXLGGTHB_XLGGIDCH", sXLGGID.Replace('*', '×'));
}
else
{
sSQL += " and XLXSBJXLGGTHB_XLGGIDCH = :pXLGGID ";
entity.Param.Add("pXLGGID", CurQueryEntity.FieldByName("XLGGID").Value.Trim().Replace("*", "×"));
}
}
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLBZID").Value.Trim()))
{
sSQL += " \r\n and XLXSBJDMX_XLBZID = :pXLBZID ";
entity.Param.Add("pXLBZID", CurQueryEntity.FieldByName("XLBZID").Value.Trim());
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJID").Value.Trim()))
{
sSQL += " and " + CMISproDataBase.GetWhereEqual("XLXSBJDMX_DYDJID", CurQueryEntity.FieldByName("DYDJID").Value.Trim());
}
sSQL += " order by XLXSBJDMX_XSSX,XLXSBJDMX_XH ";
}
else
sSQL += " where 1 <> 1 ";
return sSQL;
}
/// <summary>
/// 获取运费运率 和 运费计算公式
/// </summary>
/// <param name="sXZQHID">项目所在地</param>
/// <param name="fZZL">材料总重量(吨)</param>
/// <returns></returns>
public static Dictionary<string, string> GetYJYLXX(string sXZQHID, double fZZL, string sBJU025)
{
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)
{
dicResult["YFYL"] = ds.Tables[0].Rows[0]["XLXSBJDQYFB_YSFL"].ToString().Trim();
dicResult["YFJSGS"] = ds.Tables[0].Rows[0]["XLXSBJYFJZQJ_YFJSGS3"].ToString().Trim();
}
return dicResult;
}
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;
}
private void CalcZDYF()
{
string sBJDID = PageParam.GetRTrimString("BJDID");
Dictionary<string, double> dicLenJLDWTD = XLBJDUtils.GetLenJLDWTD();
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860071);
string sYFJSGT = pzxx.XLXSBJPZ_YFJSGS;
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select top 1 XLXSBJYFJJQJ_YFJSGS from XLXSBJYFJJQJ where 1=1 order by XLXSBJYFJJQJ_YFJJQH");
DataSet ds = dberp.OpenDataSet(SQL);
string sYFJSGS = "";
if (ds.Tables[0].Rows.Count > 0)
{
sYFJSGS = ds.Tables[0].Rows[0]["XLXSBJYFJJQJ_YFJSGS"].ToString().Trim();
}
SQL.Clear();
SQL.Add(" select XLXSBJDMX_XH, ");
if (sYFJSGT.Equals("2"))
SQL.Add(" XLXSBJDMX_BJSL * XLXSBJDMX_CPBJ as BJJE ");
else if (sYFJSGT.Equals("3"))
SQL.Add(" XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ * " + XLBJDUtils.sCJXS + " as BJJE ");
else
SQL.Add(" XLXSBJDMX_BJSL * XLXSBJDMX_JGBBJ as BJJE ");
SQL.Add(" FROM XLXSBJDMX ");
SQL.Add(" left join XLXSBJXHML A on A.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and A.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ')");
SQL.Add(" left join XLXSBJXHML B on B.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and B.XLXSBJXHML_DYDJID = ' '");
SQL.Add(" left join XLXSCPML on XLXSCPML_CPMLID = case when ISNULL(A.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(B.XLXSBJXHML_CPMLID,' ') else ISNULL(A.XLXSBJXHML_CPMLID,' ') end ");
SQL.Add(" where XLXSBJDMX_BJDID = '" + sBJDID + "' and XLXSBJDMX_BJSL>0 and (XLXSBJDMX_JLDW in ('Km', '千米','M','米') ");//去反括号
foreach (string sKey in dicLenJLDWTD.Keys)
{
SQL.Add(string.Format(" or XLXSBJDMX_JLDW='{0}'", sKey));
}
SQL.Add(" ) and exists(select 1 from XLXSBJDQYFB4SY1 where XLXSBJDQYFB4SY1_CPMLID = XLXSCPML_CPMLID )");
ds = dberp.OpenDataSet(SQL);
string XHList = "";
double dYFJE = 0;
double dBJZJE = 0;
if (ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
dBJZJE += CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["BJJE"].ToString().Trim());
XHList += ds.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim();
XHList += ",";
}
XHList = XHList.TrimEnd(',');
SQL.Clear();
SQL.Add(" select sum(" + sYFJSGS.Replace("运距", txtYJ.Value.ToString().Trim()).Replace("运率", "XLXSBJDMXZP_YSFL").Replace("运件", "XLXSBJDMXZP_DS") + ") as YFJE ");
SQL.Add(" FROM XLXSBJDMXZP ");
SQL.Add(" where XLXSBJDMXZP_BJDID = '" + sBJDID + "' and XLXSBJDMXZP_BJDXH in ("+XHList+") group by XLXSBJDMXZP_BJDID");
ds = dberp.OpenDataSet(SQL);
if(ds.Tables[0].Rows.Count > 0)
{
dYFJE += CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["YFJE"].ToString().Trim());
}
}
if (txtBJZJE.Value.Equals(0) && dBJZJE.Equals(0))
{
txtZDYF.Value = 0;
return;
}
txtZDYF.Value = NumberUtils.RoundX((txtYFJE.Value+dYFJE)/(txtBJZJE.Value+dBJZJE)*100,2);
}
#endregion
#region 控件事件
protected void btnRefresh_Click(object sender, EventArgs e)
{
CalcZDYF();
moduleGV_PageIndexChanging(null, null);
FormAreaUpdate();
}
protected void btnQR_Click(object sender, EventArgs e)
{
string sYZID = PageParam.GetRTrimString("YZID");
string 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;
}
}
btnRefresh_Click(null, null);
}
protected void txtYZ_TextChanged(object sender, EventArgs e)
{
Dictionary<string, string> dicYJYZXX = GetYJYLXX(txtXZQHID.Value, txtYZ.Value, GetOption(100860071, "BJU025"));
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;
}
}
btnRefresh_Click(null, null);
}
protected void grdContentGrid_RowDoubleClick(object sender, GThinking.N_CONTROL.RowDoubleClickEventArgs e)
{
TPageParams tpp = new TPageParams();
tpp.UrlPath = "BJYF_YJZPList.aspx";
tpp.CallAction = TPageCallAction.pcaBrowse;
tpp.AddString("XLXSBJDMX_BJDID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJDMX_BJDID"].ToString().Trim());
tpp.AddString("XLXSBJDMX_XH", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJDMX_XH"].ToString().Trim());
tpp.AddString("XZQHID", PageParam.GetRTrimString("XZQHID"));
OpenDialogClickBtn(tpp, btnRefresh.ClientID);
}
#endregion
}
}