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

1540 lines
68 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 GThinking.N_MISPROAS.Services;
using System.Collections.Generic;
using GThinking.N_MISPRO.Caching;
using GThinking.N_MISPRO.TableCache;
namespace GThinking.N_XLXSBJ
{
public partial class JGBMLList : SingleGridBase
{
#region Page类事件继承
JGBML entity = new JGBML();
JGBML_M queryentity = new JGBML_M();
static string sTZYZList = "";
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;
this.sURLTarget = "JGBMLInfo.aspx";
this.sQueryURLTarget = "JGBMLQuery.aspx";
base.DataKeyNames = new string[] { "XLXSJGB_MXBH", "XLXSJGB_JGBID", "XLXSJGB_TJYS", "XLXSJGB_BJLY", "XLXSJGB_JJLY", "XLXSJGB_JGBMC", "XLXSJGB_YXQS", "XLXSJGB_YXQZ" };
if (!IsPostBack)
{
CurQueryEntity.FieldByName("FLID").Value = "JGB";
CurQueryEntity.FieldByName("CKRQ").Value = DateTime.Now.Date.ToString();
}
ContentGrid.FindColumnExByFieldName("TBJCLID").NumberDecimalPlace = XLBJDUtils.BJCLPriceDecimal;
ContentGrid.FindColumnExByFieldName("LBJCLID").NumberDecimalPlace = XLBJDUtils.BJCLPriceDecimal;
base.InitPage();
base.InitEntityByCondition();
if (CurQueryEntity.FieldByName("FLID").Value.Equals("JGB") || CurQueryEntity.FieldByName("FLID").Value.Equals("JGC"))
{
ContentGrid.FindColumnByFieldName("XLXSJGB_JJLY").Visible = true;
ContentGrid.FindColumnByFieldName("XLXSJGB_BJLY").Visible = true;
ContentGrid.FindColumnByFieldName("XLXSJGB_JSBLFS").Visible = true;
ContentGrid.FindColumnByFieldName("CPML").Visible = true;
//if (CurQueryEntity.FieldByName("FLID").Value.Equals("JGB"))
//{
// ContentGrid.FindColumnByFieldName("TBJCLID").Visible = true;
// ContentGrid.FindColumnByFieldName("LBJCLID").Visible = true;
//}
//else
//{
// ContentGrid.FindColumnByFieldName("TBJCLID").Visible = false;
// ContentGrid.FindColumnByFieldName("LBJCLID").Visible = false;
//}
}
else
{
ContentGrid.FindColumnByFieldName("XLXSJGB_JJLY").Visible = false;
ContentGrid.FindColumnByFieldName("XLXSJGB_BJLY").Visible = false;
ContentGrid.FindColumnByFieldName("XLXSJGB_JSBLFS").Visible = false;
ContentGrid.FindColumnByFieldName("CPML").Visible = false;
ContentGrid.FindColumnByFieldName("TBJCLID").Visible = false;
ContentGrid.FindColumnByFieldName("LBJCLID").Visible = false;
}
if (DSMAC.IsRegMAC("S_XLXSBJ8"))
{
btnFBZWX.Visible = true;
ContentGrid.FindColumnByFieldName("WXYKJ").Visible = true;
ContentGrid.FindColumnByFieldName("WXHYJ").Visible = true;
}
else
{
btnFBZWX.Visible = false;
ContentGrid.FindColumnByFieldName("WXYKJ").Visible = false;
ContentGrid.FindColumnByFieldName("WXHYJ").Visible = false;
}
if (CurQueryEntity.FieldByName("FLID").Value.Equals("JGB"))
btnFBZWX.Enabled = true;
else
btnFBZWX.Enabled = false;
if ((CurQueryEntity.FieldByName("FLID").Value.Equals("JGB") || CurQueryEntity.FieldByName("FLID").Value.Equals("JGC")) && CheckXSJGB())
btnTBZXSJGB.Visible = true;
else
btnTBZXSJGB.Visible = false;
if (!IsPostBack)
{
Master_OnStandardQuery(null, null);
}
}
#endregion
#region 模板继承事件
protected override bool Master_BeforeDeleteAction(object sender, EventArgs e)
{
string sMXBH = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_MXBH"].ToString().Trim();
if (ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim().Equals("00000000"))
{
ShowMessage("价格表编号为'00000000'为系统价格表,不允许删除!");
return false;
}
if (sMXBH.Equals("JGB") || sMXBH.Equals("JGC") || sMXBH.Equals("JGE") || sMXBH.Equals("JGF"))
{
if (sMXBH.Equals("JGB") || sMXBH.Equals("JGE"))
{
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSBJD where XLXSBJD_JGBID='{0}'", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim())))
{
ShowMessage("已被报价单使用,不允许删除!");
return false;
}
}
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select top 1 XLXSJGB_JGBID from XLXSJGB where ','||rtrim(isnull(XLXSJGB_JGBIDS,' '))||',' like '{0}'", "%," + ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim() + ",%")))
{
ShowMessage("已被其他价格表作为所依出厂价,不允许删除!");
return false;
}
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGB where ','||rtrim(isnull(XLXSJGB_JGCIDS,' '))||',' like '{0}'", "%," + ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim() + ",%")))
{
ShowMessage("已被报价价格表引用,不允许删除!");
return false;
}
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGBMX where XLXSJGBMX_JGBID='{0}' ", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim())))
{
Confirm.Register("CheckDel", "存在价格表明细记录,确定删除?");
if (Confirm.GetValue("CheckDel").Trim().Equals(""))
{
Confirm.Ask("CheckDel");
return false;
}
else if (Confirm.GetValue("CheckDel").Trim().Equals("N"))
{
//表示进行了提示并选择了取消,直接返回或其他处理
Confirm.Clear();
return false;
}
else if (Confirm.GetValue("CheckDel").Trim().Equals("Y"))
{
//表示进行了提示并选择了确认
Confirm.Clear();
}
}
}
else if (sMXBH.Equals("JZJ"))
{
Dictionary<string, string> dic = XLBJDUtils.GetALLYZIDDic();
foreach (string sYZID in dic.Keys)
{
TZYZXX yzxx = XLBJDUtils.GetYZXXByYZID(sYZID);
if (!string.IsNullOrEmpty(yzxx.XLXSTZYZ_JGBID) && yzxx.XLXSTZYZ_JGBID.Equals(ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim()) && yzxx.XLXSTZYZ_MXBH == "JZJ")
{
ShowMessage("被价格表调价因子使用,不允许删除!");
return false;
}
}
Confirm.Register("CheckDel", "将同步删除当前调价表设置的因子值记录,是否继续?");
if (Confirm.GetValue("CheckDel").Trim().Equals(""))
{
Confirm.Ask("CheckDel");
return false;
}
else if (Confirm.GetValue("CheckDel").Trim().Equals("N"))
{
//表示进行了提示并选择了取消,直接返回或其他处理
Confirm.Clear();
return false;
}
else if (Confirm.GetValue("CheckDel").Trim().Equals("Y"))
{
//表示进行了提示并选择了确认
Confirm.Clear();
}
}
else if (sMXBH.Equals("BJD"))
{
Dictionary<string, string> dic = XLBJDUtils.GetALLYZIDDic();
foreach (string sYZID in dic.Keys)
{
TZYZXX yzxx = XLBJDUtils.GetYZXXByYZID(sYZID);
if (!string.IsNullOrEmpty(yzxx.XLXSTZYZ_JGBID) && yzxx.XLXSTZYZ_JGBID.Equals(ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim()) && yzxx.XLXSTZYZ_MXBH == "BJD")
{
ShowMessage("被报价单调价因子使用,不允许删除!");
return false;
}
}
Confirm.Register("CheckDel", "将同步删除当前调价表设置的因子值记录,是否继续?");
if (Confirm.GetValue("CheckDel").Trim().Equals(""))
{
Confirm.Ask("CheckDel");
return false;
}
else if (Confirm.GetValue("CheckDel").Trim().Equals("N"))
{
//表示进行了提示并选择了取消,直接返回或其他处理
Confirm.Clear();
return false;
}
else if (Confirm.GetValue("CheckDel").Trim().Equals("Y"))
{
//表示进行了提示并选择了确认
Confirm.Clear();
}
}
CurEntity.Param.Add("XLXSJGB_MXBH", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_MXBH"].ToString().Trim());
CurEntity.Param.Add("XLXSJGB_JGBID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim());
return base.Master_BeforeDeleteAction(sender, e);
}
protected override void AfterDelete(TDatabase db, ref bool ActionIsDone)
{
base.AfterDelete(db, ref ActionIsDone);
string sMXBH = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_MXBH"].ToString().Trim();
string sJGBID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim();
if (sMXBH.Equals("JGB") || sMXBH.Equals("JGC") || sMXBH.Equals("JGE") || sMXBH.Equals("JGF"))
{
TSQL tSQL = new TSQL(db);
tSQL.Clear();
tSQL.Add("delete from XLXSJGBMX where XLXSJGBMX_JGBID = :XLXSJGBMX_JGBID ");
tSQL.ParamByName("XLXSJGBMX_JGBID").Value = sJGBID;
db.ExecSQL(tSQL);
tSQL.Clear();
tSQL.Add("delete from XLXSJGBYZZ0 where XLXSJGBYZZ0_JGBID = :XLXSJGBYZZ0_JGBID ");
tSQL.ParamByName("XLXSJGBYZZ0_JGBID").Value = sJGBID;
db.ExecSQL(tSQL);
tSQL.Clear();
tSQL.Add("delete from XLXSJGBYZ where XLXSJGBYZ_JGBID = :XLXSJGBYZ_JGBID ");
tSQL.ParamByName("XLXSJGBYZ_JGBID").Value = sJGBID;
db.ExecSQL(tSQL);
tSQL.Clear();
tSQL.Add("delete from XLXSCLHQ where XLXSCLHQ_JGBID = :XLXSCLHQ_JGBID ");
tSQL.ParamByName("XLXSCLHQ_JGBID").Value = sJGBID;
db.ExecSQL(tSQL);
tSQL.Clear();
tSQL.Add("delete from XLXSWLHQ where XLXSWLHQ_JGBID = :XLXSWLHQ_JGBID ");
tSQL.ParamByName("XLXSWLHQ_JGBID").Value = sJGBID;
db.ExecSQL(tSQL);
tSQL.Clear();
tSQL.Add("update XLXSJGBPZJGB set XLXSJGBPZJGB_JGBID=null,XLXSJGBPZJGB_JGBMC=null where XLXSJGBPZJGB_JGBID=:pJGBID");
tSQL.ParamByName("pJGBID").Value = sJGBID;
db.ExecSQL(tSQL);
tSQL.Clear();
tSQL.Add("delete from XLXSJGBCLHQFD where XLXSJGBCLHQFD_MXBH=:pMXBH and XLXSJGBCLHQFD_JGBID=:pJGBID");
tSQL.ParamByName("pMXBH").Value = sMXBH;
tSQL.ParamByName("pJGBID").Value = sJGBID;
db.ExecSQL(tSQL);
tSQL.Clear();
tSQL.Add("delete from XLXSJGBCLQD where XLXSJGBCLQD_JGBID = :XLXSJGBCLQD_JGBID ");
tSQL.ParamByName("XLXSJGBCLQD_JGBID").Value = sJGBID;
db.ExecSQL(tSQL);
tSQL.Clear();
tSQL.Add("delete from XLXSJGBCLQDWL where XLXSJGBCLQDWL_JGBID = :XLXSJGBCLQDWL_JGBID ");
tSQL.ParamByName("XLXSJGBCLQDWL_JGBID").Value = sJGBID;
db.ExecSQL(tSQL);
tSQL.Clear();
tSQL.Add("delete from XLXSJGBYLLM where XLXSJGBYLLM_JGBID = :XLXSJGBYLLM_JGBID ");
tSQL.ParamByName("XLXSJGBYLLM_JGBID").Value = sJGBID;
db.ExecSQL(tSQL);
CacheNotify.TableIsUpdated("DBERP", "XLXSJGBYZ");
}
if (sMXBH.Equals("JZJ"))
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(db);
for (int i = 1; i <= 7; i++)
{
sSQL.Clear();
sSQL.Add(string.Format("delete from XLXSJGBYZZ{0} where XLXSJGBYZZ{0}_JGBID = :pJGBID ", i.ToString().Trim()));
sSQL.ParamByName("pJGBID").Value = sJGBID;
dberp.ExecSQL(sSQL);
}
}
if (sMXBH.Equals("BJD"))
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(db);
for (int i = 1; i <= 14; i++)
{
string sHZ = i.ToString().Trim();
switch (i)
{
case 10:
sHZ = "A";
break;
case 11:
sHZ = "B";
break;
case 12:
sHZ = "C";
break;
case 13:
sHZ = "D";
break;
case 14:
sHZ = "E";
break;
default:
break;
}
sSQL.Clear();
sSQL.Add(string.Format("delete from XLXSBJDYZZ{0} where XLXSBJDYZZ{0}_JGBID = :pJGBID ", sHZ));
sSQL.ParamByName("pJGBID").Value = sJGBID;
dberp.ExecSQL(sSQL);
}
}
}
protected override bool Master_AfterDeleteAction(object sender, EventArgs e)
{
if (!base.Master_AfterDeleteAction(sender, e)) return false;
base.InitEntityByCondition();
entity.EntityTable.QuerySelSql = GetQuerySql();
entity.GridDataBind(ContentGrid, tSession);
ContentGrid.SelectedIndex = -1;
CacheNotify.TableIsUpdated("DBERP", "XLXSJGB");
return true;
}
protected override void Master_OnStandardQuery(object sender, EventArgs e)
{
base.InitEntityByCondition();
base.Master_OnStandardQuery(sender, e);
entity.EntityTable.QuerySelSql = GetQuerySql();
entity.GridDataBind(ContentGrid, tSession);
TPageParams pageParams = new TPageParams();
pageParams.AddString("FLID", CurQueryEntity.FieldByName("FLID").Value.Trim());
SetNewFormParam(pageParams);
btnBJJGB.Visible = false;
if (CurQueryEntity.FieldByName("FLID").Value.Trim().Equals("JGB"))
{
btnTJYZ.Enabled = true;
btnJGB.Enabled = true;
btnSYQY.Enabled = true;
btnCLHQFD.Enabled = true;
btnXLXSJGBMX.Enabled = true;
Master.StandardNewButton.Enabled = true;
Master.StandardCopyButton.Enabled = true;
Master.StandardEditButton.Enabled = true;
Master.StandardDeleteButton.Enabled = true;
}
else if (CurQueryEntity.FieldByName("FLID").Value.Trim().Equals("JGC"))
{
btnTJYZ.Enabled = true;
btnJGB.Enabled = false;
btnSYQY.Enabled = false;
btnCLHQFD.Enabled = true;
btnXLXSJGBMX.Enabled = true;
btnBJJGB.Visible = true;
//Master.StandardNewButton.Enabled = false;
//Master.StandardCopyButton.Enabled = false;
//Master.StandardEditButton.Enabled = true;
//Master.StandardDeleteButton.Enabled = true;
}
else if (CurQueryEntity.FieldByName("FLID").Value.Trim().Equals("JGD"))
{
Master.StandardNewButton.Enabled = false;
Master.StandardCopyButton.Enabled = false;
Master.StandardEditButton.Enabled = false;
Master.StandardDeleteButton.Enabled = false;
btnTJYZ.Enabled = false;
btnJGB.Enabled = false;
btnSYQY.Enabled = false;
btnCLHQFD.Enabled = false;
btnXLXSJGBMX.Enabled = false;
}
else if (CurQueryEntity.FieldByName("FLID").Value.Trim().Equals("JGE"))
{
Master.StandardNewButton.Enabled = true;
Master.StandardCopyButton.Enabled = true;
Master.StandardEditButton.Enabled = true;
Master.StandardDeleteButton.Enabled = true;
btnTJYZ.Enabled = true;
btnJGB.Enabled = false;
btnSYQY.Enabled = false;
btnCLHQFD.Enabled = false;
btnXLXSJGBMX.Enabled = false;
}
else if (CurQueryEntity.FieldByName("FLID").Value.Trim().Equals("JGF"))
{
btnTJYZ.Enabled = false;
btnJGB.Enabled = false;
btnSYQY.Enabled = false;
btnCLHQFD.Enabled = false;
btnXLXSJGBMX.Enabled = true;
Master.StandardNewButton.Enabled = true;
Master.StandardCopyButton.Enabled = true;
Master.StandardEditButton.Enabled = true;
Master.StandardDeleteButton.Enabled = true;
}
else
{
btnTJYZ.Enabled = false;
btnJGB.Enabled = false;
btnSYQY.Enabled = false;
btnCLHQFD.Enabled = false;
btnXLXSJGBMX.Enabled = false;
Master.StandardNewButton.Enabled = true;
Master.StandardCopyButton.Enabled = true;
Master.StandardEditButton.Enabled = true;
Master.StandardDeleteButton.Enabled = true;
}
}
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
base.InitEntityByCondition();
entity.EntityTable.QuerySelSql = GetQuerySql();
ContentGrid.SelectedIndex = -1;
base.moduleGV_PageIndexChanging(sender, e);
}
protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
int indexTJYS = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName("XLXSJGB_TJYS"));
string sMXBH = ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGB_MXBH"].ToString().Trim();
if (sMXBH.Equals("JGB") || sMXBH.Equals("JGC"))
{
if (e.Row.Cells[indexTJYS].Text.Trim().Equals("1"))
{
e.Row.Cells[indexTJYS].Text = "1|表价(出厂价)=基价(材料价)&调价";
}
else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("2"))
{
e.Row.Cells[indexTJYS].Text = "2|表价(区域价)=基价(出厂价)&调价";
}
else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("3"))
{
e.Row.Cells[indexTJYS].Text = "3|表价(现行价)=基价(出厂价+材料价价差)&调价";
}
}
else if (sMXBH.Equals("JZJ"))
{
if (e.Row.Cells[indexTJYS].Text.Trim().Equals("1"))
{
e.Row.Cells[indexTJYS].Text = "1|型号&规格&电压&标准";
}
else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("2"))
{
e.Row.Cells[indexTJYS].Text = "2|产品用途&电压等级分类&报价材料";
}
else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("3"))
{
e.Row.Cells[indexTJYS].Text = "3|销售区域&导体材料&线缆型号&主芯截面";
}
else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("4"))
{
e.Row.Cells[indexTJYS].Text = "4|型号&电压等级&芯线结构&主芯截面范围";
}
else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("5"))
{
e.Row.Cells[indexTJYS].Text = "5|型号&电压等级&主芯截面范围&总芯数范围";
}
else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("6"))
{
e.Row.Cells[indexTJYS].Text = "6|型号&电压等级&报价材料";
}
else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("7"))
{
e.Row.Cells[indexTJYS].Text = "7|报价材料";
}
else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("8"))
{
e.Row.Cells[indexTJYS].Text = "8|每吨加价*材料重量";
}
}
else if (sMXBH.Equals("BJD"))
{
if (e.Row.Cells[indexTJYS].Text.Trim().Equals("1"))
{
e.Row.Cells[indexTJYS].Text = "1|付款方式";
}
else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("2"))
{
e.Row.Cells[indexTJYS].Text = "2|导体材料&电压区间&报价数量区间";
}
else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("3"))
{
e.Row.Cells[indexTJYS].Text = "3|产品用途&电压等级分类&报价数量区间";
}
else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("4"))
{
e.Row.Cells[indexTJYS].Text = "4|型号";
}
else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("5"))
{
e.Row.Cells[indexTJYS].Text = "5|销售区域&型号&标准&电压等级&主芯截面范围";
}
else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("6"))
{
e.Row.Cells[indexTJYS].Text = "6|报价数量区间调价米数/报价数量";
}
else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("7"))
{
e.Row.Cells[indexTJYS].Text = "7|型号&电压等级&芯线结构&主芯截面范围";
}
else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("8"))
{
e.Row.Cells[indexTJYS].Text = "8|付款期限";
}
else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("9"))
{
e.Row.Cells[indexTJYS].Text = "9|导体材料&产品用途&电压等级分类&产品特性";
}
else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("A"))
{
e.Row.Cells[indexTJYS].Text = "A|型号&规格&电压&标准";
}
else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("B"))
{
e.Row.Cells[indexTJYS].Text = "B|销售单位";
}
else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("C"))
{
e.Row.Cells[indexTJYS].Text = "C|产品目录&主芯截面范围&产品特性";
}
else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("D"))
{
e.Row.Cells[indexTJYS].Text = "D|颜色&主芯截面范围";
}
else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("E"))
{
e.Row.Cells[indexTJYS].Text = "E|型号&电压等级&主芯截面范围&报价数量区间";
}
else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("F"))
{
e.Row.Cells[indexTJYS].Text = "F|电压等级&芯线结构&报价数量区间加价/报价数量";
}
else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("G"))
{
e.Row.Cells[indexTJYS].Text = "G|电压等级&芯线结构&导体材料&主芯截面范围&报价数量区间";
}
else if (e.Row.Cells[indexTJYS].Text.Trim().Equals("H"))
{
e.Row.Cells[indexTJYS].Text = "H|型号&电压等级&颜色&主芯截面范围&报价数量区间加价/报价数量";
}
}
LinkPageParam.AddString("XLXSJGB_MXBH", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGB_MXBH"].ToString().Trim());
LinkPageParam.AddString("XLXSJGB_JGBID", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGB_JGBID"].ToString().Trim());
}
base.moduleGV_RowDataBound(sender, e);
}
#endregion
#region 自定义方法
private string GetQuerySql()
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
DataSet ds = new DataSet();
string sBJCLIDS = "";
if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGC"))
{
SQL.Clear();
SQL.Add("select distinct XLXSJGBPZ_BJCLIDS from XLXSJGB ");
SQL.Add("left join XLXSJGBPZ on XLXSJGBPZ_MXBH='JGC' and XLXSJGBPZ_CPMLID=XLXSJGB_CPMLID ");
SQL.Add("where XLXSJGB_MXBH='JGC' and isnull(XLXSJGBPZ_BJCLIDS,' ')<>' ' ");
ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
sBJCLIDS = sBJCLIDS + ds.Tables[0].Rows[i][0].ToString().Trim() + ",";
}
}
sBJCLIDS = sBJCLIDS.TrimEnd(',');
}
string sTBJCLID = "";
string sLBJCLID = "";
if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGB") || queryentity.FieldByName("FLID").Value.Trim().Equals("JGC"))
{
JGBMLInfo.GetTLBJCLID(dberp, SQL, ref sTBJCLID, ref sLBJCLID);
}
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(102373000);
string sSQL = " select XLXSJGB_MXBH,XLXSJGB_JGBID, XLXSJGB_JGBMC, XLXSJGB_YXQS, XLXSJGB_YXQZ,XLXSJGB_BZ, \r\n";
if (string.IsNullOrEmpty(pzxx.XLXSBJPZ_JGBID))
{
sSQL += " 'N' as WXYKJ,";
}
else
{
sSQL += string.Format("case when XLXSJGB_JGBID='{0}' then 'Y' else 'N' end as WXYKJ,", pzxx.XLXSBJPZ_JGBID);
}
if (string.IsNullOrEmpty(pzxx.XLXSBJPZ_WXHYJGBID))
{
sSQL += " 'N' as WXHYJ,";
}
else
{
sSQL += string.Format("case when XLXSJGB_JGBID='{0}' then 'Y' else 'N' end as WXHYJ,", pzxx.XLXSBJPZ_WXHYJGBID);
}
if (!sTBJCLID.Equals(""))
{
sSQL += "( SELECT XLXSCLHQ_HSJG FROM XLXSCLHQ where 1=1 and XLXSCLHQ_JGBID = XLXSJGB_JGBID and XLXSCLHQ_BJCLID = :pTBJCLID and XLXSCLHQ_YXQS = convert(datetime,'1900-01-01 00:00:00')) as TBJCLID,";
entity.Param.Add("pTBJCLID", sTBJCLID);
}
else
{
sSQL += " 0.0 as TBJCLID, ";
}
if (!sLBJCLID.Equals(""))
{
sSQL += "( SELECT XLXSCLHQ_HSJG FROM XLXSCLHQ where 1=1 and XLXSCLHQ_JGBID = XLXSJGB_JGBID and XLXSCLHQ_BJCLID = :pLBJCLID and XLXSCLHQ_YXQS = convert(datetime,'1900-01-01 00:00:00')) as LBJCLID,";
entity.Param.Add("pLBJCLID", sLBJCLID);
}
else
{
sSQL += " 0.0 as LBJCLID, ";
}
sSQL += " 1 as pCOUNT, XLXSJGB_WHR, XLXSJGB_WHRID, XLXSJGB_WHSJ,XLXSJGB_TJYS, XLXSJGB_JJLY, XLXSJGB_BJLY,XLXSJGB_JSBLFS, \r\n"
+ " case when isnull(XLXSJGB_CPMLID,' ')=' ' then ' ' else rtrim(XLXSJGB_CPMLID)||'|'||XLXSCPML_CPMLMC end as CPML \r\n"
+ " from XLXSJGB \r\n"
+ " left join XLXSCPML on XLXSCPML_CPMLID=XLXSJGB_CPMLID \r\n";
string[] sTmp = sBJCLIDS.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
for (int m = 0; m < sTmp.Length; m++)
{
sSQL += " left join XLXSJGBCLHQFD a" + m.ToString().Trim() + " on a" + m.ToString().Trim() + ".XLXSJGBCLHQFD_MXBH=XLXSJGB_MXBH and a" + m.ToString().Trim() + ".XLXSJGBCLHQFD_JGBID=XLXSJGB_JGBID and a" + m.ToString().Trim() + ".XLXSJGBCLHQFD_BJCLID='" + sTmp[m] + "' \r\n";
}
sSQL += " where 1=1 \r\n";
if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGB"))
{
sSQL += " and XLXSJGB_MXBH='JGB' ";
}
else if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGC"))
{
sSQL += " and XLXSJGB_MXBH='JGC' ";
}
else if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGD"))
{
sSQL += " and XLXSJGB_MXBH='JGD' ";
}
else if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGE"))
{
sSQL += " and XLXSJGB_MXBH='JGE' ";
}
else if (queryentity.FieldByName("FLID").Value.Trim().Equals("JZJ"))
{
sSQL += " and XLXSJGB_MXBH='JZJ' ";
}
else if (queryentity.FieldByName("FLID").Value.Trim().Equals("BJD"))
{
sSQL += " and XLXSJGB_MXBH='BJD' ";
}
else if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGF"))
{
sSQL += " and XLXSJGB_MXBH='JGF' ";
}
else
{
sSQL += " and 1<>1 ";
}
if (!string.IsNullOrEmpty(queryentity.FieldByName("CKRQ").Value.Trim()))
{
sSQL += " and isnull(XLXSJGB_YXQS, convert(datetime, '1900-01-01')) <= :pCKRQ \r\n";
sSQL += " and isnull(XLXSJGB_YXQZ, convert(datetime, '2099-12-31')) >= :pCKRQ \r\n";
entity.Param.Add("pCKRQ", CurQueryEntity.FieldByName("CKRQ").Value);
}
if (!string.IsNullOrEmpty(queryentity.FieldByName("CPMLID").Value.Trim()))
{
sSQL += " and XLXSJGB_CPMLID=:pCPMLID \r\n";
entity.Param.Add("pCPMLID", CurQueryEntity.FieldByName("CPMLID").Value);
}
else if (!GetOption("BJU016").Equals(""))
{
sSQL += " and (isnull(XLXSJGB_CPMLID,' ')=' ' or " + CMISproDataBase.GetWhereEqual("XLXSJGB_CPMLID", GetOption("BJU016")) + ") ";
}
if (!GetOption("BJU053").Equals(""))
{
sSQL += " and " + CMISproDataBase.GetWhereEqual("XLXSJGB_JGBID", GetOption("BJU053"));
}
if (!string.IsNullOrEmpty(queryentity.FieldByName("SYCCJ").Value.Trim()))
{
sSQL += " and (','||XLXSJGB_JGBIDS||',') like :pJGBID ";
entity.Param.Add("pJGBID", "%,"+CurQueryEntity.FieldByName("SYCCJ").Value.Trim()+",%");
}
if (string.IsNullOrEmpty(queryentity.FieldByName("PXFS").Value.Trim()))
{
if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGB"))
{
sSQL += " order by isnull(XLXSJGB_CPMLID,' '),XLXSJGB_YXQS,ISNULL(XLXSJGB_YXQZ,'9999-12-31'),XLXSJGB_JGBID ";
}
else if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGC"))
{
sSQL += " order by isnull(XLXSJGB_CPMLID,' ') ";
for (int m = 0; m < sTmp.Length; m++)
{
sSQL += ", a" + m.ToString().Trim() + ".XLXSJGBCLHQFD_HSJGS ";
}
sSQL += ", XLXSJGB_JGBID ";
}
else
{
sSQL += " order by isnull(XLXSJGB_CPMLID,' '),XLXSJGB_JGBID ";
}
}
else if(queryentity.FieldByName("PXFS").Value.Trim().Equals("1"))
{
if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGB"))
{
sSQL += " order by XLXSJGB_JGBID,isnull(XLXSJGB_CPMLID,' '),XLXSJGB_YXQS,ISNULL(XLXSJGB_YXQZ,'9999-12-31') ";
}
else if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGC"))
{
sSQL += " order by XLXSJGB_JGBID,isnull(XLXSJGB_CPMLID,' ') ";
for (int m = 0; m < sTmp.Length; m++)
{
sSQL += ", a" + m.ToString().Trim() + ".XLXSJGBCLHQFD_HSJGS ";
}
}
else
{
sSQL += " order by XLXSJGB_JGBID,isnull(XLXSJGB_CPMLID,' ') ";
}
}
else if (queryentity.FieldByName("PXFS").Value.Trim().Equals("0"))
{
if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGB"))
{
sSQL += " order by XLXSJGB_JGBID desc,isnull(XLXSJGB_CPMLID,' '),XLXSJGB_YXQS,ISNULL(XLXSJGB_YXQZ,'9999-12-31') ";
}
else if (queryentity.FieldByName("FLID").Value.Trim().Equals("JGC"))
{
sSQL += " order by XLXSJGB_JGBID desc,isnull(XLXSJGB_CPMLID,' ') ";
for (int m = 0; m < sTmp.Length; m++)
{
sSQL += ", a" + m.ToString().Trim() + ".XLXSJGBCLHQFD_HSJGS ";
}
}
else
{
sSQL += " order by XLXSJGB_JGBID desc,isnull(XLXSJGB_CPMLID,' ') ";
}
}
return sSQL;
}
private void TBCLCB_1(string sMXBH, string sJGBID, int iXSWS, string sJSBLFS, string sJJLY, string sJGBIDS)
{
if (sJGBID.Equals(""))
{
ShowMessage("请先查询价格表!");
return;
}
string sBJU003 = GetOption(100860000, "BJU003");
TDatabase DBERP = TContextDatabases.GetDatabase("DBERP");
if (sJGBIDS.Equals(""))
{
bool bUpdateByJCZB = false;//按尺重表同步
TSQL tmpSQL = new TSQL(DBERP);
DataSet dsJGB2 = null;
bool bNeedTB = false;
tmpSQL.Clear();
tmpSQL.Add("select XLXSJGB_JGBID,XLXSJGB_JGBMC,XLXSJGB_JGBIDS from XLXSJGB where XLXSJGB_MXBH=:pMXBH and XLXSJGB_TJYS='2'");
tmpSQL.Add(" and isnull(XLXSJGB_JGBIDS,' ')<>' ' and ','||rtrim(isnull(XLXSJGB_JGBIDS,' '))||',' like :pJGBID");
tmpSQL.Add(" order by XLXSJGB_JGBID");
tmpSQL.ParamByName("pMXBH").Value = sMXBH;
tmpSQL.ParamByName("pJGBID").Value = "%," + sJGBID + ",%";
dsJGB2 = DBERP.OpenDataSet(tmpSQL);
//初始化调价人、起止调价时间
tmpSQL.Clear();
tmpSQL.Add("update XLXSJGB set ");
tmpSQL.Add(" XLXSJGB_TJRGH=:pTJRGH,XLXSJGB_TJKSSJ=null,XLXSJGB_TJWCSJ=null,");
tmpSQL.Add(" XLXSJGB_TJZT=' '");//不设置为“W|等待”,以防计算异常或超时时,记录被锁无法编辑
tmpSQL.Add(" where XLXSJGB_MXBH=:pMXBH");
tmpSQL.Add(" and XLXSJGB_JGBID=:pJGBID");
tmpSQL.ParamByName("pMXBH").Value = sMXBH;
tmpSQL.ParamByName("pJGBID").Value = sJGBID;
tmpSQL.ParamByName("pTJRGH").Value = tSession.UserId;
DBERP.ExecSQL(tmpSQL);
CacheNotify.TableIsUpdated("DBERP", "XLXSJGB");
if (XLBJDUtils.CheckJGBTJServ())
{
//使用异步服务计算
ServiceParams serviceParams = new ServiceParams();
JGBTJXX objJGB = new JGBTJXX();
objJGB.JGBID = sJGBID;
objJGB.MXBH = sMXBH;
objJGB.JJLY = sJJLY;
objJGB.XSWS = iXSWS;
objJGB.JGCZBID = "";
objJGB.JGCZBBBID = "";
objJGB.JSBLFS = sJSBLFS;
Dictionary<string, string> dicJGB2 = new Dictionary<string, string>();
for (int i = 0; i < dsJGB2.Tables[0].Rows.Count; i++)
{
dicJGB2.Add(dsJGB2.Tables[0].Rows[i]["XLXSJGB_JGBID"].ToString().Trim(), dsJGB2.Tables[0].Rows[i]["XLXSJGB_JGBIDS"].ToString().Trim());
}
objJGB.dicJGB2 = dicJGB2;
objJGB.bUpdateByJCZB = bUpdateByJCZB;
objJGB.bNeedTB = bNeedTB;
objJGB.XLJGU007 = GetOption(102579000, "XLJGU007");
objJGB.sBJU003 = sBJU003;
serviceParams.Add("objJGB", objJGB);
ServiceProgress serviceProgress = AsyncService.Enqueue("N_XLXSBJ", 100860077, "AsyncDoJGBTJ", serviceParams);
tmpSQL.Clear();
tmpSQL.Add("update XLXSJGB set ");
tmpSQL.Add(" XLXSJGB_TJZT='W'");//W|等待
tmpSQL.Add(" where XLXSJGB_MXBH=:pMXBH");
tmpSQL.Add(" and XLXSJGB_JGBID=:pJGBID");
tmpSQL.ParamByName("pMXBH").Value = sMXBH;
tmpSQL.ParamByName("pJGBID").Value = sJGBID;
DBERP.ExecSQL(tmpSQL);
CacheNotify.TableIsUpdated("DBERP", "XLXSJGB");
ShowMessage("正在同步,请稍后查看!");
}
else
{
tmpSQL.Clear();
tmpSQL.Add("update XLXSJGB set XLXSJGB_TJZT='J',");//J|计算中
tmpSQL.Add(" XLXSJGB_TJKSSJ=:pTJKSSJ");
tmpSQL.Add(" where XLXSJGB_MXBH=:pMXBH");
tmpSQL.Add(" and XLXSJGB_JGBID=:pJGBID");
tmpSQL.ParamByName("pMXBH").Value = sMXBH;
tmpSQL.ParamByName("pJGBID").Value = sJGBID;
tmpSQL.ParamByName("pTJKSSJ").Value = MISproUtils.GetServerTime();
DBERP.ExecSQL(tmpSQL);
string sMsgTB = "";
string sMessage = "";
try
{
DBERP.BeginTrans();
if (sJJLY.Equals("D"))
{
XLJGB_CLJGTZList.DoCPJJ(DBERP, sMXBH, sJGBID, false,
iXSWS, sJSBLFS, tSession.UserId, tSession.UserName, sBJU003);
}
else
{
if (bUpdateByJCZB)
XLJGB_CLJGTZList.DoCLCB(DBERP, sMXBH, sJGBID, tSession.UserId, tSession.UserName, "", "", iXSWS, sJSBLFS, sBJU003);
else
XLJGB_CLJGTZList.DoCLCB(DBERP, sMXBH, sJGBID, tSession.UserId, tSession.UserName, iXSWS, sJSBLFS, sBJU003);
}
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGBMX where XLXSJGBMX_SYXH<>0 and XLXSJGBMX_JGBID={0}", sJGBID)))
XLJGB_JGBMXList.XHJDDZKC_TJYS1(DBERP, tmpSQL, sJGBID, sJSBLFS, iXSWS.ToString(), tSession.UserName, tSession.UserId, ref sMessage, GetOption(102579000, "XLJGU007"));
if (bNeedTB && dsJGB2 != null)//需要同步区域价
{
for (int i = 0; i < dsJGB2.Tables[0].Rows.Count; i++)
{
if (XLJGB_CLJGTZList.TBCLCB_2(DBERP, sMXBH, dsJGB2.Tables[0].Rows[i]["XLXSJGB_JGBID"].ToString().Trim(),
dsJGB2.Tables[0].Rows[i]["XLXSJGB_JGBIDS"].ToString().Trim(), iXSWS, sJSBLFS, tSession.UserId, tSession.UserName, sBJU003))
{
sMsgTB += dsJGB2.Tables[0].Rows[i]["XLXSJGB_JGBID"].ToString().Trim() + "|" + dsJGB2.Tables[0].Rows[i]["XLXSJGB_JGBMC"].ToString().Trim() + "\r\n";
}
}
}
DBERP.CommitTrans();
CacheNotify.TableIsUpdated("DBERP", "XLXSJGB");
}
catch (Exception ex)
{
ShowMessage(ex.Message);
DBERP.RollbackTrans();
tmpSQL.Clear();
tmpSQL.Add("update XLXSJGB set XLXSJGB_TJZT='F'");//F|失败
tmpSQL.Add(" where XLXSJGB_MXBH=:pMXBH");
tmpSQL.Add(" and XLXSJGB_JGBID=:pJGBID");
tmpSQL.ParamByName("pMXBH").Value = sMXBH;
tmpSQL.ParamByName("pJGBID").Value = sJGBID;
DBERP.ExecSQL(tmpSQL);
CacheNotify.TableIsUpdated("DBERP", "XLXSJGB");
return;
}
tmpSQL.Clear();
tmpSQL.Add("update XLXSJGB set XLXSJGB_TJZT='S',");//S|完成
tmpSQL.Add(" XLXSJGB_TJWCSJ=:pTJWCSJ");
tmpSQL.Add(" where XLXSJGB_MXBH=:pMXBH");
tmpSQL.Add(" and XLXSJGB_JGBID=:pJGBID");
tmpSQL.ParamByName("pMXBH").Value = sMXBH;
tmpSQL.ParamByName("pJGBID").Value = sJGBID;
tmpSQL.ParamByName("pTJWCSJ").Value = MISproUtils.GetServerTime();
DBERP.ExecSQL(tmpSQL);
CacheNotify.TableIsUpdated("DBERP", "XLXSJGB");
if (sMsgTB.Trim().Equals(""))
ShowMessage("同步完成!" + sMessage);
else
ShowMessage("完成当前价格表同步,以及如下区域价的同步!" + "\r\n" + sMsgTB.Trim());
}
}
else
{
TSQL sSql = new TSQL(DBERP);
string KZBJ = "";
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGBMX where XLXSJGBMX_SYXH<>0 and XLXSJGBMX_JGBID={0}", sJGBID)))
{
KZBJ = "Y";
}
else
{
KZBJ = "N";
}
try
{
//导入:即将区域价所依的出厂价作为无税基价、含税基价导入区域价
DBERP.BeginTrans();
XLJGB_JGBMXList.TBCLCB_ClearJG(DBERP, sJGBID);
XLJGB_JGBMXList.TBCLCB_CCJasJJ(DBERP, tSession, sJGBID, sJGBIDS);
XLJGB_CLJGTZList.DoCPJJ(DBERP, sMXBH, sJGBID, true, iXSWS, sJSBLFS, tSession.UserId, tSession.UserName,sBJU003);
if (KZBJ.Equals("Y"))
{
DataSet dsJGBMX = XLJGB_JGBMXList.CheckXHJDDZKC(sJGBID);
if (dsJGBMX.Tables[0].Rows.Count == 0)
{
string sDXKCMessage = string.Empty;
string sXHJDKCMessage = string.Empty;
XLJGB_JGBMXList.DoXHJDDZKC(DBERP, sSql, sJGBID, sJSBLFS, iXSWS.ToString(), tSession.UserName, tSession.UserId, ref sDXKCMessage, ref sXHJDKCMessage,GetOption(102579000, "XLJGU007"));
if (!string.IsNullOrEmpty(sXHJDKCMessage))
ShowMessage("同步完成!但按型号加点对照表扩充失败!原因如下:\r\n" + sXHJDKCMessage);
else if (!string.IsNullOrEmpty(sDXKCMessage))
ShowMessage("同步完成!但按等芯扩充表扩充失败!原因如下:\r\n" + sDXKCMessage);
else
ShowMessage("同步完成!");
}
else
{
string sWarnMsg = String.Format("若依{0}扩充{1},将会产生重复产品,比如:{1}、{2}、{3}、{4},操作终止!",
dsJGBMX.Tables[0].Rows[0][0].ToString().Trim(), dsJGBMX.Tables[0].Rows[0][1].ToString().Trim(),
dsJGBMX.Tables[0].Rows[0][2].ToString().Trim(), dsJGBMX.Tables[0].Rows[0][3].ToString().Trim(),
dsJGBMX.Tables[0].Rows[0][4].ToString().Trim());
ShowMessage("同步完成!但按型号加点对照表扩充失败!原因如下:\r\n" + sWarnMsg);
}
}
else
ShowMessage("同步完成!");
DBERP.CommitTrans();
}
catch (Exception ex)
{
ShowMessage(ex.Message);
DBERP.RollbackTrans();
return;
}
}
}
//因素2导入/同步出厂价
private void TBCLCB_2(TDatabase dberp, string sMXBH, string sJGBID, string sJGBIDS, int iXSWS, string sJSBLFS)
{
try
{
string sBJU003 = GetOption(100860000, "BJU003");
//同步出厂价的无税表价、含税表价->区域价的无税基价、含税基价
dberp.BeginTrans();
if (!sJGBIDS.Equals(""))
{
XLJGB_JGBMXList.TBCLCB_ClearJG(dberp, sJGBID);
}
XLJGB_JGBMXList.TBCLCB_CCJasJJ(dberp, tSession, sJGBID, sJGBIDS);
XLJGB_CLJGTZList.DoCPJJ(dberp, sMXBH, sJGBID, false, iXSWS, sJSBLFS, tSession.UserId, tSession.UserName, sBJU003);
dberp.CommitTrans();
}
catch (Exception ex)
{
ShowMessage(ex.Message);
dberp.RollbackTrans();
return;
}
ShowMessage("同步出厂价完成!");
}
//因素3现行价的处理
private void TBCLCB_3(TDatabase dberp, string sMXBH, string sJGBID, string sJGBIDS, int iXSWS, string sJSBLFS)
{
TSQL SQL = new TSQL(dberp);
try
{
string sBJU003 = GetOption(100860000, "BJU003");
//现行价
dberp.BeginTrans();
if (!sJGBIDS.Equals(""))
{
XLJGB_JGBMXList.TBCLCB_ClearJG(dberp, sJGBID);
}
//sJGBIDS不为空,则XLXSCLQD_JGBHSCB、XLXSCLQD_JGBWSCB只用来记录材料价价差
XLBJDCalcUtils.UpdateJGBTJYS_3(dberp, SQL, sJGBID, iXSWS, sJSBLFS, tSession.UserId, tSession.UserName, sJGBIDS, "", 0);
//XLJGB_CLJGTZList.UpdateCLCB(dberp, SQL, sJGBID, "", "", iXSWS, sJSBLFS, tSession.UserId, tSession.UserName, 0, sJGBIDS, "", "", 0, 0, "", 0);
//sJGBIDS不为空,则利用XLXSCLQD_JGBHSCB、XLXSCLQD_JGBWSCB记录的材料价价差更新价格表基价、表价
//XLJGB_CLJGTZList.UpdateCLCB_TJYS(dberp, sMXBH, sJGBID, sJGBIDS, "3");
XLJGB_CLJGTZList.DoCPJJ(dberp, sMXBH, sJGBID, false, "", "", iXSWS, sJSBLFS, tSession.UserId, tSession.UserName, 0, sBJU003);
dberp.CommitTrans();
}
catch (Exception ex)
{
ShowMessage(ex.Message);
dberp.RollbackTrans();
return;
}
ShowMessage("同步完成!");
}
//是否有100458003模块权限
private bool CheckXSJGB()
{
UserRight UR = OpRightUtils.GetUserRight(tSession.UserId, 100458003);
return (DSActiveModule.IsActiveModule(100458003) && UR.Open);
}
#endregion
#region 控件事件
protected void btnTJYZ_Click(object sender, EventArgs e)
{
if (ContentGrid.SelectedIndex < 0)
{
ShowMessage("请选择处理记录!");
return;
}
string sMXBH = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_MXBH"].ToString().Trim();
string sJGBID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim();
string sBJLY = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_BJLY"].ToString().Trim();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" select XLXSJGBYZ_YZID from XLXSJGBYZ where XLXSJGBYZ_JGBID = :pJGBID order by XLXSJGBYZ_YZID");
SQL.ParamByName("pJGBID").Value = sJGBID;
DataSet ds = dberp.OpenDataSet(SQL);
string sYZList = "";
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow trow in ds.Tables[0].Rows)
{
if (!sYZList.Equals(""))
sYZList += ",";
sYZList += trow["XLXSJGBYZ_YZID"].ToString().Trim();
}
}
sTZYZList = sYZList;
if (sBJLY.Equals("D"))
{
ShowMessage("表价来源为直接导入,调价因子按钮不可用!");
return;
}
if (sMXBH.Equals("JGB") || sMXBH.Equals("JGE") || sMXBH.Equals("JGC"))
{
if (sMXBH.Equals("JGB"))
{
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSCPML left join XLXSJGB on XLXSJGB_CPMLID=XLXSCPML_CPMLID where XLXSJGB_MXBH='{0}' and XLXSJGB_JGBID='{1}' and XLXSCPML_CPMLLX='Y'",
sMXBH, sJGBID)))
{
ShowMessage("组合产品目录的价格表不允许进行调价,调价因子按钮不可用!");
return;
}
}
TPageParams param = new TPageParams();
param.UrlPath = "JGBML_TJYZList.aspx";
param.AddString("JGBID", sJGBID);
OpenDialogClickBtn(param, btnTB.ClientID);
}
}
protected void btnJGB_MenuItemClick(object sender, string ItemIndex)
{
if (ContentGrid.SelectedIndex < 0)
{
ShowMessage("请选择处理记录!");
return;
}
string sMXBH = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_MXBH"].ToString().Trim();
string sJGBID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim();
string sTJYS = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_TJYS"].ToString().Trim().Equals("") ? ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_TJYS"].ToString().Trim() : ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_TJYS"].ToString().Trim().Split('|')[0];
string sJJLY = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JJLY"].ToString().Trim().Equals("") ? ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JJLY"].ToString().Trim() : ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JJLY"].ToString().Trim().Split('|')[0];
switch (ItemIndex)
{
case "JGBIDS"://出厂价
if (sTJYS.Equals("2") || sTJYS.Equals("3"))
{
TPageParams param = new TPageParams();
param.UrlPath = "JGBML_SelJGBInfo.aspx";
param.Title = "出厂价";
param.AddString("JGBID", sJGBID);
param.AddString("MXBH", sMXBH);
param.AddString("TJYS", sTJYS);
param.AddString("JJLY", sJJLY);
param.AddString("LX", "JGBIDS");
OpenDialog(param);
}
else if (sTJYS.Equals("1") && sJJLY.Equals("D"))
{
TPageParams param = new TPageParams();
param.UrlPath = "JGBML_SelJGBList.aspx";
param.Title = "出厂价";
param.AddString("JGBID", sJGBID);
param.AddString("MXBH", sMXBH);
OpenDialog(param);
}
else
{
ShowMessage("仅可以调整调价因素为2或3或者基价来源为“D|直接导入”的记录!");
return;
}
break;
case "JGCIDS"://基价
TPageParams param2 = new TPageParams();
param2.UrlPath = "JGBML_SelJGBInfo.aspx";
param2.Title = "基价";
param2.AddString("JGBID", sJGBID);
param2.AddString("MXBH", sMXBH);
param2.AddString("LX", "JGCIDS");
OpenDialog(param2);
break;
}
}
//适用区域
protected void btnSYQY_Click(object sender, EventArgs e)
{
if (ContentGrid.SelectedIndex < 0)
{
ShowMessage("请选择处理记录!");
return;
}
string sMXBH = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_MXBH"].ToString().Trim();
string sJGBID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim();
string sTJYS = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_TJYS"].ToString().Trim().Equals("") ? ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_TJYS"].ToString().Trim() : ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_TJYS"].ToString().Trim().Split('|')[0];
if (sTJYS.Equals("2"))
{
TPageParams param = new TPageParams();
param.UrlPath = "JGBML_SelXSQYInfo.aspx";
param.AddString("JGBID", sJGBID);
param.AddString("MXBH", sMXBH);
//param.AddString("RefreshCtrlID", btnRefresh.ClientID.Trim());
OpenDialog(param);
}
else
{
ShowMessage("仅可以调整调价因素为2的记录!");
return;
}
}
//材料行情范围
protected void btnCLHQFD_Click(object sender, EventArgs e)
{
if (ContentGrid.SelectedIndex < 0)
{
ShowMessage("请选择处理记录!");
return;
}
string sMXBH = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_MXBH"].ToString().Trim();
string sJGBID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim();
if (sMXBH.Equals("JGB") || sMXBH.Equals("JGC"))
{
TPageParams param = new TPageParams();
param.UrlPath = "JGBML_CLHQFDList.aspx";
param.AddString("JGBID", sJGBID);
param.AddString("MXBH", sMXBH);
OpenDialog(param);
}
}
//销售价格表
protected void btnXLXSJGBMX_Click(object sender, EventArgs e)
{
if (ContentGrid.SelectedIndex < 0)
{
ShowMessage("请选择处理记录!");
return;
}
string sMXBH = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_MXBH"].ToString().Trim();
string sJGBID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim();
TPageParams param = new TPageParams();
param.UrlPath = "XLJGB_JGBMXList.aspx";
param.AddString("FromJGBML", "FromJGBML");
param.AddString("JGBID", sJGBID);
param.AddString("MXBH", sMXBH);
OpenFuncModuleDialog(100860001, param);
}
//报价价格表
protected void btnBJJGB_Click(object sender, EventArgs e)
{
if (ContentGrid.SelectedIndex < 0)
{
ShowMessage("请选择处理记录!");
return;
}
string sMXBH = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_MXBH"].ToString().Trim();
string sJGBID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" select XLXSJGB_CPMLID from XLXSJGB where XLXSJGB_JGBID = :pJGBID and XLXSJGB_MXBH= :pMXBH ");
SQL.ParamByName("pJGBID").Value = sJGBID;
SQL.ParamByName("pMXBH").Value = sMXBH;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
string sCPMLID = ds.Tables[0].Rows[0]["XLXSJGB_CPMLID"].ToString().Trim();
if (sCPMLID.Equals(""))
{
ShowMessage("请先维护产品目录!");
return;
}
SQL.Clear();
SQL.Add("select XLXSCPML_CPMLID from XLXSCPML where ','||rtrim(isnull(XLXSCPML_CPMLIDS,' '))||',' like :pCPMLID ");
if (!GetOption("BJU016").Equals(""))
{
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSCPML_CPMLID", GetOption("BJU016")));
}
SQL.Add(" order by XLXSCPML_CPMLID");
SQL.ParamByName("pCPMLID").Value = "%," + sCPMLID + ",%";
DataSet dsML = dberp.OpenDataSet(SQL);
string multiCPMLIDS = "";//组合产品目录
for (int i = 0; i < dsML.Tables[0].Rows.Count; i++)
{
multiCPMLIDS += dsML.Tables[0].Rows[i]["XLXSCPML_CPMLID"].ToString().Trim() + ",";
}
multiCPMLIDS = multiCPMLIDS.TrimEnd(',');
if (!multiCPMLIDS.Equals(""))
{
TPageParams param = new TPageParams();
param.UrlPath = "JGBML_BJJGBList.aspx";
param.AddString("JGBID", sJGBID);
param.AddString("MXBH", sMXBH);
param.AddString("singleCPMLID", sCPMLID);//单一产品目录
param.AddString("multiCPMLIDS", multiCPMLIDS);//组合产品目录
OpenDialog(param);
}
else
{
ShowMessage("未找到包含当前产品目录的组合产品目录!");
return;
}
}
else
{
ShowMessage("当前记录不存在,请刷新后重试!");
return;
}
}
protected void btnRefresh_Click(object sender, EventArgs e)
{
moduleGV_PageIndexChanging(null, null);
}
protected void btnTB_Click(object sender, EventArgs e)
{
string sMXBH = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_MXBH"].ToString().Trim();
string sJGBID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim();
string sBJLY = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_BJLY"].ToString().Trim();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" select XLXSJGBYZ_YZID from XLXSJGBYZ where XLXSJGBYZ_JGBID = :pJGBID order by XLXSJGBYZ_YZID");
SQL.ParamByName("pJGBID").Value = sJGBID;
DataSet ds = dberp.OpenDataSet(SQL);
string sYZList = "";
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow trow in ds.Tables[0].Rows)
{
if (!sYZList.Equals(""))
sYZList += ",";
sYZList += trow["XLXSJGBYZ_YZID"].ToString().Trim();
}
}
if (sYZList.Equals(sTZYZList))
return;
//无明细无需执行
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGBMX where XLXSJGBMX_JGBID = '{0}' ", sJGBID)))
{
return;
}
//正在同步,无需重复执行!
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGB where XLXSJGB_JGBID = '{0}' and XLXSJGB_MXBH ='{1}' and (isnull(XLXSJGB_TJZT,' ') = 'W' or isnull(XLXSJGB_TJZT,' ') = 'J') ", sJGBID, sMXBH)))
{
return;
}
//直接导入类型的价格表不允许同步!
if (sBJLY.Equals("D"))
{
return;
}
int iXSWS = string.IsNullOrEmpty(GetOption(100860001, "BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption(100860001, "BJU002"));
if (iXSWS < 0)
iXSWS = 0;
else if (iXSWS > 8)
iXSWS = 8;
SQL.Clear();
SQL.Add("select XLXSJGB_TJYS,XLXSJGB_JGBIDS,XLXSJGB_JSBLFS as JSBLFS,XLXSJGB_JJLY,XLXSJGB_JGCIDS from XLXSJGB where XLXSJGB_MXBH=:pMXBH and XLXSJGB_JGBID=:pJGBID ");
SQL.ParamByName("pMXBH").Value = sMXBH;
SQL.ParamByName("pJGBID").Value = sJGBID;
ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
string sJGCIDS = ds.Tables[0].Rows[0]["XLXSJGB_JGCIDS"].ToString().Trim();
string sJJLY = ds.Tables[0].Rows[0]["XLXSJGB_JJLY"].ToString().Trim();
string sJGBIDS = ds.Tables[0].Rows[0]["XLXSJGB_JGBIDS"].ToString().Trim();
if (ds.Tables[0].Rows[0]["XLXSJGB_TJYS"].ToString().Trim().Equals("0") || ds.Tables[0].Rows[0]["XLXSJGB_TJYS"].ToString().Trim().Equals("1"))
{
TBCLCB_1(sMXBH, sJGBID, iXSWS, ds.Tables[0].Rows[0]["JSBLFS"].ToString().Trim(), sJJLY, sJGBIDS);//考虑到同步速度问题,支持分尺重表同步
if (sJJLY.Equals("D") && !sJGBIDS.Equals("") && !sJGBIDS.Contains(","))
XLJGB_JGBMXList.TBXLXSCLHQ(dberp, sJGBID, sJGBIDS);
}
else if (ds.Tables[0].Rows[0]["XLXSJGB_TJYS"].ToString().Trim().Equals("2"))
{
TBCLCB_2(dberp, sMXBH, sJGBID, sJGBIDS, iXSWS, ds.Tables[0].Rows[0]["JSBLFS"].ToString().Trim());
if (sJJLY.Equals("D") && !sJGBIDS.Equals("") && !sJGBIDS.Contains(","))
XLJGB_JGBMXList.TBXLXSCLHQ(dberp, sJGBID, sJGBIDS);
}
else if (ds.Tables[0].Rows[0]["XLXSJGB_TJYS"].ToString().Trim().Equals("3"))
{
TBCLCB_3(dberp, sMXBH, sJGBID, sJGBIDS, iXSWS, ds.Tables[0].Rows[0]["JSBLFS"].ToString().Trim());
if (sJJLY.Equals("D") && !sJGBIDS.Equals("") && !sJGBIDS.Contains(","))
XLJGB_JGBMXList.TBXLXSCLHQ(dberp, sJGBID, sJGBIDS);
}
}
}
protected void btnFBZWX_DropDown(object sender, EventArgs e)
{
if (ContentGrid.SelectedIndex < 0)
{
ShowMessage("请选择处理记录!");
return;
}
string sJGBID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim();
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(102373000);
btnFBZWX.Nodes.Clear();
if (string.IsNullOrEmpty(pzxx.XLXSBJPZ_JGBID) || !pzxx.XLXSBJPZ_JGBID.Equals(sJGBID))
{
btnFBZWX.Nodes.Add(new gtTreeNode("Y", "游客价"));
}
else
{
btnFBZWX.Nodes.Add(new gtTreeNode("N", "游客价√"));
}
if (string.IsNullOrEmpty(pzxx.XLXSBJPZ_WXHYJGBID) || !pzxx.XLXSBJPZ_WXHYJGBID.Equals(sJGBID))
{
btnFBZWX.Nodes.Add(new gtTreeNode("H", "会员价"));
}
else
{
btnFBZWX.Nodes.Add(new gtTreeNode("J", "会员价√"));
}
MenuAreaUpdate();
}
protected void btnFBZWX_MenuItemClick(object sender, string value)
{
if (ContentGrid.SelectedIndex < 0)
{
ShowMessage("请选择处理记录!");
return;
}
string sJGBID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
if (value.Equals("Y"))
{
SQL.Clear();
SQL.Add("update XLXSBJPZ set XLXSBJPZ_JGBID=:pJGBID where XLXSBJPZ_MDID=102373000 ");
SQL.ParamByName("pJGBID").Value = sJGBID;
dberp.ExecSQL(SQL);
}
if (value.Equals("N"))
{
SQL.Clear();
SQL.Add("update XLXSBJPZ set XLXSBJPZ_JGBID='' where XLXSBJPZ_MDID=102373000 ");
dberp.ExecSQL(SQL);
}
if (value.Equals("H"))
{
SQL.Clear();
SQL.Add("update XLXSBJPZ set XLXSBJPZ_WXHYJGBID=:pJGBID where XLXSBJPZ_MDID=102373000 ");
SQL.ParamByName("pJGBID").Value = sJGBID;
dberp.ExecSQL(SQL);
}
if (value.Equals("J"))
{
SQL.Clear();
SQL.Add("update XLXSBJPZ set XLXSBJPZ_WXHYJGBID='' where XLXSBJPZ_MDID=102373000 ");
dberp.ExecSQL(SQL);
}
CacheNotify.TableIsUpdated("DBERP", "XLXSBJPZ");
ShowMessage("设置成功!");
btnRefresh_Click(null, null);
}
protected void btnTBZXSJGB_Click(object sender, EventArgs e)
{
if (ContentGrid.SelectedIndex < 0)
{
ShowMessage("请选择处理记录!");
return;
}
string sMXBH = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_MXBH"].ToString().Trim();
string sJGBID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBID"].ToString().Trim();
string sJGBMC = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_JGBMC"].ToString().Trim();
string sYXQS = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_YXQS"].ToString().Trim();
string sYXQZ = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGB_YXQZ"].ToString().Trim();
TPageParams param = new TPageParams();
param.UrlPath = "JGBML_TBZXSJGBInfo.aspx";
param.AddString("JGBID", sJGBID);
param.AddString("JGBMC", sJGBMC);
param.AddString("MXBH", sMXBH);
param.AddString("YXQS", sYXQS);
param.AddString("YXQZ", sYXQZ);
OpenDialog(param);
}
#endregion
}
}