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_CONTROL; namespace GThinking.N_XLXSBJ { public partial class XLBJD_WLHQTZList : OperationBase { XLBJD_WLHQTZ entity = new XLBJD_WLHQTZ(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860000; this.UMName = "线缆销售报价单"; this.CurMaster = Master; this.Tabs = Tab; this.PageHeight = 600; this.PageWidth = 850; CurMaster.BtnQueryVisible = false; CurMaster.BtnReportVisible = false; AddListSetMap(new ListSet(pagSHD2.ID, null, grdSHD2, entity, UPSHD2)); base.InitPage(); grdSHD2.EnabledToolBar = false; CurMaster.PnlBill.Visible = false; CurMaster.PnlQuery.Visible = false; //若当前选择的报价材料设置有加工原料,则只允许维护加工费;否则,直接维护价格 /* if (!PageParam.GetRTrimString("JGYBJCLID").Equals("")) { grdSHD2.FindColumnByFieldName("JGYBJCLXX").Visible = true; grdSHD2.FindColumnByFieldName("JGYBJCLID_WSJG").Visible = true; grdSHD2.FindColumnByFieldName("JGYBJCLID_HSJG").Visible = true; grdSHD2.FindColumnByFieldName("WSJGF").Visible = true; grdSHD2.FindColumnByFieldName("HSJGF").Visible = true; grdSHD2.FindColumnByFieldName("WSJG").ReadOnly = true; grdSHD2.FindColumnByFieldName("HSJG").ReadOnly = true; } else { grdSHD2.FindColumnByFieldName("JGYBJCLXX").Visible = false; grdSHD2.FindColumnByFieldName("JGYBJCLID_WSJG").Visible = false; grdSHD2.FindColumnByFieldName("JGYBJCLID_HSJG").Visible = false; grdSHD2.FindColumnByFieldName("WSJGF").Visible = false; grdSHD2.FindColumnByFieldName("HSJGF").Visible = false; grdSHD2.FindColumnByFieldName("WSJG").ReadOnly = false; grdSHD2.FindColumnByFieldName("HSJG").ReadOnly = false; } */ /* //若当前选择的报价材料设置有加工原料,则“更新自采购行情”不可见,因为调整材料行情界面的“更新自采购行情”会按报价材料的采购价格+物料的加工费作为物料的采购价格的 if (!PageParam.GetRTrimString("JGYBJCLID").Equals("")) { btnCGHQ.Visible = false; btnWLHQ.Visible = false; } else { btnCGHQ.Visible = true; btnWLHQ.Visible = true; } */ if (!IsPostBack) { Master_OnQuery(); GridDataBind(); } grdSHD2.FindColumnByFieldName("JGYBJCLID_WSJG").NumberDecimalPlace = XLBJDUtils.BJCLPriceDecimal; grdSHD2.FindColumnByFieldName("JGYBJCLID_HSJG").NumberDecimalPlace = XLBJDUtils.BJCLPriceDecimal; grdSHD2.FindColumnByFieldName("WSJGF").NumberDecimalPlace = XLBJDUtils.BJCLPriceDecimal; grdSHD2.FindColumnByFieldName("HSJGF").NumberDecimalPlace = XLBJDUtils.BJCLPriceDecimal; grdSHD2.FindColumnByFieldName("WSJG").NumberDecimalPlace = XLBJDUtils.BJCLPriceDecimal; grdSHD2.FindColumnByFieldName("HSJG").NumberDecimalPlace = XLBJDUtils.BJCLPriceDecimal; } #region 模板继承事件 protected override void Master_OnQuery() { entity.sBJDID = PageParam.GetRTrimString("BJDID"); entity.sWLVID = PageParam.GetRTrimString("WLVID"); entity.sCLVID = PageParam.GetRTrimString("CLVID"); entity.sRYID = CurSession.RYID; entity.sBJRQ = PageParam.GetRTrimString("BJRQ"); base.Master_OnQuery(); grdSHD2.SelectedIndex = -1; } protected override bool Master_OnOK() { bool bResult = base.Master_OnOK(); if (!bResult) return false; if (grdSHD2.Rows.Count <= 0) { CloseWindow(); return false;//这里返回false是为了解决关闭当前页面会同时关闭“调整材料行情”页面的问题 } TDatabase DBERP = TContextDatabases.GetDatabase("DBERP"); string sBJDID = PageParam.GetRTrimString("BJDID"); string sVWLID = PageParam.GetRTrimString("WLVID"); string sRYID = CurSession.RYID; if (!sBJDID.Equals("")) { try { DBERP.BeginTrans(); //先删物料行情 for (int i = 0; i < grdSHD2.NewRows.Count; i++) { DBERP.ExecSQL(string.Format("delete from V_XLXSBJDWLHQ where V_XLXSBJDWLHQ_BJDID='{0}' and V_XLXSBJDWLHQ_WLID='{1}'" + " and V_XLXSBJDWLHQ_ID='{2}' and V_XLXSBJDWLHQ_TZRYID='{3}'", sBJDID, grdSHD2.GetValueByFieldName("XLXSBJCLWL_WLID", grdSHD2.NewRows[i]).ToString().Trim(), sVWLID, sRYID)); } //再据界面输入构造,插入物料行情 TSQL tmpSQL = new TSQL(DBERP); tmpSQL.Clear(); tmpSQL.Add("insert into V_XLXSBJDWLHQ(V_XLXSBJDWLHQ_BJDID,V_XLXSBJDWLHQ_WLID,V_XLXSBJDWLHQ_WSJG,V_XLXSBJDWLHQ_HSJG,V_XLXSBJDWLHQ_WHRID,V_XLXSBJDWLHQ_WHR,V_XLXSBJDWLHQ_WHSJ,V_XLXSBJDWLHQ_WSJGF,V_XLXSBJDWLHQ_HSJGF,"); tmpSQL.Add("V_XLXSBJDWLHQ_ID,V_XLXSBJDWLHQ_TZRYID,V_XLXSBJDWLHQ_TZRYGH,V_XLXSBJDWLHQ_TZRYMC,V_XLXSBJDWLHQ_TIMESTAMP) "); for (int i = 0; i < grdSHD2.NewRows.Count; i++) { if (i != 0) { tmpSQL.Add(" union all "); } tmpSQL.Add(string.Format("select '{0}' as BJDID,'{1}' as WLID,{2} as WSJG,{3} as HSJG,'{4}' as WHRID,'{5}' as WHR,'{6}' as WHSJ,{7} as WSJGF,{8} as HSJGF,{9} as ID, " + " '{10}' as RYID,'{11}' as RYGH,'{12}' as RYMC,'{13}' as TIMESTAMP ", sBJDID, grdSHD2.GetValueByFieldName("XLXSBJCLWL_WLID", grdSHD2.NewRows[i]).ToString().Trim(), CMISproConvert.StrToFloat(grdSHD2.GetValueByFieldName("WSJG", grdSHD2.NewRows[i]).ToString().Trim()), CMISproConvert.StrToFloat(grdSHD2.GetValueByFieldName("HSJG", grdSHD2.NewRows[i]).ToString().Trim()), grdSHD2.GetValueByFieldName("XLXSBJDWLHQ_WHRID", grdSHD2.NewRows[i]).ToString().Trim().Equals("") ? CurSession.UserId : grdSHD2.GetValueByFieldName("XLXSBJDWLHQ_WHRID", grdSHD2.NewRows[i]).ToString().Trim(), grdSHD2.GetValueByFieldName("XLXSBJDWLHQ_WHR", grdSHD2.NewRows[i]).ToString().Trim().Equals("") ? CurSession.UserName : grdSHD2.GetValueByFieldName("XLXSBJDWLHQ_WHR", grdSHD2.NewRows[i]).ToString().Trim(), grdSHD2.GetValueByFieldName("XLXSBJDWLHQ_WHSJ", grdSHD2.NewRows[i]).ToString().Trim().Equals("") ? DateTime.Now.ToString().Trim() : grdSHD2.GetValueByFieldName("XLXSBJDWLHQ_WHSJ", grdSHD2.NewRows[i]).ToString().Trim(), CMISproConvert.StrToFloat(grdSHD2.GetValueByFieldName("WSJGF", grdSHD2.NewRows[i]).ToString().Trim()), CMISproConvert.StrToFloat(grdSHD2.GetValueByFieldName("HSJGF", grdSHD2.NewRows[i]).ToString().Trim()), sVWLID, CurSession.RYID, CurSession.UserId, CurSession.UserName, MISproUtils.GetServerTime().ToString().Trim())); } DBERP.ExecSQL(tmpSQL); DBERP.CommitTrans(); CloseWindow(); return false;//这里返回false是为了解决关闭当前页面会同时关闭“调整材料行情”页面的问题 } catch (Exception ex) { ShowMessage(ex.Message); DBERP.RollbackTrans(); return false; } } return true; } protected void grdSHD2_CalculateField(object sender, CalculateFieldEventArgs e) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); string sBJDID = PageParam.GetRTrimString("BJDID"); string sWLID = e.RowData["XLXSBJCLWL_WLID"].ToString().Trim(); if (e.EventFieldName.Equals("WSJG")) { double dHSJG = NumberUtils.RoundX(CMISproConvert.StrToFloat(e.EventFieldValue) * (1 + CMISproConvert.StrToFloat(e.RowData["XLXSBJCL_ZZSL"].ToString().Trim(), 0) / 100), XLBJDUtils.BJCLPriceDecimal); e.ResultPairs.Add("HSJG", dHSJG.ToString()); e.ResultPairs.Add("V_XLXSBJDWLHQ_WHR", CurSession.UserName); e.ResultPairs.Add("V_XLXSBJDWLHQ_WHRID", CurSession.UserId); e.ResultPairs.Add("V_XLXSBJDWLHQ_WHSJ", DateTime.Now.ToString().Trim()); } else if (e.EventFieldName.Equals("HSJG")) { double dWSJG = NumberUtils.RoundX(CMISproConvert.StrToFloat(e.EventFieldValue) / (1 + CMISproConvert.StrToFloat(e.RowData["XLXSBJCL_ZZSL"].ToString().Trim(), 0) / 100), XLBJDUtils.BJCLPriceDecimal); e.ResultPairs.Add("WSJG", dWSJG.ToString()); e.ResultPairs.Add("V_XLXSBJDWLHQ_WHR", CurSession.UserName); e.ResultPairs.Add("V_XLXSBJDWLHQ_WHRID", CurSession.UserId); e.ResultPairs.Add("V_XLXSBJDWLHQ_WHSJ", DateTime.Now.ToString().Trim()); } else if (e.EventFieldName.Equals("WSJGF")) { double dHSJGF = NumberUtils.RoundX(CMISproConvert.StrToFloat(e.EventFieldValue) * (1 + CMISproConvert.StrToFloat(e.RowData["XLXSBJCL_ZZSL"].ToString().Trim(), 0) / 100), XLBJDUtils.BJCLPriceDecimal); double dWSJG = CMISproConvert.StrToFloat(e.RowData["JGYBJCLID_WSJG"].ToString().Trim(), 0) + CMISproConvert.StrToFloat(e.EventFieldValue); double dHSJG = CMISproConvert.StrToFloat(e.RowData["JGYBJCLID_HSJG"].ToString().Trim(), 0) + dHSJGF; e.ResultPairs.Add("HSJGF", dHSJGF.ToString()); e.ResultPairs.Add("WSJG", dWSJG.ToString()); e.ResultPairs.Add("HSJG", dHSJG.ToString()); e.ResultPairs.Add("V_XLXSBJDWLHQ_WHR", CurSession.UserName); e.ResultPairs.Add("V_XLXSBJDWLHQ_WHRID", CurSession.UserId); e.ResultPairs.Add("V_XLXSBJDWLHQ_WHSJ", DateTime.Now.ToString().Trim()); } else if (e.EventFieldName.Equals("HSJGF")) { double dWSJGF = NumberUtils.RoundX(CMISproConvert.StrToFloat(e.EventFieldValue) / (1 + CMISproConvert.StrToFloat(e.RowData["XLXSBJCL_ZZSL"].ToString().Trim(), 0) / 100), XLBJDUtils.BJCLPriceDecimal); double dWSJG = CMISproConvert.StrToFloat(e.RowData["JGYBJCLID_WSJG"].ToString().Trim(), 0) + dWSJGF; double dHSJG = CMISproConvert.StrToFloat(e.RowData["JGYBJCLID_HSJG"].ToString().Trim(), 0) + CMISproConvert.StrToFloat(e.EventFieldValue); e.ResultPairs.Add("WSJGF", dWSJGF.ToString()); e.ResultPairs.Add("WSJG", dWSJG.ToString()); e.ResultPairs.Add("HSJG", dHSJG.ToString()); e.ResultPairs.Add("V_XLXSBJDWLHQ_WHR", CurSession.UserName); e.ResultPairs.Add("V_XLXSBJDWLHQ_WHRID", CurSession.UserId); e.ResultPairs.Add("V_XLXSBJDWLHQ_WHSJ", DateTime.Now.ToString().Trim()); } //SQL.Clear(); //SQL.Add(" select 1 from XLXSBJDWLHQ where XLXSBJCLWL_WLID = :pWLID and XLXSBJDWLHQ_BJDID = :pBJDID "); //SQL.ParamByName("pBJCLID").Value = sWLID; //SQL.ParamByName("pBJDID").Value = sBJDID; //DataSet dsBJDWLHQ = dberp.OpenDataSet(SQL); //if (dsBJDWLHQ.Tables[0].Rows.Count > 0) //{ // SQL.Clear(); // SQL.Add(" update XLXSBJDWLHQ "); // SQL.Add(" set XLXSBJDWLHQ_WSJG = :XLXSBJDWLHQ_WSJG,XLXSBJDWLHQ_HSJG=:XLXSBJDWLHQ_HSJG, "); // SQL.Add(" XLXSBJDWLHQ_WSJGF=:XLXSBJDWLHQ_WSJGF,XLXSBJDWLHQ_HSJGF=:XLXSBJDWLHQ_HSJGF,"); // SQL.Add(" XLXSBJDWLHQ_WHRID = :XLXSBJDWLHQ_WHRID, XLXSBJDWLHQ_WHR = :XLXSBJDWLHQ_WHR, XLXSBJDWLHQ_WHSJ = :XLXSBJDWLHQ_WHSJ"); // SQL.Add(" where XLXSBJDWLHQ_BJDID =:pBJDID and XLXSBJDWLHQ_WLID = :pWLID "); // SQL.ParamByName("XLXSBJDWLHQ_WSJG").Value = sWSJG; // SQL.ParamByName("XLXSBJDWLHQ_HSJG").Value = sHSJG; // SQL.ParamByName("XLXSBJDWLHQ_WSJGF").Value = sWSJGF; // SQL.ParamByName("XLXSBJDWLHQ_HSJGF").Value = sHSJGF; // SQL.ParamByName("XLXSBJDWLHQ_WHR").Value = CurSession.UserName; // SQL.ParamByName("XLXSBJDWLHQ_WHRID").Value = CurSession.UserId; // SQL.ParamByName("XLXSBJDWLHQ_WHSJ").Value = DateTime.Now; // SQL.ParamByName("pWLID").Value = sWLID; // SQL.ParamByName("pBJDID").Value = sBJDID; // dberp.ExecSQL(SQL); //} //else //{ // //插入 // SQL.Clear(); // SQL.Add(" insert into XLXSBJDWLHQ( "); // SQL.Add(" XLXSBJDWLHQ_WLID,XLXSBJDWLHQ_BJDID, XLXSBJDWLHQ_WSJG,XLXSBJDWLHQ_HSJG, XLXSBJDWLHQ_WSJGF,XLXSBJDWLHQ_HSJGF, "); // SQL.Add(" XLXSBJDWLHQ_WHRID, XLXSBJDWLHQ_WHR, XLXSBJDWLHQ_WHSJ )"); // SQL.Add(" values("); // SQL.Add(" :XLXSBJDWLHQ_WLID, :XLXSBJDWLHQ_BJDID, :XLXSBJDWLHQ_WSJG,:XLXSBJDWLHQ_HSJG, :XLXSBJDWLHQ_WSJGF, :XLXSBJDWLHQ_HSJGF,"); // SQL.Add(" :XLXSBJDWLHQ_WHRID, :XLXSBJDWLHQ_WHR, :XLXSBJDWLHQ_WHSJ )"); // SQL.ParamByName("XLXSBJDWLHQ_WLID").Value = sWLID; // SQL.ParamByName("XLXSBJDWLHQ_BJDID").Value = sBJDID; // SQL.ParamByName("XLXSBJDWLHQ_WSJG").Value = sWSJG; // SQL.ParamByName("XLXSBJDWLHQ_HSJG").Value = sHSJG; // SQL.ParamByName("XLXSBJDWLHQ_WSJGF").Value = sWSJGF; // SQL.ParamByName("XLXSBJDWLHQ_HSJGF").Value = sHSJGF; // SQL.ParamByName("XLXSBJDWLHQ_WHR").Value = CurSession.UserName; // SQL.ParamByName("XLXSBJDWLHQ_WHRID").Value = CurSession.UserId; // SQL.ParamByName("XLXSBJDWLHQ_WHSJ").Value = DateTime.Now; // dberp.ExecSQL(SQL); //} } #endregion #region 自定义函数 #endregion #region 控件事件 protected void btnCGHQ_OnClick(object sender, EventArgs e) { Confirm.Register("IsQD", "将使用今天最新的物料采购价格进行更新,是否继续?"); 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(); } string sWLIDList = ""; foreach (GridViewRow row in grdSHD2.NewRows) { if (grdSHD2.GetValueByFieldName("JGYBJCLXX", row).Trim().Equals("")) { sWLIDList += grdSHD2.GetValueByFieldName("XLXSBJCLWL_WLID", row).Trim() + ","; } } sWLIDList = sWLIDList.TrimEnd(','); //用物料采购价格进行更新,只更新没有加工关系的物料 //差异#2021030856-两个按钮不用考虑报价单日期,直接取当天最新行情 TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("merge into V_XLXSBJDWLHQ "); SQL.Add("using "); SQL.Add("( "); SQL.Add("select :pBJDID as BJDID,XLXSBJCLWL_WLID as WLID, "); SQL.Add("isnull(XLXSWLHQ_WSCGJG,0) as WSJG, "); SQL.Add("isnull(XLXSWLHQ_HSCGJG,0) as HSJG "); SQL.Add("from XLXSBJCLWL "); SQL.Add("left join "); SQL.Add(" (select XLXSWLHQ_WLID,XLXSWLHQ_WSCGJG,XLXSWLHQ_HSCGJG"); 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 (V_XLXSBJDWLHQ_BJDID=B.BJDID and V_XLXSBJDWLHQ_WLID=B.WLID and V_XLXSBJDWLHQ_ID=:pWLVID and V_XLXSBJDWLHQ_TZRYID=:pRYID ) "); SQL.Add("when matched then "); SQL.Add("update set V_XLXSBJDWLHQ_WSJG=B.WSJG,V_XLXSBJDWLHQ_HSJG=B.HSJG, "); SQL.Add(" V_XLXSBJDWLHQ_WHR=:pWHR,V_XLXSBJDWLHQ_WHRID=:pWHRID,V_XLXSBJDWLHQ_WHSJ=:pWHSJ "); SQL.Add("when not matched then "); SQL.Add("insert (V_XLXSBJDWLHQ_BJDID,V_XLXSBJDWLHQ_WLID,V_XLXSBJDWLHQ_WSJG,V_XLXSBJDWLHQ_HSJG,V_XLXSBJDWLHQ_WSJGF,V_XLXSBJDWLHQ_HSJGF,"); SQL.Add("V_XLXSBJDWLHQ_ID,V_XLXSBJDWLHQ_TZRYID,V_XLXSBJDWLHQ_TZRYGH,V_XLXSBJDWLHQ_TZRYMC,V_XLXSBJDWLHQ_TIMESTAMP,V_XLXSBJDWLHQ_WHR,V_XLXSBJDWLHQ_WHRID,V_XLXSBJDWLHQ_WHSJ) "); SQL.Add("values (B.BJDID,B.WLID,B.WSJG,B.HSJG,0,0,:pWLVID,:pRYID,:pRYGH,:pRYMC,:pTIMESTAMP,:pWHR,:pWHRID,:pWHSJ) "); SQL.ParamByName("pBJDID").Value = PageParam.GetRTrimString("BJDID"); SQL.ParamByName("pWLVID").Value = PageParam.GetRTrimString("WLVID"); SQL.ParamByName("pRYID").Value = CurSession.RYID; SQL.ParamByName("pRYGH").Value = CurSession.UserId; SQL.ParamByName("pRYMC").Value = CurSession.UserName; SQL.ParamByName("pTIMESTAMP").Value = MISproUtils.GetServerTime(); SQL.ParamByName("pBJRQ").Value = CMISproConvert.ConvertDate(DateTime.Now); SQL.ParamByName("pWHR").Value = CurSession.UserName; SQL.ParamByName("pWHRID").Value = CurSession.UserId; SQL.ParamByName("pWHSJ").Value = DateTime.Now; dberp.ExecSQL(SQL); //刷新 Master_OnQuery(); GridDataBind(); FormAreaUpdate(); ShowMessage("更新完成!"); } protected void btnWLHQ_OnClick(object sender, EventArgs e) { Confirm.Register("IsQD", "将使用今天最新的物料价格进行更新,是否继续?"); 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(); } string sWLIDList = ""; foreach (GridViewRow row in grdSHD2.NewRows) { if (grdSHD2.GetValueByFieldName("JGYBJCLXX", row).Trim().Equals("")) { sWLIDList += grdSHD2.GetValueByFieldName("XLXSBJCLWL_WLID", row).Trim() + ","; } } sWLIDList = sWLIDList.TrimEnd(','); //用物料材料价格进行更新,只更新没有加工关系的物料 //差异#2021030856-两个按钮不用考虑报价单日期,直接取当天最新行情 TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("merge into V_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 (V_XLXSBJDWLHQ_BJDID=B.BJDID and V_XLXSBJDWLHQ_WLID=B.WLID and V_XLXSBJDWLHQ_ID=:pWLVID and V_XLXSBJDWLHQ_TZRYID=:pRYID ) "); SQL.Add("when matched then "); SQL.Add("update set V_XLXSBJDWLHQ_WSJG=B.WSJG,V_XLXSBJDWLHQ_HSJG=B.HSJG, "); SQL.Add(" V_XLXSBJDWLHQ_WHR=:pWHR,V_XLXSBJDWLHQ_WHRID=:pWHRID,V_XLXSBJDWLHQ_WHSJ=:pWHSJ "); SQL.Add("when not matched then "); SQL.Add("insert (V_XLXSBJDWLHQ_BJDID,V_XLXSBJDWLHQ_WLID,V_XLXSBJDWLHQ_WSJG,V_XLXSBJDWLHQ_HSJG,V_XLXSBJDWLHQ_WSJGF,V_XLXSBJDWLHQ_HSJGF,"); SQL.Add("V_XLXSBJDWLHQ_ID,V_XLXSBJDWLHQ_TZRYID,V_XLXSBJDWLHQ_TZRYGH,V_XLXSBJDWLHQ_TZRYMC,V_XLXSBJDWLHQ_TIMESTAMP,V_XLXSBJDWLHQ_WHR,V_XLXSBJDWLHQ_WHRID,V_XLXSBJDWLHQ_WHSJ) "); SQL.Add("values (B.BJDID,B.WLID,B.WSJG,B.HSJG,0,0,:pWLVID,:pRYID,:pRYGH,:pRYMC,:pTIMESTAMP,:pWHR,:pWHRID,:pWHSJ) "); SQL.ParamByName("pBJDID").Value = PageParam.GetRTrimString("BJDID"); SQL.ParamByName("pWLVID").Value = PageParam.GetRTrimString("WLVID"); SQL.ParamByName("pRYID").Value = CurSession.RYID; SQL.ParamByName("pRYGH").Value = CurSession.UserId; SQL.ParamByName("pRYMC").Value = CurSession.UserName; SQL.ParamByName("pTIMESTAMP").Value = MISproUtils.GetServerTime(); SQL.ParamByName("pBJRQ").Value = CMISproConvert.ConvertDate(DateTime.Now); SQL.ParamByName("pWHR").Value = CurSession.UserName; SQL.ParamByName("pWHRID").Value = CurSession.UserId; SQL.ParamByName("pWHSJ").Value = DateTime.Now; dberp.ExecSQL(SQL); //刷新 Master_OnQuery(); GridDataBind(); FormAreaUpdate(); ShowMessage("更新完成!"); } #endregion } }