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

952 lines
48 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_MISPRO;
using GThinking.N_MISPRO.Data;
using GThinking.N_MODEL.Page;
using GThinking.N_CONTROL;
using GThinking.N_PUBLIC;
using GThinking.N_MISPRO.Caching;
using GThinking.N_MISPRO.Utility;
using System.Collections.Generic;
using System.Text;
namespace GThinking.N_XLXSBJ
{
public partial class XLBJD_CBZSList : SingleGridBase
{
XLBJD_CBZS entity = new XLBJD_CBZS();
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860044;
this.UMName = "成本追溯";
this.CurMaster = Master;
this.ModuleGV = grdContentGrid;
this.CurEntity = entity;
this.PageWidth = 700;
this.PageHeight = 500;
Master.EnableQueryBtn = false;
Master.EnableAttachBtn = false;
Master.EnableNewBtn = false;
Master.EnableViewBtn = false;
Master.EnableEditBtn = false;
Master.EnableCopyBtn = false;
Master.EnableDeleteBtn = false;
base.InitPage();
ModuleGV.OnClientDblClick = "return false;";
grdContentGrid.FindColumnByFieldName("px0").Visible = false;
if (GetOption(100860000, "BJU002") != null)
{
grdContentGrid.FindColumnExByFieldName("CLCB").NumberDecimalPlace = CMISproConvert.StrToInt(GetOption(100860000, "BJU002"), 2);
txtCLCB.DecimalPlaces = CMISproConvert.StrToInt(GetOption(100860000, "BJU002"), 2);
}
if (GetOption(100860000, "BJU003") != null)
{
grdContentGrid.FindColumnByFieldName("CLSL").HeaderText = "材料用量(Kg/" + GetOption(100860000, "BJU003") + ")";
grdContentGrid.FindColumnByFieldName("CLCB").HeaderText = "材料成本(元/" + GetOption(100860000, "BJU003") + ")";
lblDW.Text = "元/" + GetOption(100860000, "BJU003") + "";
}
if (!IsPostBack)
{
Master_OnStandardQuery(null, null);
InitControl();
}
grdContentGrid.FindColumnExByFieldName("CLJG").NumberDecimalPlace = XLBJDUtils.BJCLPriceDecimal;
}
#region 模板继承事件
protected override void Master_OnStandardQuery(object sender, EventArgs e)
{
entity.EntityTable.QuerySelSql = "select 1 from XLXSCLQD where 1<>1";
base.Master_OnStandardQuery(sender, e);
DataSet ds = GetTable();
entity.GridDataBind(grdContentGrid, tSession);
entity.GridDataBind(grdContentGrid, ds.Tables[0], ds.Tables[0].Rows.Count);
grdContentGrid.DataSource = ds;
}
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
entity.EntityTable.QuerySelSql = "select 1 from XLXSCLQD where 1<>1";
base.moduleGV_PageIndexChanging(sender, e);
grdContentGrid.SelectedIndex = -1;
DataSet ds = GetTable();
entity.GridDataBind(grdContentGrid, tSession);
entity.GridDataBind(grdContentGrid, ds.Tables[0], ds.Tables[0].Rows.Count);
grdContentGrid.DataSource = ds;
}
protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
//TZCLHQ=Y说明可以调整材料行情
if (PageParam.GetRTrimString("TZCLHQ").Equals("Y") && PageParam.GetRTrimString("CANEDIT").Equals("Y"))
{
//材料价格
e.Row.Cells[4].Text = string.Format("<A href='#' onclick=\"CellClick('{0}','{1}','{2}') \"><U>" + strPadRight(e.Row.Cells[4].Text.ToString().Trim(),XLBJDUtils.BJCLPriceDecimal) + "</U></A>",
e.Row.Cells[0].Text.Trim(), e.Row.Cells[1].Text.Trim(), e.Row.Cells[3].Text.Trim());
}
}
base.moduleGV_RowDataBound(sender, e);
}
protected override void ReportRecordSetAdd()
{
DataSet ds = GetTable();
AddUserReportDataSet("XLXSBJDMXCLCB", ds);
base.ReportRecordSetAdd();
}
protected override void ReportDataSetAdd()
{
DataSet ds = GetTable();
for (int i = 0; i < grdContentGrid.Columns.Count; i++)
{
string sDataField = ((System.Web.UI.WebControls.BoundField)(grdContentGrid.Columns[i])).DataField.ToString().Trim();
string sHeaderText = grdContentGrid.Columns[i].HeaderText;
AddUserReportField("XLXSBJDMXCLCB", sDataField, sHeaderText, "S");
}
base.ReportDataSetAdd();
}
#endregion
#region 自定义事件
private void InitControl()
{
int iSYXH = 0;
double dYSJDZ = 1;
double dCLCBYSJDZ = 1;
string sJGBID = PageParam.GetRTrimString("JGBID");
string sXLXHID = PageParam.GetRTrimString("XLXHID");
string sXLGGID = PageParam.GetRTrimString("XLGGID");
string sXLBZID = PageParam.GetRTrimString("XLBZID");
string sDYDJID = PageParam.GetRTrimString("DYDJID");
string sJGBTJYS = XLBJDUtils.GetXLXSJGBXXByJGBID(sJGBID).XLXSJGB_TJYS;
string sCPLJGS = XLBJDUtils.GetCPLJGS();
bool bHasCLQD = HasCLQD(sXLXHID, sXLGGID, sXLBZID, sDYDJID);
string sTempXLXHID = sXLXHID;
if (XLBJDUtils.ExistedSYJGBMX(sXLXHID, sXLGGID, sXLBZID, sDYDJID, sJGBID, ref iSYXH, ref dYSJDZ,ref dCLCBYSJDZ) && !bHasCLQD)
{
lblYSCP.Visible = true;
lblYSCP.Text = GetBJCP(sXLXHID, sXLGGID, GetXLBZXX(sXLBZID), sDYDJID);
if ((sJGBTJYS == "1" || sJGBTJYS == "3") && (sCPLJGS == "2" || sCPLJGS == "4"))
{
lblZHJD.Visible = true;
lblZHJD.Text = dYSJDZ.ToString();
if(sCPLJGS == "4")
lblZHJD.Text = dCLCBYSJDZ.ToString();
}
XLBJDUtils.GetJGBMXBySYXH(sJGBID, iSYXH, ref sXLXHID, ref sXLGGID, ref sXLBZID, ref sDYDJID);
}
if (!bHasCLQD && sCPLJGS == "3")
{
XLBJDUtils.GetCLQDLJJDZ(sDYDJID, ref sTempXLXHID, ref dYSJDZ);
if (dYSJDZ > 1)
{
lblZHJD.Visible = true;
lblZHJD.Text = dYSJDZ.ToString();
sXLXHID = sTempXLXHID;
}
}
lblBJCP.Text = GetBJCP(sXLXHID, sXLGGID, GetXLBZXX(sXLBZID), sDYDJID);
}
private DataSet GetTable()
{
string sBJDID = PageParam.GetRTrimString("BJDID");
string sBJRQ = PageParam.GetRTrimString("BJRQ");
string sBJFLID = PageParam.GetRTrimString("BJFLID");
string sJGBID = PageParam.GetRTrimString("JGBID");
string sXLXHID = PageParam.GetRTrimString("XLXHID");
string sXLGGID = PageParam.GetRTrimString("XLGGID");
string sXLBZID = PageParam.GetRTrimString("XLBZID");
string sDYDJID = PageParam.GetRTrimString("DYDJID");
string sBJDHQLY = PageParam.GetRTrimString("BJDHQLY");
bool bHSBZ = PageParam.GetRTrimString("HSBZ").Equals("Y");
string sTBJCLID = PageParam.GetRTrimString("TBJCLID");
string sLBJCLID = PageParam.GetRTrimString("LBJCLID");
string sTJ = PageParam.GetRTrimString("TJ");
string sLJ = PageParam.GetRTrimString("LJ");
int iSYXH = 0;
double dYSJDZ = 1;
double dCLCBYSJDZ = 1;
string sCPLJGS = XLBJDUtils.GetCPLJGS();
bool bHasCLQD = HasCLQD(sXLXHID, sXLGGID, sXLBZID, sDYDJID);
bool bExistedSYJGBMX = XLBJDUtils.ExistedSYJGBMX(sXLXHID, sXLGGID, sXLBZID, sDYDJID, sJGBID, ref iSYXH, ref dYSJDZ, ref dCLCBYSJDZ);
if (!bHasCLQD && sCPLJGS == "3")
XLBJDUtils.GetCLQDLJJDZ(sDYDJID, ref sXLXHID, ref dYSJDZ);
else if (bExistedSYJGBMX && !bHasCLQD)
XLBJDUtils.GetJGBMXBySYXH(sJGBID, iSYXH, ref sXLXHID, ref sXLGGID, ref sXLBZID, ref sDYDJID);
Dictionary<string, string> dicCLHQ = new Dictionary<string, string>();
Dictionary<string, string> dicWLHQ = new Dictionary<string, string>();
DataSet dsWLHQ = null;
string sJSBLFS = XLBJDUtils.GetXLXSJGBXXByJGBID(sJGBID).XLXSJGB_JSBLFS;
int iXSWS = string.IsNullOrEmpty(GetOption(100860000, "BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption(100860000, "BJU002"));
if (iXSWS < 0)
{
iXSWS = 0;
}
else if (iXSWS > 8)
{
iXSWS = 8;
}
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL tSql = new TSQL(dberp);
tSql.Clear();
tSql.Add("select XLJGCZBLM_CLQDL,XLJGCZBLM_BJCLID,XLXSBJCL_BJHQ");
tSql.Add(" from XLJGCZBLM");
tSql.Add(" left join XLXSCLQD on XLXSCLQD_JGCZBID=XLJGCZBLM_JGCZBID and XLXSCLQD_JGCZBBBID = XLJGCZBLM_JGCZBBBID ");
tSql.Add(" left join XLXSBJCL on XLXSBJCL_BJCLID=XLJGCZBLM_BJCLID");
tSql.Add(" where XLXSCLQD_XLXHID=:pXLXHID and XLXSCLQD_XLGGID=:pXLGGID and XLXSCLQD_XLBZID=:pXLBZID and XLXSCLQD_DYDJID=:pDYDJID");
tSql.Add(" and XLXSCLQD_WPID='ZZZZ'");
tSql.Add(" and isnull(XLJGCZBLM_CLQDL,' ')<>' ' ");
tSql.Add(" order by XLJGCZBLM_CLQDL");
tSql.ParamByName("pXLXHID").Value = sXLXHID;
tSql.ParamByName("pXLGGID").Value = sXLGGID;
tSql.ParamByName("pXLBZID").Value = sXLBZID;
tSql.ParamByName("pDYDJID").Value = sDYDJID;
DataSet dsCZB = dberp.OpenDataSet(tSql);
for (int i = 0; i < dsCZB.Tables[0].Rows.Count; i++)
{
if (dsCZB.Tables[0].Rows[i]["XLXSBJCL_BJHQ"].ToString().Trim().Equals("1"))//1|材料行情
dicCLHQ.Add(dsCZB.Tables[0].Rows[i]["XLJGCZBLM_CLQDL"].ToString().Trim(), dsCZB.Tables[0].Rows[i]["XLJGCZBLM_BJCLID"].ToString().Trim());
else if (dsCZB.Tables[0].Rows[i]["XLXSBJCL_BJHQ"].ToString().Trim().Equals("2"))//2|物料行情
dicWLHQ.Add(dsCZB.Tables[0].Rows[i]["XLJGCZBLM_CLQDL"].ToString().Trim(), dsCZB.Tables[0].Rows[i]["XLJGCZBLM_BJCLID"].ToString().Trim());
}
//存在物料行情材料
if (dicWLHQ.Keys.Count > 0)
{
tSql.Clear();
tSql.Add("select XLXSCLQD_JGCZBID,XLXSCLQD_JGCZBBBID,XLXSCLQD_JGCZBXH,XLXSCLQD_DRHH");
tSql.Add(" from XLXSCLQD ");
tSql.Add(" where XLXSCLQD_XLXHID=:pXLXHID and XLXSCLQD_XLGGID=:pXLGGID and XLXSCLQD_XLBZID=:pXLBZID and XLXSCLQD_DYDJID=:pDYDJID");
tSql.ParamByName("pXLXHID").Value = sXLXHID;
tSql.ParamByName("pXLGGID").Value = sXLGGID;
tSql.ParamByName("pXLBZID").Value = sXLBZID;
tSql.ParamByName("pDYDJID").Value = sDYDJID;
DataSet dsCZBXL = dberp.OpenDataSet(tSql);
if (dsCZBXL.Tables[0].Rows.Count > 0)
{
string sJGCZBID = dsCZBXL.Tables[0].Rows[0]["XLXSCLQD_JGCZBID"].ToString().Trim();
string sJGCZBBBID = dsCZBXL.Tables[0].Rows[0]["XLXSCLQD_JGCZBBBID"].ToString().Trim();
string sJGCZBXH = dsCZBXL.Tables[0].Rows[0]["XLXSCLQD_JGCZBXH"].ToString().Trim();
string sDRHH = dsCZBXL.Tables[0].Rows[0]["XLXSCLQD_DRHH"].ToString().Trim();
#region 创建临时表
DateTime TimeStamp = MISproUtils.GetServerTime();
int VnewID = CMISproDataBase.GetMaxXH("DBERP", "V_XLXSCLQDWLHQ", "V_XLXSCLQDWLHQ_ID", "") + 1;
tSql.Clear();
tSql.Add(@"insert into V_XLXSCLQDWLHQ(V_XLXSCLQDWLHQ_ID,V_XLXSCLQDWLHQ_TIMESTAMP,V_XLXSCLQDWLHQ_JGCZBID,V_XLXSCLQDWLHQ_JGCZBBBID,V_XLXSCLQDWLHQ_JGCZBXH,V_XLXSCLQDWLHQ_DRHH,V_XLXSCLQDWLHQ_HSBZ)
select :pID,:pTime,XLXSCLQD_JGCZBID, XLXSCLQD_JGCZBBBID,XLXSCLQD_JGCZBXH,XLXSCLQD_DRHH,:pHSBZ from XLXSCLQD
where XLXSCLQD_JGCZBID=:pJGCZBID and XLXSCLQD_JGCZBBBID=:pJGCZBBBID and XLXSCLQD_JGCZBXH=:pJGCZBXH and XLXSCLQD_DRHH=:pDRHH
");
tSql.ParamByName("pID").Value = VnewID;
tSql.ParamByName("pTime").Value = TimeStamp;
tSql.ParamByName("pHSBZ").Value = "N";
tSql.ParamByName("pJGCZBID").Value = sJGCZBID;
tSql.ParamByName("pJGCZBBBID").Value = sJGCZBBBID;
tSql.ParamByName("pJGCZBXH").Value = CMISproConvert.StrToFloat(sJGCZBXH);
tSql.ParamByName("pDRHH").Value = CMISproConvert.StrToFloat(sDRHH);
dberp.ExecSQL(tSql);
tSql.Clear();
tSql.Add(@"insert into V_XLXSCLQDWLHQ(V_XLXSCLQDWLHQ_ID,V_XLXSCLQDWLHQ_TIMESTAMP,V_XLXSCLQDWLHQ_JGCZBID,V_XLXSCLQDWLHQ_JGCZBBBID,V_XLXSCLQDWLHQ_JGCZBXH,V_XLXSCLQDWLHQ_DRHH,V_XLXSCLQDWLHQ_HSBZ)
select :pID,:pTime,XLXSCLQD_JGCZBID, XLXSCLQD_JGCZBBBID,XLXSCLQD_JGCZBXH,XLXSCLQD_DRHH,:pHSBZ from XLXSCLQD
where XLXSCLQD_JGCZBID=:pJGCZBID and XLXSCLQD_JGCZBBBID=:pJGCZBBBID and XLXSCLQD_JGCZBXH=:pJGCZBXH and XLXSCLQD_DRHH=:pDRHH
");
tSql.ParamByName("pID").Value = VnewID;
tSql.ParamByName("pTime").Value = TimeStamp;
tSql.ParamByName("pHSBZ").Value = "Y";
tSql.ParamByName("pJGCZBID").Value = sJGCZBID;
tSql.ParamByName("pJGCZBBBID").Value = sJGCZBBBID;
tSql.ParamByName("pJGCZBXH").Value = CMISproConvert.StrToFloat(sJGCZBXH);
tSql.ParamByName("pDRHH").Value = CMISproConvert.StrToFloat(sDRHH);
dberp.ExecSQL(tSql);
#endregion
#region 循环dsCLQDL更新临时表
#region 含税
string sSQL_1 = " merge into V_XLXSCLQDWLHQ tar "
+ " using ( "
+ " select XLXSCLQDWL_JGCZBID,XLXSCLQDWL_JGCZBBBID,XLXSCLQDWL_JGCZBXH,XLXSCLQDWL_DRHH, ";
string sSQL_2 = string.Empty;
string sSQL_3 = " ' ' as MJBZ from XLXSCLQDWL ";
string sSQL_4 = string.Empty;
string sSQL_5 = " where XLXSCLQDWL_JGCZBID=:pJGCZBID and XLXSCLQDWL_JGCZBBBID=:pJGCZBBBID and XLXSCLQDWL_JGCZBXH=:pJGCZBXH and XLXSCLQDWL_DRHH=:pDRHH "
+ " ) sor "
+ " on ( "
+ " XLXSCLQDWL_JGCZBID=V_XLXSCLQDWLHQ_JGCZBID and XLXSCLQDWL_JGCZBBBID=V_XLXSCLQDWLHQ_JGCZBBBID and XLXSCLQDWL_JGCZBXH=V_XLXSCLQDWLHQ_JGCZBXH and XLXSCLQDWL_DRHH=V_XLXSCLQDWLHQ_DRHH and V_XLXSCLQDWLHQ_HSBZ=:pHSBZ and V_XLXSCLQDWLHQ_ID=:pID "
+ " ) when matched then update set V_XLXSCLQDWLHQ_HSBZ=:pHSBZ";
string sSQL_6 = string.Empty;
int count = 0;//记录已经拼接的列数
foreach (string sCLQDL in dicWLHQ.Keys)
{
sSQL_2 += string.Format("XLXSCLQDWL_WLID{0},", sCLQDL.Replace("第", "").Replace("列", ""));
sSQL_2 += string.Format("case when d{0}.XLXSBJDWLHQ_WLID is null then isnull(c{0}.XLXSWLHQ_WSJG,0) else d{0}.XLXSBJDWLHQ_WSJG end as WSJG{0},", sCLQDL.Replace("第", "").Replace("列", ""));
sSQL_2 += string.Format("case when d{0}.XLXSBJDWLHQ_WLID is null then isnull(c{0}.XLXSWLHQ_HSJG,0) else d{0}.XLXSBJDWLHQ_HSJG end as HSJG{0},", sCLQDL.Replace("第", "").Replace("列", ""));
sSQL_4 += string.Format(" left join XLXSBJDWLHQ d{0} on d{0}.XLXSBJDWLHQ_BJDID='{1}' and d{0}.XLXSBJDWLHQ_WLID=XLXSCLQDWL_WLID{0} ", sCLQDL.Replace("第", "").Replace("列", ""), sBJDID);
sSQL_4 += " left join";
sSQL_4 += " (";
sSQL_4 += " select XLXSWLHQ_WLID,XLXSWLHQ_WSJG,XLXSWLHQ_HSJG";
sSQL_4 += " from XLXSWLHQ,";
sSQL_4 += " (";
sSQL_4 += " select XLXSWLHQ_WLID as WLID,max(XLXSWLHQ_YXQS)as maxYXQS";
sSQL_4 += " from XLXSWLHQ";
sSQL_4 += " where XLXSWLHQ_JGBID=' '";
sSQL_4 += " and XLXSWLHQ_YXQS<=:pRQ and (XLXSWLHQ_YXQZ>=:pRQ or XLXSWLHQ_YXQZ is null)";
sSQL_4 += " group by XLXSWLHQ_WLID";
sSQL_4 += string.Format(") a{0} ", sCLQDL.Replace("第", "").Replace("列", ""));
sSQL_4 += " where XLXSWLHQ_JGBID=' ' and XLXSWLHQ_WLID=WLID and XLXSWLHQ_YXQS=maxYXQS";
sSQL_4 += string.Format(") c{0} on c{0}.XLXSWLHQ_WLID=XLXSCLQDWL_WLID{0} ", sCLQDL.Replace("第", "").Replace("列", ""));
sSQL_6 += string.Format(" ,V_XLXSCLQDWLHQ_JG{0} = HSJG{0} ", sCLQDL.Replace("第", "").Replace("列", ""));
count++;
if (count % 25 == 0 || count == dicWLHQ.Count)
{
tSql.Clear();
tSql.Add(sSQL_1);
tSql.Add(sSQL_2);
tSql.Add(sSQL_3);
tSql.Add(sSQL_4);
tSql.Add(sSQL_5);
tSql.Add(sSQL_6);
tSql.ParamByName("pID").Value = VnewID;
tSql.ParamByName("pHSBZ").Value = "Y";
tSql.ParamByName("pRQ").Value = sBJRQ;
tSql.ParamByName("pJGCZBID").Value = sJGCZBID;
tSql.ParamByName("pJGCZBBBID").Value = sJGCZBBBID;
tSql.ParamByName("pJGCZBXH").Value = CMISproConvert.StrToFloat(sJGCZBXH);
tSql.ParamByName("pDRHH").Value = CMISproConvert.StrToFloat(sDRHH);
dberp.ExecSQL(tSql);
sSQL_2 = string.Empty;
sSQL_4 = string.Empty;
sSQL_6 = string.Empty;
}
}
#endregion
#region 无税
sSQL_1 = " merge into V_XLXSCLQDWLHQ tar "
+ " using ( "
+ " select XLXSCLQDWL_JGCZBID,XLXSCLQDWL_JGCZBBBID,XLXSCLQDWL_JGCZBXH,XLXSCLQDWL_DRHH, ";
sSQL_2 = string.Empty;
sSQL_3 = " from XLXSCLQDWL ";
sSQL_4 = string.Empty;
sSQL_5 = " where XLXSCLQDWL_JGCZBID=:pJGCZBID and XLXSCLQDWL_JGCZBBBID=:pJGCZBBBID and XLXSCLQDWL_JGCZBXH=:pJGCZBXH and XLXSCLQDWL_DRHH=:pDRHH "
+ " ) sor "
+ " on ( "
+ " XLXSCLQDWL_JGCZBID=V_XLXSCLQDWLHQ_JGCZBID and XLXSCLQDWL_JGCZBBBID=V_XLXSCLQDWLHQ_JGCZBBBID and XLXSCLQDWL_JGCZBXH=V_XLXSCLQDWLHQ_JGCZBXH and XLXSCLQDWL_DRHH=V_XLXSCLQDWLHQ_DRHH and V_XLXSCLQDWLHQ_HSBZ=:pHSBZ and V_XLXSCLQDWLHQ_ID=:pID "
+ " ) when matched then update set V_XLXSCLQDWLHQ_HSBZ=:pHSBZ";
sSQL_6 = string.Empty;
count = 0;//记录已经拼接的列数
foreach (string sCLQDL in dicWLHQ.Keys)
{
sSQL_2 += string.Format("XLXSCLQDWL_WLID{0},", sCLQDL.Replace("第", "").Replace("列", ""));
sSQL_2 += string.Format("case when d{0}.XLXSBJDWLHQ_WLID is null then isnull(c{0}.XLXSWLHQ_WSJG,0) else d{0}.XLXSBJDWLHQ_WSJG end as WSJG{0},", sCLQDL.Replace("第", "").Replace("列", ""));
sSQL_2 += string.Format("case when d{0}.XLXSBJDWLHQ_WLID is null then isnull(c{0}.XLXSWLHQ_HSJG,0) else d{0}.XLXSBJDWLHQ_HSJG end as HSJG{0}", sCLQDL.Replace("第", "").Replace("列", ""));
sSQL_4 += string.Format(" left join XLXSBJDWLHQ d{0} on d{0}.XLXSBJDWLHQ_BJDID='{1}' and d{0}.XLXSBJDWLHQ_WLID=XLXSCLQDWL_WLID{0} ", sCLQDL.Replace("第", "").Replace("列", ""), sBJDID);
sSQL_4 += " left join";
sSQL_4 += " (";
sSQL_4 += " select XLXSWLHQ_WLID,XLXSWLHQ_WSJG,XLXSWLHQ_HSJG";
sSQL_4 += " from XLXSWLHQ,";
sSQL_4 += " (";
sSQL_4 += " select XLXSWLHQ_WLID as WLID,max(XLXSWLHQ_YXQS)as maxYXQS";
sSQL_4 += " from XLXSWLHQ";
sSQL_4 += " where XLXSWLHQ_JGBID=' '";
sSQL_4 += " and XLXSWLHQ_YXQS<=:pRQ and (XLXSWLHQ_YXQZ>=:pRQ or XLXSWLHQ_YXQZ is null)";
sSQL_4 += " group by XLXSWLHQ_WLID";
sSQL_4 += string.Format(") a{0} ", sCLQDL.Replace("第", "").Replace("列", ""));
sSQL_4 += " where XLXSWLHQ_JGBID=' ' and XLXSWLHQ_WLID=WLID and XLXSWLHQ_YXQS=maxYXQS";
sSQL_4 += string.Format(") c{0} on c{0}.XLXSWLHQ_WLID=XLXSCLQDWL_WLID{0} ", sCLQDL.Replace("第", "").Replace("列", ""));
sSQL_6 += string.Format(" ,V_XLXSCLQDWLHQ_JG{0} = WSJG{0} ", sCLQDL.Replace("第", "").Replace("列", ""));
count++;
if (count % 25 == 0 || count == dicWLHQ.Count)
{
tSql.Clear();
tSql.Add(sSQL_1);
tSql.Add(sSQL_2);
tSql.Add(sSQL_3);
tSql.Add(sSQL_4);
tSql.Add(sSQL_5);
tSql.Add(sSQL_6);
tSql.ParamByName("pID").Value = VnewID;
tSql.ParamByName("pHSBZ").Value = "N";
tSql.ParamByName("pRQ").Value = sBJRQ;
tSql.ParamByName("pJGCZBID").Value = sJGCZBID;
tSql.ParamByName("pJGCZBBBID").Value = sJGCZBBBID;
tSql.ParamByName("pJGCZBXH").Value = CMISproConvert.StrToFloat(sJGCZBXH);
tSql.ParamByName("pDRHH").Value = CMISproConvert.StrToFloat(sDRHH);
dberp.ExecSQL(tSql);
sSQL_2 = string.Empty;
sSQL_4 = string.Empty;
sSQL_6 = string.Empty;
}
}
#endregion
#endregion
#region 查询物料行情
tSql.Clear();
tSql.Add("select ");
bool bFirst = true;
foreach (string sCLQDL in dicWLHQ.Keys)
{
if (!bFirst)
tSql.Add(",");
bFirst = false;
tSql.Add(string.Format("XLXSCLQDWL_WLID{0},isnull(a.V_XLXSCLQDWLHQ_JG{0},0) as WSJG{0},isnull(b.V_XLXSCLQDWLHQ_JG{0},0) as HSJG{0}", sCLQDL.Replace("第", "").Replace("列", "")));
}
tSql.Add(" from XLXSCLQDWL");
tSql.Add(" left join");
tSql.Add(" V_XLXSCLQDWLHQ a on ");
tSql.Add(" XLXSCLQDWL_JGCZBID=a.V_XLXSCLQDWLHQ_JGCZBID and XLXSCLQDWL_JGCZBBBID=a.V_XLXSCLQDWLHQ_JGCZBBBID and XLXSCLQDWL_JGCZBXH=a.V_XLXSCLQDWLHQ_JGCZBXH and XLXSCLQDWL_DRHH=a.V_XLXSCLQDWLHQ_DRHH and a.V_XLXSCLQDWLHQ_HSBZ='N' and a.V_XLXSCLQDWLHQ_ID =:pID ");
tSql.Add(" left join");
tSql.Add(" V_XLXSCLQDWLHQ b on ");
tSql.Add(" XLXSCLQDWL_JGCZBID=b.V_XLXSCLQDWLHQ_JGCZBID and XLXSCLQDWL_JGCZBBBID=b.V_XLXSCLQDWLHQ_JGCZBBBID and XLXSCLQDWL_JGCZBXH=b.V_XLXSCLQDWLHQ_JGCZBXH and XLXSCLQDWL_DRHH=b.V_XLXSCLQDWLHQ_DRHH and b.V_XLXSCLQDWLHQ_HSBZ='Y' and b.V_XLXSCLQDWLHQ_ID =:pID ");
tSql.Add(" where XLXSCLQDWL_JGCZBID=:pJGCZBID and XLXSCLQDWL_JGCZBBBID=:pJGCZBBBID and XLXSCLQDWL_JGCZBXH=:pJGCZBXH and XLXSCLQDWL_DRHH=:pDRHH");
tSql.ParamByName("pID").Value = VnewID;
tSql.ParamByName("pRQ").Value = sBJRQ;
tSql.ParamByName("pJGCZBID").Value = sJGCZBID;
tSql.ParamByName("pJGCZBBBID").Value = sJGCZBBBID;
tSql.ParamByName("pJGCZBXH").Value = sJGCZBXH;
tSql.ParamByName("pDRHH").Value = sDRHH;
dsWLHQ = dberp.OpenDataSet(tSql);
#endregion
//删除临时表
tSql.Clear();
tSql.Add("delete from V_XLXSCLQDWLHQ where V_XLXSCLQDWLHQ_ID=:pID ");
tSql.ParamByName("pID").Value = VnewID;
dberp.ExecSQL(tSql);
}
}
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select XLJGCZBLM_BJCLID,XLJGCZBLM_CLQDL,XLXSBJCL_BJCLMC,XLXSBJCL_BJHQ,WLXX,CLJG,CLSL,px0,SHL,CLJGBL,CLCB from( ");
SQL.Add("select XLJGCZBLM_BJCLID,XLJGCZBLM_CLQDL,bjcl.XLXSBJCL_BJCLMC, case bjcl.XLXSBJCL_BJHQ when '1' then '1|材料行情' else '2|物料行情' end as XLXSBJCL_BJHQ ,");
//物料信息
if (dicCLHQ.Count != 0 || dicWLHQ.Count != 0)
{
Dictionary<string, string> DicJGYWLID = new Dictionary<string, string>();
#region 物料加工原物料ID
TSQL sql = new TSQL(dberp);
sql.Clear();
sql.Add(" select XLXSBJCLWL_WLID,XLXSBJCLWL_JGYWLID ");
sql.Add(" from XLXSBJCLWL ");
sql.Add(" where XLXSBJCLWL_JGYWLID <> '-' ");
DataSet dsWLJGYWL = dberp.OpenDataSet(sql);
if (dsWLJGYWL.Tables[0].Rows.Count > 0)
{
foreach (DataRow trow in dsWLJGYWL.Tables[0].Rows)
{
string sWLID = trow["XLXSBJCLWL_WLID"].ToString().Trim();
string sJGYWLID = trow["XLXSBJCLWL_JGYWLID"].ToString().Trim();
if (!DicJGYWLID.ContainsKey(sWLID))
{
DicJGYWLID.Add(sWLID, sJGYWLID);
}
}
}
#endregion
SQL.Add(" case ");
foreach (string sCLQDL in dicCLHQ.Keys)
{
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then ' ' ", sCLQDL));
}
foreach (string sCLQDL in dicWLHQ.Keys)
{
if (dsWLHQ != null && dsWLHQ.Tables[0].Rows.Count > 0)
{
string sWLID = dsWLHQ.Tables[0].Rows[0]["XLXSCLQDWL_WLID" + sCLQDL.Replace("第", "").Replace("列", "")].ToString().Trim();
if (DicJGYWLID.ContainsKey(sWLID))
sWLID = DicJGYWLID[sWLID];
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then '{1}' ", sCLQDL, GetWLXX(sWLID)));
}
else
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then ' ' ", sCLQDL));
}
SQL.Add(" end as WLXX, ");
}
else
{
SQL.Add(" ' ' as WLXX, ");
}
//材料价格
if (dicCLHQ.Count != 0 || dicWLHQ.Count != 0)
{
SQL.Add(" case ");
foreach (string sCLQDL in dicCLHQ.Keys)
{
if (bHSBZ)
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then isnull(HSJG,0.0) ", sCLQDL));
else
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then isnull(CLJG,0.0) ", sCLQDL));
}
foreach (string sCLQDL in dicWLHQ.Keys)
{
if (dsWLHQ != null && dsWLHQ.Tables[0].Rows.Count > 0)
{
if (bHSBZ)
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then {1} ", sCLQDL, dsWLHQ.Tables[0].Rows[0]["HSJG" + sCLQDL.Replace("第", "").Replace("列", "")].ToString().Trim()));
else
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then {1} ", sCLQDL, dsWLHQ.Tables[0].Rows[0]["WSJG" + sCLQDL.Replace("第", "").Replace("列", "")].ToString().Trim()));
}
else
{
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then 0.0 ", sCLQDL));
}
}
SQL.Add(" end as CLJG, ");
}
else
{
SQL.Add(" 0 as CLJG, ");
}
//材料数量
if (dicCLHQ.Count != 0 || dicWLHQ.Count != 0)
{
SQL.Add(" case ");
foreach (string sCLQDL in dicCLHQ.Keys)
{
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then XLXSCLQD_SL{1} ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", "")));
}
foreach (string sCLQDL in dicWLHQ.Keys)
{
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then XLXSCLQD_SL{1} ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", "")));
}
SQL.Add(" end as CLSL, ");
}
else
{
SQL.Add(" 0 as CLSL, ");
}
if (dicCLHQ.Count != 0 || dicWLHQ.Count != 0)
{
SQL.Add(" case ");
foreach (string sCLQDL in dicCLHQ.Keys)
{
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then ( case when XLXSCLQD_SL{1} = 0 then 0 else 1 end) ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", "")));
}
foreach (string sCLQDL in dicWLHQ.Keys)
{
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then ( case when XLXSCLQD_SL{1} = 0 then 0 else 1 end) ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", "")));
}
SQL.Add(" end as px0, ");
}
else
{
SQL.Add(" 0 as px0, ");
}
//损耗率
if (dicCLHQ.Count != 0 || dicWLHQ.Count != 0)
{
SQL.Add(" case ");
foreach (string sCLQDL in dicCLHQ.Keys)
{
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then XLXSCLQD_SHL{1} ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", "")));
}
foreach (string sCLQDL in dicWLHQ.Keys)
{
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then XLXSCLQD_SHL{1} ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", "")));
}
SQL.Add(" end as SHL, ");
}
else
{
SQL.Add(" 0 as SHL, ");
}
//材料用量比例
if (dicCLHQ.Count != 0 || dicWLHQ.Count != 0)
{
SQL.Add(" case ");
foreach (string sCLQDL in dicCLHQ.Keys)
{
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then XLXSCLQD_CLJGBL{1} ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", "")));
}
foreach (string sCLQDL in dicWLHQ.Keys)
{
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then XLXSCLQD_CLJGBL{1} ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", "")));
}
SQL.Add(" end as CLJGBL, ");
}
else
{
SQL.Add(" 0 as CLJGBL, ");
}
//材料成本
if (dicCLHQ.Count != 0 || dicWLHQ.Count != 0)
{
SQL.Add(" case ");
if (sJSBLFS.Equals("C1"))//C1|进一法(材料价各分项进一)
{
foreach (string sCLQDL in dicCLHQ.Keys)
{
if (bHSBZ)
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then CEILING(RoundFix(isnull(HSJG,0.0)*XLXSCLQD_SL{1}*(1+XLXSCLQD_SHL{1}/100)*XLXSCLQD_CLJGBL{1}*{2},8))/{2} ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", ""), Math.Pow(10.0, iXSWS)));
else
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then CEILING(RoundFix(isnull(CLJG,0.0)*XLXSCLQD_SL{1}*(1+XLXSCLQD_SHL{1}/100)*XLXSCLQD_CLJGBL{1}*{2},8))/{2} ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", ""), Math.Pow(10.0, iXSWS)));
}
foreach (string sCLQDL in dicWLHQ.Keys)
{
if (dsWLHQ != null && dsWLHQ.Tables[0].Rows.Count > 0)
{
if (bHSBZ)
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then CEILING(RoundFix({2}*XLXSCLQD_SL{1}*(1+XLXSCLQD_SHL{1}/100)*XLXSCLQD_CLJGBL{1}*{3},8))/{3} ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", ""),
dsWLHQ.Tables[0].Rows[0]["HSJG" + sCLQDL.Replace("第", "").Replace("列", "")].ToString().Trim(), Math.Pow(10.0, iXSWS)));
else
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then CEILING(RoundFix({2}*XLXSCLQD_SL{1}*(1+XLXSCLQD_SHL{1}/100)*XLXSCLQD_CLJGBL{1}*{3},8))/{3} ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", ""),
dsWLHQ.Tables[0].Rows[0]["WSJG" + sCLQDL.Replace("第", "").Replace("列", "")].ToString().Trim(), Math.Pow(10.0, iXSWS)));
}
else
{
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then 0.0 ", sCLQDL));
}
}
}
else
{
foreach (string sCLQDL in dicCLHQ.Keys)
{
if (bHSBZ)
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then isnull(HSJG,0.0)*XLXSCLQD_SL{1}*(1+XLXSCLQD_SHL{1}/100)*XLXSCLQD_CLJGBL{1} ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", "")));
else
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then isnull(CLJG,0.0)*XLXSCLQD_SL{1}*(1+XLXSCLQD_SHL{1}/100)*XLXSCLQD_CLJGBL{1} ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", "")));
}
foreach (string sCLQDL in dicWLHQ.Keys)
{
if (dsWLHQ != null && dsWLHQ.Tables[0].Rows.Count > 0)
{
if (bHSBZ)
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then {2}*XLXSCLQD_SL{1}*(1+XLXSCLQD_SHL{1}/100)*XLXSCLQD_CLJGBL{1} ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", ""),
dsWLHQ.Tables[0].Rows[0]["HSJG" + sCLQDL.Replace("第", "").Replace("列", "")].ToString().Trim()));
else
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then {2}*XLXSCLQD_SL{1}*(1+XLXSCLQD_SHL{1}/100)*XLXSCLQD_CLJGBL{1} ", sCLQDL, sCLQDL.Replace("第", "").Replace("列", ""),
dsWLHQ.Tables[0].Rows[0]["WSJG" + sCLQDL.Replace("第", "").Replace("列", "")].ToString().Trim()));
}
else
{
SQL.Add(string.Format(" when XLJGCZBLM_CLQDL='{0}' then 0.0 ", sCLQDL));
}
}
}
SQL.Add(" end as CLCB ");
}
else
{
SQL.Add(" 0 as CLCB ");
}
SQL.Add(" from XLXSCLQD, ");
SQL.Add(" XLJGCZBLM");
SQL.Add(" left join XLXSBJCL bjcl on bjcl.XLXSBJCL_BJCLID=XLJGCZBLM_BJCLID");
//SQL.Add(" left join XLJGCZBML on XLJGCZBML_JGCZBID = XLJGCZBLM_JGCZBID ");
SQL.Add(" left join ");
SQL.Add(" (");
if (!XLBJDUtils.IsJGEJGB(sJGBID))//表价实时计算价格表
{
if (sBJDHQLY.Equals("1"))
{
SQL.Add(XLBJD_CLHQTZ.GetBJDHQSql().ToString());
}
else
{
SQL.Add(XLBJD_CLHQTZ.GetBJRHQSql().ToString());
}
}
else
{
SQL.Add(XLBJD_CLHQTZ.GetJGEHQSql(bHSBZ, sTBJCLID, sLBJCLID, sTJ, sLJ).ToString());
}
SQL.Add(" ) curbjdhq on curbjdhq.XLXSBJCL_BJCLID=bjcl.XLXSBJCL_BJCLID ");
SQL.Add("where XLJGCZBLM_JGCZBID=XLXSCLQD_JGCZBID and XLXSCLQD_JGCZBBBID = XLJGCZBLM_JGCZBBBID and isnull(XLJGCZBLM_CLQDL,' ')<>' ' ");
SQL.Add(" and XLXSCLQD_XLXHID=:pXLXHID and XLXSCLQD_XLGGID=:pXLGGID and XLXSCLQD_XLBZID=:pXLBZID and XLXSCLQD_DYDJID=:pDYDJID ");
SQL.Add(" and XLXSCLQD_WPID='ZZZZ'");
SQL.Add(" ) M where CLSL>0 ");
SQL.Add(" order by px0 desc,XLJGCZBLM_CLQDL,XLJGCZBLM_BJCLID ");
SQL.ParamByName("pBJDID").Value = sBJDID;
SQL.ParamByName("pBJRQ").Value = sBJRQ;
SQL.ParamByName("pBJFLID").Value = sBJFLID;
SQL.ParamByName("pJGBID").Value = sJGBID;
SQL.ParamByName("pXLXHID").Value = sXLXHID;
SQL.ParamByName("pXLGGID").Value = sXLGGID;
SQL.ParamByName("pXLBZID").Value = sXLBZID;
SQL.ParamByName("pDYDJID").Value = sDYDJID;
DataSet dsResult = dberp.OpenDataSet(SQL);
txtCLCB.Value = 0;
for (int i = 0; i < dsResult.Tables[0].Rows.Count; i++)
{
txtCLCB.Value += CMISproConvert.StrToFloat(dsResult.Tables[0].Rows[i]["CLCB"].ToString());
}
string sJGBTJYS = XLBJDUtils.GetXLXSJGBXXByJGBID(sJGBID).XLXSJGB_TJYS;
if (sJSBLFS.Equals("C1") || (sJSBLFS.Equals("C2") && sJGBTJYS == "3"))//C1|进一法(材料价各分项进一)、C2|进一法(材料价汇总进一)
{
txtCLCB.Value = Math.Ceiling(txtCLCB.Value * Math.Pow(10.0, iXSWS)) / Math.Pow(10.0, iXSWS);
}
if (bExistedSYJGBMX && !bHasCLQD && (sJGBTJYS == "1" || sJGBTJYS == "3") && (sCPLJGS == "2" || sCPLJGS == "4"))
{
if (sCPLJGS == "4")
{
txtCLCB.Value *= dCLCBYSJDZ;
}
else
{
txtCLCB.Value *= dYSJDZ;
}
}
//无材料清单且料价计算方式为3|按报价单料价加点对照表计算
if (!bHasCLQD && (sCPLJGS == "3"))
{
txtCLCB.Value *= dYSJDZ;
}
return dsResult;
}
private string GetWLXX(string sWLID)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
sql.Add("select WL_MC,WL_GG from WL where WL_WLID=:pWLID");
sql.ParamByName("pWLID").Value = sWLID.Trim();
DataSet ds = dberp.OpenDataSet(sql);
if (ds.Tables[0].Rows.Count > 0)
return sWLID.Trim() + "|" + ds.Tables[0].Rows[0]["WL_MC"].ToString().Trim() + "|" + ds.Tables[0].Rows[0]["WL_GG"].ToString().Trim();
else
return sWLID.Trim();
}
private string GetBJCP(string sXLXHID, string sXLGGID, string sXLBZID, string sDYDJID)
{
string sRetValue = "";
if (!sXLXHID.Equals(""))
{
sRetValue = sRetValue + "&nbsp;&nbsp;" + sXLXHID;
}
if (!sXLGGID.Equals(""))
{
sRetValue = sRetValue + "&nbsp;&nbsp;" + sXLGGID;
}
if (!sXLBZID.Equals(""))
{
sRetValue = sRetValue + "&nbsp;&nbsp;" + sXLBZID;
}
if (!sDYDJID.Equals(""))
{
sRetValue = sRetValue + "&nbsp;&nbsp;" + sDYDJID;
}
sRetValue = sRetValue.Trim();
return sRetValue;
}
private string GetXLBZXX(string sXLBZID)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" select rtrim(XLBZ_XLBZID)||'|'||rtrim(XLBZ_XLBZLXMC) as XLBZ_XLBZID from XLBZ where XLBZ_XLBZID= :pXLBZID ");
SQL.ParamByName("pXLBZID").Value = sXLBZID;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
return ds.Tables[0].Rows[0][0].ToString().Trim();
}
else
return "";
}
private string strPadRight(string s, int x)
{
string str = s;
if (str.Split('.').Length == 2)
{
str = str.Split('.')[0] + "." + str.Split('.')[1].PadRight(x, '0');
}
else
{
string tmp = "0";
if (x > 0)
{
tmp = tmp.PadRight(x, '0');
str = str + "." + tmp;
}
}
return str;
}
private bool HasCLQD(string sXLXHID, string sXLGGID, string sXLBZID, string sDYDJID)
{
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSCLQD where XLXSCLQD_XLXHID='{0}' and XLXSCLQD_XLGGID='{1}' and XLXSCLQD_XLBZID='{2}' and XLXSCLQD_DYDJID='{3}' and XLXSCLQD_WPID='ZZZZ' ", sXLXHID, sXLGGID, sXLBZID, sDYDJID)))
return true;
return false;
}
#endregion
#region 按钮事件
protected void btnTZJG_Click(object sender, EventArgs e)
{
TPageParams pageParams = new TPageParams();
pageParams.UrlPath = "XLBJD_CLHQTZList.aspx";
pageParams.Title = "调整材料行情" + ":" + txtBJCLID.Value.Trim() + "|" + txtBJCLMC.Value.Trim() + (txtWLXX.Value.Trim().Equals("") ? "" : "【" + txtWLXX.Value.Trim() + "】");
pageParams.AddString("BJFLID", PageParam.GetRTrimString("BJFLID"));
pageParams.AddString("BJDID", PageParam.GetRTrimString("BJDID"));
pageParams.AddString("BJRQ", PageParam.GetRTrimString("BJRQ"));
pageParams.AddString("JGBID", PageParam.GetRTrimString("JGBID"));
pageParams.AddString("JCLLX", PageParam.GetRTrimString("JCLLX"));
pageParams.AddString("LJJCLLX", PageParam.GetRTrimString("LJJCLLX"));
pageParams.AddString("BJDHQLY", PageParam.GetRTrimString("BJDHQLY"));
pageParams.AddString("BJLY", PageParam.GetRTrimString("BJLY"));
pageParams.AddString("ZDXJJCLLX", PageParam.GetRTrimString("ZDXJJCLLX"));
pageParams.AddString("btnRefreshCID", btnRefreshCLHQTZ.ClientID);
pageParams.AddString("HSBZ", PageParam.GetRTrimString("HSBZ"));
pageParams.AddString("TBJCLID", PageParam.GetRTrimString("TBJCLID"));
pageParams.AddString("LBJCLID", PageParam.GetRTrimString("LBJCLID"));
pageParams.AddString("TJ", PageParam.GetRTrimString("TJ"));
pageParams.AddString("LJ", PageParam.GetRTrimString("LJ"));
pageParams.AddString("CPBJMRXSWS", PageParam.GetRTrimString("CPBJMRXSWS"));
pageParams.AddString("JYF", PageParam.GetRTrimString("JYF"));//计运费
pageParams.AddString("YSJDID", PageParam.GetRTrimString("YSJDID"));//运输节点
pageParams.AddString("GYSID", PageParam.GetRTrimString("GYSID"));//运输单位
pageParams.AddString("YFWLID", PageParam.GetRTrimString("YFWLID"));//运费物料
pageParams.AddString("BJHYF", PageParam.GetRTrimString("BJHYF"));//报价含运费
pageParams.AddString("BJCLID", txtBJCLID.Value.Trim());
OpenModuleDialog(100860000, pageParams);
}
protected void btnRefreshCLHQTZ_Click(object sender, EventArgs e)
{
int iIndex = grdContentGrid.SelectedIndex;
moduleGV_PageIndexChanging(null, null);
grdContentGrid.SelectedIndex = iIndex;
}
protected void lblBJCP_Click(object sender, EventArgs e)
{
string sJGCZBIDFromJGCZBML = "";
string sJGCZBBBIDFromJGCZBML = "";
string sXLXHID = PageParam.GetRTrimString("XLXHID");
string sXLGGID = PageParam.GetRTrimString("XLGGID");
string sXLBZID = PageParam.GetRTrimString("XLBZID");
string sDYDJID = PageParam.GetRTrimString("DYDJID");
int iSYXH = 0;
double dYSJDZ = 1;
double dCLCBYSJDZ = 1;
string sJGBID = PageParam.GetRTrimString("JGBID");
if (XLBJDUtils.ExistedSYJGBMX(sXLXHID, sXLGGID, sXLBZID, sDYDJID, sJGBID, ref iSYXH, ref dYSJDZ, ref dCLCBYSJDZ))
{
XLBJDUtils.GetJGBMXBySYXH(sJGBID, iSYXH, ref sXLXHID, ref sXLGGID, ref sXLBZID, ref sDYDJID);
}
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
sql.Clear();
sql.Add(" select XLXSCLQD_JGCZBID as JGCZBID, XLXSCLQD_JGCZBBBID as JGCZBBBID");
sql.Add(" from XLXSCLQD where 1=1 and XLXSCLQD_WPID ='ZZZZ' ");
sql.Add(" and XLXSCLQD_XLXHID = :pXLXHID ");
sql.Add(" and XLXSCLQD_XLGGID = :pXLGGID ");
sql.Add(" and XLXSCLQD_XLBZID = :pXLBZID ");
sql.Add(" and XLXSCLQD_DYDJID = :pDYDJID ");
sql.ParamByName("pXLXHID").Value = sXLXHID;
sql.ParamByName("pXLGGID").Value = sXLGGID;
sql.ParamByName("pXLBZID").Value = sXLBZID;
sql.ParamByName("pDYDJID").Value = sDYDJID.Equals("") ? " " : sDYDJID;
DataSet ds = dberp.OpenDataSet(sql);
if (ds.Tables[0].Rows.Count > 0)
{
sJGCZBBBIDFromJGCZBML = ds.Tables[0].Rows[0]["JGCZBBBID"].ToString().Trim();
sJGCZBIDFromJGCZBML = ds.Tables[0].Rows[0]["JGCZBID"].ToString().Trim() + "|" + sJGCZBBBIDFromJGCZBML;
}
else
{
ShowMessage("未查询到结构尺重表信息,请在102579008|报价材料用量模块检查该记录是否补充完整并流转结束!");
return;
}
TPageParams tpp = new TPageParams();
tpp.UrlPath = "../Components/N_XLBJCL/CLQDList.aspx";
tpp.CallAction = TPageCallAction.pcaBrowse;
tpp.AddString("JGCZBIDFromJGCZBML", sJGCZBIDFromJGCZBML);
tpp.AddString("JGCZBBBIDFromJGCZBML", sJGCZBBBIDFromJGCZBML);
OpenFuncModuleDialog(102579001, tpp);
}
#endregion
}
}