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

549 lines
29 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_MISPRO.Utility;
using GThinking.N_PUBLIC;
using System.Collections.Generic;
namespace GThinking.N_XLXSBJ
{
public partial class XLBJD_TLJInfo : SingleCardBase
{
[TableMap(DB = "DBERP", DbTableName = "XLXSBJD", Umid = 100860000, IsWorkFlow = false, IsAttach = false, UseWhr = false)]
public class XLBJD_TLJ : EntityManager
{
}
XLBJD_TLJ entity = new XLBJD_TLJ();
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860000;
this.UMName = "线缆销售报价单";
this.CurMaster = Master;
this.CurEntity = entity;
this.PageHeight = 200;
this.PageWidth = 420;
Master.EnableAttachBtn = false;
Master.EnableCancelBtn = false;
Master.EnableCopyBtn = false;
Master.EnableDeleteBtn = false;
Master.EnableEditBtn = false;
Master.EnableInsertBtn = false;
Master.EnablePrintBtn = false;
Master.EnableRefreshBtn = false;
Master.EnableSaveBtn = false;
base.InitPage();
if (!IsPostBack)
{
InitControl();
}
}
protected override void SetControlState()
{
base.SetControlState();
txtTodayTJ.Enabled = false;
txtTodayLJ.Enabled = false;
txtTJWHSJ.Enabled = false;
txtLJWHSJ.Enabled = false;
}
#region 自定义函数
private void InitControl()
{
datLJRQ.Text = DateTime.Now.ToShortDateString();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select XLXSBJD_TLJTZRQ from XLXSBJD where XLXSBJD_BJDID=:pBJDID");
SQL.ParamByName("pBJDID").Value = PageParam.GetRTrimString("BJDID");
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
if (!ds.Tables[0].Rows[0][0].ToString().Trim().Equals(""))
{
datLJRQ.Text = ds.Tables[0].Rows[0][0].ToString().Trim();
lblTodayTJ.Text = "铜价:";
chkQTCLQZXJ.Text = "其他材料取日期价";
lblGetToday.Text = "取日期铜铝价";
}
}
txtTJ.DecimalPlaces = XLBJDUtils.BJCLPriceDecimal;
txtLJ.DecimalPlaces = XLBJDUtils.BJCLPriceDecimal;
txtTodayTJ.DecimalPlaces = XLBJDUtils.BJCLPriceDecimal;
txtTodayLJ.DecimalPlaces = XLBJDUtils.BJCLPriceDecimal;
txtTJ.Value = CMISproConvert.StrToFloat(PageParam.GetRTrimString("TJ"));
txtLJ.Value = CMISproConvert.StrToFloat(PageParam.GetRTrimString("LJ"));
Dictionary<string, string> dicTLJG = XLBJDInfo.GetTLJByRQ(datLJRQ.Text, PageParam.GetRTrimString("BJFLID"), PageParam.GetRTrimString("HSBZ").Equals("Y"));
txtTodayTJ.Value = CMISproConvert.StrToFloat(dicTLJG["TJ"], 0);
txtTodayLJ.Value = CMISproConvert.StrToFloat(dicTLJG["LJ"], 0);
txtTJWHSJ.Text = dicTLJG["TJWHSJ"];
txtLJWHSJ.Text = dicTLJG["LJWHSJ"];
if (PageParam.GetRTrimString("MXBH").Equals("JGE"))
{
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSBJFL where XLXSBJFL_TLJTZGXQTCL ='Y' and XLXSBJFL_BJFLID ='{0}'", PageParam.GetRTrimString("BJFLID"))))
{
chkQTCLQZXJ.Checked = true;
}else
chkQTCLQZXJ.Checked = false;
chkQTCLQZXJ.Visible = true;
}
else
{
chkQTCLQZXJ.Checked = false;
chkQTCLQZXJ.Visible = false;
}
SQL.Clear();
SQL.Add("select isnull(XLXSBJD_TLJZD,'N') as TLJZD from XLXSBJD where XLXSBJD_BJDID='" + PageParam.GetRTrimString("BJDID") + "'");
ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
string sTLJZD = ds.Tables[0].Rows[0][0].ToString().Trim();
if (sTLJZD.Equals("Y"))
{
chkZDTJ.Checked=true;
chkZDLJ.Checked=true;
}
else if (sTLJZD.Equals("T"))
{
chkZDTJ.Checked = true;
}
else if (sTLJZD.Equals("L"))
{
chkZDLJ.Checked = true;
}
}
}
#endregion
private void InsertXLXSBJDWLHQ(TDatabase dberp, TSQL SQL, string sBJDID, string sWLIDList)
{
SQL.Clear();
SQL.Add("merge into XLXSBJDWLHQ ");
SQL.Add("using ");
SQL.Add("( ");
SQL.Add("select :pBJDID as BJDID,XLXSBJCLWL_WLID as WLID, ");
SQL.Add("isnull(XLXSWLHQ_WSJG,0) as WSJG, ");
SQL.Add("isnull(XLXSWLHQ_HSJG,0) as HSJG ");
SQL.Add("from XLXSBJCLWL ");
SQL.Add("left join ");
SQL.Add(" (select XLXSWLHQ_WLID,XLXSWLHQ_WSJG,XLXSWLHQ_HSJG");
SQL.Add(" from XLXSWLHQ,");
SQL.Add(" (");
SQL.Add(" select XLXSWLHQ_WLID as WLID,max(XLXSWLHQ_YXQS) as maxYXQS");
SQL.Add(" from XLXSWLHQ");
SQL.Add(" where XLXSWLHQ_JGBID=' '");
SQL.Add(" and XLXSWLHQ_YXQS<=:pBJRQ and(XLXSWLHQ_YXQZ>=:pBJRQ or XLXSWLHQ_YXQZ is null)");
SQL.Add(" group by XLXSWLHQ_WLID");
SQL.Add(" ) a ");
SQL.Add(" where XLXSWLHQ_JGBID=' ' ");
SQL.Add(" and XLXSWLHQ_WLID=WLID ");
SQL.Add(" and XLXSWLHQ_YXQS=maxYXQS ");
SQL.Add(" ) c on XLXSWLHQ_WLID=XLXSBJCLWL_WLID ");
SQL.Add("where " + CMISproDataBase.GetWhereEqual("XLXSBJCLWL_WLID", sWLIDList));
SQL.Add(") B on (XLXSBJDWLHQ_BJDID=B.BJDID and XLXSBJDWLHQ_WLID=B.WLID) ");
SQL.Add("when matched then ");
SQL.Add("update set XLXSBJDWLHQ_WSJG=B.WSJG,XLXSBJDWLHQ_HSJG=B.HSJG, ");
SQL.Add(" XLXSBJDWLHQ_WHR=:pWHR,XLXSBJDWLHQ_WHRID=:pWHRID,XLXSBJDWLHQ_WHSJ=:pWHSJ ");
SQL.Add("when not matched then ");
SQL.Add("insert (XLXSBJDWLHQ_BJDID,XLXSBJDWLHQ_WLID,XLXSBJDWLHQ_WSJG,XLXSBJDWLHQ_HSJG,XLXSBJDWLHQ_WSJGF,XLXSBJDWLHQ_HSJGF,XLXSBJDWLHQ_WHR,XLXSBJDWLHQ_WHRID,XLXSBJDWLHQ_WHSJ) ");
SQL.Add("values (B.BJDID,B.WLID,B.WSJG,B.HSJG,0,0,:pWHR,:pWHRID,:pWHSJ) ");
SQL.ParamByName("pBJDID").Value = sBJDID;
SQL.ParamByName("pBJRQ").Value = datLJRQ.Text;
SQL.ParamByName("pWHR").Value = tSession.UserName;
SQL.ParamByName("pWHRID").Value = tSession.UserId;
SQL.ParamByName("pWHSJ").Value = DateTime.Now;
dberp.ExecSQL(SQL);
}
private string GetWLIDList(TDatabase dberp, TSQL SQL,string sBJDID,string sBJRQ)
{
string sWLIDList="";
SQL.Clear();
SQL.Add("select XLXSBJCLWL_WLID,rtrim(isnull(WL_MC,' ')) || ' ' || rtrim(isnull(WL_GG,' ')) || ' ' || rtrim(isnull(WL_CL,' ')) as WLMC, ");
SQL.Add("case when XLXSBJDWLHQ_WLID is null then bjrwlhq.WSJGF else XLXSBJDWLHQ_WSJGF end as WSJGF, ");
SQL.Add("case when XLXSBJDWLHQ_WLID is null then bjrwlhq.CLJG else XLXSBJDWLHQ_WSJG end as WSJG, ");
SQL.Add("a.XLXSBJCL_ZZSL, ");
SQL.Add("case when XLXSBJDWLHQ_WLID is null then bjrwlhq.HSJGF else XLXSBJDWLHQ_HSJGF end as HSJGF, ");
SQL.Add("case when XLXSBJDWLHQ_WLID is null then bjrwlhq.HSJG else XLXSBJDWLHQ_HSJG end as HSJG, ");
SQL.Add(" case when isnull(a.XLXSBJCL_JGYBJCLID,' ') = ' ' then ' ' else rtrim(a.XLXSBJCL_JGYBJCLID) ||'|'|| rtrim(b.XLXSBJCL_BJCLMC) end as JGYBJCLXX,");
SQL.Add(" case when isnull(a.XLXSBJCL_JGYBJCLID,' ') = ' ' then 0.0 else XLXSBJDCLHQ_WSJG end as JGYBJCLID_WSJG,");
SQL.Add(" case when isnull(a.XLXSBJCL_JGYBJCLID,' ') = ' ' then 0.0 else XLXSBJDCLHQ_HSJG end as JGYBJCLID_HSJG,");
SQL.Add("XLXSBJDWLHQ_WHR,XLXSBJDWLHQ_WHRID,XLXSBJDWLHQ_WHSJ ");
SQL.Add("from XLXSBJCLWL ");
//先使用物料与材料关系取到材料
SQL.Add("left join XLXSBJCL a on a.XLXSBJCL_BJCLID=XLXSBJCLWL_BJCLID ");
//取到材料后取到报价原材料
SQL.Add("left join XLXSBJCL b on b.XLXSBJCL_BJCLID = a.XLXSBJCL_JGYBJCLID ");
//关联报价单的材料行情----显示的是报价原材料的价格,所以使用报价原材料关联
SQL.Add("left join XLXSBJDCLHQ on XLXSBJDCLHQ_BJDID=:pBJDID and XLXSBJDCLHQ_BJCLID=isnull( a.XLXSBJCL_JGYBJCLID, ' ') ");
//关联报价单的物料行情----只有报价材料才有物料行情,此处直接关联
SQL.Add("left join XLXSBJDWLHQ on XLXSBJDWLHQ_BJDID=:pBJDID and XLXSBJDWLHQ_WLID=XLXSBJCLWL_WLID ");
SQL.Add("left join ");
SQL.Add("( ");
/*报价物料之报价日行情*/
SQL.Add("select WLID,XLXSWLHQ_WSJG as CLJG,XLXSWLHQ_HSJG as HSJG, ");
SQL.Add(" XLXSWLHQ_WSJGF as WSJGF,XLXSWLHQ_HSJGF as HSJGF ");
SQL.Add("from XLXSWLHQ, ");
SQL.Add("( ");
SQL.Add("select XLXSWLHQ_WLID as WLID,max(XLXSWLHQ_YXQS)as maxYXQS ");
SQL.Add("from XLXSWLHQ ");
SQL.Add("where XLXSWLHQ_JGBID=' ' ");
SQL.Add("and XLXSWLHQ_YXQS<=:pBJRQ and(XLXSWLHQ_YXQZ>=:pBJRQ or XLXSWLHQ_YXQZ is null) ");
SQL.Add("group by XLXSWLHQ_WLID ");
SQL.Add(") a ");
SQL.Add("where XLXSWLHQ_JGBID=' ' ");
SQL.Add("and XLXSWLHQ_WLID=WLID ");
SQL.Add("and XLXSWLHQ_YXQS=maxYXQS ");
SQL.Add(") bjrwlhq on bjrwlhq.WLID=XLXSBJCLWL_WLID ");
SQL.Add("left join WL on WL_WLID=XLXSBJCLWL_WLID ");
//SQL.Add("where XLXSBJCLWL_BJCLID=:pBJCLID ");
SQL.Add("where 1 = 1 ");
//只显示报价单明细用到的物料
SQL.Add(" and XLXSBJCLWL_WLID in ");
SQL.Add(" (");
SQL.Add(" select distinct case XLJGCZBLM_CLQDL ");
for (int i = 1; i <= 80; i++)
SQL.Add(string.Format("when '{0}' then XLXSCLQDWL_WLID{1}", "第" + i.ToString().PadLeft(2, '0') + "列", i.ToString().PadLeft(2, '0')));
SQL.Add(" else ' ' end as WLID ");
SQL.Add(" from XLXSBJDMX");
SQL.Add(" left join XLXSCLQD on XLXSCLQD_XLXHID=XLXSBJDMX_XLXHID and XLXSCLQD_XLGGID=XLXSBJDMX_XLGGID and XLXSCLQD_XLBZID=XLXSBJDMX_XLBZID and XLXSCLQD_DYDJID=isnull(XLXSBJDMX_DYDJID,' ')");
SQL.Add(" left join XLJGCZBLM on XLJGCZBLM_JGCZBID=XLXSCLQD_JGCZBID and XLJGCZBLM_JGCZBBBID=XLXSCLQD_JGCZBBBID");
SQL.Add(" left join XLXSBJCL on XLXSBJCL_BJCLID=XLJGCZBLM_BJCLID");
SQL.Add(" left join XLXSCLQDWL on XLXSCLQDWL_JGCZBID=XLXSCLQD_JGCZBID and XLXSCLQDWL_JGCZBBBID=XLXSCLQD_JGCZBBBID and XLXSCLQDWL_JGCZBXH=XLXSCLQD_JGCZBXH and XLXSCLQDWL_DRHH=XLXSCLQD_DRHH");
SQL.Add(" where XLXSBJDMX_BJDID=:pBJDID");
SQL.Add(" and isnull(XLJGCZBLM_CLQDL,' ')<>' '");
SQL.Add(" and XLXSCLQD_WPID='ZZZZ'");
SQL.Add(" and XLXSBJCL_BJHQ='2'");
SQL.Add(" ) ");
SQL.Add("order by XLXSBJCLWL_BJCLID,XLXSBJCLWL_WLID ");
SQL.ParamByName("pBJDID").Value = sBJDID;
SQL.ParamByName("pBJRQ").Value = sBJRQ;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
if (ds.Tables[0].Rows[i]["JGYBJCLXX"].ToString().Trim().Equals(""))
sWLIDList += ds.Tables[0].Rows[i]["XLXSBJCLWL_WLID"].ToString().Trim() + ",";
}
}
return sWLIDList.TrimEnd(',');
}
#region 控件事件
protected void lblGetToday_Click(object sender, EventArgs e)
{
txtTJ.Value = txtTodayTJ.Value;
txtLJ.Value = txtTodayLJ.Value;
}
protected void btnQR_Click(object sender, EventArgs e)
{
string sTBJLCID = PageParam.GetRTrimString("TBJCLID").Trim();
string sLBJCLID = PageParam.GetRTrimString("LBJCLID").Trim();
string sTLJMsg = "";
if (!sTBJLCID.Equals(""))
{
if (txtTJ.Value == 0)
sTLJMsg += "铜价";
}
if (!sLBJCLID.Equals(""))
{
if (txtLJ.Value == 0)
{
if (!sTLJMsg.Equals(""))
sTLJMsg += "、";
sTLJMsg += "铝价";
}
}
if (!sTLJMsg.Equals(""))
{
ShowMessage(sTLJMsg + "不允许为0!");
return;
}
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
if (chkQTCLQZXJ.Checked)
{
try
{
dberp.BeginTrans();
XLBJDUtils.InsertXLXSBJDCLHQ_WLHQ(dberp, SQL, PageParam.GetRTrimString("BJDHQLY"), PageParam.GetRTrimString("BJDID"), datLJRQ.Text, PageParam.GetRTrimString("HSBZ").Equals("Y"),
sTBJLCID, sLBJCLID,
CMISproConvert.StrToFloat(PageParam.GetRTrimString("TJ")), CMISproConvert.StrToFloat(PageParam.GetRTrimString("LJ")),
tSession.UserName, tSession.UserId, PageParam.GetRTrimString("JGBID"));
string sWLIDList = GetWLIDList(dberp, SQL, PageParam.GetRTrimString("BJDID"), datLJRQ.Text);
InsertXLXSBJDWLHQ(dberp, SQL, PageParam.GetRTrimString("BJDID"), sWLIDList);
dberp.CommitTrans();
}
catch (Exception ex)
{
dberp.RollbackTrans();
ShowMessage(ex.Message);
return;
}
}
string sErrMsg = "";
try
{
dberp.BeginTrans();
string sZDTLJ = "N";
if (chkZDTJ.Checked&&chkZDLJ.Checked)
sZDTLJ = "Y";
else if(chkZDTJ.Checked)
sZDTLJ = "T";
else if (chkZDLJ.Checked)
sZDTLJ = "L";
SQL.Clear();
SQL.Add("update XLXSBJD set XLXSBJD_TJ=:pTJ,XLXSBJD_LJ=:pLJ,XLXSBJD_TLJTZRQ=:pRQ,XLXSBJD_TLJZD=:pZDTLJ ");
SQL.Add(" where XLXSBJD_BJDID=:pBJDID");
SQL.ParamByName("pTJ").Value = txtTJ.Value;
SQL.ParamByName("pLJ").Value = txtLJ.Value;
SQL.ParamByName("pZDTLJ").Value = sZDTLJ;
if (!datLJRQ.Text.Equals(""))
SQL.ParamByName("pRQ").Value = CMISproConvert.StrToDateTime(datLJRQ.Text);
else
SQL.ParamByName("pRQ").Value = null;
SQL.ParamByName("pBJDID").Value = PageParam.GetRTrimString("BJDID");
dberp.ExecSQL(SQL);
if (chkQTCLQZXJ.Checked)
XLBJDUtils.UpdateBJDHQJGFByTLJ(dberp, SQL, PageParam.GetRTrimString("BJDID"), PageParam.GetRTrimString("TBJCLID"), PageParam.GetRTrimString("LBJCLID"),
datLJRQ.Text, tSession.UserId, tSession.UserName);
XLBJDUtils.UpdateBJDHQByTLJ(dberp, SQL, PageParam.GetRTrimString("BJDID"), PageParam.GetRTrimString("TBJCLID"), PageParam.GetRTrimString("LBJCLID"),
txtTJ.Value, txtLJ.Value, PageParam.GetRTrimString("HSBZ").Equals("Y"), tSession.UserId, tSession.UserName);
string sMSG = "";
if (PageParam.GetRTrimString("MXBH").Equals("JGE") || (PageParam.GetRTrimString("MXBH").Equals("JGB") && PageParam.GetRTrimString("JGBTJYS").Equals("3")))
{
XLBJDCalcUtils.CalcAfterBJDHQChange(dberp, SQL, PageParam.GetRTrimString("BJDID"), 1, GetOption("BJU002"), GetOption("BJU003"), GetOption("BJU018"), tSession.UserId, tSession.UserName,CalcAction.ReCalc, ref sErrMsg, datLJRQ.Text,chkQTCLQZXJ.Checked);
sMSG = "已重新完成报价计算!";
}
else
{
XLBJDCalcUtils.CalcBJDHQCLCB(dberp, SQL, PageParam.GetRTrimString("BJDID"), 1, PageParam.GetRTrimString("HSBZ").Equals("Y"), PageParam.GetRTrimString("JGBID"), PageParam.GetRTrimString("JGBIDS"), PageParam.GetRTrimString("JSBLFS"),
GetOption("BJU002"), GetOption("BJU003"), GetOption("BJU018"), tSession.UserId, tSession.UserName, ref sErrMsg);
string sJGBJJLY = XLBJDUtils.GetXLXSJGBXXByJGBID(PageParam.GetRTrimString("JGBID")).XLXSJGB_JJLY;
string ABJDHQJSBJ = XLBJDUtils.GetBJFLXX(PageParam.GetRTrimString("BJFLID")).XLXSBJFL_ABJDHQJSBJ;
if (ABJDHQJSBJ == "Y" && sJGBJJLY == "A")
{
string sBJDID = PageParam.GetRTrimString("BJDID");
#region 配置信息
SQL.Clear();
SQL.Add("select XLXSBJD_JGBID,XLXSJGB_MXBH,XLXSJGB_JGBIDS,XLXSJGB_JGCIDS,XLXSJGB_BJLY,XLXSJGB_TJYS,XLXSJGB_JSBLFS, ");
SQL.Add(" XLXSBJD_BJFLID,XLXSBJFL_BJDHQLY,XLXSBJFL_TZCLHQ,XLXSBJFL_JGBTJYSS,XLXSBJFL_BJJCLLX,XLXSBJFL_LJJCLLX,XLXSBJFL_CPBJMRXSWS,");
SQL.Add(" XLXSBJFL_ZDXJJCLLX,XLXSBJFL_JYF,XLXSBJFL_YFWLID,XLXSBJFL_BJHYF,XLXSBJFL_ZDXJGS,XLXSBJFL_JSJGS,");
SQL.Add(" XLXSBJD_JZBJHS,XLXSBJD_BJRQ");
SQL.Add(" from XLXSBJD ");
SQL.Add(" left join XLXSJGB on XLXSJGB_JGBID=XLXSBJD_JGBID ");
SQL.Add(" left join XLXSBJFL on XLXSBJFL_BJFLID=XLXSBJD_BJFLID");
SQL.Add(" where XLXSBJD_BJDID=:pBJDID");
SQL.ParamByName("pBJDID").Value = sBJDID;
DataSet dsBJD = dberp.OpenDataSet(SQL);
if (dsBJD.Tables[0].Rows.Count == 0)
{
return;
}
string sBJU002 = GetOption("BJU002");
int iXSWS = string.IsNullOrEmpty(sBJU002) ? 5 : CMISproConvert.StrToInt(sBJU002);
if (iXSWS < 0)
iXSWS = 0;
else if (iXSWS > 8)
iXSWS = 8;
bool bHSBZ = dsBJD.Tables[0].Rows[0]["XLXSBJD_JZBJHS"].ToString().Trim().Equals("Y");
string sBJRQ = dsBJD.Tables[0].Rows[0]["XLXSBJD_BJRQ"].ToString().Trim();
string sJGBID = dsBJD.Tables[0].Rows[0]["XLXSBJD_JGBID"].ToString().Trim();
string sMXBH = dsBJD.Tables[0].Rows[0]["XLXSJGB_MXBH"].ToString().Trim();
string sJGBIDS = dsBJD.Tables[0].Rows[0]["XLXSJGB_JGBIDS"].ToString().Trim();
string sJGCIDS = dsBJD.Tables[0].Rows[0]["XLXSJGB_JGCIDS"].ToString().Trim();
string sBJLY = dsBJD.Tables[0].Rows[0]["XLXSJGB_BJLY"].ToString().Trim();
string sTJYS = dsBJD.Tables[0].Rows[0]["XLXSJGB_TJYS"].ToString().Trim();
string sJSBLFS = dsBJD.Tables[0].Rows[0]["XLXSJGB_JSBLFS"].ToString().Trim();
string sBJFLID = dsBJD.Tables[0].Rows[0]["XLXSBJD_BJFLID"].ToString().Trim();
string sBJDHQLY = dsBJD.Tables[0].Rows[0]["XLXSBJFL_BJDHQLY"].ToString().Trim();//1|价格表行情、2|报价日行情
string sTZCLHQ = dsBJD.Tables[0].Rows[0]["XLXSBJFL_TZCLHQ"].ToString().Trim();//允许调整材料行情
string sJGBTJYSS = dsBJD.Tables[0].Rows[0]["XLXSBJFL_JGBTJYSS"].ToString().Trim();//价格表调价因素
string sJCLLX = dsBJD.Tables[0].Rows[0]["XLXSBJFL_BJJCLLX"].ToString().Trim();
string sLJJCLLX = dsBJD.Tables[0].Rows[0]["XLXSBJFL_LJJCLLX"].ToString().Trim();
string sCPBJMRXSWS = dsBJD.Tables[0].Rows[0]["XLXSBJFL_CPBJMRXSWS"].ToString().Trim();
string sZDXJJCLLX = dsBJD.Tables[0].Rows[0]["XLXSBJFL_ZDXJJCLLX"].ToString().Trim();
string sJYF = dsBJD.Tables[0].Rows[0]["XLXSBJFL_JYF"].ToString().Trim();
string sYFWLID = dsBJD.Tables[0].Rows[0]["XLXSBJFL_YFWLID"].ToString().Trim();
string sBJHYF = dsBJD.Tables[0].Rows[0]["XLXSBJFL_BJHYF"].ToString().Trim();
string sZDXJGS = dsBJD.Tables[0].Rows[0]["XLXSBJFL_ZDXJGS"].ToString().Trim();
string sJSJGS = dsBJD.Tables[0].Rows[0]["XLXSBJFL_JSJGS"].ToString().Trim();
#endregion
//同步报价单明细记录插入XLXSBJDCLCB、XLXSBJDJJYZ
XLBJDInfo.InsertCLCBandJJYZ(dberp, SQL, TControlState.ctsEdit, sBJDID, sJGBID, sBJRQ, tSession.UserId, tSession.UserName, GetOption("BJU003"), bHSBZ);
XLBJDUtils.UpdateBJDMX(dberp, SQL, sBJFLID, sBJDID, iXSWS, sJCLLX, sLJJCLLX, sCPBJMRXSWS, "", 1);
bool bZDXJTZ = false;
if (sZDXJGS.Contains("CLCB") || sZDXJGS.Contains("JGBJJ") || sZDXJGS.Contains("JGBBJ") || sZDXJGS.Contains("CPBJ"))
{
XLBJDUtils.UpdateZDXJGS(dberp, SQL, sBJDID, sBJFLID, sBJU002, "", 1);
bZDXJTZ = true;
}
if (sJSJGS.Contains("CLCB") || sJSJGS.Contains("JGBJJ") || sJSJGS.Contains("JGBBJ") || sJSJGS.Contains("CPBJ") || bZDXJTZ)
{
XLBJDUtils.UpdateJSJGS(dberp, SQL, sBJDID, sBJFLID, sBJU002, "", 1);
}
}
else
{
XLBJD_CLHQTZList.UpdateLJJCL(dberp, SQL, PageParam.GetRTrimString("BJDID"), PageParam.GetRTrimString("JCLLX"), PageParam.GetRTrimString("LJJCLLX"), PageParam.GetRTrimString("CPBJMRXSWS"), GetOption("BJU002"));
XLBJD_CLHQTZList.UpdateBJLJJCL(dberp, SQL, PageParam.GetRTrimString("BJDID"), PageParam.GetRTrimString("BJLJJCLLX"));
//只有最低限价公式中包含CPBJ,才需要触发计算最低限价
SQL.Clear();
SQL.Add("select XLXSBJFL_ZDXJGS,XLXSBJFL_JSJGS from XLXSBJFL where XLXSBJFL_BJFLID=:pBJFLID");
SQL.ParamByName("pBJFLID").Value = PageParam.GetRTrimString("BJFLID");
DataSet dsFL = dberp.OpenDataSet(SQL);
if (dsFL.Tables[0].Rows.Count > 0)
{
bool bZDXJTZ = false;
if (dsFL.Tables[0].Rows[0]["XLXSBJFL_ZDXJGS"].ToString().Trim().Contains("CPBJ"))
{
XLBJDUtils.UpdateZDXJGS(dberp, SQL, PageParam.GetRTrimString("BJDID"), PageParam.GetRTrimString("BJFLID"), GetOption("BJU002"), "", 1);
bZDXJTZ = true;
}
if (dsFL.Tables[0].Rows[0]["XLXSBJFL_JSJGS"].ToString().Trim().Contains("CPBJ") || bZDXJTZ)
{
XLBJDUtils.UpdateJSJGS(dberp, SQL, PageParam.GetRTrimString("BJDID"), PageParam.GetRTrimString("BJFLID"), GetOption("BJU002"), "", 1);
}
}
}
XLBJDUtils.UpdateXLXSBJD(dberp, SQL, PageParam.GetRTrimString("BJDID"), PageParam.GetRTrimString("JCLLX"), PageParam.GetRTrimString("LJJCLLX"), PageParam.GetRTrimString("ZDXJJCLLX"), PageParam.GetRTrimString("JYF"), PageParam.GetRTrimString("YSJDID"),
PageParam.GetRTrimString("GYSID"), PageParam.GetRTrimString("YFWLID"), PageParam.GetRTrimString("BJHYF"));
sMSG = "已重新完成报价单行情料价计算!";
}
dberp.CommitTrans();
string sNewBJDID = string.Empty;
string sBMYSLIST = XLBJDUtils.GetBMYSLIST(100860000);
if (sBMYSLIST.Contains("TJ"))
{
double dTJ = NumberUtils.RoundX(txtTJ.Value, 1) * 10;
string sYBJDID = PageParam.GetRTrimString("BJDID");
sNewBJDID = sYBJDID.Substring(0, sYBJDID.Length - 3) + XLBJDUtils.getTJTZM(dTJ);
if (sNewBJDID.Length > 20)
sNewBJDID = sNewBJDID.Substring(0, 20);
XLBJDInfo.UpdateSQL_BJDID("XLXSBJD", sNewBJDID, sYBJDID);
XLBJDInfo.UpdateSQL_BJDID("XLXSBJDMX", sNewBJDID, sYBJDID);
XLBJDInfo.UpdateSQL_BJDID("XLXSBJDYZZ0", sNewBJDID, sYBJDID);
XLBJDInfo.UpdateSQL_BJDID("XLXSBJDMXFD", sNewBJDID, sYBJDID);
XLBJDInfo.UpdateSQL_BJDID("XLXSBJDMXZP", sNewBJDID, sYBJDID);
XLBJDInfo.UpdateSQL_BJDID("XLXSBJDCLCB", sNewBJDID, sYBJDID);
XLBJDInfo.UpdateSQL_BJDID("XLXSBJDJJYZ", sNewBJDID, sYBJDID);
XLBJDInfo.UpdateSQL_BJDID("XLXSBJDCLHQ", sNewBJDID, sYBJDID);
XLBJDInfo.UpdateSQL_BJDID("XLXSBJDWLHQ", sNewBJDID, sYBJDID);
XLBJDInfo.UpdateSQL_BJDID("XLXSBJDBDMX", sNewBJDID, sYBJDID);
XLBJDInfo.UpdateSQL_BJDID("XLWBBJDML", sNewBJDID, sYBJDID);
XLBJDInfo.UpdateSQL_BJDID("XLWBBJDLM", sNewBJDID, sYBJDID);
XLBJDInfo.UpdateSQL_BJDID("XLWBBJDNR", sNewBJDID, sYBJDID);
XLBJDInfo.UpdateSQL_BJDID("XLWBBJDMX", sNewBJDID, sYBJDID);
XLBJDInfo.UpdateSQL_BJDID("XLXSBJDYZZC", sNewBJDID, sYBJDID);
XLBJDInfo.UpdateSQL_BJDID("XLXSBJZDCZ", sNewBJDID, sYBJDID);
XLBJDInfo.UpdateSQL_BJDID("XLXSBJKZXX", sNewBJDID, sYBJDID);
XLBJDInfo.UpdateSQL_BJDID("XLXSBJDGYJD", sNewBJDID, sYBJDID);
XLBJDInfo.UpdateSQL_BJDID("XLXSBJYLZD", sNewBJDID, sYBJDID);
XLBJDInfo.UpdateSQL_BJDID("XLXSBJFKCFMX", sNewBJDID, sYBJDID);
XLBJDInfo.UpdateSQL_BJDID("BJDCLYLBL", sNewBJDID, sYBJDID);
XLBJDInfo.UpdateSQL_BJDID("CLYLZDFP", sNewBJDID, sYBJDID);
XLBJDInfo.UpdateSQL_BJDID("XLXSBJAIWDJXRW", sNewBJDID, sYBJDID);
XLBJDInfo.UpdateSQL_BJDID("XLXSBJAIWD", sNewBJDID, sYBJDID);
}
DialogOperationScript dos = new DialogOperationScript(this);
dos.SetOwnerControlValue(PageParam.GetRTrimString("txtNEWBJDID"), sNewBJDID);
dos.ClickOwnerButton(PageParam.GetRTrimString("btnRefreshCLHQTZ"));
dos.ShowMessage(sMSG);
dos.CloseSelf();
dos.Execute();
}
catch (Exception ex)
{
ShowMessage(sErrMsg + " " + ex.Message);
dberp.RollbackTrans();
}
}
protected void btnQX_Click(object sender, EventArgs e)
{
CloseWindow();
}
protected void datLJRQ_TextChanged(object sender, EventArgs e)
{
Dictionary<string, string> dicTLJG = XLBJDInfo.GetTLJByRQ(datLJRQ.Text, PageParam.GetRTrimString("BJFLID"), PageParam.GetRTrimString("HSBZ").Equals("Y"));
txtTodayTJ.Value = CMISproConvert.StrToFloat(dicTLJG["TJ"], 0);
txtTodayLJ.Value = CMISproConvert.StrToFloat(dicTLJG["LJ"], 0);
txtTJWHSJ.Text = dicTLJG["TJWHSJ"];
txtLJWHSJ.Text = dicTLJG["LJWHSJ"];
Dictionary<string, string> dicNOWTLJG = XLBJDInfo.GetTLJByRQ(DateTime.Now.ToShortDateString(), PageParam.GetRTrimString("BJFLID"), PageParam.GetRTrimString("HSBZ").Equals("Y"));
if (dicNOWTLJG["TJ"].Equals(dicTLJG["TJ"]) &&dicNOWTLJG["LJ"].Equals(dicTLJG["LJ"]))
{
lblTodayTJ.Text = "【最新】铜价:";
chkQTCLQZXJ.Text = "其他材料取最新价";
lblGetToday.Text = "取最新铜铝价";
}
else
{
lblTodayTJ.Text = "铜价:";
chkQTCLQZXJ.Text = "其他材料取日期价";
lblGetToday.Text = "取日期铜铝价";
}
}
#endregion
}
}