339 lines
16 KiB
C#
339 lines
16 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_MODEL.Page;
|
|
using GThinking.N_MISPRO.Data;
|
|
using GThinking.N_MISPRO;
|
|
using GThinking.N_MISPRO.Utility;
|
|
using System.Text;
|
|
using System.Collections.Generic;
|
|
using GThinking.N_MISPRO.Caching;
|
|
|
|
namespace GThinking.N_XLXSBJ
|
|
{
|
|
public partial class JGBPZ_HQFZJGBList : SingleGridBase
|
|
{
|
|
JGBPZ_HQFZJGB entity = new JGBPZ_HQFZJGB();
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
this.UMID = 100860036;
|
|
this.UMName = "线缆销售报价价格目录配置";
|
|
this.CurMaster = Master;
|
|
this.ModuleGV = grdJGB;
|
|
this.CurEntity = entity;
|
|
this.PageHeight = 600;
|
|
this.PageWidth = 750;
|
|
|
|
base.DataKeyNames = new string[] { "XLXSJGB_JGBID", "XLXSJGB_JGBMC", "XLXSJGB_BJLY" };
|
|
|
|
Master.EnableQueryBtn = false;
|
|
Master.EnableNewBtn = false;
|
|
Master.EnableCopyBtn = false;
|
|
Master.EnableEditBtn = false;
|
|
Master.EnableViewBtn = false;
|
|
Master.EnableDeleteBtn = false;
|
|
|
|
base.InitPage();
|
|
|
|
this.ModuleGV.OnClientDblClick = "return false;";
|
|
|
|
if (!IsPostBack)
|
|
{
|
|
Master_OnStandardQuery(null, null);
|
|
}
|
|
}
|
|
|
|
#region 模板事件
|
|
protected override void Master_OnStandardQuery(object sender, EventArgs e)
|
|
{
|
|
entity.EntityTable.QuerySelSql = GetSql();
|
|
base.Master_OnStandardQuery(sender, e);
|
|
entity.GridDataBind(grdJGB, tSession);
|
|
}
|
|
|
|
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
|
|
{
|
|
entity.EntityTable.QuerySelSql = GetSql();
|
|
base.moduleGV_PageIndexChanging(sender, e);
|
|
grdJGB.SelectedIndex = -1;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 自定义函数
|
|
|
|
private string GetSql()
|
|
{
|
|
string sSQL = " select XLXSJGB_JGBID, XLXSJGB_JGBMC, XLXSJGB_YXQS, XLXSJGB_YXQZ, XLXSJGB_BZ, \r\n"
|
|
+ " XLXSJGB_WHR, XLXSJGB_WHRID, XLXSJGB_WHSJ,XLXSJGB_BJLY \r\n"
|
|
+ " from XLXSJGB where isnull(XLXSJGB_CPMLID,' ')=' ' \r\n";
|
|
sSQL += " and XLXSJGB_MXBH=:pMXBH ";
|
|
entity.Param.Add("pMXBH", PageParam.GetRTrimString("MXBH"));
|
|
sSQL += " and XLXSJGB_TJYS=:pTJYS ";
|
|
entity.Param.Add("pTJYS", PageParam.GetRTrimString("TJYS"));
|
|
|
|
|
|
|
|
return sSQL + " order by XLXSJGB_JGBID ";
|
|
}
|
|
|
|
#endregion
|
|
|
|
protected void grdJGB_RowDoubleClick(object sender, GThinking.N_CONTROL.RowDoubleClickEventArgs e)
|
|
{
|
|
//从派生价格表传过来可能需要被替换掉的价格表ID:价格表A
|
|
string sGetJGBID = PageParam.GetRTrimString("JGBID");
|
|
string sGetJGBMC = PageParam.GetRTrimString("JGBMC");
|
|
if (sGetJGBID.Equals(""))
|
|
{
|
|
//同之前的操作包含两层含义:
|
|
//1、单一价格表的引用
|
|
//2、组合价格表的引用
|
|
Confirm.Register("IsQD", "被选中的价格表现为非产品目录价格表,将被设置材料行情范围成为产品目录价格表,是否继续?");
|
|
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();
|
|
}
|
|
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
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 = grdJGB.DataKeys[grdJGB.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim();
|
|
string sJGBMC = grdJGB.DataKeys[grdJGB.SelectedIndex]["XLXSJGB_JGBMC"].ToString().Trim();
|
|
string sBJLY = grdJGB.DataKeys[grdJGB.SelectedIndex]["XLXSJGB_BJLY"].ToString().Trim();
|
|
SQL.Clear();
|
|
if (PageParam.GetRTrimString("CPMLLX").Equals("Y"))//组合产品目录
|
|
{
|
|
SQL.Add("update XLXSJGB set XLXSJGB_CPMLID=:pCPMLID,XLXSJGB_JGCIDS=:pJGCIDS,XLXSJGB_BJLY='C' where XLXSJGB_MXBH=:pMXBH and XLXSJGB_JGBID=:pJGBID");
|
|
}
|
|
else
|
|
{
|
|
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_CLHQZH=:pCLHQZH ");
|
|
SQL.ParamByName("pJGBID").Value = sJGBID;
|
|
SQL.ParamByName("pJGBMC").Value = sJGBMC;
|
|
SQL.ParamByName("pJGBPZDH").Value = PageParam.GetRTrimString("JGBPZDH");
|
|
SQL.ParamByName("pCLHQZH").Value = PageParam.GetRTrimString("CLHQZH");
|
|
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 :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);
|
|
|
|
dberp.CommitTrans();
|
|
ShowMessage("引用完成!");
|
|
CacheNotify.TableIsUpdated("DBERP", "XLXSJGB");
|
|
DialogOperationScript dos = new DialogOperationScript(this);
|
|
dos.ClickOwnerButton(PageParam.GetRTrimString("btnRefresh1CID"));
|
|
dos.CloseSelf();
|
|
dos.Execute();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ShowMessage(ex.Message);
|
|
dberp.RollbackTrans();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//选择一条非产品目录价格表记录B,双击进行价格表更换操作:
|
|
//(1)先询问“将用价格表B替换价格表A,是否继续?”,是则继续,否则终止操作;
|
|
//(2)价格表B替换价格表A,依次执行如下语句:
|
|
//选中用来替换的价格表:价格表B
|
|
string sJGBID = grdJGB.DataKeys[grdJGB.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim();
|
|
string sJGBMC = grdJGB.DataKeys[grdJGB.SelectedIndex]["XLXSJGB_JGBMC"].ToString().Trim();
|
|
string sBJLY = grdJGB.DataKeys[grdJGB.SelectedIndex]["XLXSJGB_BJLY"].ToString().Trim();
|
|
string sWarnMsg = "";
|
|
sWarnMsg = "将用价格表【" + sJGBID + "|" + sJGBMC + "】替换价格表【" + 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();
|
|
}
|
|
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
try
|
|
{
|
|
dberp.BeginTrans();
|
|
//此处,处理的都是单一产品目录,传入的时候已经对组合目录进行了限制。
|
|
string sJGCIDs = " ";
|
|
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
|
|
|
|
dberp.CommitTrans();
|
|
ShowMessage("替换完成!");
|
|
CacheNotify.TableIsUpdated("DBERP", "XLXSJGB");
|
|
DialogOperationScript dos = new DialogOperationScript(this);
|
|
dos.ClickOwnerButton(PageParam.GetRTrimString("btnRefresh1CID"));
|
|
dos.CloseSelf();
|
|
dos.Execute();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ShowMessage(ex.Message);
|
|
dberp.RollbackTrans();
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|