530 lines
25 KiB
C#
530 lines
25 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 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
|
||
}
|
||
}
|