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

480 lines
28 KiB
C#

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