1352 lines
62 KiB
C#
1352 lines
62 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;
|
||
using GThinking.N_PUBLIC2;
|
||
using GThinking.N_MISPRO;
|
||
using System.Drawing;
|
||
|
||
namespace GThinking.N_XLXSBJ
|
||
{
|
||
public partial class BJPF_ZPList : SingleGridBase
|
||
{
|
||
BJPF_ZP entity = new BJPF_ZP();
|
||
|
||
List<XLZPPJBLModel> XLPJList = new List<XLZPPJBLModel>();
|
||
|
||
#region 页面事件
|
||
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
this.UMID = 100860080;
|
||
this.UMName = "线缆销售报价单盘费";
|
||
this.CurMaster = Master;
|
||
this.ModuleGV = grdGrid;
|
||
this.CurEntity = entity;
|
||
this.PageHeight = 600;
|
||
this.PageWidth = 750;
|
||
|
||
//base.DataKeyNames = new string[] { "XLXSBJDMX_XLXHID", "XLXSBJDMX_XLGGID", "XLXSBJDMX_XLBZID", "XLXSBJDMX_DYDJID" };
|
||
|
||
if (!IsPostBack)
|
||
{
|
||
InitControl();
|
||
}
|
||
|
||
base.InitPage();
|
||
|
||
this.ModuleGV.OnClientDblClick = "return false;";
|
||
|
||
if (!IsPostBack)
|
||
{
|
||
Master_OnStandardQuery(null, null);
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 模板继承事件
|
||
|
||
protected override void Master_OnStandardQuery(object sender, EventArgs e)
|
||
{
|
||
base.Master_OnStandardQuery(sender, e);
|
||
entity.EntityTable.QuerySelSql = GetQuerySql();
|
||
entity.GridDataBind(grdGrid, tSession);
|
||
}
|
||
|
||
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
|
||
{
|
||
entity.EntityTable.QuerySelSql = GetQuerySql();
|
||
grdGrid.SelectedIndex = -1;
|
||
base.moduleGV_PageIndexChanging(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 sENABLED = PageParam.GetRTrimString("ENABLED");
|
||
if (sENABLED.Equals("N"))
|
||
{
|
||
btnJSPF.Enabled = false;
|
||
btnQKPF.Enabled = false;
|
||
txtXLWJ.Enabled = false;
|
||
txtFDYQ.Enabled = false;
|
||
txtZXWQBS.Enabled = false;
|
||
lblBJMS.Enabled = false;
|
||
lblBJMS.ForeColor = ColorTranslator.FromHtml("#6f6f6f");
|
||
lblZDZPCD.Enabled = false;
|
||
lblZDZPCD.ForeColor = ColorTranslator.FromHtml("#6f6f6f");
|
||
newXLWJ.Visible = false;
|
||
newZXWQBS.Visible = false;
|
||
|
||
}
|
||
else
|
||
{
|
||
btnJSPF.Enabled = true;
|
||
btnQKPF.Enabled = true;
|
||
txtXLWJ.Enabled = true;
|
||
txtFDYQ.Enabled = true;
|
||
txtZXWQBS.Enabled = true;
|
||
lblBJMS.Enabled = true;
|
||
lblBJMS.ForeColor = ColorTranslator.FromHtml("#0000ff");
|
||
lblZDZPCD.Enabled = true;
|
||
lblZDZPCD.ForeColor = ColorTranslator.FromHtml("#0000ff");
|
||
newXLWJ.Visible = true;
|
||
newZXWQBS.Visible = true;
|
||
}
|
||
string sBJDID = PageParam.GetRTrimString("XLXSBJDMX_BJDID");
|
||
double dXH = CMISproConvert.StrToFloat(PageParam.GetRTrimString("XLXSBJDMX_XH"));
|
||
string sPFYZ = PageParam.GetRTrimString("YZID");
|
||
lblPFYZ.Text = PageParam.GetRTrimString("YZMC").Trim() + ":";
|
||
if (XLBJDUtils.GetXLXSBJPZXX(100860000).XLXSBJPZ_PFBJRBJ == "Y")
|
||
{
|
||
lblPFYZ.Visible = false;
|
||
txtPFYZZ.Visible = false;
|
||
lblDW_PFYZ.Visible = false;
|
||
}
|
||
string sBJFLID = PageParam.GetRTrimString("BJFLID");
|
||
string sXTCPBJYZ = PageParam.GetRTrimString("XTCPBJYZ");
|
||
string sPJHS = PageParam.GetRTrimString("CPQYYF");
|
||
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
Dictionary<string, double> dicLenJLDWTD = XLBJDUtils.GetLenJLDWTD();
|
||
SQL.Clear();
|
||
SQL.Add(" select XLXSBJDMX_XSSX,XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,XLXSBJDMXFD_XLFDYQ,XLXSBJDMXFD_XLWJ,XLXSBJDMXFD_ZXWQBS,XLXSBJDMXFD_PJZJE,XLXSBJDMXFD_PJZPZ,");
|
||
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(" case when isnull(XLBZ_XLBZID,' ') = ' ' then ' ' else rtrim(XLBZ_XLBZID) || '|' || rtrim(XLBZ_XLBZLXMC) end as XLBZ, ");
|
||
SQL.Add(" XLXSBJDYZZ0_YZZ01 as BJ01,XLXSBJDYZZ0_YZZ02 as BJ02,XLXSBJDYZZ0_YZZ03 as BJ03,XLXSBJDYZZ0_YZZ04 as BJ04,XLXSBJDYZZ0_YZZ05 as BJ05,");
|
||
SQL.Add(" XLXSBJDYZZ0_YZZ06 as BJ06,XLXSBJDYZZ0_YZZ07 as BJ07,XLXSBJDYZZ0_YZZ08 as BJ08,XLXSBJDYZZ0_YZZ09 as BJ09,XLXSBJDYZZ0_YZZ10 as BJ10,");
|
||
SQL.Add(" XLXSBJDYZZ0_YZZ11 as BJ11,XLXSBJDYZZ0_YZZ12 as BJ12,XLXSBJDYZZ0_YZZ13 as BJ13,XLXSBJDYZZ0_YZZ14 as BJ14,XLXSBJDYZZ0_YZZ15 as BJ15,");
|
||
SQL.Add(" XLXSBJDYZZ0_YZZ16 as BJ16,XLXSBJDYZZ0_YZZ17 as BJ17,XLXSBJDYZZ0_YZZ18 as BJ18,XLXSBJDYZZ0_YZZ19 as BJ19,XLXSBJDYZZ0_YZZ20 as BJ20");
|
||
SQL.Add(" from XLXSBJDMX ");
|
||
SQL.Add(" left join XLBZ on XLBZ_XLBZID = XLXSBJDMX_XLBZID ");
|
||
SQL.Add(" left join XLXSBJDMXFD on XLXSBJDMXFD_BJDID = XLXSBJDMX_BJDID and XLXSBJDMXFD_BJDXH = XLXSBJDMX_XH ");
|
||
SQL.Add(" left join XLXSBJDYZZ0 on XLXSBJDYZZ0_BJDID = XLXSBJDMX_BJDID and XLXSBJDYZZ0_XH = XLXSBJDMX_XH ");
|
||
SQL.Add(" where XLXSBJDMX_BJDID =:pBJDID and XLXSBJDMX_XH = :pXH ");
|
||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||
SQL.ParamByName("pXH").Value = dXH;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
string sXLXHID = ds.Tables[0].Rows[0]["XLXSBJDMX_XLXHID"].ToString().Trim();
|
||
string sXLGGID = ds.Tables[0].Rows[0]["XLXSBJDMX_XLGGID"].ToString().Trim();
|
||
string sXLBZID = ds.Tables[0].Rows[0]["XLXSBJDMX_XLBZID"].ToString().Trim();
|
||
string sDYDJID = ds.Tables[0].Rows[0]["XLXSBJDMX_DYDJID"].ToString().Trim();
|
||
string sBJDJLDW = ds.Tables[0].Rows[0]["XLXSBJDMX_JLDW"].ToString().Trim();
|
||
double dDWZL = XLBJDUtils.GetCLZL(sXLXHID, sXLGGID, sXLBZID, sDYDJID);
|
||
string sBJCP = XLBJDUtils.GroupBJCPXX(sXLXHID, sXLGGID, sDYDJID);
|
||
string sXSSX = ds.Tables[0].Rows[0]["XLXSBJDMX_XSSX"].ToString().Trim();
|
||
string sXLBZ = ds.Tables[0].Rows[0]["XLBZ"].ToString().Trim();
|
||
lblXSSX.Text = "【" + sXSSX + "】";
|
||
txtBJCP.Text = sBJCP + " " + sXLBZ;
|
||
|
||
double dDWXS = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["DWXS"].ToString().Trim());
|
||
double dBJSL = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMX_BJSL"].ToString().Trim());
|
||
double dBJMS = dBJSL * dDWXS;
|
||
double dPFYZZ = 0;
|
||
if(!sPFYZ.Equals(""))
|
||
dPFYZZ = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0][sPFYZ].ToString().Trim());
|
||
dPFYZZ = NumberUtils.RoundX(dPFYZZ / dDWXS, 6);
|
||
|
||
string sXLFDYQ = ds.Tables[0].Rows[0]["XLXSBJDMXFD_XLFDYQ"].ToString().Trim();
|
||
double dXLWJ = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMXFD_XLWJ"].ToString().Trim());
|
||
double dZXWQBS = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMXFD_ZXWQBS"].ToString().Trim());
|
||
double dPJZJE = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMXFD_PJZJE"].ToString().Trim());
|
||
double dPJZPZ = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMXFD_PJZPZ"].ToString().Trim());
|
||
|
||
Dictionary<string, double> dicXLWJ_ZXWQBS = BJPF_ZPList.GetXLWJ_ZXWQBS(sXLXHID, sXLGGID, sXLBZID, sDYDJID);
|
||
double dNewXLWJ = dicXLWJ_ZXWQBS["XLWJ"];
|
||
double dNewZXWQBS = dicXLWJ_ZXWQBS["ZXWQBS"];
|
||
txtNewXLWJ.Value = doublePadRight(dNewXLWJ.ToString(), 3);
|
||
txtNewZXWQBS.Value = doublePadRight(dNewZXWQBS.ToString(), 2);
|
||
newXLWJ.Text = txtNewXLWJ.Value;
|
||
newZXWQBS.Text = txtNewZXWQBS.Value;
|
||
|
||
bool PPFJ = false;
|
||
//sXLFDYQ为空代表无分段记录,需默认赋值并插入分段和分盘数据
|
||
if (sXLFDYQ.Equals(""))
|
||
{
|
||
dXLWJ = dNewXLWJ;
|
||
dZXWQBS = dNewZXWQBS;
|
||
string sBJMS = dBJMS.ToString().Trim();
|
||
sXLFDYQ = sBJMS + "*1";
|
||
PPFJ = true;
|
||
newXLWJ.Visible = false;
|
||
newZXWQBS.Visible = false;
|
||
}
|
||
else
|
||
{
|
||
if (dXLWJ == dNewXLWJ)
|
||
newXLWJ.Visible = false;
|
||
if (dZXWQBS == dNewZXWQBS)
|
||
newZXWQBS.Visible = false;
|
||
}
|
||
txtFDYQ.Text = sXLFDYQ;
|
||
txtXLWJ.Value = dXLWJ;
|
||
txtZXWQBS.Value = dZXWQBS;
|
||
txtBJMS.Value = dBJMS;
|
||
txtDWZL.Value = dDWZL.ToString().Trim();
|
||
txtPFYZZ.Value = dPFYZZ;
|
||
txtPJZJE.Value = dPJZJE;
|
||
txtPJZPZ.Value = dPJZPZ;
|
||
txtBJDID.Value = sBJDID;
|
||
txtXH.Value = dXH.ToString().Trim();
|
||
txtYZID.Value = sPFYZ;
|
||
txtBJFLID.Value = sBJFLID;
|
||
txtXTCPBJYZ.Value = sXTCPBJYZ;
|
||
txtXLXHID.Value = sXLXHID;
|
||
txtXLGGID.Value = sXLGGID;
|
||
txtXLBZID.Value = sXLBZID;
|
||
txtDYDJID.Value = sDYDJID;
|
||
txtBJDJLDW.Value = sBJDJLDW;
|
||
txtDWZL.Value = dDWZL.ToString().Trim();
|
||
txtDWXS.Value = dDWXS.ToString().Trim();
|
||
txtPJHS.Value = sPJHS;
|
||
|
||
double dZXZPCD = 0;
|
||
double dZDZPCD = 0;
|
||
XLPJList.Clear();
|
||
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);
|
||
}
|
||
|
||
txtZDZPCD.Value = dZDZPCD;
|
||
txtZXZPCD.Value = dZXZPCD;
|
||
|
||
if (PPFJ)
|
||
{
|
||
Dictionary<double, string> dicFDYQ = new Dictionary<double, string>();
|
||
if (txtBJMS.Value <= txtZDZPCD.Value)
|
||
dicFDYQ.Add(1, sXLFDYQ);//报价米数
|
||
else
|
||
ZDPCPP(txtBJMS.Value, txtZDZPCD.Value, txtZXZPCD.Value, XLPJList, ref dicFDYQ);//最大盘长
|
||
|
||
sXLFDYQ = "";
|
||
foreach (double dZPXH in dicFDYQ.Keys)
|
||
{
|
||
if (!sXLFDYQ.Equals(""))
|
||
sXLFDYQ += "+";
|
||
sXLFDYQ += dicFDYQ[dZPXH];
|
||
}
|
||
txtFDYQ.Text = sXLFDYQ;
|
||
|
||
string sBJU003 = GetOption(100860000, "BJU003");
|
||
string sBJU002 = GetOption(100860000, "BJU002");
|
||
|
||
string sErrorMessage = "";
|
||
|
||
double dFDPJZJE = 0;
|
||
double dFDPJZPZ = 0;
|
||
dPFYZZ = 0;
|
||
string sYZJJFS = GetBJDYZJJFS(sPFYZ);
|
||
|
||
try
|
||
{
|
||
dberp.BeginTrans();
|
||
|
||
PJPPJS(dberp, SQL, sBJDID, dXH.ToString().Trim(), sXLFDYQ, dicFDYQ, dZDZPCD, dZXZPCD, sPFYZ, sXLXHID, sXLGGID, sXLBZID, sDYDJID, sBJDJLDW, sXTCPBJYZ, dDWXS.ToString().Trim(),
|
||
dXLWJ, dZXWQBS, dBJMS, dDWZL.ToString().Trim(), sBJU002, sBJU003, sYZJJFS, tSession, sPJHS, ref sErrorMessage, ref dFDPJZJE, ref dFDPJZPZ, ref dPFYZZ);
|
||
|
||
if (!sErrorMessage.Equals(""))
|
||
throw new Exception(sErrorMessage);
|
||
|
||
dberp.CommitTrans();
|
||
|
||
txtPJZJE.Value = dFDPJZJE;
|
||
txtPJZPZ.Value = dFDPJZPZ;
|
||
txtPFYZZ.Value = dPFYZZ;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
ShowMessage(ex.Message);
|
||
dberp.RollbackTrans();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
//盘具匹配计算
|
||
public static void PJPPJS(TDatabase dberp, TSQL SQL,string sBJDID, string sXH, string sXLFDYQ, Dictionary<double, string> dicFDYQ, double dZDZPCD, double dZXZPCD, string sPFYZ, string sXLXHID, string sXLGGID,
|
||
string sXLBZID, string sDYDJID, string sBJDJLDW, string sXTCPBJYZ, string sDWXS, double dXLWJ, double dZXWQBS, double dBJMS, string sDWZL, string sBJU002, string sBJU003, string sYZJJFS,
|
||
CMISproSession tSession, string sPJHS, ref string sErrorMessage,ref double dFDPJZJE,ref double dFDPJZPZ,ref double dPFYZZ )
|
||
{
|
||
PJPP(dberp, SQL, sBJDID, sXH, dicFDYQ, dZDZPCD, dZXZPCD, dXLWJ, dZXWQBS, dBJMS, sDWZL, sBJU003, tSession, sPJHS, ref sErrorMessage);
|
||
PJFD(dberp, SQL, sBJDID, sXH, sXLFDYQ, dXLWJ, dZXWQBS, tSession, ref sErrorMessage, ref dFDPJZJE, ref dFDPJZPZ);
|
||
if (XLBJDUtils.GetXLXSBJPZXX(100860000).XLXSBJPZ_PFBJRBJ == "Y")
|
||
{
|
||
UpdatePJJE(dberp, SQL, sBJDID, sXH, dFDPJZJE);
|
||
}
|
||
else
|
||
{
|
||
PFJS(dberp, SQL, sBJDID, sXH, sPFYZ, sXLXHID, sXLGGID, sXLBZID, sDYDJID, sBJDJLDW, sXTCPBJYZ, sDWXS, dBJMS, sBJU002, sBJU003, sYZJJFS, tSession, ref sErrorMessage, ref dPFYZZ);
|
||
}
|
||
if (!sErrorMessage.Equals(""))
|
||
throw new Exception(sErrorMessage);
|
||
|
||
}
|
||
|
||
//盘具匹配
|
||
public static void PJPP(TDatabase dberp, TSQL SQL, string sBJDID, string sXH, Dictionary<double, string> dicFDYQ, double dZDZPCD, double dZXZPCD, double dXLWJ, double dZXWQBS, double dBJMS, string sDWZL, string sBJU003,
|
||
CMISproSession tSession, string sPJHS, ref string sErrorMessage)
|
||
{
|
||
double dXH = CMISproConvert.StrToFloat(sXH);
|
||
double dDWZL = CMISproConvert.StrToFloat(sDWZL);
|
||
try
|
||
{
|
||
SQL.Clear();
|
||
SQL.Add(" delete from XLXSBJDMXZP where XLXSBJDMXZP_BJDID = :pBJDID and XLXSBJDMXZP_BJDXH = :pXH ");
|
||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||
SQL.ParamByName("pXH").Value = dXH;
|
||
dberp.ExecSQL(SQL);
|
||
foreach (double dZPXH in dicFDYQ.Keys)
|
||
{
|
||
double dDC = CMISproConvert.StrToFloat(dicFDYQ[dZPXH].Split('*')[0]);
|
||
double dDS = CMISproConvert.StrToFloat(dicFDYQ[dZPXH].Split('*')[1]);
|
||
string sPJCZ = "";
|
||
double dPJWJ = 0;
|
||
double dPJNJ = 0;
|
||
double dPJKD = 0;
|
||
double dPJJG = 0;
|
||
double dPJPZ = 0;
|
||
|
||
if (dDC <= dZDZPCD && dDC >= dZXZPCD)
|
||
{
|
||
List<XLZPPJBLModel> XLPPPJList = XLUtils.getXLZPPJBLList(dXLWJ.ToString().Trim(), dDC.ToString().Trim(), "M", dDWZL.ToString().Trim(), sBJU003, "", dZXWQBS.ToString());
|
||
if (XLPPPJList.Count > 0)
|
||
{
|
||
int index = 0;
|
||
double dPJZDZPCD = 0;
|
||
double dXLPJWJ = 0;
|
||
for (int j = 0; j < XLPPPJList.Count; j++)
|
||
{
|
||
if (dXLPJWJ == 0)
|
||
dXLPJWJ = CMISproConvert.StrToFloat(XLPPPJList[j].XLZPCD_PJWJ);
|
||
if (dPJZDZPCD == 0)
|
||
dPJZDZPCD = CMISproConvert.StrToFloat(XLPPPJList[j].XLZPCD_ZDZPCD);
|
||
if (dXLPJWJ > CMISproConvert.StrToFloat(XLPPPJList[j].XLZPCD_PJWJ))
|
||
{
|
||
index = j;
|
||
dXLPJWJ = CMISproConvert.StrToFloat(XLPPPJList[j].XLZPCD_PJWJ);
|
||
dPJZDZPCD = CMISproConvert.StrToFloat(XLPPPJList[j].XLZPCD_ZDZPCD);
|
||
}
|
||
else
|
||
{
|
||
if (dXLPJWJ == CMISproConvert.StrToFloat(XLPPPJList[j].XLZPCD_PJWJ))
|
||
{
|
||
if (dPJZDZPCD > CMISproConvert.StrToFloat(XLPPPJList[j].XLZPCD_ZDZPCD))
|
||
{
|
||
index = j;
|
||
dPJZDZPCD = CMISproConvert.StrToFloat(XLPPPJList[j].XLZPCD_ZDZPCD);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
sPJCZ = XLPPPJList[index].XLZPCD_PJCZ;
|
||
dPJWJ = CMISproConvert.StrToFloat(XLPPPJList[index].XLZPCD_PJWJ);
|
||
dPJNJ = CMISproConvert.StrToFloat(XLPPPJList[index].XLZPCD_PJNJ);
|
||
dPJKD = CMISproConvert.StrToFloat(XLPPPJList[index].XLZPCD_PJKD);
|
||
dPJJG = GetPJJG(sPJCZ, dPJWJ, dPJNJ, dPJKD, CMISproConvert.StrToDateTime(DateTime.Now.ToShortDateString()));
|
||
dPJPZ = CMISproConvert.StrToFloat(XLPPPJList[index].XLZPPJ_PJPZ);
|
||
}
|
||
}
|
||
|
||
double dPJZJE = dPJJG * dDS;
|
||
double dPJZPZ = dPJPZ * dDS;
|
||
|
||
#region 插入装盘记录
|
||
|
||
SQL.Clear();
|
||
SQL.Add(" insert into XLXSBJDMXZP ");
|
||
SQL.Add(" (XLXSBJDMXZP_BJDID,XLXSBJDMXZP_BJDXH,XLXSBJDMXZP_ZPXH,XLXSBJDMXZP_DC,XLXSBJDMXZP_DS,XLXSBJDMXZP_PJCZ,XLXSBJDMXZP_PJWJ,XLXSBJDMXZP_PJNJ,");
|
||
SQL.Add(" XLXSBJDMXZP_PJKD,XLXSBJDMXZP_PJHS,XLXSBJDMXZP_PJJG,XLXSBJDMXZP_PJJE,XLXSBJDMXZP_PJPZ,XLXSBJDMXZP_PJZPZ,XLXSBJDMXZP_WHR,XLXSBJDMXZP_WHRID,XLXSBJDMXZP_WHSJ) ");
|
||
SQL.Add(" values(:XLXSBJDMXZP_BJDID,:XLXSBJDMXZP_BJDXH,:XLXSBJDMXZP_ZPXH,:XLXSBJDMXZP_DC,:XLXSBJDMXZP_DS,:XLXSBJDMXZP_PJCZ,:XLXSBJDMXZP_PJWJ,:XLXSBJDMXZP_PJNJ,");
|
||
SQL.Add(" :XLXSBJDMXZP_PJKD,:XLXSBJDMXZP_PJHS,:XLXSBJDMXZP_PJJG,:XLXSBJDMXZP_PJJE,:XLXSBJDMXZP_PJPZ,:XLXSBJDMXZP_PJZPZ,:XLXSBJDMXZP_WHR,:XLXSBJDMXZP_WHRID,:XLXSBJDMXZP_WHSJ)");
|
||
SQL.ParamByName("XLXSBJDMXZP_BJDID").Value = sBJDID;
|
||
SQL.ParamByName("XLXSBJDMXZP_BJDXH").Value = dXH;
|
||
SQL.ParamByName("XLXSBJDMXZP_ZPXH").Value = dZPXH;
|
||
SQL.ParamByName("XLXSBJDMXZP_DC").Value = dDC;
|
||
SQL.ParamByName("XLXSBJDMXZP_DS").Value = dDS;
|
||
SQL.ParamByName("XLXSBJDMXZP_PJCZ").Value = sPJCZ;
|
||
SQL.ParamByName("XLXSBJDMXZP_PJWJ").Value = dPJWJ;
|
||
SQL.ParamByName("XLXSBJDMXZP_PJNJ").Value = dPJNJ;
|
||
SQL.ParamByName("XLXSBJDMXZP_PJKD").Value = dPJKD;
|
||
SQL.ParamByName("XLXSBJDMXZP_PJHS").Value = sPJHS;
|
||
SQL.ParamByName("XLXSBJDMXZP_PJJG").Value = dPJJG;
|
||
SQL.ParamByName("XLXSBJDMXZP_PJJE").Value = dPJZJE;
|
||
SQL.ParamByName("XLXSBJDMXZP_PJPZ").Value = dPJPZ;
|
||
SQL.ParamByName("XLXSBJDMXZP_PJZPZ").Value = dPJZPZ;
|
||
SQL.ParamByName("XLXSBJDMXZP_WHR").Value = tSession.UserName;
|
||
SQL.ParamByName("XLXSBJDMXZP_WHRID").Value = tSession.UserId;
|
||
SQL.ParamByName("XLXSBJDMXZP_WHSJ").Value = DateTime.Now;
|
||
dberp.ExecSQL(SQL);
|
||
|
||
#endregion
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
sErrorMessage = ex.Message;
|
||
}
|
||
}
|
||
|
||
//盘具分段
|
||
public static void PJFD(TDatabase dberp, TSQL SQL, string sBJDID, string sXH, string sXLFDYQ, double dXLWJ, double dZXWQBS, CMISproSession tSession, ref string sErrorMessage, ref double dFDPJZJE, ref double dFDPJZPZ)
|
||
{
|
||
double dXH = CMISproConvert.StrToFloat(sXH);
|
||
try
|
||
{
|
||
SQL.Clear();
|
||
SQL.Add(" delete from XLXSBJDMXFD where XLXSBJDMXFD_BJDID = :pBJDID and XLXSBJDMXFD_BJDXH = :pXH ");
|
||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||
SQL.ParamByName("pXH").Value = dXH;
|
||
dberp.ExecSQL(SQL);
|
||
|
||
string sPJPPQK = "";
|
||
dFDPJZJE = 0;
|
||
dFDPJZPZ = 0;
|
||
SQL.Clear();
|
||
SQL.Add(" SELECT ");
|
||
SQL.Add(" XLXSBJDMXZP_BJDID,XLXSBJDMXZP_BJDXH,XLXSBJDMXZP_ZPXH,XLXSBJDMXZP_DC,XLXSBJDMXZP_DS,XLXSBJDMXZP_PJCZ,XLXSBJDMXZP_PJWJ,XLXSBJDMXZP_PJNJ,");
|
||
SQL.Add(" XLXSBJDMXZP_PJKD,XLXSBJDMXZP_PJHS,XLXSBJDMXZP_PJJG,XLXSBJDMXZP_PJJE,XLXSBJDMXZP_PJPZ,XLXSBJDMXZP_PJZPZ ");
|
||
SQL.Add(" FROM XLXSBJDMXZP ");
|
||
SQL.Add(" WHERE XLXSBJDMXZP_BJDID = :pBJDID AND XLXSBJDMXZP_BJDXH = :pXH ");
|
||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||
SQL.ParamByName("pXH").Value = dXH;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
|
||
foreach (DataRow row in ds.Tables[0].Rows)
|
||
{
|
||
string sPJCZ = row["XLXSBJDMXZP_PJCZ"].ToString().Trim();
|
||
string sPJWJ = row["XLXSBJDMXZP_PJWJ"].ToString().Trim();
|
||
string sPJNJ = row["XLXSBJDMXZP_PJNJ"].ToString().Trim();
|
||
string sPJKD = row["XLXSBJDMXZP_PJKD"].ToString().Trim();
|
||
string sDS = row["XLXSBJDMXZP_DS"].ToString().Trim();
|
||
string sPJHS = row["XLXSBJDMXZP_PJHS"].ToString().Trim();
|
||
double dPJZJE = CMISproConvert.StrToFloat(row["XLXSBJDMXZP_PJJE"].ToString().Trim());
|
||
double dPJZPZ = CMISproConvert.StrToFloat(row["XLXSBJDMXZP_PJZPZ"].ToString().Trim());
|
||
if (!sPJPPQK.Equals(""))
|
||
sPJPPQK += "+";
|
||
if (!sPJCZ.Equals(""))
|
||
|
||
sPJPPQK += getPJCZ(sPJCZ) + "[" + sPJWJ.Trim() + "*" + sPJNJ.Trim() + "*" + sPJKD.Trim() + "]*" + sDS.Trim();
|
||
else
|
||
sPJPPQK += "[]*" + sDS.ToString().Trim();
|
||
if (sPJHS.Equals("N"))
|
||
{
|
||
dFDPJZJE += dPJZJE;
|
||
}
|
||
dFDPJZPZ += dPJZPZ;
|
||
}
|
||
}
|
||
|
||
#region 插入分段记录
|
||
|
||
SQL.Clear();
|
||
SQL.Add(" insert into XLXSBJDMXFD ");
|
||
SQL.Add(" (XLXSBJDMXFD_BJDID,XLXSBJDMXFD_BJDXH,XLXSBJDMXFD_XLFDYQ,XLXSBJDMXFD_XLWJ,XLXSBJDMXFD_ZXWQBS,XLXSBJDMXFD_PJPPQK,XLXSBJDMXFD_PJZJE,XLXSBJDMXFD_PJZPZ,XLXSBJDMXFD_WHR,XLXSBJDMXFD_WHRID,XLXSBJDMXFD_WHSJ) ");
|
||
SQL.Add(" values(:XLXSBJDMXFD_BJDID,:XLXSBJDMXFD_BJDXH,:XLXSBJDMXFD_XLFDYQ,:XLXSBJDMXFD_XLWJ,:XLXSBJDMXFD_ZXWQBS,:XLXSBJDMXFD_PJPPQK,:XLXSBJDMXFD_PJZJE,:XLXSBJDMXFD_PJZPZ,:XLXSBJDMXFD_WHR,:XLXSBJDMXFD_WHRID,:XLXSBJDMXFD_WHSJ)");
|
||
SQL.ParamByName("XLXSBJDMXFD_BJDID").Value = sBJDID;
|
||
SQL.ParamByName("XLXSBJDMXFD_BJDXH").Value = dXH;
|
||
SQL.ParamByName("XLXSBJDMXFD_XLFDYQ").Value = sXLFDYQ;
|
||
SQL.ParamByName("XLXSBJDMXFD_XLWJ").Value = dXLWJ;
|
||
SQL.ParamByName("XLXSBJDMXFD_ZXWQBS").Value = dZXWQBS;
|
||
SQL.ParamByName("XLXSBJDMXFD_PJPPQK").Value = sPJPPQK;
|
||
SQL.ParamByName("XLXSBJDMXFD_PJZJE").Value = dFDPJZJE;
|
||
SQL.ParamByName("XLXSBJDMXFD_PJZPZ").Value = dFDPJZPZ;
|
||
SQL.ParamByName("XLXSBJDMXFD_WHR").Value = tSession.UserName;
|
||
SQL.ParamByName("XLXSBJDMXFD_WHRID").Value = tSession.UserId;
|
||
SQL.ParamByName("XLXSBJDMXFD_WHSJ").Value = DateTime.Now;
|
||
dberp.ExecSQL(SQL);
|
||
|
||
#endregion
|
||
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
sErrorMessage = ex.Message;
|
||
}
|
||
}
|
||
|
||
//盘费计算
|
||
public static void PFJS(TDatabase dberp, TSQL SQL, string sBJDID, string sXH, string sPFYZ, string sXLXHID, string sXLGGID, string sXLBZID, string sDYDJID, string sBJDJLDW, string sXTCPBJYZ, string sDWXS, double dBJMS, string sBJU002, string sBJU003, string sYZJJFS,
|
||
CMISproSession tSession, ref string sErrorMessage, ref double dPFYZZ)
|
||
{
|
||
double dXH = CMISproConvert.StrToFloat(sXH);
|
||
double dDWXS = CMISproConvert.StrToFloat(sDWXS);
|
||
double dFDPJZJE = 0;
|
||
Dictionary<string, double> dicLenJLDWTD = XLBJDUtils.GetLenJLDWTD();
|
||
try
|
||
{
|
||
SQL.Clear();
|
||
SQL.Add(" SELECT ");
|
||
SQL.Add(" XLXSBJDMXFD_PJZJE FROM XLXSBJDMXFD ");
|
||
SQL.Add(" WHERE XLXSBJDMXFD_BJDID = :pBJDID AND XLXSBJDMXFD_BJDXH = :pXH ");
|
||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||
SQL.ParamByName("pXH").Value = dXH;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
dFDPJZJE = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMXFD_PJZJE"].ToString().Trim());
|
||
|
||
}
|
||
#region 更新盘费因子值以及报价单记录
|
||
double dPFYZZ_MX = 0;
|
||
string sXHList = "";
|
||
|
||
if (sYZJJFS.Equals("JJ"))
|
||
{
|
||
if (sXTCPBJYZ.Equals("Y") || sXTCPBJYZ.Equals("Z"))
|
||
{
|
||
double dZBJSL = 0;
|
||
double dZPZZJE = 0;
|
||
SQL.Clear();
|
||
SQL.Add(" select XLXSBJDMX_XH,XLXSBJDMX_BJSL,XLXSBJDMXFD_PJZJE ");
|
||
SQL.Add(" from XLXSBJDMX ");
|
||
SQL.Add(" left join XLXSBJDMXFD on XLXSBJDMXFD_BJDID = XLXSBJDMX_BJDID and XLXSBJDMXFD_BJDXH = XLXSBJDMX_XH ");
|
||
SQL.Add(" where XLXSBJDMX_BJDID =:pBJDID and XLXSBJDMX_XLXHID = :pXLXHID and XLXSBJDMX_XLGGID = :pXLGGID and XLXSBJDMX_XLBZID = :pXLBZID and XLXSBJDMX_DYDJID = :pDYDJID ");
|
||
SQL.Add(" and (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) = :pJLDW ");
|
||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||
SQL.ParamByName("pXLXHID").Value = sXLXHID;
|
||
SQL.ParamByName("pXLGGID").Value = sXLGGID;
|
||
SQL.ParamByName("pXLBZID").Value = sXLBZID;
|
||
SQL.ParamByName("pDYDJID").Value = sDYDJID;
|
||
SQL.ParamByName("pJLDW").Value = sBJDJLDW;
|
||
ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
foreach (DataRow trow in ds.Tables[0].Rows)
|
||
{
|
||
if (!sXHList.Equals(""))
|
||
sXHList += ",";
|
||
sXHList += trow["XLXSBJDMX_XH"].ToString().Trim();
|
||
dZBJSL += CMISproConvert.StrToFloat(trow["XLXSBJDMX_BJSL"].ToString().Trim());
|
||
dZPZZJE += CMISproConvert.StrToFloat(trow["XLXSBJDMXFD_PJZJE"].ToString().Trim());
|
||
}
|
||
}
|
||
dZBJSL = dZBJSL * dDWXS;
|
||
dPFYZZ = NumberUtils.RoundX(dZPZZJE / dZBJSL, 6);
|
||
dPFYZZ_MX = dPFYZZ * dDWXS;
|
||
}
|
||
else
|
||
{
|
||
sXHList = dXH.ToString().Trim();
|
||
dPFYZZ = NumberUtils.RoundX(dFDPJZJE / dBJMS, 6);
|
||
dPFYZZ_MX = dPFYZZ * dDWXS;
|
||
}
|
||
|
||
SQL.Clear();
|
||
SQL.Add(" update XLXSBJDYZZ0 set XLXSBJDYZZ0_YZZ" + sPFYZ.Replace("BJ", "") + " = :pYZZ ");
|
||
SQL.Add(" where XLXSBJDYZZ0_BJDID = :pBJDID ");
|
||
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJDYZZ0_XH", sXHList));
|
||
SQL.ParamByName("pYZZ").Value = dPFYZZ_MX;
|
||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
|
||
string sErrorMsg = "";
|
||
XLBJDCalcUtils.CalcAfterBJDYZZChange(dberp, SQL, sBJDID, 1, sXHList, false, false, false, "", DateTime.MinValue, sBJU002, sBJU003, tSession.UserId, tSession.UserName, ref sErrorMsg);
|
||
if (!sErrorMsg.Equals(""))
|
||
throw new Exception(sErrorMsg);
|
||
}
|
||
|
||
#endregion
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
sErrorMessage = ex.Message;
|
||
}
|
||
}
|
||
|
||
public static void UpdatePJJE(TDatabase dberp, TSQL SQL, string sBJDID, string sXH,double dPFZJE)
|
||
{
|
||
double dYPFZJE = 0;
|
||
SQL.Clear();
|
||
SQL.Add("select XLXSBJDMX_PJJE from XLXSBJDMX where XLXSBJDMX_BJDID=:pBJDID and XLXSBJDMX_XH=:pXH ");
|
||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||
SQL.ParamByName("pXH").Value = CMISproConvert.StrToFloat(sXH);
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
dYPFZJE = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0][0].ToString(), 0);
|
||
}
|
||
|
||
SQL.Clear();
|
||
SQL.Add("update XLXSBJDMX set XLXSBJDMX_PJJE=:pPJJE where XLXSBJDMX_BJDID=:pBJDID and XLXSBJDMX_XH=:pXH");
|
||
SQL.ParamByName("pPJJE").Value = dPFZJE;
|
||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||
SQL.ParamByName("pXH").Value = CMISproConvert.StrToFloat(sXH);
|
||
dberp.ExecSQL(SQL);
|
||
|
||
SQL.Clear();
|
||
SQL.Add("update XLXSBJD set XLXSBJD_PJZJE=(XLXSBJD_PJZJE+:pPJZJE),XLXSBJD_ZJE=(XLXSBJD_ZJE+:pZJE) where XLXSBJD_BJDID=:pBJDID ");
|
||
SQL.ParamByName("pPJZJE").Value = dPFZJE - dYPFZJE;
|
||
SQL.ParamByName("pZJE").Value = dPFZJE - dYPFZJE;
|
||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
}
|
||
|
||
private string GetQuerySql()
|
||
{
|
||
string sBJDID = PageParam.GetRTrimString("XLXSBJDMX_BJDID");
|
||
string sXH = PageParam.GetRTrimString("XLXSBJDMX_XH");
|
||
string sSQL = " select XLXSBJDMXZP_BJDID,XLXSBJDMXZP_BJDXH,XLXSBJDMXZP_ZPXH,XLXSBJDMXZP_DC,XLXSBJDMXZP_DS,XLXSBJDMXZP_PJCZ,XLXSBJDMXZP_PJWJ,XLXSBJDMXZP_PJNJ,"
|
||
+ " case XLXSBJDMXZP_PJCZ when 'TMP' then '铁木盘' when 'QTP' then '全铁盘' when 'QMP' then '全木盘' when 'CKTMP' then '出口铁木盘' "
|
||
+ " when 'JGTMP' then '加固铁木盘' when 'JGCKTMP' then '加固出口铁木盘' else '' end as PJCZMC, "
|
||
+ " XLXSBJDMXZP_PJKD,XLXSBJDMXZP_PJHS, XLXSBJDMXZP_PJJG,XLXSBJDMXZP_PJJE,XLXSBJDMXZP_PJPZ,XLXSBJDMXZP_PJZPZ,XLXSBJDMXZP_WHR,XLXSBJDMXZP_WHSJ "
|
||
+ " from XLXSBJDMXZP "
|
||
+ " where XLXSBJDMXZP_BJDID ='" + sBJDID + "' and XLXSBJDMXZP_BJDXH = " + sXH + " order by XLXSBJDMXZP_ZPXH";
|
||
return sSQL;
|
||
}
|
||
|
||
public static Dictionary<string, double> GetXLWJ_ZXWQBS(string sXLXHID, string sXLGGID, string sXLBZID, string sDYDJID)
|
||
{
|
||
Dictionary<string, double> dicResult = new Dictionary<string, double>();
|
||
dicResult.Add("XLWJ", 0.0);
|
||
dicResult.Add("ZXWQBS", 0.0);
|
||
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(" select max(BJCPXX_WJ) as XLWJ,max(BJCPXX_ZXWQBS) as ZXWQBS ");
|
||
SQL.Add(" from BJCPXX ");
|
||
SQL.Add(" left join XSBJXHTH on XSBJXHTH_XLXHID=BJCPXX_XLXHID ");
|
||
SQL.Add(" where case when isnull(XSBJXHTH_BJXLXHID,' ') = ' ' then BJCPXX_XLXHID else XSBJXHTH_BJXLXHID end = :pXLXHID and BJCPXX_XLGGID = :pXLGGID and BJCPXX_XLBZID = :pXLBZID and BJCPXX_DYDJID = :pDYDJID ");
|
||
SQL.ParamByName("pXLXHID").Value = sXLXHID;
|
||
SQL.ParamByName("pXLGGID").Value = sXLGGID.Replace("*", "×");
|
||
SQL.ParamByName("pXLBZID").Value = sXLBZID;
|
||
SQL.ParamByName("pDYDJID").Value = sDYDJID;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
dicResult["XLWJ"] = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLWJ"].ToString().Trim());
|
||
dicResult["ZXWQBS"] = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["ZXWQBS"].ToString().Trim());
|
||
}
|
||
return dicResult;
|
||
}
|
||
|
||
public static double GetPJJG(string sPJCZ, double dPJWJ, double dPJNJ, double dPJKD, DateTime dtNow)
|
||
{
|
||
double dPJJG = 0;
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(" select XLZPPJJG_PJJG from XLZPPJJG ");
|
||
SQL.Add(" where XLZPPJJG_PJCZ = :pPJCZ and XLZPPJJG_PJWJ = :pPJWJ and XLZPPJJG_PJNJ = :pPJNJ and XLZPPJJG_PJKD = :pPJKD ");
|
||
SQL.Add(" and XLZPPJJG_YXQS <= :pDtNow and (XLZPPJJG_YXQZ>=:pDtNow or XLZPPJJG_YXQZ is null) ");
|
||
SQL.ParamByName("pPJCZ").Value = sPJCZ;
|
||
SQL.ParamByName("pPJWJ").Value = dPJWJ;
|
||
SQL.ParamByName("pPJNJ").Value = dPJNJ;
|
||
SQL.ParamByName("pPJKD").Value = dPJKD;
|
||
SQL.ParamByName("pDtNow").Value = dtNow;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
dPJJG = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLZPPJJG_PJJG"].ToString().Trim());
|
||
}
|
||
return dPJJG;
|
||
}
|
||
|
||
public static string GetBJDYZJJFS(string sBJDYZID)
|
||
{
|
||
string sJJFS = "";
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(" select XLXSTZYZ_JJFS from XLXSTZYZ where XLXSTZYZ_MXBH ='BJD' and XLXSTZYZ_YZID = :pYZID ");
|
||
SQL.ParamByName("pYZID").Value = sBJDYZID;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
sJJFS = ds.Tables[0].Rows[0]["XLXSTZYZ_JJFS"].ToString().Trim();
|
||
}
|
||
return sJJFS;
|
||
}
|
||
|
||
private string doublePadRight(string sValue,int WS)
|
||
{
|
||
string rstr = "";
|
||
if (sValue.Contains("."))
|
||
{
|
||
string sZS = sValue.Split('.')[0];
|
||
string sXS = sValue.Split('.')[1];
|
||
rstr = sZS + "." + sXS.PadRight(WS, '0');
|
||
}
|
||
else
|
||
{
|
||
string sXS = "";
|
||
rstr = sValue + "." + sXS.PadRight(WS, '0');
|
||
}
|
||
return rstr;
|
||
}
|
||
|
||
//最大盘长匹配
|
||
public static void ZDPCPP(double dBJMS, double dZDZPCD, double dZXZPCD, List<XLZPPJBLModel> XLPJList, ref Dictionary<double, string> dicFDYQ)
|
||
{
|
||
if (dZDZPCD >= dBJMS || dZDZPCD == 0)
|
||
{
|
||
dicFDYQ.Add(1, dBJMS.ToString().Trim() + "*1");
|
||
return;
|
||
}
|
||
double dDS = dBJMS / dZDZPCD;
|
||
int DS = 1;
|
||
if (dDS.ToString().Trim().Contains("."))
|
||
DS = CMISproConvert.StrToInt(dDS.ToString().Trim().Split('.')[0]);
|
||
else
|
||
DS = (int)dDS;
|
||
double dSYMS = dBJMS - (dZDZPCD * DS);
|
||
dicFDYQ.Add(1, dZDZPCD.ToString().Trim() + "*" + DS.ToString().Trim());
|
||
if (dSYMS == 0)
|
||
{
|
||
return;
|
||
}
|
||
else
|
||
{
|
||
dicFDYQ.Add(2, dSYMS.ToString().Trim() + "*1");
|
||
return;
|
||
}
|
||
}
|
||
|
||
public static string getPJCZ(string sPJCZ)
|
||
{
|
||
string sResult = "";
|
||
switch (sPJCZ)
|
||
{
|
||
case "TMP":
|
||
sResult = "铁木盘";
|
||
break;
|
||
case "QTP":
|
||
sResult = "全铁盘";
|
||
break;
|
||
case "QMP":
|
||
sResult = "全木盘";
|
||
break;
|
||
case "CKTMP":
|
||
sResult = "出口铁木盘";
|
||
break;
|
||
case "JGTMP":
|
||
sResult = "加固铁木盘";
|
||
break;
|
||
case "JGCKTMP":
|
||
sResult = "加固出口铁木盘";
|
||
break;
|
||
default: break;
|
||
}
|
||
return sResult;
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 控件事件
|
||
|
||
protected void lblBJMS_Click(object sender, EventArgs e)
|
||
{
|
||
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();
|
||
}
|
||
|
||
txtFDYQ.Text = txtBJMS.Value.ToString().Trim() + "*1";
|
||
Dictionary<double, string> dicFDYQ = new Dictionary<double, string>();
|
||
dicFDYQ.Add(1, txtFDYQ.Text.Trim());
|
||
|
||
string sErrorMessage = "";
|
||
|
||
double dFDPJZJE = 0;
|
||
double dFDPJZPZ = 0;
|
||
double dPFYZZ = 0;
|
||
string sYZJJFS = GetBJDYZJJFS(txtYZID.Value.Trim());
|
||
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
|
||
try
|
||
{
|
||
dberp.BeginTrans();
|
||
|
||
PJPPJS(dberp, SQL, txtBJDID.Value.Trim(), txtXH.Value.Trim(), txtFDYQ.Text.Trim(), dicFDYQ, txtZDZPCD.Value, txtZXZPCD.Value, txtYZID.Value.Trim(), txtXLXHID.Value.Trim(),
|
||
txtXLGGID.Value.Trim(), txtXLBZID.Value.Trim(), txtDYDJID.Value.Trim(), txtBJDJLDW.Value.Trim(), txtXTCPBJYZ.Value.Trim(), txtDWXS.Value.Trim(), txtXLWJ.Value, txtZXWQBS.Value,
|
||
txtBJMS.Value, txtDWZL.Value.Trim(), GetOption(100860000, "BJU002"), GetOption(100860000, "BJU003"), sYZJJFS, tSession, txtPJHS.Value.Trim(), ref sErrorMessage, ref dFDPJZJE, ref dFDPJZPZ, ref dPFYZZ);
|
||
|
||
if (!sErrorMessage.Equals(""))
|
||
throw new Exception(sErrorMessage);
|
||
|
||
dberp.CommitTrans();
|
||
|
||
txtPJZJE.Value = dFDPJZJE;
|
||
txtPJZPZ.Value = dFDPJZPZ;
|
||
txtPFYZZ.Value = dPFYZZ;
|
||
ShowMessage("盘费计算完成!");
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
ShowMessage(ex.Message);
|
||
dberp.RollbackTrans();
|
||
}
|
||
|
||
btnRefresh_Click(null, null);
|
||
}
|
||
|
||
protected void lblZDZP_Click(object sender, EventArgs e)
|
||
{
|
||
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();
|
||
}
|
||
|
||
Dictionary<double, string> dicFDYQ = new Dictionary<double, string>();
|
||
ZDPCPP(txtBJMS.Value, txtZDZPCD.Value, txtZXZPCD.Value, XLPJList, ref dicFDYQ);
|
||
|
||
string sFDYQ = "";
|
||
foreach (double dZPXH in dicFDYQ.Keys)
|
||
{
|
||
if (!sFDYQ.Equals(""))
|
||
sFDYQ += "+";
|
||
sFDYQ += dicFDYQ[dZPXH];
|
||
}
|
||
txtFDYQ.Text = sFDYQ;
|
||
|
||
string sErrorMessage = "";
|
||
|
||
double dFDPJZJE = 0;
|
||
double dFDPJZPZ = 0;
|
||
double dPFYZZ = 0;
|
||
string sYZJJFS = GetBJDYZJJFS(txtYZID.Value.Trim());
|
||
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
|
||
try
|
||
{
|
||
dberp.BeginTrans();
|
||
|
||
PJPPJS(dberp, SQL, txtBJDID.Value.Trim(), txtXH.Value.Trim(), txtFDYQ.Text.Trim(), dicFDYQ, txtZDZPCD.Value, txtZXZPCD.Value, txtYZID.Value.Trim(), txtXLXHID.Value.Trim(),
|
||
txtXLGGID.Value.Trim(), txtXLBZID.Value.Trim(), txtDYDJID.Value.Trim(), txtBJDJLDW.Value.Trim(), txtXTCPBJYZ.Value.Trim(), txtDWXS.Value.Trim(), txtXLWJ.Value, txtZXWQBS.Value,
|
||
txtBJMS.Value, txtDWZL.Value.Trim(), GetOption(100860000, "BJU002"), GetOption(100860000, "BJU003"), sYZJJFS, tSession, txtPJHS.Value.Trim(), ref sErrorMessage, ref dFDPJZJE, ref dFDPJZPZ, ref dPFYZZ);
|
||
|
||
if (!sErrorMessage.Equals(""))
|
||
throw new Exception(sErrorMessage);
|
||
|
||
dberp.CommitTrans();
|
||
|
||
txtPJZJE.Value = dFDPJZJE;
|
||
txtPJZPZ.Value = dFDPJZPZ;
|
||
txtPFYZZ.Value = dPFYZZ;
|
||
ShowMessage("盘费计算完成!");
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
ShowMessage(ex.Message);
|
||
dberp.RollbackTrans();
|
||
}
|
||
|
||
btnRefresh_Click(null, null);
|
||
}
|
||
|
||
protected void newXLWJ_Click(object sender, EventArgs e)
|
||
{
|
||
Dictionary<double, string> dicFDYQ = new Dictionary<double, string>();
|
||
double dXH = 1;
|
||
|
||
#region 校验分要求格式
|
||
|
||
double dMS = 0;
|
||
if (txtFDYQ.Text.Trim().Contains("+"))
|
||
{
|
||
foreach (string sFDYQ in txtFDYQ.Text.Trim().Split('+'))
|
||
{
|
||
if (!sFDYQ.Contains("*"))
|
||
{
|
||
ShowMessage("分段要求不符合【段长1*段数1+段长2*段数2+…】的格式!");
|
||
return;
|
||
}
|
||
string[] sFD = sFDYQ.Split('*');
|
||
double dDC = CMISproConvert.StrToFloat(sFD[0], 0);
|
||
double dDS = CMISproConvert.StrToFloat(sFD[1], 0);
|
||
if (dDC == 0 || dDS == 0)
|
||
{
|
||
ShowMessage("分段要求不符合【段长1*段数1+段长2*段数2+…】的格式!");
|
||
return;
|
||
}
|
||
if (dicFDYQ.ContainsKey(dDC))
|
||
{
|
||
ShowMessage("分段要求不符合【段长1*段数1+段长2*段数2+…】的格式!");
|
||
return;
|
||
}
|
||
dicFDYQ.Add(dXH, sFDYQ);
|
||
dXH++;
|
||
dMS += dDC * dDS;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (!txtFDYQ.Text.Trim().Contains("*"))
|
||
{
|
||
ShowMessage("分段要求不符合【段长1*段数1+段长2*段数2+…】的格式!");
|
||
return;
|
||
}
|
||
string[] sFD = txtFDYQ.Text.Trim().Split('*');
|
||
double dDC = CMISproConvert.StrToFloat(sFD[0], 0);
|
||
double dDS = CMISproConvert.StrToFloat(sFD[1], 0);
|
||
if (dDC == 0 || dDS == 0)
|
||
{
|
||
ShowMessage("分段要求不符合【段长1*段数1+段长2*段数2+…】的格式!");
|
||
return;
|
||
}
|
||
if (dicFDYQ.ContainsKey(dDC))
|
||
{
|
||
ShowMessage("分段要求不符合【段长1*段数1+段长2*段数2+…】的格式!");
|
||
return;
|
||
}
|
||
dicFDYQ.Add(dXH, txtFDYQ.Text.Trim());
|
||
dXH++;
|
||
dMS += dDC * dDS;
|
||
}
|
||
|
||
if (dMS != txtBJMS.Value)
|
||
{
|
||
ShowMessage("分段要求表达式数值必须与报价米数相同!");
|
||
return;
|
||
}
|
||
|
||
#endregion
|
||
|
||
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();
|
||
}
|
||
txtXLWJ.Value = CMISproConvert.StrToFloat(txtNewXLWJ.Value);
|
||
txtZXWQBS.Value = CMISproConvert.StrToFloat(txtNewZXWQBS.Value);
|
||
double dZXZPCD = 0;
|
||
double dZDZPCD = 0;
|
||
XLPJList.Clear();
|
||
XLPJList = XLUtils.getXLZPPJBLList(txtXLWJ.Value.ToString(), "", "", "", "", "", txtZXWQBS.Value.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);
|
||
}
|
||
|
||
txtZDZPCD.Value = dZDZPCD;
|
||
txtZXZPCD.Value = dZXZPCD;
|
||
|
||
string sErrorMessage = "";
|
||
|
||
double dFDPJZJE = 0;
|
||
double dFDPJZPZ = 0;
|
||
double dPFYZZ = 0;
|
||
string sYZJJFS = GetBJDYZJJFS(txtYZID.Value.Trim());
|
||
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
|
||
try
|
||
{
|
||
dberp.BeginTrans();
|
||
|
||
PJPPJS(dberp, SQL, txtBJDID.Value.Trim(), txtXH.Value.Trim(), txtFDYQ.Text.Trim(), dicFDYQ, txtZDZPCD.Value, txtZXZPCD.Value, txtYZID.Value.Trim(), txtXLXHID.Value.Trim(),
|
||
txtXLGGID.Value.Trim(), txtXLBZID.Value.Trim(), txtDYDJID.Value.Trim(), txtBJDJLDW.Value.Trim(), txtXTCPBJYZ.Value.Trim(), txtDWXS.Value.Trim(), txtXLWJ.Value, txtZXWQBS.Value,
|
||
txtBJMS.Value, txtDWZL.Value.Trim(), GetOption(100860000, "BJU002"), GetOption(100860000, "BJU003"), sYZJJFS, tSession, txtPJHS.Value.Trim(), ref sErrorMessage, ref dFDPJZJE, ref dFDPJZPZ, ref dPFYZZ);
|
||
|
||
if (!sErrorMessage.Equals(""))
|
||
throw new Exception(sErrorMessage);
|
||
|
||
dberp.CommitTrans();
|
||
|
||
txtPJZJE.Value = dFDPJZJE;
|
||
txtPJZPZ.Value = dFDPJZPZ;
|
||
txtPFYZZ.Value = dPFYZZ;
|
||
ShowMessage("盘费计算完成!");
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
ShowMessage(ex.Message);
|
||
dberp.RollbackTrans();
|
||
}
|
||
|
||
btnRefresh_Click(null, null);
|
||
}
|
||
|
||
//计算盘费
|
||
protected void btnJSPF_Click(object sender, EventArgs e)
|
||
{
|
||
Dictionary<double, string> dicFDYQ = new Dictionary<double, string>();
|
||
double dXH = 1;
|
||
|
||
#region 校验分要求格式
|
||
|
||
double dMS = 0;
|
||
if (txtFDYQ.Text.Trim().Contains("+"))
|
||
{
|
||
foreach (string sFDYQ in txtFDYQ.Text.Trim().Split('+'))
|
||
{
|
||
if (!sFDYQ.Contains("*"))
|
||
{
|
||
ShowMessage("分段要求不符合【段长1*段数1+段长2*段数2+…】的格式!");
|
||
return;
|
||
}
|
||
string[] sFD = sFDYQ.Split('*');
|
||
double dDC = CMISproConvert.StrToFloat(sFD[0], 0);
|
||
double dDS = CMISproConvert.StrToFloat(sFD[1], 0);
|
||
if (dDC == 0 || dDS == 0)
|
||
{
|
||
ShowMessage("分段要求不符合【段长1*段数1+段长2*段数2+…】的格式!");
|
||
return;
|
||
}
|
||
if (dicFDYQ.ContainsKey(dDC))
|
||
{
|
||
ShowMessage("分段要求不符合【段长1*段数1+段长2*段数2+…】的格式!");
|
||
return;
|
||
}
|
||
dicFDYQ.Add(dXH, sFDYQ);
|
||
dXH++;
|
||
dMS += dDC * dDS;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (!txtFDYQ.Text.Trim().Contains("*"))
|
||
{
|
||
ShowMessage("分段要求不符合【段长1*段数1+段长2*段数2+…】的格式!");
|
||
return;
|
||
}
|
||
string[] sFD = txtFDYQ.Text.Trim().Split('*');
|
||
double dDC = CMISproConvert.StrToFloat(sFD[0], 0);
|
||
double dDS = CMISproConvert.StrToFloat(sFD[1], 0);
|
||
if (dDC == 0 || dDS == 0)
|
||
{
|
||
ShowMessage("分段要求不符合【段长1*段数1+段长2*段数2+…】的格式!");
|
||
return;
|
||
}
|
||
if (dicFDYQ.ContainsKey(dDC))
|
||
{
|
||
ShowMessage("分段要求不符合【段长1*段数1+段长2*段数2+…】的格式!");
|
||
return;
|
||
}
|
||
dicFDYQ.Add(dXH, txtFDYQ.Text.Trim());
|
||
dXH++;
|
||
dMS += dDC * dDS;
|
||
}
|
||
|
||
if (dMS != txtBJMS.Value)
|
||
{
|
||
ShowMessage("分段要求表达式数值必须与报价米数相同!");
|
||
return;
|
||
}
|
||
|
||
#endregion
|
||
|
||
string sErrorMessage = "";
|
||
|
||
double dFDPJZJE = 0;
|
||
double dFDPJZPZ = 0;
|
||
double dPFYZZ = 0;
|
||
string sYZJJFS = GetBJDYZJJFS(txtYZID.Value.Trim());
|
||
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
|
||
try
|
||
{
|
||
dberp.BeginTrans();
|
||
|
||
PJPPJS(dberp, SQL, txtBJDID.Value.Trim(), txtXH.Value.Trim(), txtFDYQ.Text.Trim(), dicFDYQ, txtZDZPCD.Value, txtZXZPCD.Value, txtYZID.Value.Trim(), txtXLXHID.Value.Trim(),
|
||
txtXLGGID.Value.Trim(), txtXLBZID.Value.Trim(), txtDYDJID.Value.Trim(), txtBJDJLDW.Value.Trim(), txtXTCPBJYZ.Value.Trim(), txtDWXS.Value.Trim(), txtXLWJ.Value, txtZXWQBS.Value,
|
||
txtBJMS.Value, txtDWZL.Value.Trim(), GetOption(100860000, "BJU002"), GetOption(100860000, "BJU003"), sYZJJFS, tSession, txtPJHS.Value.Trim(), ref sErrorMessage, ref dFDPJZJE, ref dFDPJZPZ, ref dPFYZZ);
|
||
|
||
if (!sErrorMessage.Equals(""))
|
||
throw new Exception(sErrorMessage);
|
||
|
||
dberp.CommitTrans();
|
||
|
||
txtPJZJE.Value = dFDPJZJE;
|
||
txtPJZPZ.Value = dFDPJZPZ;
|
||
txtPFYZZ.Value = dPFYZZ;
|
||
|
||
ShowMessage("盘费计算完成!");
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
ShowMessage(ex.Message);
|
||
dberp.RollbackTrans();
|
||
}
|
||
|
||
btnRefresh_Click(null, null);
|
||
}
|
||
|
||
protected void btnRefresh_Click(object sender, EventArgs e)
|
||
{
|
||
moduleGV_PageIndexChanging(null, null);
|
||
FormAreaUpdate();
|
||
}
|
||
|
||
//清空盘费
|
||
protected void btnQKPF_Click(object sender, EventArgs e)
|
||
{
|
||
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();
|
||
string sBJDID = txtBJDID.Value.Trim();
|
||
double dXH = CMISproConvert.StrToFloat(txtXH.Value.Trim());
|
||
string sPFYZ = txtYZID.Value.Trim();
|
||
string sXLXHID = txtXLXHID.Value.Trim();
|
||
double dDWXS = CMISproConvert.StrToFloat(txtDWXS.Value.Trim());
|
||
|
||
SQL.Clear();
|
||
SQL.Add(" delete from XLXSBJDMXZP where XLXSBJDMXZP_BJDID = :pBJDID and XLXSBJDMXZP_BJDXH = :pXH ");
|
||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||
SQL.ParamByName("pXH").Value = dXH;
|
||
dberp.ExecSQL(SQL);
|
||
|
||
SQL.Clear();
|
||
SQL.Add(" delete from XLXSBJDMXFD where XLXSBJDMXFD_BJDID = :pBJDID and XLXSBJDMXFD_BJDXH = :pXH ");
|
||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||
SQL.ParamByName("pXH").Value = dXH;
|
||
dberp.ExecSQL(SQL);
|
||
|
||
string sYZJJFS = GetBJDYZJJFS(sPFYZ);
|
||
double dPFYZZ_MX = 0;
|
||
string sXHList = "";
|
||
double dPFYZZ = 0;
|
||
if (XLBJDUtils.GetXLXSBJPZXX(100860000).XLXSBJPZ_PFBJRBJ == "Y")
|
||
{
|
||
UpdatePJJE(dberp, SQL, sBJDID, dXH.ToString(), 0);
|
||
}
|
||
if (sYZJJFS.Equals("JJ"))
|
||
{
|
||
if (txtXTCPBJYZ.Value.Trim().Equals("Y"))
|
||
{
|
||
double dZBJSL = 0;
|
||
double dZPZZJE = 0;
|
||
SQL.Clear();
|
||
SQL.Add(" select XLXSBJDMX_XH,XLXSBJDMX_BJSL,XLXSBJDMXFD_PJZJE ");
|
||
SQL.Add(" from XLXSBJDMX ");
|
||
SQL.Add(" left join XLXSBJDMXFD on XLXSBJDMXFD_BJDID = XLXSBJDMX_BJDID and XLXSBJDMXFD_BJDXH = XLXSBJDMX_XH ");
|
||
SQL.Add(" where XLXSBJDMX_BJDID =:pBJDID and XLXSBJDMX_XLXHID = :pXLXHID and XLXSBJDMX_XLGGID = :pXLGGID and XLXSBJDMX_XLBZID = :pXLBZID and XLXSBJDMX_DYDJID = :pDYDJID ");
|
||
SQL.Add(" and (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) = :pJLDW ");
|
||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||
SQL.ParamByName("pXLXHID").Value = txtXLXHID.Value.Trim();
|
||
SQL.ParamByName("pXLGGID").Value = txtXLGGID.Value.Trim();
|
||
SQL.ParamByName("pXLBZID").Value = txtXLBZID.Value.Trim();
|
||
SQL.ParamByName("pDYDJID").Value = txtDYDJID.Value.Trim();
|
||
SQL.ParamByName("pJLDW").Value = txtBJDJLDW.Value.Trim();
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
foreach (DataRow trow in ds.Tables[0].Rows)
|
||
{
|
||
if (!sXHList.Equals(""))
|
||
sXHList += ",";
|
||
sXHList += trow["XLXSBJDMX_XH"].ToString().Trim();
|
||
dZBJSL += CMISproConvert.StrToFloat(trow["XLXSBJDMX_BJSL"].ToString().Trim());
|
||
dZPZZJE += CMISproConvert.StrToFloat(trow["XLXSBJDMXFD_PJZJE"].ToString().Trim());
|
||
}
|
||
}
|
||
dZBJSL = dZBJSL * dDWXS;
|
||
dPFYZZ = NumberUtils.RoundX(dZPZZJE / dZBJSL, 6);
|
||
dPFYZZ_MX = dPFYZZ * dDWXS;
|
||
}
|
||
else
|
||
{
|
||
sXHList = dXH.ToString().Trim();
|
||
dPFYZZ = 0;
|
||
dPFYZZ_MX = 0;
|
||
}
|
||
|
||
SQL.Clear();
|
||
SQL.Add(" update XLXSBJDYZZ0 set XLXSBJDYZZ0_YZZ" + sPFYZ.Replace("BJ", "") + " = :pYZZ ");
|
||
SQL.Add(" where XLXSBJDYZZ0_BJDID = :pBJDID ");
|
||
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJDYZZ0_XH", sXHList));
|
||
SQL.ParamByName("pYZZ").Value = dPFYZZ_MX;
|
||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||
SQL.ParamByName("pXH").Value = dXH;
|
||
dberp.ExecSQL(SQL);
|
||
|
||
string sErrorMsg = "";
|
||
XLBJDCalcUtils.CalcAfterBJDYZZChange(dberp, SQL, sBJDID, 1, sXHList, false, false, false, "", DateTime.MinValue, GetOption(100860000, "BJU002"), GetOption(100860000, "BJU003"), tSession.UserId, tSession.UserName, ref sErrorMsg);
|
||
if (!sErrorMsg.Equals(""))
|
||
throw new Exception(sErrorMsg);
|
||
}
|
||
|
||
dberp.CommitTrans();
|
||
|
||
txtPJZJE.Value = 0;
|
||
txtPJZPZ.Value = 0;
|
||
txtPFYZZ.Value = dPFYZZ;
|
||
txtFDYQ.Text = "";
|
||
ShowMessage("盘费计算完成!");
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
ShowMessage(ex.Message);
|
||
dberp.RollbackTrans();
|
||
}
|
||
|
||
btnRefresh_Click(null, null);
|
||
}
|
||
|
||
protected void OntxtXLWJ_Changed(object sender, EventArgs e)
|
||
{
|
||
double dZXZPCD = 0;
|
||
double dZDZPCD = 0;
|
||
XLPJList.Clear();
|
||
XLPJList = XLUtils.getXLZPPJBLList(txtXLWJ.Value.ToString(), "", "", "", "", "", txtZXWQBS.Value.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);
|
||
}
|
||
|
||
txtZDZPCD.Value = dZDZPCD;
|
||
txtZXZPCD.Value = dZXZPCD;
|
||
btnRefresh_Click(null, null);
|
||
}
|
||
|
||
protected void OntxtZXWQBS_Changed(object sender, EventArgs e)
|
||
{
|
||
double dZXZPCD = 0;
|
||
double dZDZPCD = 0;
|
||
XLPJList.Clear();
|
||
XLPJList = XLUtils.getXLZPPJBLList(txtXLWJ.Value.ToString(), "", "", "", "", "", txtZXWQBS.Value.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);
|
||
}
|
||
|
||
txtZDZPCD.Value = dZDZPCD;
|
||
txtZXZPCD.Value = dZXZPCD;
|
||
btnRefresh_Click(null, null);
|
||
}
|
||
|
||
#endregion
|
||
}
|
||
}
|