285 lines
12 KiB
C#
285 lines
12 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.Data;
|
|
using GThinking.N_MODEL.Page;
|
|
using GThinking.N_MISPRO;
|
|
using GThinking.N_CONTROL;
|
|
using GThinking.N_MISPRO.Utility;
|
|
using System.Collections.Generic;
|
|
using GThinking.N_MISPRO.Caching;
|
|
|
|
namespace GThinking.N_XLXSBJ
|
|
{
|
|
[TableMap(DB = "DBERP", DbTableName = "XLXSJGB", Umid = 100860018, IsWorkFlow = false, IsAttach = false, UseWhr = false)]
|
|
|
|
public class JGBML_BJJGB : EntityManager
|
|
{
|
|
|
|
}
|
|
|
|
public partial class JGBML_BJJGBList : SingleGridBase
|
|
{
|
|
JGBML_BJJGB entity = new JGBML_BJJGB();
|
|
Dictionary<string, string> dicJGCID = new Dictionary<string, string>();
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
this.UMID = 100860018;
|
|
this.UMName = "线缆销售报价价格目录";
|
|
this.CurMaster = Master;
|
|
this.ModuleGV = ContentGrid;
|
|
this.CurEntity = entity;
|
|
//this.CurQueryEntity = queryentity;
|
|
this.PageHeight = 600;
|
|
this.PageWidth = 750;
|
|
base.DataKeyNames = new string[] { "XLXSJGB_JGBID" };
|
|
Master.EnableNewBtn = false;
|
|
Master.EnableCopyBtn = false;
|
|
Master.EnableViewBtn = false;
|
|
Master.EnableEditBtn = false;
|
|
Master.EnableDeleteBtn = false;
|
|
Master.EnableQueryBtn = false;
|
|
|
|
base.InitPage();
|
|
|
|
if (!IsPostBack)
|
|
{
|
|
Master_OnStandardQuery(null, null);
|
|
}
|
|
}
|
|
|
|
#region 模板继承事件
|
|
|
|
protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e)
|
|
{
|
|
if (e.Row.RowType == DataControlRowType.DataRow)
|
|
{
|
|
if (dicJGCID.Count == 0)
|
|
{
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL sql = new TSQL(dberp);
|
|
sql.Add("select XLXSJGB_JGBID,XLXSJGB_JGBMC from XLXSJGB where XLXSJGB_MXBH='JGC' order by XLXSJGB_JGBID");
|
|
DataSet ds = dberp.OpenDataSet(sql);
|
|
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
|
{
|
|
dicJGCID.Add(ds.Tables[0].Rows[i]["XLXSJGB_JGBID"].ToString().Trim(), ds.Tables[0].Rows[i]["XLXSJGB_JGBMC"].ToString().Trim());
|
|
}
|
|
}
|
|
|
|
int index = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName("XLXSJGB_JGCIDS"));
|
|
if (!e.Row.Cells[index].Text.Trim().Equals(""))
|
|
{
|
|
string[] sJGCIDS = e.Row.Cells[index].Text.Trim().Split(',');
|
|
string sJGCXX = "";
|
|
for (int i = 0; i < sJGCIDS.Length; i++)
|
|
{
|
|
if (dicJGCID.ContainsKey(sJGCIDS[i].Trim()))
|
|
{
|
|
sJGCXX += sJGCIDS[i].Trim() + "|" + dicJGCID[sJGCIDS[i].Trim()] + ",";
|
|
}
|
|
else
|
|
{
|
|
sJGCXX += sJGCIDS[i].Trim() + ",";
|
|
}
|
|
}
|
|
e.Row.Cells[index].Text = sJGCXX.TrimEnd(',');
|
|
}
|
|
|
|
}
|
|
base.moduleGV_RowDataBound(sender, e);
|
|
}
|
|
|
|
protected override void Master_OnStandardQuery(object sender, EventArgs e)
|
|
{
|
|
//base.InitEntityByCondition();
|
|
base.Master_OnStandardQuery(sender, e);
|
|
entity.EntityTable.QuerySelSql = GetQuerySql();
|
|
entity.GridDataBind(ContentGrid, tSession);
|
|
}
|
|
|
|
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
|
|
{
|
|
//base.InitEntityByCondition();
|
|
entity.EntityTable.QuerySelSql = GetQuerySql();
|
|
ContentGrid.SelectedIndex = -1;
|
|
base.moduleGV_PageIndexChanging(sender, e);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 自定义方法
|
|
|
|
private string GetQuerySql()
|
|
{
|
|
string sSQL = " select case when isnull(XLXSJGB_CPMLID,' ')=' ' then ' ' else rtrim(XLXSJGB_CPMLID)||'|'||XLXSCPML_CPMLMC end as CPML,"
|
|
+ " XLXSJGB_JGBID,XLXSJGB_JGBMC,XLXSJGB_YXQS,XLXSJGB_YXQZ,XLXSJGB_JGCIDS,XLXSJGB_BZ,XLXSJGB_WHR,XLXSJGB_WHSJ"
|
|
+ " from XLXSJGB left join XLXSCPML on XLXSCPML_CPMLID=XLXSJGB_CPMLID"
|
|
+ " where XLXSJGB_MXBH='JGB' "
|
|
+ " and " + CMISproDataBase.GetWhereEqual("XLXSJGB_CPMLID", PageParam.GetRTrimString("multiCPMLIDS"));
|
|
|
|
sSQL += " order by isnull(XLXSJGB_CPMLID,' '),XLXSJGB_YXQS desc,ISNULL(XLXSJGB_YXQZ,'9999-12-31') desc,XLXSJGB_JGBID";
|
|
return sSQL;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 控件事件
|
|
|
|
protected void ContentGrid_RowDoubleClick(object sender, GThinking.N_CONTROL.RowDoubleClickEventArgs e)
|
|
{
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL sql = new TSQL(dberp);
|
|
string sJGCID = PageParam.GetRTrimString("JGBID");
|
|
string sJGBID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim();
|
|
|
|
|
|
try
|
|
{
|
|
dberp.BeginTrans();
|
|
sql.Clear();
|
|
sql.Add("select XLXSJGB_JGCIDS from XLXSJGB where XLXSJGB_MXBH='JGB' and XLXSJGB_JGBID=:pJGBID");
|
|
sql.ParamByName("pJGBID").Value = sJGBID;
|
|
DataSet ds = dberp.OpenDataSet(sql);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
string sJGCIDS = ds.Tables[0].Rows[0]["XLXSJGB_JGCIDS"].ToString().Trim();
|
|
string sNewJGCIDS = "";
|
|
string sMsg = "";
|
|
|
|
if (Convert.ToString("," + sJGCIDS + ",").Contains("," + sJGCID + ","))
|
|
{
|
|
sNewJGCIDS = Convert.ToString("," + sJGCIDS + ",").Replace("," + sJGCID + ",", ",");
|
|
sNewJGCIDS = sNewJGCIDS.TrimStart(',').TrimEnd(',');
|
|
}
|
|
else
|
|
{
|
|
//校验产品重复性
|
|
sql.Clear();
|
|
sql.Add("select XLXSJGBMX_JGBID,XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID,XLXSJGBMX_DYDJID");
|
|
sql.Add(" from XLXSJGBMX a");
|
|
sql.Add(" where " + CMISproDataBase.GetWhereEqual("a.XLXSJGBMX_JGBID", sJGCIDS));
|
|
sql.Add(" and exists(select 1 from XLXSJGBMX b where b.XLXSJGBMX_JGBID=:pJGCID");
|
|
sql.Add(" and b.XLXSJGBMX_XLXHID=a.XLXSJGBMX_XLXHID and b.XLXSJGBMX_XLGGID=a.XLXSJGBMX_XLGGID");
|
|
sql.Add(" and b.XLXSJGBMX_XLBZID=a.XLXSJGBMX_XLBZID and b.XLXSJGBMX_DYDJID=a.XLXSJGBMX_DYDJID)");
|
|
sql.Add(" order by XLXSJGBMX_JGBID,XLXSJGBMX_XH");
|
|
sql.ParamByName("pJGCID").Value = sJGCID;
|
|
DataSet dsCheck = dberp.OpenDataSet(sql);
|
|
if (dsCheck.Tables[0].Rows.Count > 0)
|
|
{
|
|
string sCheckMsg = "与已有基价价格表存在重复产品,无法加入报价价格表!";
|
|
for (int i = 0; i < dsCheck.Tables[0].Rows.Count; i++)
|
|
{
|
|
sCheckMsg += "\r\n" + "【" + dsCheck.Tables[0].Rows[i]["XLXSJGBMX_JGBID"].ToString().Trim() + "】" + dsCheck.Tables[0].Rows[i]["XLXSJGBMX_XLXHID"].ToString().Trim() + " "
|
|
+ dsCheck.Tables[0].Rows[i]["XLXSJGBMX_XLGGID"].ToString().Trim() + " " + dsCheck.Tables[0].Rows[i]["XLXSJGBMX_XLBZID"].ToString().Trim() + " " + dsCheck.Tables[0].Rows[i]["XLXSJGBMX_DYDJID"].ToString().Trim();
|
|
}
|
|
ShowMessage(sCheckMsg);
|
|
return;
|
|
}
|
|
|
|
sql.Clear();
|
|
sql.Add("select XLXSJGB_JGBID,XLXSJGB_CPMLID from XLXSJGB where 1=1 and " + CMISproDataBase.GetWhereEqual("XLXSJGB_JGBID", sJGCIDS));
|
|
sql.Add(" order by XLXSJGB_JGBID");
|
|
DataSet dsJGC = dberp.OpenDataSet(sql);
|
|
string sameCPMLJGCID = "";
|
|
string nosameCPMLJGCID = "";
|
|
for (int i = 0; i < dsJGC.Tables[0].Rows.Count; i++)
|
|
{
|
|
if (dsJGC.Tables[0].Rows[i]["XLXSJGB_CPMLID"].ToString().Trim().Equals(PageParam.GetRTrimString("singleCPMLID")))
|
|
{
|
|
sameCPMLJGCID += dsJGC.Tables[0].Rows[i]["XLXSJGB_JGBID"].ToString().Trim() + ",";
|
|
}
|
|
else
|
|
{
|
|
nosameCPMLJGCID += dsJGC.Tables[0].Rows[i]["XLXSJGB_JGBID"].ToString().Trim() + ",";
|
|
}
|
|
}
|
|
sameCPMLJGCID = sameCPMLJGCID.TrimEnd(',');
|
|
nosameCPMLJGCID = nosameCPMLJGCID.TrimEnd(',');
|
|
if (!sameCPMLJGCID.Equals(""))
|
|
{
|
|
sMsg = string.Format("价格表【{0}】已经作为产品目录【{1}】的基价价格表加入报价价格表,是否替换为当前价格表【{2}】?",
|
|
sameCPMLJGCID, PageParam.GetRTrimString("singleCPMLID"), sJGCID);
|
|
|
|
if (nosameCPMLJGCID.Equals(""))
|
|
sNewJGCIDS = sJGCID;
|
|
else
|
|
sNewJGCIDS = nosameCPMLJGCID + "," + sJGCID;
|
|
|
|
}
|
|
else
|
|
{
|
|
if (sJGCIDS.Equals(""))
|
|
sNewJGCIDS = sJGCID;
|
|
else
|
|
sNewJGCIDS = sJGCIDS + "," + sJGCID;
|
|
}
|
|
}
|
|
|
|
if (!sMsg.Equals(""))
|
|
{
|
|
Confirm.Register("ask", sMsg);
|
|
Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No;
|
|
if (Confirm.GetValue("ask").Trim().Equals(""))
|
|
{
|
|
Confirm.Ask("ask");
|
|
return;
|
|
}
|
|
else if (Confirm.GetValue("ask").Trim().Equals("N"))
|
|
{
|
|
Confirm.Clear();
|
|
return;
|
|
}
|
|
else if (Confirm.GetValue("ask").Trim().Equals("Y"))
|
|
{
|
|
Confirm.Clear();
|
|
}
|
|
}
|
|
sql.Clear();
|
|
sql.Add("update XLXSJGB set XLXSJGB_JGCIDS=:pJGCIDS where XLXSJGB_MXBH='JGB' and XLXSJGB_JGBID=:pJGBID");
|
|
sql.ParamByName("pJGCIDS").Value = sNewJGCIDS;
|
|
sql.ParamByName("pJGBID").Value = sJGBID;
|
|
dberp.ExecSQL(sql);
|
|
}
|
|
|
|
dberp.CommitTrans();
|
|
CacheNotify.TableIsUpdated("DBERP", "XLXSJGB");
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ShowMessage(ex.Message);
|
|
dberp.RollbackTrans();
|
|
}
|
|
|
|
moduleGV_PageIndexChanging(null, null);
|
|
FormAreaUpdate();
|
|
}
|
|
|
|
protected void btnIns_Click(object sender, EventArgs e)
|
|
{
|
|
TPageParams param = new TPageParams();
|
|
param.UrlPath = "JGBMLInfo.aspx";
|
|
param.CallAction = TPageCallAction.pcaInsert;
|
|
param.AddString("FLID", "JGB");
|
|
param.AddString("FROM", "BJJGBList");
|
|
if (!PageParam.GetRTrimString("multiCPMLIDS").Contains(","))//如果组合产品目录只有一个
|
|
param.AddString("DefCPMLID", PageParam.GetRTrimString("multiCPMLIDS"));
|
|
OpenDialogClickBtn(param, btnRefresh.ClientID);
|
|
}
|
|
|
|
protected void btnRefresh_Click(object sender, EventArgs e)
|
|
{
|
|
moduleGV_PageIndexChanging(null, null);
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|