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; using GThinking.N_MISPRO.Caching; namespace GThinking.N_XLXSBJ { public partial class JGBPZ_HQFZJGBInfo : SingleCardBase { JGBPZ_HQFZJGB entity = new JGBPZ_HQFZJGB(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860036; this.UMName = "线缆销售报价价格目录配置"; this.CurMaster = Master; this.CurEntity = entity; this.PageHeight = 180; 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(); } #region 模板继承事件 #endregion #region 自定义函数 #endregion #region 控件事件 protected void btnQR_Click(object sender, EventArgs e) { if (txtJGBMC.Text.Trim().Equals("")) { ShowMessage("价格表名称--不允许为空!"); return; } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); string sGetJGBID = PageParam.GetRTrimString("JGBID"); string sGetJGBMC = PageParam.GetRTrimString("JGBMC"); if (sGetJGBID.Equals("")) { //同之前的操作包含两层含义: //1、单一价格表的直接新增 //2、组合价格表的直接新增 try { dberp.BeginTrans(); #region 如果是组合产品目录,先进行判断,构建出JGCIDS string sJGCIDs = ""; if (PageParam.GetRTrimString("CPMLLX").Equals("Y"))//组合产品目录 { string sErrorMsg = ""; sJGCIDs = JGBPZ.GetJGCIDS(dberp, SQL, PageParam.GetRTrimString("JGBPZDH"), PageParam.GetRTrimString("CLHQZH"), PageParam.GetRTrimString("CPMLIDS"), PageParam.GetRTrimString("BJCLIDS"), ref sErrorMsg); if (!sErrorMsg.Equals("")) { ShowMessage(sErrorMsg); dberp.CommitTrans(); return; } } #endregion string sJGBID = JGBMLInfo.getNewJGBBH(); SQL.Clear(); SQL.Add("update XLXSJGBPZJGB set XLXSJGBPZJGB_JGBID=:pJGBID,XLXSJGBPZJGB_JGBMC=:pJGBMC where XLXSJGBPZJGB_JGBPZDH=:pJGBPZDH and XLXSJGBPZJGB_CLHQZH=:pCLHQZH"); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pJGBMC").Value = txtJGBMC.Text.Trim(); SQL.ParamByName("pJGBPZDH").Value = PageParam.GetRTrimString("JGBPZDH"); SQL.ParamByName("pCLHQZH").Value = PageParam.GetRTrimString("CLHQZH"); dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add("insert into XLXSJGB(XLXSJGB_MXBH,XLXSJGB_JGBID,XLXSJGB_JGBMC,XLXSJGB_YXQS,XLXSJGB_TJYS,XLXSJGB_JJLY,XLXSJGB_BJLY,XLXSJGB_WHRID,XLXSJGB_WHR,XLXSJGB_WHSJ,XLXSJGB_JGCIDS,XLXSJGB_CPMLID) "); SQL.Add("values(:XLXSJGB_MXBH,:XLXSJGB_JGBID,:XLXSJGB_JGBMC,:XLXSJGB_YXQS,:XLXSJGB_TJYS,:XLXSJGB_JJLY,:XLXSJGB_BJLY,:XLXSJGB_WHRID,:XLXSJGB_WHR,:XLXSJGB_WHSJ,:XLXSJGB_JGCIDS,:XLXSJGB_CPMLID)"); SQL.ParamByName("XLXSJGB_MXBH").Value = PageParam.GetRTrimString("MXBH"); SQL.ParamByName("XLXSJGB_JGBID").Value = sJGBID; SQL.ParamByName("XLXSJGB_JGBMC").Value = txtJGBMC.Text.Trim(); SQL.ParamByName("XLXSJGB_YXQS").Value = DateTime.Now.ToShortDateString(); //J|按调价因素计算-D|直接导入-C|基价价格表表价 if (PageParam.GetRTrimString("CPMLLX").Equals("Y"))//组合产品目录 { SQL.ParamByName("XLXSJGB_BJLY").Value = "C"; } else { SQL.ParamByName("XLXSJGB_BJLY").Value = "J"; } SQL.ParamByName("XLXSJGB_TJYS").Value = PageParam.GetRTrimString("TJYS"); SQL.ParamByName("XLXSJGB_JJLY").Value = JGBPZ.GetJJLY(PageParam.GetRTrimString("TJYS")); SQL.ParamByName("XLXSJGB_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSJGB_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSJGB_WHSJ").Value = DateTime.Now; SQL.ParamByName("XLXSJGB_JGCIDS").Value = sJGCIDs; SQL.ParamByName("XLXSJGB_CPMLID").Value = PageParam.GetRTrimString("CPMLID"); dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add("insert into XLXSJGBCLHQFD(XLXSJGBCLHQFD_MXBH,XLXSJGBCLHQFD_JGBID,XLXSJGBCLHQFD_BJCLID,XLXSJGBCLHQFD_HSJGS,XLXSJGBCLHQFD_HSJGZ,XLXSJGBCLHQFD_CLJGS,XLXSJGBCLHQFD_CLJGZ,XLXSJGBCLHQFD_WHRID,XLXSJGBCLHQFD_WHR,XLXSJGBCLHQFD_WHSJ) "); SQL.Add("select :pMXBH,:pJGBID,XLXSCLHQFD_BJCLID,XLXSCLHQFD_HSJGS,XLXSCLHQFD_HSJGZ,XLXSCLHQFD_CLJGS,XLXSCLHQFD_CLJGZ,:pWHRID,:pWHR,:pWHSJ"); SQL.Add(" from XLXSJGBPZCLHQFD,XLXSCLHQFD"); SQL.Add(" where XLXSJGBPZCLHQFD_JGBPZDH=:pJGBPZDH"); SQL.Add(" and XLXSJGBPZCLHQFD_CLHQZH=:pCLHQZH"); SQL.Add(" and XLXSCLHQFD_BJCLID=XLXSJGBPZCLHQFD_BJCLID"); SQL.Add(" and XLXSCLHQFD_CLHQDH=XLXSJGBPZCLHQFD_CLHQDH"); SQL.ParamByName("pMXBH").Value = PageParam.GetRTrimString("MXBH"); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pWHRID").Value = tSession.UserId; SQL.ParamByName("pWHR").Value = tSession.UserName; SQL.ParamByName("pWHSJ").Value = DateTime.Now; SQL.ParamByName("pJGBPZDH").Value = PageParam.GetRTrimString("JGBPZDH"); SQL.ParamByName("pCLHQZH").Value = PageParam.GetRTrimString("CLHQZH"); dberp.ExecSQL(SQL); if (PageParam.GetRTrimString("MXBH").Equals("JGB") || PageParam.GetRTrimString("MXBH").Equals("JGC")) { //取材料行情插入新价格表的材料行情 SQL.Clear(); SQL.Add("insert into XLXSCLHQ(XLXSCLHQ_JGBID,XLXSCLHQ_BJCLID,XLXSCLHQ_HSJG,XLXSCLHQ_WSJG,XLXSCLHQ_YXQS,XLXSCLHQ_YXQZ,XLXSCLHQ_BZ,XLXSCLHQ_WHRID,XLXSCLHQ_WHR,XLXSCLHQ_WHSJ) "); SQL.Add("select :pJGBID as JGBID,XLXSBJCL_BJCLID as BJCLID,isnull(HSJG,0.0) as HSJG,isnull(CLJG,0.0) as CLJG,convert(datetime,'1900-01-01 00:00:00') as YXQS,convert(datetime,'1900-01-01 00:00:00') as YXQZ,"); SQL.Add(" ' ' as BZ,:pWHRID as WHRID,:pWHR as WHR,:pWHSJ as WHSJ "); SQL.Add("from XLXSBJCL left join "); SQL.Add("("); SQL.Add("select XLXSCLHQ_BJCLID as BJCLID,XLXSCLHQ_HSJG as HSJG,XLXSCLHQ_WSJG as CLJG "); SQL.Add("from XLXSCLHQ, "); SQL.Add("("); SQL.Add("select XLXSCLHQ_BJCLID as BJCLID,max(XLXSCLHQ_YXQS) as maxYXQS "); SQL.Add("from XLXSCLHQ "); SQL.Add("where XLXSCLHQ_JGBID='ZZZZZZZZ' "); SQL.Add("and XLXSCLHQ_YXQS<=:pYXQS "); SQL.Add("and XLXSCLHQ_YXQZ is null "); SQL.Add("group by XLXSCLHQ_BJCLID "); SQL.Add(") a "); SQL.Add("where XLXSCLHQ_JGBID='ZZZZZZZZ' "); SQL.Add("and XLXSCLHQ_BJCLID=BJCLID "); SQL.Add("and XLXSCLHQ_YXQS=maxYXQS "); SQL.Add(") b on BJCLID=XLXSBJCL_BJCLID "); SQL.Add("where isnull(XLXSBJCL_BJCLMC,' ')<>' ' and isnull(XLXSBJCL_TYBZ,'N') <> 'Y' "); SQL.Add("and not exists (select 1 from XLXSCLHQ where XLXSCLHQ_JGBID=:pJGBID and XLXSCLHQ_BJCLID=XLXSBJCL_BJCLID and XLXSCLHQ_YXQS='1900-01-01 00:00:00.000') "); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pWHRID").Value = tSession.UserId; SQL.ParamByName("pWHR").Value = tSession.UserName; SQL.ParamByName("pWHSJ").Value = DateTime.Now; SQL.ParamByName("pYXQS").Value = DateTime.Now.ToShortDateString(); dberp.ExecSQL(SQL); if (XLBJDUtils.HasJGBWLHQ(sJGBID))//判断价格表是否记录物料行情 { //取物料行情插入新价格表的物料行情 SQL.Clear(); SQL.Add("insert into XLXSWLHQ(XLXSWLHQ_JGBID,XLXSWLHQ_WLID,XLXSWLHQ_HSJG,XLXSWLHQ_WSJG,XLXSWLHQ_YXQS,XLXSWLHQ_YXQZ,XLXSWLHQ_BZ,XLXSWLHQ_WHRID,XLXSWLHQ_WHR,XLXSWLHQ_WHSJ) "); SQL.Add("select :pJGBID as JGBID,XLXSBJCLWL_WLID as WLID,isnull(HSJG,0.0) as HSJG,isnull(CLJG,0.0) as CLJG,convert(datetime,'1900-01-01 00:00:00') as YXQS,convert(datetime,'1900-01-01 00:00:00') as YXQZ,"); SQL.Add(" ' ' as BZ,:pWHRID as WHRID,:pWHR as WHR,:pWHSJ as WHSJ "); SQL.Add("from XLXSBJCLWL left join "); SQL.Add("("); SQL.Add("select XLXSWLHQ_WLID as WLID,XLXSWLHQ_HSJG as HSJG,XLXSWLHQ_WSJG as CLJG "); 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<=:pYXQS "); SQL.Add("and 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(") b on WLID=XLXSBJCLWL_WLID "); SQL.Add("where exists(select 1 from XLXSBJCL where XLXSBJCL_BJCLID=XLXSBJCLWL_BJCLID and XLXSBJCL_BJHQ='2') "); SQL.Add("and not exists (select 1 from XLXSWLHQ where XLXSWLHQ_JGBID=:pJGBID and XLXSWLHQ_WLID=XLXSBJCLWL_WLID and XLXSWLHQ_YXQS='1900-01-01 00:00:00.000') "); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pWHRID").Value = tSession.UserId; SQL.ParamByName("pWHR").Value = tSession.UserName; SQL.ParamByName("pWHSJ").Value = DateTime.Now; SQL.ParamByName("pYXQS").Value = DateTime.Now.ToShortDateString(); dberp.ExecSQL(SQL); } } dberp.CommitTrans(); if (PageParam.GetRTrimString("MXBH").Equals("JGB")) { ShowMessage("已成功派生报价价格表:" + sJGBID + "|" + txtJGBMC.Text.Trim()); } else { ShowMessage("已成功派生基价价格表:" + sJGBID + "|" + txtJGBMC.Text.Trim()); } } catch (Exception ex) { ShowMessage(ex.Message); dberp.RollbackTrans(); } } else { //sGetJGBID不为空,表明需要用新建的价格表替换sGetJGBID //仅单一价格表能打开替换(仅能派生基价价格表),组合价格表的打开替换 string sWarnMsg = ""; sWarnMsg = "是否需要用新派生的价格表替换原价格表【" + sGetJGBID + "|" + sGetJGBMC + "】?"; Confirm.Register("IsQD", sWarnMsg); Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No; if (Confirm.GetValue("IsQD").Trim().Equals("")) { Confirm.Ask("IsQD"); return; } else if (Confirm.GetValue("IsQD").Trim().Equals("N")) { Confirm.Clear(); return; } else if (Confirm.GetValue("IsQD").Trim().Equals("Y")) { Confirm.Clear(); } try { dberp.BeginTrans(); string sJGCIDs = " "; string sJGBMC = txtJGBMC.Text.Trim(); string sJGBID = JGBMLInfo.getNewJGBBH(); #region 先完成价格表的新增--JGC SQL.Clear(); SQL.Add("insert into XLXSJGB(XLXSJGB_MXBH,XLXSJGB_JGBID,XLXSJGB_JGBMC,XLXSJGB_YXQS,XLXSJGB_TJYS,XLXSJGB_JJLY,XLXSJGB_BJLY,XLXSJGB_WHRID,XLXSJGB_WHR,XLXSJGB_WHSJ,XLXSJGB_JGCIDS,XLXSJGB_CPMLID) "); SQL.Add("values(:XLXSJGB_MXBH,:XLXSJGB_JGBID,:XLXSJGB_JGBMC,:XLXSJGB_YXQS,:XLXSJGB_TJYS,:XLXSJGB_JJLY,:XLXSJGB_BJLY,:XLXSJGB_WHRID,:XLXSJGB_WHR,:XLXSJGB_WHSJ,:XLXSJGB_JGCIDS,:XLXSJGB_CPMLID)"); SQL.ParamByName("XLXSJGB_MXBH").Value = PageParam.GetRTrimString("MXBH"); SQL.ParamByName("XLXSJGB_JGBID").Value = sJGBID; SQL.ParamByName("XLXSJGB_JGBMC").Value = txtJGBMC.Text.Trim(); SQL.ParamByName("XLXSJGB_YXQS").Value = DateTime.Now.ToShortDateString(); //J|按调价因素计算-D|直接导入-C|基价价格表表价 SQL.ParamByName("XLXSJGB_BJLY").Value = "J"; SQL.ParamByName("XLXSJGB_TJYS").Value = PageParam.GetRTrimString("TJYS"); SQL.ParamByName("XLXSJGB_JJLY").Value = JGBPZ.GetJJLY(PageParam.GetRTrimString("TJYS")); SQL.ParamByName("XLXSJGB_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSJGB_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSJGB_WHSJ").Value = DateTime.Now; SQL.ParamByName("XLXSJGB_JGCIDS").Value = sJGCIDs; SQL.ParamByName("XLXSJGB_CPMLID").Value = PageParam.GetRTrimString("CPMLID"); dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add("update XLXSJGBPZJGB set XLXSJGBPZJGB_JGBID=:pJGBID,XLXSJGBPZJGB_JGBMC=:pJGBMC where XLXSJGBPZJGB_JGBPZDH=:pJGBPZDH and XLXSJGBPZJGB_CLHQZH=:pCLHQZH"); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pJGBMC").Value = txtJGBMC.Text.Trim(); SQL.ParamByName("pJGBPZDH").Value = PageParam.GetRTrimString("JGBPZDH"); SQL.ParamByName("pCLHQZH").Value = PageParam.GetRTrimString("CLHQZH"); dberp.ExecSQL(SQL); //后续插入 //SQL.Clear(); //SQL.Add("insert into XLXSJGBCLHQFD(XLXSJGBCLHQFD_MXBH,XLXSJGBCLHQFD_JGBID,XLXSJGBCLHQFD_BJCLID,XLXSJGBCLHQFD_HSJGS,XLXSJGBCLHQFD_HSJGZ,XLXSJGBCLHQFD_CLJGS,XLXSJGBCLHQFD_CLJGZ,XLXSJGBCLHQFD_WHRID,XLXSJGBCLHQFD_WHR,XLXSJGBCLHQFD_WHSJ) "); //SQL.Add("select :pMXBH,:pJGBID,XLXSCLHQFD_BJCLID,XLXSCLHQFD_HSJGS,XLXSCLHQFD_HSJGZ,XLXSCLHQFD_CLJGS,XLXSCLHQFD_CLJGZ,:pWHRID,:pWHR,:pWHSJ"); //SQL.Add(" from XLXSJGBPZCLHQFD,XLXSCLHQFD"); //SQL.Add(" where XLXSJGBPZCLHQFD_JGBPZDH=:pJGBPZDH"); //SQL.Add(" and XLXSJGBPZCLHQFD_CLHQZH=:pCLHQZH"); //SQL.Add(" and XLXSCLHQFD_BJCLID=XLXSJGBPZCLHQFD_BJCLID"); //SQL.Add(" and XLXSCLHQFD_CLHQDH=XLXSJGBPZCLHQFD_CLHQDH"); //SQL.ParamByName("pMXBH").Value = PageParam.GetRTrimString("MXBH"); //SQL.ParamByName("pJGBID").Value = sJGBID; //SQL.ParamByName("pWHRID").Value = tSession.UserId; //SQL.ParamByName("pWHR").Value = tSession.UserName; //SQL.ParamByName("pWHSJ").Value = DateTime.Now; //SQL.ParamByName("pJGBPZDH").Value = PageParam.GetRTrimString("JGBPZDH"); //SQL.ParamByName("pCLHQZH").Value = PageParam.GetRTrimString("CLHQZH"); //dberp.ExecSQL(SQL); if (PageParam.GetRTrimString("MXBH").Equals("JGB") || PageParam.GetRTrimString("MXBH").Equals("JGC")) { //取材料行情插入新价格表的材料行情 SQL.Clear(); SQL.Add("insert into XLXSCLHQ(XLXSCLHQ_JGBID,XLXSCLHQ_BJCLID,XLXSCLHQ_HSJG,XLXSCLHQ_WSJG,XLXSCLHQ_YXQS,XLXSCLHQ_YXQZ,XLXSCLHQ_BZ,XLXSCLHQ_WHRID,XLXSCLHQ_WHR,XLXSCLHQ_WHSJ) "); SQL.Add("select :pJGBID as JGBID,XLXSBJCL_BJCLID as BJCLID,isnull(HSJG,0.0) as HSJG,isnull(CLJG,0.0) as CLJG,convert(datetime,'1900-01-01 00:00:00') as YXQS,convert(datetime,'1900-01-01 00:00:00') as YXQZ,"); SQL.Add(" ' ' as BZ,:pWHRID as WHRID,:pWHR as WHR,:pWHSJ as WHSJ "); SQL.Add("from XLXSBJCL left join "); SQL.Add("("); SQL.Add("select XLXSCLHQ_BJCLID as BJCLID,XLXSCLHQ_HSJG as HSJG,XLXSCLHQ_WSJG as CLJG "); SQL.Add("from XLXSCLHQ, "); SQL.Add("("); SQL.Add("select XLXSCLHQ_BJCLID as BJCLID,max(XLXSCLHQ_YXQS) as maxYXQS "); SQL.Add("from XLXSCLHQ "); SQL.Add("where XLXSCLHQ_JGBID='ZZZZZZZZ' "); SQL.Add("and XLXSCLHQ_YXQS<=:pYXQS "); SQL.Add("and XLXSCLHQ_YXQZ is null "); SQL.Add("group by XLXSCLHQ_BJCLID "); SQL.Add(") a "); SQL.Add("where XLXSCLHQ_JGBID='ZZZZZZZZ' "); SQL.Add("and XLXSCLHQ_BJCLID=BJCLID "); SQL.Add("and XLXSCLHQ_YXQS=maxYXQS "); SQL.Add(") b on BJCLID=XLXSBJCL_BJCLID "); SQL.Add("where isnull(XLXSBJCL_BJCLMC,' ')<>' ' and isnull(XLXSBJCL_TYBZ,'N') <> 'Y' "); SQL.Add("and not exists (select 1 from XLXSCLHQ where XLXSCLHQ_JGBID=:pJGBID and XLXSCLHQ_BJCLID=XLXSBJCL_BJCLID and XLXSCLHQ_YXQS='1900-01-01 00:00:00.000') "); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pWHRID").Value = tSession.UserId; SQL.ParamByName("pWHR").Value = tSession.UserName; SQL.ParamByName("pWHSJ").Value = DateTime.Now; SQL.ParamByName("pYXQS").Value = DateTime.Now.ToShortDateString(); dberp.ExecSQL(SQL); if (XLBJDUtils.HasJGBWLHQ(sJGBID))//判断价格表是否记录物料行情 { //取物料行情插入新价格表的物料行情 SQL.Clear(); SQL.Add("insert into XLXSWLHQ(XLXSWLHQ_JGBID,XLXSWLHQ_WLID,XLXSWLHQ_HSJG,XLXSWLHQ_WSJG,XLXSWLHQ_YXQS,XLXSWLHQ_YXQZ,XLXSWLHQ_BZ,XLXSWLHQ_WHRID,XLXSWLHQ_WHR,XLXSWLHQ_WHSJ) "); SQL.Add("select :pJGBID as JGBID,XLXSBJCLWL_WLID as WLID,isnull(HSJG,0.0) as HSJG,isnull(CLJG,0.0) as CLJG,convert(datetime,'1900-01-01 00:00:00') as YXQS,convert(datetime,'1900-01-01 00:00:00') as YXQZ,"); SQL.Add(" ' ' as BZ,:pWHRID as WHRID,:pWHR as WHR,:pWHSJ as WHSJ "); SQL.Add("from XLXSBJCLWL left join "); SQL.Add("("); SQL.Add("select XLXSWLHQ_WLID as WLID,XLXSWLHQ_HSJG as HSJG,XLXSWLHQ_WSJG as CLJG "); 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<=:pYXQS "); SQL.Add("and 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(") b on WLID=XLXSBJCLWL_WLID "); SQL.Add("where exists(select 1 from XLXSBJCL where XLXSBJCL_BJCLID=XLXSBJCLWL_BJCLID and XLXSBJCL_BJHQ='2') "); SQL.Add("and not exists (select 1 from XLXSWLHQ where XLXSWLHQ_JGBID=:pJGBID and XLXSWLHQ_WLID=XLXSBJCLWL_WLID and XLXSWLHQ_YXQS='1900-01-01 00:00:00.000') "); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pWHRID").Value = tSession.UserId; SQL.ParamByName("pWHR").Value = tSession.UserName; SQL.ParamByName("pWHSJ").Value = DateTime.Now; SQL.ParamByName("pYXQS").Value = DateTime.Now.ToShortDateString(); dberp.ExecSQL(SQL); } } #endregion #region 完成更新,以下代码同JGBPZ_HQFZJGBList.aspx.cs的grdJGB_RowDoubleClick SQL.Clear(); #region 处理替换的价格表B //新增价格表已经处理 //if (sBJLY.Equals("C"))//单一产品目录此分支走不到 //{ // SQL.Add("update XLXSJGB set XLXSJGB_CPMLID=:pCPMLID,XLXSJGB_JGCIDS=:pJGCIDS,XLXSJGB_BJLY='J' where XLXSJGB_MXBH=:pMXBH and XLXSJGB_JGBID=:pJGBID"); //} //else //{ // SQL.Add("update XLXSJGB set XLXSJGB_CPMLID=:pCPMLID,XLXSJGB_JGCIDS=:pJGCIDS where XLXSJGB_MXBH=:pMXBH and XLXSJGB_JGBID=:pJGBID"); //} //SQL.ParamByName("pCPMLID").Value = PageParam.GetRTrimString("CPMLID"); //SQL.ParamByName("pJGBID").Value = sJGBID; //SQL.ParamByName("pMXBH").Value = PageParam.GetRTrimString("MXBH"); //SQL.ParamByName("pJGCIDS").Value = sJGCIDs; //dberp.ExecSQL(SQL); //使用新价格表进行旧价格表替换 SQL.Clear(); SQL.Add("update XLXSJGBPZJGB set XLXSJGBPZJGB_JGBID=:pJGBID,XLXSJGBPZJGB_JGBMC=:pJGBMC where XLXSJGBPZJGB_JGBPZDH=:pJGBPZDH and XLXSJGBPZJGB_JGBID = :pOLDJGBID "); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pJGBMC").Value = sJGBMC; SQL.ParamByName("pJGBPZDH").Value = PageParam.GetRTrimString("JGBPZDH"); SQL.ParamByName("pOLDJGBID").Value = sGetJGBID; dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add("delete from XLXSJGBCLHQFD where XLXSJGBCLHQFD_MXBH=:pMXBH and XLXSJGBCLHQFD_JGBID=:pJGBID"); SQL.ParamByName("pMXBH").Value = PageParam.GetRTrimString("MXBH"); SQL.ParamByName("pJGBID").Value = sJGBID; dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add("insert into XLXSJGBCLHQFD(XLXSJGBCLHQFD_MXBH,XLXSJGBCLHQFD_JGBID,XLXSJGBCLHQFD_BJCLID,XLXSJGBCLHQFD_HSJGS,XLXSJGBCLHQFD_HSJGZ,XLXSJGBCLHQFD_CLJGS,XLXSJGBCLHQFD_CLJGZ,XLXSJGBCLHQFD_WHRID,XLXSJGBCLHQFD_WHR,XLXSJGBCLHQFD_WHSJ) "); SQL.Add("select XLXSJGBCLHQFD_MXBH,:pNEWJGBID,XLXSJGBCLHQFD_BJCLID,XLXSJGBCLHQFD_HSJGS,XLXSJGBCLHQFD_HSJGZ,XLXSJGBCLHQFD_CLJGS,XLXSJGBCLHQFD_CLJGZ,:pWHRID,:pWHR,:pWHSJ"); SQL.Add(" from XLXSJGBCLHQFD"); SQL.Add(" where XLXSJGBCLHQFD_MXBH=:pMXBH"); SQL.Add(" and XLXSJGBCLHQFD_JGBID=:pOLDJGBID"); SQL.ParamByName("pMXBH").Value = PageParam.GetRTrimString("MXBH"); SQL.ParamByName("pOLDJGBID").Value = sGetJGBID; SQL.ParamByName("pNEWJGBID").Value = sJGBID; SQL.ParamByName("pWHRID").Value = tSession.UserId; SQL.ParamByName("pWHR").Value = tSession.UserName; SQL.ParamByName("pWHSJ").Value = DateTime.Now; dberp.ExecSQL(SQL); #endregion #region 处理被替换的--价格表A SQL.Clear(); SQL.Add("delete from XLXSJGBCLHQFD where XLXSJGBCLHQFD_MXBH=:pMXBH and XLXSJGBCLHQFD_JGBID=:pJGBID"); SQL.ParamByName("pMXBH").Value = PageParam.GetRTrimString("MXBH"); SQL.ParamByName("pJGBID").Value = sGetJGBID; dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add("update XLXSJGB set XLXSJGB_CPMLID=null,XLXSJGB_JGCIDS=:pJGCIDS where XLXSJGB_MXBH=:pMXBH and XLXSJGB_JGBID=:pJGBID"); SQL.ParamByName("pCPMLID").Value = PageParam.GetRTrimString("CPMLID"); SQL.ParamByName("pJGBID").Value = sGetJGBID; SQL.ParamByName("pMXBH").Value = PageParam.GetRTrimString("MXBH"); SQL.ParamByName("pJGCIDS").Value = sJGCIDs; dberp.ExecSQL(SQL); #endregion #region 完成组合价格表XLXSJGB_JGCIDS的替换 SQL.Clear(); SQL.Add(" update XLXSJGB set XLXSJGB_JGCIDS = REPLACE(XLXSJGB_JGCIDS,:pOLDJGBID,:pNEWJGBID)"); SQL.Add(" where XLXSJGB_JGCIDS like '%'||:pOLDJGBID||'%' and XLXSJGB_MXBH='JGB' "); SQL.ParamByName("pOLDJGBID").Value = sGetJGBID; SQL.ParamByName("pNEWJGBID").Value = sJGBID; dberp.ExecSQL(SQL); #endregion #endregion dberp.CommitTrans(); ShowMessage("已成功派生基价价格表并完成替换:" + sJGBID + "|" + txtJGBMC.Text.Trim()); } catch (Exception ex) { ShowMessage(ex.Message); dberp.RollbackTrans(); } } CacheNotify.TableIsUpdated("DBERP", "XLXSJGB"); DialogOperationScript dos = new DialogOperationScript(this); dos.ClickOwnerButton(PageParam.GetRTrimString("btnRefresh1CID")); dos.CloseSelf(); dos.Execute(); } protected void btnQX_Click(object sender, EventArgs e) { CloseWindow(); } #endregion } }