2026821
This commit is contained in:
@@ -0,0 +1,499 @@
|
||||
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.Utility;
|
||||
using GThinking.N_MISPRO.Data;
|
||||
using System.Collections.Generic;
|
||||
using GThinking.N_PUBLIC2;
|
||||
|
||||
namespace GThinking.N_XLXSBJ
|
||||
{
|
||||
public partial class BJPF_FDList : SingleGridBase
|
||||
{
|
||||
BJPF_FD entity = new BJPF_FD();
|
||||
BJPF_FD_M queryentity = new BJPF_FD_M();
|
||||
|
||||
#region Page类事件继承
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.UMID = 100860080;
|
||||
this.UMName = "线缆销售报价单盘费";
|
||||
this.CurMaster = Master;
|
||||
this.ModuleGV = ContentGrid;
|
||||
this.CurEntity = entity;
|
||||
this.CurQueryEntity = queryentity;
|
||||
this.PageHeight = 500;
|
||||
this.PageWidth = 700;
|
||||
this.sURLTarget = "BJPF_ZPList.aspx";
|
||||
this.sQueryURLTarget = "BJPF_FDQuery.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();
|
||||
|
||||
if (!IsPostBack)
|
||||
{
|
||||
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("YZID", PageParam.GetRTrimString("YZID"));
|
||||
LinkPageParam.AddString("YZMC", PageParam.GetRTrimString("YZMC"));
|
||||
LinkPageParam.AddString("BJFLID", PageParam.GetRTrimString("BJFLID"));
|
||||
LinkPageParam.AddString("XTCPBJYZ", PageParam.GetRTrimString("XTCPBJYZ"));
|
||||
LinkPageParam.AddString("CPQYYF", "N");
|
||||
}
|
||||
base.moduleGV_RowDataBound(sender, e);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 私有函数
|
||||
|
||||
private string GetQuerySql()
|
||||
{
|
||||
string sBJDID = PageParam.GetRTrimString("BJDID");
|
||||
bool bQCYFYZCP = QCYFYZCP(sBJDID, PageParam.GetRTrimString("BJFLID"));
|
||||
Dictionary<string, double> dicLenJLDWTD = XLBJDUtils.GetLenJLDWTD();
|
||||
string 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,isnull(XLXSBJDMXFD_XLWJ,0) as XLXSBJDMXFD_XLWJ,isnull(XLXSBJDMXFD_ZXWQBS,0) as XLXSBJDMXFD_ZXWQBS,isnull(XLXSBJDMXFD_PJZJE,0) as XLXSBJDMXFD_PJZJE,isnull(XLXSBJDMXFD_PJZPZ,0) as XLXSBJDMXFD_PJZPZ,XLXSBJDMXFD_WHR,XLXSBJDMXFD_WHSJ "
|
||||
+ " from XLXSBJDMX "
|
||||
+ " left join XLBZ on XLBZ_XLBZID = XLXSBJDMX_XLBZID "
|
||||
+ " left join XLXSBJDMXFD on XLXSBJDMXFD_BJDID = XLXSBJDMX_BJDID and XLXSBJDMXFD_BJDXH = XLXSBJDMX_XH "
|
||||
+ " left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSBJDMX_XLGGID ";
|
||||
if (bQCYFYZCP)
|
||||
{
|
||||
sSQL += " left join XLXSBJXHML A on A.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and A.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ";
|
||||
sSQL += " left join XLXSBJXHML B on B.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and B.XLXSBJXHML_DYDJID = ' ' ";
|
||||
sSQL += " left join XLXSCPML on XLXSCPML_CPMLID = case when ISNULL(A.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(B.XLXSBJXHML_CPMLID,' ') else ISNULL(A.XLXSBJXHML_CPMLID,' ') end ";
|
||||
}
|
||||
sSQL += " 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 += " ) ";
|
||||
if (bQCYFYZCP)
|
||||
{
|
||||
sSQL += " and not 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 ";
|
||||
|
||||
return sSQL;
|
||||
}
|
||||
|
||||
//是否需要去除计算运费的报价产品
|
||||
private bool QCYFYZCP(string sBJDID, string sBJFLID)
|
||||
{
|
||||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||||
TSQL SQL = new TSQL(dberp);
|
||||
SQL.Clear();
|
||||
SQL.Add(" select XLXSBJFLYZ_BJFLID,XLXSTZYZ_TJMDID from XLXSBJFLYZ ");
|
||||
SQL.Add(" left join XLXSTZYZ on XLXSTZYZ_YZID = XLXSBJFLYZ_YZID and XLXSTZYZ_MXBH = 'BJD' ");
|
||||
SQL.Add(" where XLXSTZYZ_TJMDID = 100860071 and XLXSBJFLYZ_BJFLID = :pBJFLID ");
|
||||
SQL.ParamByName("pBJFLID").Value = sBJFLID;
|
||||
DataSet ds = dberp.OpenDataSet(SQL);
|
||||
if (ds.Tables[0].Rows.Count > 0)
|
||||
{
|
||||
SQL.Clear();
|
||||
SQL.Add(" select 1 from XLXSBJD");
|
||||
SQL.Add(" left join XLXSBJDQYFZB on XLXSBJDQYFZB_XZQHID = XLXSBJD_XZQHID ");
|
||||
SQL.Add(" where XLXSBJD_BJDID = :pBJDID ");
|
||||
SQL.Add(" and (XLXSBJDQYFZB_YFJSFS like '%3%' or XLXSBJDQYFZB_YFJSFS like '%4%')");
|
||||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||||
ds = dberp.OpenDataSet(SQL);
|
||||
if (ds.Tables[0].Rows.Count > 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 控件事件
|
||||
|
||||
protected void btnRefresh_Click(object sender, EventArgs e)
|
||||
{
|
||||
moduleGV_PageIndexChanging(null, null);
|
||||
FormAreaUpdate();
|
||||
}
|
||||
|
||||
protected void btnZDCDZP_Click(object sender, EventArgs e)
|
||||
{
|
||||
string sBJDID = PageParam.GetRTrimString("BJDID");
|
||||
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSBJDMXFD where XLXSBJDMXFD_BJDID = '{0}'", sBJDID)))
|
||||
{
|
||||
Confirm.Register("IsQD", "已有匹盘数据将清空,是否继续?");
|
||||
Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No;
|
||||
if (Confirm.GetValue("IsQD").Trim().Equals(""))
|
||||
{
|
||||
Confirm.Ask("IsQD");
|
||||
return;
|
||||
}
|
||||
else if (Confirm.GetValue("IsQD").Trim().Equals("N"))
|
||||
{
|
||||
//表示进行了提示并选择了取消,直接返回或其他处理
|
||||
Confirm.Clear();
|
||||
return;
|
||||
}
|
||||
else if (Confirm.GetValue("IsQD").Trim().Equals("Y"))
|
||||
{
|
||||
//表示进行了提示并选择了确认
|
||||
Confirm.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||||
TSQL SQL = new TSQL(dberp);
|
||||
Dictionary<string, double> dicLenJLDWTD = XLBJDUtils.GetLenJLDWTD();
|
||||
try
|
||||
{
|
||||
dberp.BeginTrans();
|
||||
|
||||
bool bQCYFYZCP = QCYFYZCP(sBJDID, PageParam.GetRTrimString("BJFLID"));
|
||||
|
||||
SQL.Clear();
|
||||
SQL.Add(" select XLXSBJDMX_XH,XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID, ");
|
||||
SQL.Add(" case when XLXSBJDMX_JLDW in ('Km', '千米') then 'Km' when XLXSBJDMX_JLDW in ('M', '米') then 'M' ");
|
||||
foreach (string sKey in dicLenJLDWTD.Keys)
|
||||
{
|
||||
SQL.Add(string.Format(" when XLXSBJDMX_JLDW='{0}' then '{0}' ", sKey));
|
||||
}
|
||||
SQL.Add(" else ' ' end as XLXSBJDMX_JLDW, ");
|
||||
SQL.Add(" (case when XLXSBJDMX_JLDW in ('Km', '千米') then 1000 when XLXSBJDMX_JLDW in ('M', '米') then 1 ");
|
||||
foreach (string sKey in dicLenJLDWTD.Keys)
|
||||
{
|
||||
SQL.Add(string.Format(" when XLXSBJDMX_JLDW='{0}' then {1} ", sKey, dicLenJLDWTD[sKey]));
|
||||
}
|
||||
SQL.Add(" else 0 end ) as DWXS, XLXSBJDMX_BJSL ");
|
||||
SQL.Add(" from XLXSBJDMX ");
|
||||
if (bQCYFYZCP)
|
||||
{
|
||||
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 = :pBJDID 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(" )");
|
||||
if (bQCYFYZCP)
|
||||
{
|
||||
SQL.Add(" and not exists(select 1 from XLXSBJDQYFB4SY1 where XLXSBJDQYFB4SY1_CPMLID = XLXSCPML_CPMLID )");
|
||||
}
|
||||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||||
DataSet ds = dberp.OpenDataSet(SQL);
|
||||
foreach (DataRow trow in ds.Tables[0].Rows)
|
||||
{
|
||||
string sXH = trow["XLXSBJDMX_XH"].ToString().Trim();
|
||||
string sXLXHID = trow["XLXSBJDMX_XLXHID"].ToString().Trim();
|
||||
string sXLGGID = trow["XLXSBJDMX_XLGGID"].ToString().Trim();
|
||||
string sXLBZID = trow["XLXSBJDMX_XLBZID"].ToString().Trim();
|
||||
string sDYDJID = trow["XLXSBJDMX_DYDJID"].ToString().Trim();
|
||||
string sBJDJLDW = trow["XLXSBJDMX_JLDW"].ToString().Trim();
|
||||
double dDWZL = XLBJDUtils.GetCLZL(sXLXHID, sXLGGID, sXLBZID, sDYDJID);
|
||||
double dDWXS = CMISproConvert.StrToFloat(trow["DWXS"].ToString().Trim());
|
||||
double dBJSL = CMISproConvert.StrToFloat(trow["XLXSBJDMX_BJSL"].ToString().Trim());
|
||||
double dBJMS = dBJSL * dDWXS;
|
||||
|
||||
Dictionary<string, double> dicXLWJ_ZXWQBS = BJPF_ZPList.GetXLWJ_ZXWQBS(sXLXHID, sXLGGID, sXLBZID, sDYDJID);
|
||||
double dXLWJ = dicXLWJ_ZXWQBS["XLWJ"];
|
||||
double dZXWQBS = dicXLWJ_ZXWQBS["ZXWQBS"];
|
||||
|
||||
double dZXZPCD = 0;
|
||||
double dZDZPCD = 0;
|
||||
List<XLZPPJBLModel> XLPJList = XLUtils.getXLZPPJBLList(dXLWJ.ToString(), "", "", "", "", "", dZXWQBS.ToString());
|
||||
for (int i = 0; i < XLPJList.Count; i++)
|
||||
{
|
||||
if (i == 0)
|
||||
dZXZPCD = CMISproConvert.StrToFloat(XLPJList[i].XLZPCD_ZXZPCD);
|
||||
if (dZXZPCD > CMISproConvert.StrToFloat(XLPJList[i].XLZPCD_ZXZPCD))
|
||||
dZXZPCD = CMISproConvert.StrToFloat(XLPJList[i].XLZPCD_ZXZPCD);
|
||||
if (dZDZPCD < CMISproConvert.StrToFloat(XLPJList[i].XLZPCD_ZDZPCD))
|
||||
dZDZPCD = CMISproConvert.StrToFloat(XLPJList[i].XLZPCD_ZDZPCD);
|
||||
}
|
||||
|
||||
Dictionary<double, string> dicFDYQ = new Dictionary<double, string>();
|
||||
BJPF_ZPList.ZDPCPP(dBJMS, dZDZPCD, dZXZPCD, XLPJList, ref dicFDYQ);
|
||||
|
||||
string sFDYQ = "";
|
||||
foreach (double dZPXH in dicFDYQ.Keys)
|
||||
{
|
||||
if (!sFDYQ.Equals(""))
|
||||
sFDYQ += "+";
|
||||
sFDYQ += dicFDYQ[dZPXH];
|
||||
}
|
||||
|
||||
string sErrorMessage = "";
|
||||
|
||||
double dFDPJZJE = 0;
|
||||
double dFDPJZPZ = 0;
|
||||
double dPFYZZ = 0;
|
||||
string sYZJJFS = BJPF_ZPList.GetBJDYZJJFS(PageParam.GetRTrimString("YZID"));
|
||||
|
||||
BJPF_ZPList.PJPPJS(dberp, SQL, sBJDID, sXH, sFDYQ, dicFDYQ, dZDZPCD, dZXZPCD, PageParam.GetRTrimString("YZID"), sXLXHID, sXLGGID, sXLBZID, sDYDJID, sBJDJLDW, PageParam.GetRTrimString("XTCPBJYZ"),
|
||||
dDWXS.ToString().Trim(), dXLWJ, dZXWQBS, dBJMS, dDWZL.ToString().Trim(), GetOption(100860000, "BJU002"), GetOption(100860000, "BJU003"), sYZJJFS, tSession, "N", ref sErrorMessage, ref dFDPJZJE, ref dFDPJZPZ, ref dPFYZZ);
|
||||
|
||||
if (!sErrorMessage.Equals(""))
|
||||
throw new Exception(sErrorMessage);
|
||||
}
|
||||
|
||||
dberp.CommitTrans();
|
||||
|
||||
btnRefresh_Click(null, null);
|
||||
ShowMessage("已按最大装盘长度计算盘费!");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ShowMessage(ex.Message);
|
||||
dberp.RollbackTrans();
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnHSSYPJ_Click(object sender, EventArgs e)
|
||||
{
|
||||
string sBJDID = PageParam.GetRTrimString("BJDID");
|
||||
|
||||
Confirm.Register("IsQD", "回收所有盘具将不再产生盘费,是否继续?");
|
||||
Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No;
|
||||
if (Confirm.GetValue("IsQD").Trim().Equals(""))
|
||||
{
|
||||
Confirm.Ask("IsQD");
|
||||
return;
|
||||
}
|
||||
else if (Confirm.GetValue("IsQD").Trim().Equals("N"))
|
||||
{
|
||||
//表示进行了提示并选择了取消,直接返回或其他处理
|
||||
Confirm.Clear();
|
||||
return;
|
||||
}
|
||||
else if (Confirm.GetValue("IsQD").Trim().Equals("Y"))
|
||||
{
|
||||
//表示进行了提示并选择了确认
|
||||
Confirm.Clear();
|
||||
}
|
||||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||||
TSQL SQL = new TSQL(dberp);
|
||||
Dictionary<string, double> dicLenJLDWTD = XLBJDUtils.GetLenJLDWTD();
|
||||
try
|
||||
{
|
||||
dberp.BeginTrans();
|
||||
//更新装盘记录
|
||||
SQL.Clear();
|
||||
SQL.Add(" update XLXSBJDMXZP SET XLXSBJDMXZP_PJHS = 'Y' WHERE XLXSBJDMXZP_BJDID = :pBJDID ");
|
||||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||||
DataSet ds = dberp.OpenDataSet(SQL);
|
||||
dberp.ExecSQL(SQL);
|
||||
SQL.Clear();
|
||||
SQL.Add(" select XLXSBJDMX_XH,XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID, ");
|
||||
SQL.Add(" case when XLXSBJDMX_JLDW in ('Km', '千米') then 'Km' when XLXSBJDMX_JLDW in ('M', '米') then 'M' ");
|
||||
foreach (string sKey in dicLenJLDWTD.Keys)
|
||||
{
|
||||
SQL.Add(string.Format(" when XLXSBJDMX_JLDW='{0}' then '{0}' ", sKey));
|
||||
}
|
||||
SQL.Add(" else ' ' end as XLXSBJDMX_JLDW, ");
|
||||
SQL.Add(" (case when XLXSBJDMX_JLDW in ('Km', '千米') then 1000 when XLXSBJDMX_JLDW in ('M', '米') then 1 ");
|
||||
foreach (string sKey in dicLenJLDWTD.Keys)
|
||||
{
|
||||
SQL.Add(string.Format(" when XLXSBJDMX_JLDW='{0}' then {1} ", sKey, dicLenJLDWTD[sKey]));
|
||||
}
|
||||
SQL.Add(" else 0 end ) as DWXS, XLXSBJDMX_BJSL ");
|
||||
SQL.Add(" from XLXSBJDMX where XLXSBJDMX_BJDID = :pBJDID 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(" )");
|
||||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||||
ds = dberp.OpenDataSet(SQL);
|
||||
foreach (DataRow trow in ds.Tables[0].Rows)
|
||||
{
|
||||
string sXH = trow["XLXSBJDMX_XH"].ToString().Trim();
|
||||
string sXLXHID = trow["XLXSBJDMX_XLXHID"].ToString().Trim();
|
||||
string sXLGGID = trow["XLXSBJDMX_XLGGID"].ToString().Trim();
|
||||
string sXLBZID = trow["XLXSBJDMX_XLBZID"].ToString().Trim();
|
||||
string sDYDJID = trow["XLXSBJDMX_DYDJID"].ToString().Trim();
|
||||
string sBJDJLDW = trow["XLXSBJDMX_JLDW"].ToString().Trim();
|
||||
double dDWZL = XLBJDUtils.GetCLZL(sXLXHID, sXLGGID, sXLBZID, sDYDJID);
|
||||
double dDWXS = CMISproConvert.StrToFloat(trow["DWXS"].ToString().Trim());
|
||||
double dBJSL = CMISproConvert.StrToFloat(trow["XLXSBJDMX_BJSL"].ToString().Trim());
|
||||
double dBJMS = dBJSL * dDWXS;
|
||||
|
||||
Dictionary<string, double> dicXLWJ_ZXWQBS = BJPF_ZPList.GetXLWJ_ZXWQBS(sXLXHID, sXLGGID, sXLBZID, sDYDJID);
|
||||
double dXLWJ = dicXLWJ_ZXWQBS["XLWJ"];
|
||||
double dZXWQBS = dicXLWJ_ZXWQBS["ZXWQBS"];
|
||||
|
||||
double dZXZPCD = 0;
|
||||
double dZDZPCD = 0;
|
||||
List<XLZPPJBLModel> XLPJList = XLUtils.getXLZPPJBLList(dXLWJ.ToString(), "", "", "", "", "", dZXWQBS.ToString());
|
||||
for (int i = 0; i < XLPJList.Count; i++)
|
||||
{
|
||||
if (i == 0)
|
||||
dZXZPCD = CMISproConvert.StrToFloat(XLPJList[i].XLZPCD_ZXZPCD);
|
||||
if (dZXZPCD > CMISproConvert.StrToFloat(XLPJList[i].XLZPCD_ZXZPCD))
|
||||
dZXZPCD = CMISproConvert.StrToFloat(XLPJList[i].XLZPCD_ZXZPCD);
|
||||
if (dZDZPCD < CMISproConvert.StrToFloat(XLPJList[i].XLZPCD_ZDZPCD))
|
||||
dZDZPCD = CMISproConvert.StrToFloat(XLPJList[i].XLZPCD_ZDZPCD);
|
||||
}
|
||||
|
||||
Dictionary<double, string> dicFDYQ = new Dictionary<double, string>();
|
||||
BJPF_ZPList.ZDPCPP(dBJMS, dZDZPCD, dZXZPCD, XLPJList, ref dicFDYQ);
|
||||
|
||||
string sFDYQ = "";
|
||||
foreach (double dZPXH in dicFDYQ.Keys)
|
||||
{
|
||||
if (!sFDYQ.Equals(""))
|
||||
sFDYQ += "+";
|
||||
sFDYQ += dicFDYQ[dZPXH];
|
||||
}
|
||||
|
||||
string sErrorMessage = "";
|
||||
|
||||
double dFDPJZJE = 0;
|
||||
double dFDPJZPZ = 0;
|
||||
double dPFYZZ = 0;
|
||||
string sYZJJFS = BJPF_ZPList.GetBJDYZJJFS(PageParam.GetRTrimString("YZID"));
|
||||
|
||||
if (XLBJDUtils.GetXLXSBJPZXX(100860000).XLXSBJPZ_PFBJRBJ == "Y")
|
||||
{
|
||||
BJPF_ZPList.UpdatePJJE(dberp, SQL, sBJDID, sXH, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
BJPF_ZPList.PJFD(dberp, SQL, sBJDID, sXH, sFDYQ, dXLWJ, dZXWQBS, tSession, ref sErrorMessage, ref dFDPJZJE, ref dFDPJZPZ);
|
||||
BJPF_ZPList.PFJS(dberp, SQL, sBJDID, sXH, PageParam.GetRTrimString("YZID"), sXLXHID, sXLGGID, sXLBZID, sDYDJID, sBJDJLDW, PageParam.GetRTrimString("XTCPBJYZ"),
|
||||
dDWXS.ToString().Trim(), dBJMS, GetOption(100860000, "BJU002"), GetOption(100860000, "BJU003"), sYZJJFS, tSession, ref sErrorMessage, ref dPFYZZ);
|
||||
}
|
||||
if (!sErrorMessage.Equals(""))
|
||||
throw new Exception(sErrorMessage);
|
||||
}
|
||||
dberp.CommitTrans();
|
||||
CloseWindow();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ShowMessage(ex.Message);
|
||||
dberp.RollbackTrans();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user