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 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 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 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 } }